THE PAPER A film review by James Berardinelli Copyright 1994 James Berardinelli
Rating (0 to 10): 7.3
Date Released: 3/25/93 Running Length: 1:51 Rated: R (Language, mature themes)
Starring: Michael Keaton, Glenn Close, Robert Duvall, Marisa Tomei, Randy Quaid, Jason Alexander, Spalding Gray Director: Ron Howard Producers: Brian Grazer and Frederick Zollo Screenplay: Stephen and David Koepp Music: Randy Newman Released by Universal Pictures
Ron Howard has a history of making entertaining films that tend towards weak conclusions (one could call this the "happy endings" syndrome). Joining PARENTHOOD and FAR AND AWAY in this category is Mr. Howard's newest release, THE PAPER. For something that starts out as a boisterous, amusing, potentially-incisive look at the newspaper business and the people who run it, this motion picture finishes with a relative whimper.
Henry Hackett (Michael Keaton) is at a watershed, and the next twenty-four hours are going to determine a lot--perhaps more than he could imagine. Caught in a dilemma between two jobs--his current one at the tabloid-like NEW YORK SUN and an offer from the prestigious NEW YORK SENTINEL--Henry must make a decision. On one hand there are factors that argue for the career change: his pregnant wife Martha (Marisa Tomei) wants security and his bitter feud with his boss Alicia Clark (Glenn Close) is getting nastier by the moment. On the other hand, Henry doesn't want to leave the friendly chaos of THE SUN and the friends he has made while there.
No viewer is likely to be bored during THE PAPER. The film moves along quickly, using mobile cameras and rapid cuts to keep the energy level high and the pacing crisp. This is especially true in the newsroom scenes, as director Ron Howard attempts to convey the spirit and atmosphere of the disorganized-but-productive work environment. His eye for detail is evident.
Away from the paper's offices, the movie is less successful. The personal lives of Henry and his co-workers aren't all that interesting, and seem scripted rather than real. This is especially true during the drawn-out melodrama that characterizes the last fifteen minutes. There are also several out-of-place scenes with Robert Duvall and Jason Alexander commiserating at a bar. The contrivance used to incorporate these into the overall plot is a little too obvious.
One scene within THE SUN's building that rings false takes place in the middle of a crucial press run. The climactic struggle that ensues between two of the main characters looks like it belongs more in a Three Stooges movie than a pseudo-real look at the behind-the-scenes newspaper business.
But there's a lot in THE PAPER that works. Although most of the characters are types, the actors play them with sympathy and understanding. Three-dimensionality may not be achieved, but attempts are made to give the men and women in this film some depth, and the freshness of the performances helps a great deal.
The main performers--Keaton, Close, and Duvall--do the kinds of solid jobs expected from them, but it's a pair of less prominent figures that steal their share of scenes. Randy Quaid is magnificent as the gun- toting, paranoid McDougal. Although not a developed character in any sense, McDougal has some of the best one-liners. Then there's Spalding Gray who, in two appearances, sends up to perfection a stuffy NEW YORK TIMES-type editor.
The dialogue is frequently snappy--presumably the product of screenwriters with ears for the way people actually talk. There's a fair amount of natural humor, and only a few occasions when the laughs are forced.
THE PAPER is a crowd pleaser and, regardless of any viewer's experience (or lack thereof) with the behind-the-scenes wrangling that goes on in newspaper offices, the story is compelling enough to be affable and entertaining. While there are no startling revelations here, the film's atmosphere contains enough strength of realism that more than one viewer may momentarily think of the goings-on at THE SUN as they sit down with their morning cup of coffee and look at the day's headlines.
- James Berardinelli (new e-mail address at<EMAIL_ADDRESS>.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


|
grainmaker_pd_external
|
The struct of a grain
More...
#include <grain.h>
Data Fields | |
| int | start_sample |
| int | end_sample |
| int | current_sample |
| int | grain_size |
Related Functions | |
(Note that these are not member functions.) | |
| grain | construct_grain (int sample_pos, int src_sample_length, int offset, int grain_length) |
| Creates a grain to be used by grain_scheduler More... | |
The struct of a grain
|
related |
Creates a grain to be used by grain_scheduler
| sample_pos | The position of the playhead as defined from outside. |
| src_sample_length | The length of the source sample @þaram offset The offset around sample_pos in which grains can be constructed |
| grain_length | The length of the individual grains The construct_grain function creates grains in an area of the source sample that is defined by sample_pos and offset. It sets all grain variables. |
| int grain::current_sample |
The position in the source sample where the grain is currently playing
| int grain::end_sample |
The position in the source sample where the grain ends
| int grain::grain_size |
The size of the grain, calculated by subtracting start_sample from end_sample
| int grain::start_sample |
The position in the source sample where the grain starts


Restaurant Reviews
Map Application
Filter Results
All Neighborhoods
by neighborhoods
All Cuisines
by cuisines


Rafa Benitez destined for Premier League return - but Steve Bruce deserves credit
The Spaniard's time in China has got off to a bad start and it surely won't be a long-term arrangement. Yet Newcastle are seven points better off under their new boss.
by Andy Dunn, https://www.mirror.co.uk/authors/andy-dunn/Coming soon to a Premier League club near you… Rafa Benitez .
You can bet your bottom dollar on it.
The smoothie took to the BBC airwaves last week and reminded everyone that this is his spiritual home – never mind his family home, as it happens.
For now, Benitez says he is happy in China and that Dalian Yifang – providers of his £12million-a-year wage (after tax) – are happy with him.
Happy with him, despite a record of one win, one draw and five losses in his last seven matches.
He is lucky. When it comes to managers, Chinese club owners make their Premier League equivalents look like an eternally patient bunch.
Benitez is Dalian Yifang’s 18th coach in 10 years.
After a bright start when he joined in July, the fortunes of Rafa’s mid-table team have tailed off quite dramatically.
They have three Chinese Super League fixtures left, but little to play for.
Benitez’s initial impact and career record ought to stand him in good stead.
But, if there was a Premier League job coming up and a hefty pay-off compromise to be reached in China, it would not be the greatest surprise to see him back here.
As long as Mike Ashley owns it, Newcastle United will not be an option, obviously.
But anyway, while posts might come up at, say, West Ham, Arsenal or Southampton, the one at St James’ Park is unlikely to be vacated for some time.
Benitez is right when he says comparing seasons is not always fair.
And, although Steve Bruce has Newcastle a very welcome seven points better off than Rafa had them at this stage last season, let’s wait and see how it pans out over the whole piece.
After all, while Bruce has had a tough fixture list so far, it was, arguably, a tougher start to the 2018/19 campaign for Benitez. But one thing looks certain – with each encouraging result, Bruce is looking a good fit for the job.
Indeed, with each horrible result, he did not look a bad fit, talking with a blunt honesty that must go down well with the fan base.
Attendances are down at St James’ Park, reflecting the irretrievable breakdown of the relationship – if any ever existed – between owner and the majority of supporters.
But those who do turn up at least have the prospect of being lifted from their seats. Benitez has left a good defensive legacy and he recruited Miguel Almiron.
With the mercurial Allan Saint-Maximin and Joelinton added, Newcastle look a decent counter-attacking force.
If those three start scoring goals, they will be an even more decent force.
Bruce does pretty much what it says on the tin.
Kicks every ball, speaks plainly, is euphoric in victory, inconsolable in defeat.
And, judging by the Toon’s recent performances, he is a better coach than he is given credit for.
He is unlikely to ever be revered in the same way that Rafa was – and still is – on Tyneside.
That probably will not change – even if Benitez were to pitch up at, say, the London Stadium.
But he is making a good fist of a tough gig and a bit of local love would not go amiss.


Republished from Opperator blog
If I told you that a page took 130 requests to load 170 KB of data? Would you call that a slow page?
This is a trick question, and the numbers I gave are a double red herring.  Without having opened up the page for yourself in a browser, you can't have a real answer.
 It sounds like a ton of requests for the amount of data being transferred. To disprove that the page is slow, here's a screenshot of the requests in Chrome:
The page is question is the index page to my Facebook profile. Notice how almost all of the requests are being sent in parallel, and most of them finishing concurrently before the actual page skeleton has finished receiving the data.
As web developers, we've internalized two guidelines:
By themselves, these are good guidelines for web throughput performance. Where we go wrong is when these guidelines are applied without considering how the user will perceive the page load. There are times where it makes sense to have more requests rather than fewer in order to reduce page load times. What we should prioritize is page latency rather than page throughput. Facebook wrote a great blog post on this subject. They decomposed a large monolithic page into a bunch of independent 'pagelets' which can be generated, fetched, and rendered independently of one another.
With Opperator, we recognize speed as a feature. And by designing our architecture to be a set of loosely coupled services from day one, it was natural and easy to make our pages feel fast. On top of the advice listed by Facebook, here are some tips and notes about how we keep our pages speedy.
 Instead, serve only what you need, when you need it. For example, in our models, a Project has many Services. But when you make a request for a Project, the JSON response only includes a list of Service id's rather than the full JSON for the Project. Of course, sometimes it makes sense to pre-fetch associated objects, but this shouldn't be the default case.
As users, we don't feel page throughput, we feel page latency. It's ok for your page to take slightly longer time to load, as long as everything the user cares about can be seen as quickly and as smoothly as possible. The priority we choose to serve our content is:
CSS goes first to make sure the rendering of the page feels smooth and natural. We don't want any flashes of unstyled elements.
HTML page skeleton is loaded next to give overall structure and flat content to the site. Flat content anything that isn't session dependent or javascript dependent. Having this structure static will also help your SEO rankings because no dynamic content rendering needs to happen server side. This topic deserves it's own separate blog post.
Javascript is compressed loaded with require.js asynchronously with web modules. Javascript builds all the interactive elements on the page.
Images are sprited and loaded as late as possible, with the exception of anything that makes the page reflow and jerk.
Our business logic lives within a Grape API. The initial page load is a static HTML skeleton that is then bound to Javascript event handlers which will populate the content from the API backend. We use Ember.js (aka Sproutcore 2.0) to control and render all the frontend interaction.
Set your HTTP cache headers properly. If nothing has changed, then your backend doesn't have to regenerate a full response. Better yet, if something can safely be cached for longer, then your backend might not be hit at all.
 By offloading your static assets into the CDN, your app no longer has to worry about serving those static assets. Not only is it less work and bandwidth on your backend, it's also faster for your users since the CDN's edge servers will be physically closer to your users. Two low-cost CDN providers worth checking out are:
Cloudflare is a relative newcomer to the arena. They range from free to $20/mo for your first site. That's hard to beat.
If you store your static assets in S3, then Amazon Cloudfront is worth a look. It allows you to configure serving S3 assets through their CDN. Pricing is based on usage.
Our website is actually deployed to a different server than our API. Technically, we could get a performance boost if they lived on the same box to cut down on network latency. But we decided to tradeoff network latency for clean separation of systems. There's always room down the line for further optimization, so "fast enough" for today is good enough for us.
What speed optimizations do you use on your site? Sound off in the comments


Hazard Characterization¶
Both the wind and flood hazards affect the building inventory in this testbed. As the initial implementation of the regional assessment workflow incorporates the HAZUS Hurricane Damage and Loss Assessment methodology, hazards are quantified by two intensity measures: Peak Wind Speed (PWS) and Peak Water Depth (PWD). The PWS refers to the maximum 3-second gust measured at the reference height of 10m in open terrain (equivalent to Exposure C in ASCE 7-16). The PWD is the maximum depth of flooding (height of storm surge above grade) during the storm.
The following sections will introduce the options for generating these two types of hazard inputs using either a historical scenario or a synthetic storm scenario, as discussed in the following sections. Note that as part of the Asset Representation Process (see Asset Representation), the design wind speeds from ASCE 7 are already included for each building footprint for reference.
Synthetic Storm Scenario¶
An Atlantic City landfall scenario was generated using the Storm Hazard Projection Tool developed in the NJcoast project ([NJCoast20]). The constructed hazard scenario uses NJcoast’s basic simulation option, which identifies the 25 hurricane tracks from the SHP tool’s surrogate model that match the targeted storm scenario, in this case: a hurricane with Category 5 intensity (central pressure differential of 75-100 mbar, radius of maximum winds of 15.4 to 98 mi) making landfall near the Atlantic City Beach Patrol Station (39.348308° N, -74.452544° W) under average tides. This scenario is sufficient to inundate coastal areas in the testbed geography and generate significant wave run-up in some locales. The SHP Tool generates these through the following underlying computational models.
Wind Modeling¶
The SHP Tool generates its wind fields using a highly efficient, linear analytical model for the boundary layer winds of a moving hurricane developed by Snaiki and Wu ([Snaiki17a], [Snaiki17b]). To account for the exposure in each New Jersey county, an effective roughness length (weighted average) of the upwind terrain is used based on the Land Use/Land Cover data reported by the state’s Bureau of GIS. In order to generate a wind field, this model requires the time-evolving hurricane track, characterized by the position (latitude, longitude), the central pressure, the radius of maximum winds, and the forward speed. While the model is fully height-resolving and time-evolving, for a given input hurricane scenario, the wind hazard is characterized by the maximum 10-minute mean wind speed observed during the entire hurricane track. This is reported at the reference height of 10 m over a uniform grid (0.85-mile spacing, 1.37 km) across the entire state in miles per hour, which is then accordingly adjusted for compatibility with the averaging interval assumed by the HAZUS Hurricane Damage and Loss Model. Since the wind speed (\(V(600s, 10m, z_0)\)) from the NJcoast SHP Tool is averaged over the time window of 1 hour, a number of standard conversions (see Standard Wind Speed Conversions) parse the wind speed to the 3-second and open-terrain PWS (i.e., \(V(3s, 10m, Exposure C)\)).
As the initial developer of this model has made the underlying code available for this testbed, users have two ways to engage this model to generate wind fields for this testbed: 1. Users can adopt the aforementioned default sythetic Category 5 scenario striking Atlantic City 2. Users can generate a custom storm scenario by providing the requied inputs into this linear 1. analytical model to generate a customized windfield for use with this testbed.
Wind fields described by either approach are then locally interpolated to the coordiantes associated with each
footprint. The resulting 3s-gust peak wind speed (PWS) ranges from 178 mph to 191 mph given the simulated
Category-5 hurricane event (pws
). Because the SPH model tracks the maximum wind speed over the
entire hurricane time history - so the inland cities are subjected to slightly higher wind speed than
the coastal cities.
Storm Surge Modeling¶
Coastal hazard descriptions use the outputs of the aforementioned SHP Tool, which estimates storm
surge and total run up due to the breaking of near-shore waves for an arbitrary hurricane scenario
using surrogate modeling techniques ([Jia13], [Jia15]). The SHP Tool
leverages the US Army Corps of Engineers (USACE) NACCS: North Atlantic Coastal
Comprehensive Study ([NadalCaraballo15]), which contains over 1000 high-fidelity
numerical simulations of hurricanes using the ADCIRC ([Luettich92]) storm surge model,
coupled with STWAVE ([Smith01]) to capture the additional effects of waves offshore.
It is important to note that the grid adopted for the NACCS execution of ADCIRC does extend
into the riverine systems to capture the storm surge influx; however, the grid extensions
up-river have limited extent and there was no explicit modeling of the riverine systems
and interactions between those systems and the storm surge. The
NACCS database was further enhanced with wave run-up simulations that capture the interaction of
the waves with site-specific bathymetry/topography (2015 USGS CoNED Topobathy DEM: New
Jersey and Delaware (1888 - 2014) dataset) to project the total run up inland, along transects spaced
0.5 km apart along the New Jersey coast. This results in a prediction of storm surge height at the
USACE-defined save points along the New Jersey coast that are, on average, 200 m apart, with finer
resolution in areas with complex topographies. The SHP Tool was executed for the testbed scenario
to estimate the depth of storm surge above ground, geospatially interpolated to 110,000 nearshore
locations at approximately 120 m spacing, accompanied by the Limit of Moderate Wave Action
(LiMWA) and wet-dry boundary respectively defining the extent of damaging waves and inundation
over land at each of the transect points. These are then interpolated to the location of the coastal
parcels to express the property exposure to storm surge (pwd
). In the initial implementation, as demonstrated
in this test, only the peak water depth (PWD) was considered, which will be used in the HAZUS
Flood Damage and Loss Assessment.
Multiple Category Analysis (MCA)¶
Note that the resulting 3s-gust PWS values by this Category-5 hurricane is much higher than
the design wind speed specified by ASCE 7-16 ([ASCE16]) for the Atlantic County which ranges
from 105 mph to 115 mph. Since this extreme scenario bears a small likelihood, this testbed
also scales the wind and flood water field down to lower categories to conduct the so-called
Multiple Category Analysis to exam the building performance under different intense scenarios
(hurricane_cat
) and were used later in the Verification Results (see Verification Results).
Hurricane Category |
2 |
3 |
4 |
5 |
Peak Wind Speed (mph) |
101 - 108 |
119 - 127 |
136 - 145 |
178 - 191 |
Peak Water Depth (ft) |
0 - 7 |
0 - 11 |
0 - 15 |
0 - 18 |
Users can access the synthetic wind field and storm surge inputs for the defined scenario, as well as the suite
created for the MCA (synthetic_data
).
Hazard |
Access Point |
|---|---|
Wind Field |
|
Storm Surge |
Historical Storm Scenario¶
Hindcast simulations of historical storm events are equally valuable, particularly when they are coupled with observations of damage and loss across an inventory. As such this testbed includes the option to use existing hindcast data from established community providers as input to the loss estimation workflow. New Jersey’s most notable storm event in recent history was Superstorm Sandy (2012). According to [NJDEP15] and [USDOC13], Sandy’s devastation included 346,000 homes damaged. The New Jersey State Hazard Mitigation Plan [NJSHMP] further notes that storm surge accounts for 90% of the deaths and property damage during hurricanes in this region. While Atlantic County was designated as a “Sandy-Affected Community” by FEMA and the State of New Jersey, the wind and storm surge intensities in the county were significantly less than those observed in the more northern counties. Nonetheless, these historical inputs are provided to demonstrate the workflow’s ability to support hindcast evaluations of damage and loss in actual storm events.
Wind Modeling¶
Hindcast wind fields for this event were made available by Peter Vickery and Applied Research Associates (ARA).
Their hurricane model derives wind speeds based on numerically solving the differential equations of a
translating storm and iteratively calibrating based on field observations over the weeks following an event.
The ARA_Example.zip provides the peak 3-s gust peak wind speed field of Hurricane Sandy on a grid that can be
directly used in the presented hurricane workflow, as visualized in ara_pws
for Atlantic County.
Alternatively, users can also use other available wind field resources. For instance, RMS Legacy Archive provides access to historical hurricane events including the Superstorm Sandy for an alternate description of the field. Similar to the ARA peak wind speed field, in order to run the workflow, users would first convert the data from other resources to the format as shown in ARA_Example.zip.
Storm Surge Modeling¶
ADCIRC hindcast of Superstorm Sandy was generated by the Westerink Group at the University of Notre Dame and
made available to the SimCentetr. adcirc_pwd
shows the peak storm surge from the hindcast. Note that
the scope of the hindcast focused on the heavier-impacted regions of New York and Northern New Jersey,
which were resolved with a finer mesh than more southern counties like Atlantic County, i.e., ~0.5 km (New York and Norther New Jersey) vs. ~3 km (Southern counties) between two closest nodes. In futher constrast with the NACCS ADCIRC runs referenced in Storm Surge Modeling,
the grids adopted for the Sandy hindcast in this region of New Jersey did not extend into the riverine systems. Noting these
limits of the simulation, peak water depth over land displayed in adcirc_sitepwd
assumes zero values in the rivering
systems and at any point inland of the grid points shown in adcirc_waterelev
. The
ADCIRC_Example.zip provides the peak water depth grid that can be used in
the presented hurricane workflow.
Hazard |
Access Point |
|---|---|
Wind Field |
|
Storm Surge |
- Snaiki17a
Snaiki, R. and Wu, T. (2017a) “Modeling tropical cyclone boundary layer: Height-resolving pressure and wind fields,” Journal of Wind Engineering and Industrial Aerodynamics, 170, 18-27.
- Snaiki17b
Snaiki, R. and Wu, T. (2017b) “A linear height-resolving wind field model for tropical cyclone boundary layer,” Journal of Wind Engineering and Industrial Aerodynamics, 171, 248-260.
- ATC20
ATC (2020b), ATC Hazards By Location, https://hazards.atcouncil.org/, Applied Technology Council, Redwood City, CA.
- NJCoast20
NJ Coast (2020), Storm Hazard Projection Tool, NJ Coast, https://njcoast.us/resources-shp/
- ASCE16
ASCE (2016), Minimum Design Loads for Buildings and Other Structures, ASCE 7-16, American Society of Civil Engineers.
- ESDU02
Engineering Sciences Data Unit (ESDU). (2002). “Strong winds in the atmospheric boundary layer—Part 2: Discrete gust speeds.” ESDU International plc, London, U.K.
- Jia13
Jia G. and A. A. Taflanidis (2013) “Kriging metamodeling for approximation of high-dimensional wave and surge responses in real-time storm/hurricane risk assessment,” Computer Methods in Applied Mechanics and Engineering, V(261-262), 24-38.
- Jia15
Jia G., A. A. Taflanidis, N. C. Nadal-Caraballo, J. Melby, A. Kennedy, and J. Smith (2015) “Surrogate modeling for peak and time dependent storm surge prediction over an extended coastal region using an existing database of synthetic storms,” Natural Hazards, V81, 909-938
- NadalCaraballo15
Nadal‐Caraballo N.C, J. A. Melby, V. M. Gonzalez, and A. T. Cox (2015), North Atlantic Coast Comprehensive Study – Coastal Storm Hazards from Virginia to Maine, ERDC/CHL TR-15-5, U.S. Army Engineer Research and Development Center, Vicksburg, MS.
- Luettich92
Luettich R.A, J. J. Westerink, and N. W. Scheffner (1992), ADCIRC: An advanced three-dimensional circulation model for shelves, coasts, and estuaries. Report 1. Theory and methodology of ADCIRC- 2DDI and ADCIRC-3DL, Dredging Research Program Technical Report DRP-92-6, U.S Army Engineers Waterways Experiment Station, Vicksburg, MS.
- Smith01
Smith J.M, A. R. Sherlock, and D. T. Resio (2001) “STWAVE: Steady-state spectral wave model user’s manual for STWAVE, Version 3.0,” Defense Technical Information Center, US Army Corps of Engineering, Vicksburg, MS.
- USDOC13
U.S. Department of Commerce (2013), Hurricne Sandy: Potential Economic Activity Lost and Gained in New Jersey and New York.
- NJDEP15
New Jersey Department of Environmental Protection (NJDEP) (2015), Damage Assessment Report on the Effects of Hurricane Sandy on the State of New Jersey’s Natural Resources.
- NJSHMP
State of New Jersey Office of Emergency Management (2012), The State of New Jersey’s Hazard Mitigation Plan, http://ready.nj.gov/mitigation/2012-mitigation-plan.shtml.


Looking to do Oracle Development in Charlotte,
North Carolina
Dave Daron
Software
Engineer
I have a lot of experience in
Oracle Development and I would like to join a project that
uses these skills.
Tags:
Java
Android
Development Toolkit
JavaScript
Looking for Web Development Position
Sharon Doe
Business
Analyst
I have 10 years experience in web
development and design and I would like to be on a project that
lets me both code and design websites. I would like to remain
in the South-East region of the U.S.
Tags:
Java
Android
Development Toolkit
Angular
Looking for Web Development Position
Ryan Smith
Software
Engineer
I have 10 years experience in web
development and design and I would like to be on a project that
lets me both code and design websites.


Lyrics of Sunshine and Shadow
by Paul Laurence Dunbar
Bein' Back Home
Additional Information
- Year Published: 1913
- Language: English
- Country of Origin: United States of America
- Source: Dunbar, P.L. (1913). The Complete Poems of Paul Laurence Dunbar. New York: Dodd, Mead, and Company.
-
Readability:
- Flesch–Kincaid Level: 6.5
- Word Count: 375
- Genre: Poetry
- Keywords: life, nature
- ✎ Cite This
Downloads
Home agin, an’ home to stay—
Yes, it’s nice to be away.
Plenty things to do an’ see,
But the old place seems to me
Jest about the proper thing.
Mebbe ‘ts ‘cause the mem’ries cling
Closer ‘round yore place o’ birth
‘N ary other spot on earth.
W’y it’s nice jest settin’ here,
Lookin’ out an’ seein’ clear,
‘Thout no smoke, ner dust, ner haze
In these sweet October days.
What’s as good as that there lane,
Kind o’ browned from last night’s rain?
‘Pears like home has got the start
When the goal’s a feller’s heart.
What’s as good as that there jay
Screechin’ up’ards towards the gray
Skies? An’ tell me, what’s as fine
As that full–leafed pumpkin vine?
Tow’rin’ buildin’s—? yes, they’re good;
But in sight o’ field and wood,
Then a feller understan’s
‘Bout the house not made with han’s.

Say, it’s nice a–gittin’ back,
When yore pulse is growin’ slack,
An’ yore breath begins to wheeze
Like a fair–set valley breeze;
Kind o’ nice to set aroun’
On the old familiar groun’,
Knowin’ that when Death does come,
That he’ll find you right at home.


$PTOLEMY/colors/ptolemy/con
con
DOS special filenames Files cannot be named com1, lpt1, or aux (to name a few); either as the root filename or as the extension part. If you do, you'll have trouble. Unix programs don't avoid these names which can make things interesting. Eg, the perl distribution has a file called aux.sh. The perl configuration tries to make sure that aux.sh is there, but an operation on a file with the magic letters 'aux' in it will hang.
bash-2.01$ cd /tmp bash-2.01$ mkdir con mkdir: cannot make directory `con': Permission denied bash-2.01$ mkdir foo bash-2.01$
<EMAIL_ADDRESS>mkgroup
<EMAIL_ADDRESS>Note: We noticed that when creating the group file, this procedure isn't always perfect. You should check to make sure that users are in the right groups. i.e. If someone should have administrative rights and the administrator group or Domain Administrator group in the group file says the group number is "512", the user's second number after their name in the passwd file should be "512". It is important that the account which you are currently using have administrative rights so that you can install software onto the disk. If not, you should change the group/passwd files so that you do have administrative rights or log out and then log back in using an account that does and is setup correctly in the group/passwd files. Since this may be confusing, an example would seem necessary. As I perform the above steps on my computer, here is my /etc/group file: Domain Admins::512: Domain Guests::514: Domain Users::513: Levitan's VLSI::1036: MailServer-group::1039: SIGDA People::1004: None::513: Everyone::0: My machine participates in a Windows NT Domain and all groups listed above are from the Domain Controller. Notice that the number after "Domain Admins" is "512". This is the number that identifies this group. If you are only using accounts from your local machine, you should look for the "Administrators" group and its identification number. Next look at my /etc/passwd file: Administrator::500:513:::/bin/sh eric::1002:513:Eric N. Reiss::/bin/sh eric2::1014:513:Eric2::/bin/sh Guest::501:514:::/bin/sh IUSR_JAMAICA::1001:513:Internet Guest Account::/bin/sh kathy::1007:513:Kathy Preas::/bin/sh MailServer-user::1038:513:MailServer-user::/bin/sh Mcdonald::1037:513:Eric McDonald::/bin/sh mcgahey::1033:512:Bill McGahey::/bin/sh plusquellic::1034:513:Jim Plusquellic::/bin/sh rajon::1032:513:Rajon Gilmore::/bin/sh sigda::1003:513:Sigda Personnel::/bin/sh steve::1011:513:Steven Levitan::/bin/sh web-server::1017:513:Netscape Web Server::/bin/sh webadmin::1020:513:webadmin::/bin/sh Administrator::500:513:::/bin/sh Guest::501:513:::/bin/sh Administrators::544:0::: Backup Operators::551:0::: Guests::546:0::: Power Users::547:0::: Replicator::552:0::: Users::545:0::: Now, even though I used both the -d and -l switches to get the accounts above, a problem has occured. All of the accounts listed at the top of the passwd file have "513" as the second number after their username except for the user with username "mcgahey", who has group id number "512". This is wrong since a number of the users above have "Domain Admins" privileges including me with the account "eric". So before I go any further, I am going to change the "513" on the line with the username "eric" so that it says "512". Since I am currently logged in as "eric", I shouldn't have any permission problems after the change. If you are using just local accounts, then get the group id number for the group "administrator" out of the /etc/group file and make sure you have that number for the account you are using to install everything with. Note: If you are logged into your machine using a Domain account and you run mkpasswd and mkgroup with just -l, you may not get an "administrator" group. You should be logged into the machine directly to run with the -l switch.
i.e. If someone should have administrative rights and the administrator group or Domain Administrator group in the group file says the group number is "512", the user's second number after their name in the passwd file should be "512".
It is important that the account which you are currently using have administrative rights so that you can install software onto the disk. If not, you should change the group/passwd files so that you do have administrative rights or log out and then log back in using an account that does and is setup correctly in the group/passwd files.
Since this may be confusing, an example would seem necessary. As I perform the above steps on my computer, here is my /etc/group file:
Domain Admins::512: Domain Guests::514: Domain Users::513: Levitan's VLSI::1036: MailServer-group::1039: SIGDA People::1004: None::513: Everyone::0:
My machine participates in a Windows NT Domain and all groups listed above are from the Domain Controller. Notice that the number after "Domain Admins" is "512". This is the number that identifies this group. If you are only using accounts from your local machine, you should look for the "Administrators" group and its identification number. Next look at my /etc/passwd file:
Administrator::500:513:::/bin/sh eric::1002:513:Eric N. Reiss::/bin/sh eric2::1014:513:Eric2::/bin/sh Guest::501:514:::/bin/sh IUSR_JAMAICA::1001:513:Internet Guest Account::/bin/sh kathy::1007:513:Kathy Preas::/bin/sh MailServer-user::1038:513:MailServer-user::/bin/sh Mcdonald::1037:513:Eric McDonald::/bin/sh mcgahey::1033:512:Bill McGahey::/bin/sh plusquellic::1034:513:Jim Plusquellic::/bin/sh rajon::1032:513:Rajon Gilmore::/bin/sh sigda::1003:513:Sigda Personnel::/bin/sh steve::1011:513:Steven Levitan::/bin/sh web-server::1017:513:Netscape Web Server::/bin/sh webadmin::1020:513:webadmin::/bin/sh Administrator::500:513:::/bin/sh Guest::501:513:::/bin/sh Administrators::544:0::: Backup Operators::551:0::: Guests::546:0::: Power Users::547:0::: Replicator::552:0::: Users::545:0:::
If you are using just local accounts, then get the group id number for the group "administrator" out of the /etc/group file and make sure you have that number for the account you are using to install everything with. Note: If you are logged into your machine using a Domain account and you run mkpasswd and mkgroup with just -l, you may not get an "administrator" group. You should be logged into the machine directly to run with the -l switch.
PTARCH == nt4.vc
-g
make
making install in kernel ../../mk/compile.mk:95: *** missing separator. Stop.
LIB
unset LIB
c:/tycho0.3.devel/mk/tycommon.mk:276: *** target pattern contains no `%'.
The problem here was that ROOT was set to c:/tycho0.3devel. The colon was being interpreted by make, so setting ROOT to /tycho0.3devel fixed the problem.
ROOT
c:/tycho0.3devel
/tycho0.3devel
'\\carson\cxh\pt\obj.nt4\pigiRpc' is an invalid current directory path. UNC paths are not supported. Defaulting to Windows directory. The handle could not be duplicated during a pipe operation.
The fix is to run make --unix, or do
make --unix
MAKE_MODE=unix export MAKE_MODE
$PTOLEMY/src/octtools/Packages/oct
cd $PTOLEMY/src/tcltk make CC="/cygnus/cygwin-b20/H-i586-cygwin32/bin/gcc -v"
/bin/sh.exe
gcc
make SHELL=bash
octtools/tkoct/top
oct2ptcl
octtools/Xpackages/iv
../../../../src/octtools/Xpackages/iv/ivGetLine.c: In function `ivTextInit': ../../../../src/octtools/Xpackages/iv/ivGetLine.c:98: storage size of `tty' isn't known ../../../../src/octtools/Xpackages/iv/ivGetLine.c:100: warning: implicit declaration of function `ioctl' ../../../../src/octtools/Xpackages/iv/ivGetLine.c:100: `TIOCGETC' undeclared (first use this function) ../../../../src/octtools/Xpackages/iv/ivGetLine.c:100: (Each undeclared identifier is reported only once ../../../../src/octtools/Xpackages/iv/ivGetLine.c:100: for each function it appears in.)
timer.c
The iv package is used to change values of variables interactively. I believe that these errors can be ignored, iv is not used in vem or pigiRpc (Reported by Sascha Schwarz <s_schwa@informatik.uni-kl.de>).
iv
vem
pigiRpc
octtools/attache/io.c
../../../src/octtools/attache/io.c:39: curses.h: No such file or directory
attache
curses.h
xv
Eric Pauer reported that there is a precompiled version of xv at: ftp://linc.cis.upenn.edu/pub/xv/xv-3.10.NTbin.tar.gz
ftp://linc.cis.upenn.edu/pub/xv/xv-3.10.NTbin.tar.gz
src/tysh/SigHandle.cc
../../src/tysh/SigHandle.cc: In function `int setHandlers(void (*)(int))': ../../src/tysh/SigHandle.cc:109: `SIGIOT' undeclared (first use this function)
tysh
tycho -pigi
SigHandle.cc
The quick and dirty thing to do would be to just ifdef out those lines.
I think we could use SIGABRT instead of SIGIOT. Under Solaris, and egcs-1.0.2, SIGIOT and SIGABRT are both defined as the number 6.
SIGABRT
SIGIOT
Below is a sample code fragment that is unlikely to break other ports.
// Under Cygwin32, SIGIOT is not defined #ifdef SIGIOT if (ptSignal(SIGIOT, sigHandler) != 0) { return 5; } #else if (ptSignal(SIGABRT, sigHandler) != 0) { return 5; } #endif
(Reported by Sascha Schwarz <s_schwa@informatik.uni-kl.de>).
"set retval [::tycho::HTMLDocSys::generateHTML $verbose $debug $generateIndex $title [lrange $args $switchCount end]]..." can't read "retval": no such variable while executing "if {$retval != ""} { puts "tydoc returned $retval\n$errorInfo" exit 3 }" (procedure "tydoc" line 43) invoked from within "tydoc -d testDefs.tcl" ("eval" body line 1) invoked from within "eval tydoc $argv" (file "../../util/tydoc/bin/tydoc" line 72) make[3]: *** [itcldocs] Error 1
$PTOLEMY/tycho/util/tydoc/tydoc.tcl
set retval ""
set retval "" if [catch {set retval [::tycho::HTMLDocSys::generateHTML $verbose $debug \ $generateIndex $title \ [lrange $args $switchCount end]]} err ] { puts "tydoc: $err\n$errorInfo" } if {$retval != ""} { puts "tydoc returned $retval\n$errorInfo" exit 3 } }
$PTOLEMY/bin/pigi
xrdb
type
bash.exe
pigi
Error: Unable to load ptk startup file: : can't find package tycho.kernel.basic: can't find package tycho.kernel.basic while executing "package require tycho.kernel.basic" (file "C:\tycho0.3devel/kernel/Tycho.tcl" line 255) invoked from within "source $path/kernel/Tycho.tcl"
unset TYCHO pigi
RPC Error: can not fdopen for write in application RPC Error: cannot connect to the server
xclock
xrdb -query
.Xdefaults
Vem.label.fonts: 9x15
xrdb -merge ~/.Xdefaults
A Serious X Error has occurred: BadValue (integer parameter out of range for operation) Request X_QueryColors (minor code 0) Type 'y' to continue, 'n' to exit, 'a' to abort: y A Serious X Error has occurred: BadValue (integer parameter out of range for operation) Request X_QueryColors (minor code 0) Type 'y' to continue, 'n' to exit, 'a' to abort: y
pxgraph
$PTOLEMY/src/pxgraph/README.txt
The file to change is src/kernel/Display.cc. The change to make is to change:
src/kernel/Display.cc
if ((strm[i] = fopen(tmpFileNames[i], "w")) == NULL) {
if ((strm[i] = fopen(tmpFileNames[i], "wb")) == NULL) {
Error: no interpreter to evaluate 'expr 1024/8'
kernel/InvokeInterp.cc
// send a string to an external interpreter for evaluation const char* InvokeInterp :: interpreter(const char* expression) { Error::error("no interpreter to evaluate '", expression, "'."); return NULL; }
Wolfgang Reimer created a patch that solves this problem, see: http://ptolemy.eecs.berkeley.edu/pt0.7.1/ptolemy0.7.1/html/reimer0898/pt0.7.1p1.ptclInvokeInterp.patch.gz
http://ptolemy.eecs.berkeley.edu/pt0.7.1/ptolemy0.7.1/html/reimer0898/pt0.7.1p1.ptclInvokeInterp.patch.gz
ptlang
To replicate the bug:
Loader: cd //d/users/cxh/c++/pt; ptlang SDFMyRamp.pl >& /tmp/pt2af3001 Can't open error file
pigilib/pigiLoader.cc
util_cystem()
util_csystem()
src/octtools/Packages/utility/csystem.c
#ifdef PTNT /* /bin/sh needs to actually be /bin/bash */ (void) execl("/bin/bash", "bash", "-c", s, 0); #else (void) execl("/bin/csh", "csh", "-f", "-c", s, 0); #endif
I then rebuilt the octtools libutility and pigi I then copied bash.exe from the Cygwin directory to /bin
The above change is in 0.7.2devel. Note that to get it to work, you need to copy bash.exe to /bin/bash/exe
0.7.2devel
/bin/bash/exe
util_csystem() is also used to compile the star by hand from within pigiLoader.cc or to run make if a makefile is present.
pigiLoader.cc
Sascha Schwarz<EMAIL_ADDRESS>reported the following workaround for this problem
The clue is to create the .pl file, and then copy some schematic from somewhere in the same directory, and name it in the same way. E.g., DEFoo.pl would require schematics foo, contents don't seem to matter. Then you can compile your own pigiRPC as described in the Programmer's Guide, p.1-7. Then run this pigi-version, and you will be able to make the star using the '*' command, though you might have some error messages. But the second or third try usually works.
Error: Error in creating shared object, command failed: g++ -shared -o /tmp/__ptlink1032_2.so /usr/cxh/src/pt/SDFMyRamp.o
The alternative to building a shared library version is to build a static version of pigiRpc, which is what is currently built under NT. The problem with a static pigiRpc is that incremental linking is tricky. We had it working under SunOS years ago with the BSD ld -a flag, but it looks like that is not supported
The binutils2-9.1/ld/TODO file says:
Support the "traditional" BSD -A flag (incremental loading). (There is a -A flag in ld now, but it is used to specify the architecture. That should probably be changed.)
One workaround would be to avoid incrementally linking your stars and instead build a pigiRpc that had the stars built in. The way to do this is to create a makefile for your stars, build a library and then modify $PTOLEMY/mk/stars.mk so that your stars are built in. The programmer's manual has some info about this, see also $PTOLEMY/src/pigiExample
Formerly, running the SDF butterfly demo within pigi takes roughly 60 seconds, but running it from within ptcl takes roughly 2 seconds.
The problem is that early releases of Cygwin32 did not have itimers, so pigi's event loop uses a much slower technique. config-nt4.mk defined PT_NO_TIMER, which is used in src/ProfileTimer.cc and src/SimControl.cc. However, Cygwin20 has itimers so we removed the -DPT_NO_TIMER from config-nt4.mk, and the butterfly demo is much faster.
config-nt4.mk
PT_NO_TIMER
src/ProfileTimer.cc
src/SimControl.cc
-DPT_NO_TIMER
Now, if we use itimers, then the problem is that the Tk demos hang. The workaround is to either edit config-nt4.mk and add the -DPT_NO_TIMER flag and recompile, or to do the following:
cd $PTOLEMY/obj.nt4/kernel rm SimControl.o ProfileTimer.o make USERFLAGS=-DPT_NO_TIMER install cd ../pigiRpc make install


Frequently Asked Questions
Q: What happens if ArgentSea isn’t flexible enough to do what I need it to do?
A: ArgentSea is a simple layer over ADO.Net. You can easily amend its functionality by simply coding your unique requirements directly in ADO.Net (as you would have done without the framework).
For example, if you are using the Mapper and the model attributes add a database parameter that you don’t want; just remove the parameter after calling the mapper! Or set the parameters yourself.
Setting parameters, invoking queries, and collecting results are all separate processes, so you can skip any one that has unique requirements, and still use any of the others. You can, for example, create parameters using the Mapper and invoke a query using your own Command object.
Q: Why is an approach that exclusively uses stored procedures better?
A: Stored procedures offer performance, manageability, and security benefits.
Stored procedures do not require the database engine to parse your SQL string, so this can have a performance benefit. In most cases, the benefit is very small, however SQL Server’s compiled procedures offer a potentially dramatic improvement.
If your application only has EXECUTE permission to stored procedures, then it becomes possible for DBA to comprehensivly determine which tables/views/columns are access by the application. Knowing this allows the database to be refactored and improved much less concern about unintended consequences.
With dynamic SQL, DBAs must resort to traces or logs to see what activity is being performed, which makes troubleshooting much harder. When a bad SQL plan is uncovered, the fix can be even harder. Stored procedures, on the other hand, allow the DBA to hint, rewrite, and optimize as necessary.
Finally, stored procedures allow DBAs (or data access SMEs) to review and approve data access code changes, also to ensure that indexes exist to support the new queries.
Q: How can I make sure that my data is secure?
A: Start by hiring an knowledgable DBA. ArgentSea helps in a few ways:
- ArgentSea’s configuration design helps protect against unsafe storage of login passwords within connection strings.
- Because it uses stored procedures, users cannot run arbitrary SQL statements. This reduces the opportunity for mistaken SQL statements that corrupt data and SQL injection attacks.
- Because you can run your application with only EXECUTE permissions, no user would have access to operations that are not explicitly enabled by a procedure.


Overview
This is the homepage for the course Mapping the Connectivity of the Human Brain which will occur July 28 - 31 at the Pontifícia Universidade Católica do Rio Grande do Sul, in Porto Alegre, Brazil. Lectures for the course are scheduled for 17:00 to 20:00 each evening and will be held in room 302 Bloco B
of the School of Engineering building (building number 30
). Electrical engineering students at PUCRS who are enrolled in 0407-03: Instrumentação Biomédica e Imagens Médicas will receive 1 credit hour for completing this course. This course will be taught exclusively in English.
Instructors:
- Cameron Craddock, PhD - Research Scientist VI, Nathan S. Kline Institute for Psychiatric Research and Director of Imaging, Child Mind Institute, New York, NY
- Alexandre Franco, PhD - Associate Professor at Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS) and Coordinator of Research in Neuroinformatics and Image Post-processing at the Brain Institute of Rio Grande do Sul (InsCer)
Teaching Assistants
- Caroline Froehlich, Graduate program in Computer Science, PUCRS
- Nathassia Aurich, Graduate program in Electrical Engineering, PUCRS
- Guilherme Peixoto, Undergraduate program in Physics, PUCRS
Background
Mapping the human connectome is an important next step in neuroscience that promises to transform our understanding of the brain (Craddock et al. 2013). The connectome is a complete map of neural connections in the brain and consists of distinct brain regions, their anatomical connections, and the functional interactions. Among the techniques that can be used for measuring the connectome, magnetic resonance imaging (MRI) is dominant, due to its widespread availability, safety, and spatial resolution. Anatomical connections between brain regions are commonly inferred from diffusion-weighted MRI (dMRI) and their functional interactions are inferred from functional MRI (fMRI). Once the data is collected a variety of analysis methods can be employed extract connectivity information (Varoquaux and Craddock, 2013) and to link variability in these connections to intra-individual variation in phenotypic variables (Kelly et al. 2011; Castellanos et al. 2013).
This course will provide an in-depth review of the neuroimaging and analytical methods for mapping the human connectome. It will begin with an overview of the physics behind MRI, dMRI, and fMRI, and the preprocessing techniques that are required to make the data comparable across observations. It will then cover the mathematical techniques for inferring functional and structural connectivity from the data, and for comparing this data across individuals. This will be performed in a mathematical framework that treats the connectome as a graph, in which nodes represent brain regions, and edges between nodes represent functional and structural connections. Advanced topics will be covered such as pattern based classification approaches, as well as multi-modal techniques that integrate information from function and structure. Each lecture will end with laboratory exercises aimed translating the covered information into practical skills.
Syllabus
Monday, July 28, 17:00 to 20:00
- Lecture:
- Basics of MRI physics, functional MRI, and diffusion MRI. slides
- Lab:
- Reading:
- Craddock, R. C., Jbabdi, S., Yan, C., Vogelstein, J. T., Castellanos, F. X., Di Martino, A., Kelly, C., Heberlein, K., Colcombe, S., & Milham, M. P. (2013). Imaging human connectomes at the macroscale. Nature Methods, 10(6), 524–539. - A good overview of connectomics from image acquisition through analysis and provides some prospectives on what can be learned from connectomics.
- Buxton, R. B. (2012). Dynamic models of BOLD contrast. NeuroImage, 62(2), 953–61. - Describes various physiological models of how neuronal activity results in the signal we measure with fMRI.
- Beaulieu, C. (2002). The basis of anisotropic water diffusion in the nervous system - a technical review. NMR Biomed, 15(7-8), 435–455. - Detailed information on the relationship between diffusion MRI and neuroanatomy
Tuesday, July 29, 17:00 to 20:00
- Lecture:
- Building connectomes from fMRI data - preprocessing and functional connectivity slides
- Lab:
- Reading:
- Biswal, B., Yetkin, F. Z., Haughton, V. M., & Hyde, J. S. (1995). Functional connectivity in the motor cortex of resting human brain using echo-planar MRI. Magnetic Resonance in Medicine, 34(4), 537–41. - The first report of resting state functional connectivity
- Strother, S. C. (2006). Evaluating fMRI Preprocessing Pipelines. IEEE Engineering in Medicine and Biology Magazine, 25(2), 27–41. - Describes fMRI preprocessing methods and their optimization
- Margulies, D. S., Böttger, J., Long, X., Lv, Y., Kelly, C., Schäfer, A., … Villringer, A. (2010). Resting developments: a review of fMRI post-processing methodologies for spontaneous brain activity. MAGMA, 23(5-6), 289–307. - A nearly comprehensive review of functional connectivity analyses
- Kelly, C., Biswal, B. B., Craddock, R. C., Castellanos, F. X., & Milham, M. P. (2012). Characterizing variation in the functional connectome: promise and pitfalls. Trends in Cognitive Sciences, 16(3), 181–8. - Describes the application of functional connectivity for understanding inter-individual variations in brain function and many of the open issues plaguing funcitonal connectivity analyses
Wednesday, July 30, 17:00 to 20:00
- Lecture:
- Building connectomes from dMRI data - preprocessing and tractography slides
- Lab:
- Reading:
- Soares, J. M., Marques, P., Alves, V., & Sousa, N. (2013). A hitchhiker’s guide to diffusion tensor imaging. Frontiers in Neuroscience, 7, 31. - A detailed review of diffusion imaging and its analysis
- Zalesky, A., Fornito, A., Harding, I. H., Cocchi, L., Yücel, M., Pantelis, C., & Bullmore, E. T. (2010). Whole-brain anatomical networks: does the choice of nodes matter? NeuroImage, 50(3), 970–83. - Describes creating graphs from DTI data and the impact of node selection on these graphs
- Jones, D. K., Knösche, T. R., & Turner, R. (2013). White matter integrity, fiber count, and other fallacies: the do’s and don'ts of diffusion MRI. NeuroImage, 73, 239–54. - Another review of diffusion MRI that focuses on common misinterpretations of the data
Thrusday, July 31, 17:00 to 20:00
- Lecture:
- Comparing connectomes - graph theory, statistical learning, classifiers, and correcting for multiple comparisons slides
- Lab:
- Reading:
- Rubinov, M., & Sporns, O. (2010). Complex network measures of brain connectivity: uses and interpretations. NeuroImage, 52(3), 1059–69. - Defines many of the different graph measures that are used in connectomics.
- Richiardi, J., Achard, S., Bunke, H., & Van De Ville, D. (2013). Machine Learning with Brain Graphs: Predictive Modeling Approaches for Functional Imaging in Systems Neuroscience. IEEE Signal Processing Magazine, 30(3), 58–70. - Discusses the application of machine learning algorithms to the connectome.
- Shehzad, Z., Kelly, C., Reiss, P. T., Craddock, R. C., Emerson, J. W., McMahon, K., … Milham, M. P. (2014). A multivariate distance-based analytic framework for connectome-wide association studies. NeuroImage, 93 Pt 1, 74–94. - Multivariate technique for finding associations between interindividual variability and features of the connectome.
Grading
Grades for students who are enrolled in 0407-03: Instrumentação Biomédica e Imagens Médicas will be determined based on class attendance and a class project.


SUBROUTINE CLAESY( A, B, C, RT1, RT2, EVSCAL, CS1, SN1 ) * * -- LAPACK auxiliary routine (version 3.1) -- * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd.. * November 2006 * * .. Scalar Arguments .. COMPLEX A, B, C, CS1, EVSCAL, RT1, RT2, SN1 * .. * * Purpose * ======= * * CLAESY computes the eigendecomposition of a 2-by-2 symmetric matrix * ( ( A, B );( B, C ) ) * provided the norm of the matrix of eigenvectors is larger than * some threshold value. * * RT1 is the eigenvalue of larger absolute value, and RT2 of * smaller absolute value. If the eigenvectors are computed, then * on return ( CS1, SN1 ) is the unit eigenvector for RT1, hence * * [ CS1 SN1 ] . [ A B ] . [ CS1 -SN1 ] = [ RT1 0 ] * [ -SN1 CS1 ] [ B C ] [ SN1 CS1 ] [ 0 RT2 ] * * Arguments * ========= * * A (input) COMPLEX * The ( 1, 1 ) element of input matrix. * * B (input) COMPLEX * The ( 1, 2 ) element of input matrix. The ( 2, 1 ) element * is also given by B, since the 2-by-2 matrix is symmetric. * * C (input) COMPLEX * The ( 2, 2 ) element of input matrix. * * RT1 (output) COMPLEX * The eigenvalue of larger modulus. * * RT2 (output) COMPLEX * The eigenvalue of smaller modulus. * * EVSCAL (output) COMPLEX * The complex value by which the eigenvector matrix was scaled * to make it orthonormal. If EVSCAL is zero, the eigenvectors * were not computed. This means one of two things: the 2-by-2 * matrix could not be diagonalized, or the norm of the matrix * of eigenvectors before scaling was larger than the threshold * value THRESH (set below). * * CS1 (output) COMPLEX * SN1 (output) COMPLEX * If EVSCAL .NE. 0, ( CS1, SN1 ) is the unit right eigenvector * for RT1. * * ===================================================================== * * .. Parameters .. REAL ZERO PARAMETER ( ZERO = 0.0E0 ) REAL ONE PARAMETER ( ONE = 1.0E0 ) COMPLEX CONE PARAMETER ( CONE = ( 1.0E0, 0.0E0 ) ) REAL HALF PARAMETER ( HALF = 0.5E0 ) REAL THRESH PARAMETER ( THRESH = 0.1E0 ) * .. * .. Local Scalars .. REAL BABS, EVNORM, TABS, Z COMPLEX S, T, TMP * .. * .. Intrinsic Functions .. INTRINSIC ABS, MAX, SQRT * .. * .. Executable Statements .. * * * Special case: The matrix is actually diagonal. * To avoid divide by zero later, we treat this case separately. * IF( ABS( B ).EQ.ZERO ) THEN RT1 = A RT2 = C IF( ABS( RT1 ).LT.ABS( RT2 ) ) THEN TMP = RT1 RT1 = RT2 RT2 = TMP CS1 = ZERO SN1 = ONE ELSE CS1 = ONE SN1 = ZERO END IF ELSE * * Compute the eigenvalues and eigenvectors. * The characteristic equation is * lambda **2 - (A+C) lambda + (A*C - B*B) * and we solve it using the quadratic formula. * S = ( A+C )*HALF T = ( A-C )*HALF * * Take the square root carefully to avoid over/under flow. * BABS = ABS( B ) TABS = ABS( T ) Z = MAX( BABS, TABS ) IF( Z.GT.ZERO ) $ T = Z*SQRT( ( T / Z )**2+( B / Z )**2 ) * * Compute the two eigenvalues. RT1 and RT2 are exchanged * if necessary so that RT1 will have the greater magnitude. * RT1 = S + T RT2 = S - T IF( ABS( RT1 ).LT.ABS( RT2 ) ) THEN TMP = RT1 RT1 = RT2 RT2 = TMP END IF * * Choose CS1 = 1 and SN1 to satisfy the first equation, then * scale the components of this eigenvector so that the matrix * of eigenvectors X satisfies X * X' = I . (No scaling is * done if the norm of the eigenvalue matrix is less than THRESH.) * SN1 = ( RT1-A ) / B TABS = ABS( SN1 ) IF( TABS.GT.ONE ) THEN T = TABS*SQRT( ( ONE / TABS )**2+( SN1 / TABS )**2 ) ELSE T = SQRT( CONE+SN1*SN1 ) END IF EVNORM = ABS( T ) IF( EVNORM.GE.THRESH ) THEN EVSCAL = CONE / T CS1 = EVSCAL SN1 = SN1*EVSCAL ELSE EVSCAL = ZERO END IF END IF RETURN * * End of CLAESY * END


Proper lawn maintenance is a crucial part of a healthy and beautiful landscape. We provide
the highest quality service possible to ensure an end product second to none
Elite Landscapes was established full time in 2013 by Grayson Smith after graduating from Lowndes High. He took his passion for being outside and working hard and made it into a career. From the humble beginnings of a young dream, the company has now grown into much more including: Landscape installation, Landscape Lighting, turf and shrub care, paver installation, full service lawn maintenance, irrigation, and drainage. A true vision for creating and maintaining beautiful landscapes paired with a high priority on customer service is what sets Elite Landscapes apart from the rest.
Whether you are looking for a paver patio with a fire pit to enjoy an evening or a retaining
wall to correct an erosion issue we can help.
We install quality irrigation systems and provide repair services as well.
If you're having issues with your property staying wet or need to divert water from a
specific area we can help.
Proper lawn maintenance is a crucial part of a healthy and beautiful landscape. We provide
the highest quality service possible to ensure an end product second to none
Landscape lighting brings your landscape to life at night. We install only high quality
Unique lighting systems combined with low energy use LED lamps. A combination of security
and aesthetics creates a lasting investment for years to come.
Every landscape should start with a plan. Taking into consideration textures, size, colors
and use, we help you plan a project to impress. We strive to provide high quality services
and materials as well as customer services including after your project is completed.
While implementing integrated pest management practices we can keep your lawn and plant material
at its healthiest.


- Git and Github ...... January 2nd, 2016
- CSS: Margins, Borders, Padding ...... January 10th, 2016
- Ruby: Arrays and Hashes ...... January 18th, 2016
- Ruby: Enumerable Methods ......January 29th, 2016
- Ruby vs JavaScript ...... February 12th, 2016
- NoSQL Databases ...... February 16th, 2016
- Code Programming - Moving On ......March 20th, 2016
- Learning Agile ...... April 5th, 2016
- The Role of a Product Manager ...... April 8th, 2016


| ff_connect {ffscrapr} | R Documentation |
This function creates a connection object which stores parameters and gets a login-cookie if available - it does so by passing arguments to the appropriate league-based handler.
ff_connect(platform = "mfl", league_id = NULL, ...)
platform |
one of MFL or Sleeper (Fleaflicker, ESPN, Yahoo in approximate priority order going forward) |
league_id |
league_id (currently assuming one league at a time) |
... |
other parameters passed to the connect function for each specific platform. |
a connection object to be used with ff_*
functions
mfl_connect()
, sleeper_connect()
, fleaflicker_connect()
, espn_connect()
ff_connect(platform = "mfl", season = 2019, league_id = 54040, rate_limit = FALSE)


| 004:031 Khan | : |
If you avoid the great sins which you are forbidden to do, We shall remit from you your (small) sins, and admit you to a Noble Entrance (i.e. Paradise). |
| 004:031 Maulana | : |
If you shun the great things which you are forbidden, We shall do away with your evil (inclinations) and cause you to enter an honourable place of entering. |
| 004:031 Pickthal | : |
If ye avoid the great (things) which ye are forbidden, We will remit from you your evil deeds and make you enter at a noble gate. |
| 004:031 Rashad | : |
If you refrain from committing the gross sins that are prohibited for you, we will remit your sins, and admit you an honorable admittance. |
| 004:031 Sarwar | : |
If you avoid violating that which has been prohibited, your (lesser) sins will be forgiven and you will be admitted into an exalted dwelling. |
| 004:031 Shakir | : |
If you shun the great sins which you are forbidden, We will do away with your small sins and cause you to enter an honorable place of entering. |
| 004:031 Sherali | : |
If you keep away from the more grievous of the things which are forbidden you, WE will remove from you your minor evils and admit you to a place of great honour. |
| 004:031 Yusufali | : |
If ye (but) eschew the most heinous of the things which ye are forbidden to do, We shall expel out of you all the evil in you, and admit you to a gate of great honour. |
Concepts/Themes Covered: العمل > العمل الطالح > اقتراف الذنوب Action(Work)> Bad Deeds>Committing Sins العلاقات القضائية > أحكام قانونية > أحكام عامة > الكبائر Judicial Relationships>Legal Rules>General Rules> Great Crimes العلاقات القضائية > أحكام قانونية > العفو > التكفير Judicial Relationships>Legal Rules>Forgiveness>The Expiation
This tool uses eight English parallel translations for the Holy Quran imported from Mr. Clay Smith. You can also visit Qurany Concepts for browsing the Quran themes or topics. If you want to search the Holy Quran for keywords, please visit Qurany Keywords.


Saturday's Scores
by The Associated PressPREP FOOTBALL=
OHSAA Playoffs=
Quarterfinal=
Division IV=
Region 13=
Cuyahoga Falls CVCA 40, Salem 8
Perry 48, Girard 7
Poland Seminary 31, Struthers 0
Wintersville Indian Creek 35, Hubbard 29
Region 14=
Clyde 28, LaGrange Keystone 20
Ottawa-Glandorf 28, Galion 17
Shelby 31, Milan Edison 21
Wauseon 41, Bellevue 18
Region 15=
Bloom-Carroll 48, Gnadenhutten Indian Valley 39
New Concord John Glenn 23, St. Clairsville 6
Newark Licking Valley 28, Cols. Marion-Franklin 6
Waverly 40, Gallipolis Gallia 0
Region 16=
Cin. Indian Hill 61, Kenton 32
Cin. Wyoming 49, Milton-Union 18
Germantown Valley View 42, Clarksville Clinton-Massie 28
St. Bernard Roger Bacon 42, Waynesville 21
Division V=
Region 17=
Akr. Manchester 44, Rootstown 0
Canfield S. Range 30, Bellaire 7
Kirtland 38, Magnolia Sandy Valley 24
Sugarcreek Garaway 41, Garrettsville Garfield 22
Region 18=
Marion Pleasant 7, Cle. Hts. Lutheran E. 6
Oak Harbor 41, Beachwood 7
Orrville 34, Elyria Cath. 13
Pemberville Eastwood 28, Findlay Liberty-Benton 17
Region 19=
Amanda-Clearcreek 41, Gahanna Cols. Academy 10
Ironton 56, Wellston 6
W. Lafayette Ridgewood 56, Portsmouth 21
Wheelersburg 28, Minford 23
Region 20=
Cin. Taft 35, Blanchester 3
Spring. Shawnee 34, Cin. Hills Christian Academy 18
W. Jefferson 48, Cin. Summit Country Day 24
W. Liberty-Salem 21, Cin. Madeira 14
Division VII=
Region 25=
Cuyahoga Hts. 49, Malvern 6
Louisville Aquinas 35, Toronto 0
Lucas 21, McDonald 20, OT
Warren JFK 41, Independence 7
Region 26=
Edgerton 44, McComb 21
Hamler Patrick Henry 26, Arlington 14
Leipsic 30, Sycamore Mohawk 8
Norwalk St. Paul 35, Edon 21
Region 27=
Canal Winchester Harvest Prep 37, Lancaster Fisher Cath. 7
Newark Cath. 35, Reedsville Eastern 7
Shadyside 63, Willow Wood Symmes Valley 8
Waterford 48, Sarahsville Shenandoah 30
Region 28=
Ft. Loramie 61, Dola Hardin Northern 7
Lima Perry 44, Cin. College Prep. 0
Maria Stein Marion Local 56, Union City Mississinawa Valley 6
New Bremen 45, Hamilton New Miami 15
___
Some high school football scores provided by Scorestream.com, https://scorestream.com/


Registration
Registration for PyGotham 2016 is no longer open.
Tickets
The following ticket options are available. Select the one that is most appropriate for your type of registration.
| Registration | Early Bird Rate | Regular Rate |
|---|---|---|
| Corporate | $200 | |
| Individual | $50 | $100 |
| Student | $50 |
Scholarships
We aim for PyGotham to be open to all to attend, and we strive to make the conference as accessible as possible. If you aren't able to obtain a ticket for financial or other reasons, please fill out the application at https://goo.gl/forms/uEQ55S18V5, and we'll arrange for a reduced amount or a free scholarship ticket to ensure that you can attend. Feel free to ping us at<EMAIL_ADDRESS>if you have any questions.
What's Included?
Along with your conference registration, attendees will receive breakfast, lunch, and break refreshments.
Refund Policy
Refunds requested more than 48 hours prior to the start of the event will be processed, resulting in a return of the full purchase price of the ticket. (Corporate sponsors who include an additional donation, please specify if you wish to have the donation returned as well.)
We apologize that within 48 hours of the event, catering and capacity numbers will be locked in. We will not be able to provide a refund at that time.


This is the begining of your process. It is important to eat the right way, the right balance, so you can maintain throughout your days without any slugish feeling.
More than half the battle of nutrition is what you eat.  This is what the balance of nutrition is, knowing what to eat, along with knowing how and when to workout efficiently & effectively.
Detoxing is very undervalued due to many reasons, with the main one being someone may feel it is only important if you are sick. But that is not the best way of thinking. Detox isn't just stepping into a sauna after getting sick, or a rough night of drinking, this process is overall for the mind, body, and soul (if you believe in souls) purpose. Think of this concept, when you get a brand new shirt from the mall, usually it may be a little wrinkled even though it is brand new, fresh from the store box. Now, think of the detox process as that iron at home that helps get out any wrinkles from this fresh new shirt, so that you can show off that new shirt. Make sense? No? Don't think about it too much, just know this step is to help get out any toxins leftover, and literally will never hurt to detox.


The Greek word for swift and the ship used by Jason, son of Aeson, of the Argonauts. Aeson is the JSON parsing library in Haskell that inspired Argo, much like Aeson inspired his son Jason.
NOTE: For Swift 1.1 support, use the versions tagged 0.3.x, which you can read about in the releases.
Add the following to your Cartfile:
github "thoughtbot/Argo"
Then run carthage update
.
Follow the current instructions in Carthage's README for up to date installation instructions.
You'll also need to add Runes.framework
and Box.framework
to your Xcode
project.
Add the following to your Podfile:
pod 'Argo'
You will also need to make sure you're opting into using frameworks:
use_frameworks!
Then run pod install
with CocoaPods 0.36 or newer.
I guess you could do it this way if that's your thing.
Add this repo as a submodule, and add the project file to your workspace. You
can then link against Argo.framework
for your application target.
You'll also need to add Runes and Box to your project the same way.
import Argo
import Runes
struct User {
let id: Int
let name: String
let email: String?
let role: Role
let companyName: String
let friends: [User]
}
extension User: Decodable {
static func create(id: Int)(name: String)(email: String?)(role: Role)(companyName: String)(friends: [User]) -> User {
return User(id: id, name: name, email: email, role: role, companyName: companyName, friends: friends)
}
static func decode(j: JSON) -> Decoded<User> {
return User.create
<^> j <| "id"
<*> j <| "name"
<*> j <|? "email" // Use ? for parsing optional values
<*> j <| "role" // Custom types that also conform to Decodable just work
<*> j <| ["company", "name"] // Parse nested objects
<*> j <|| "friends" // parse arrays of objects
}
}
// Wherever you receive JSON data:
let json: AnyObject? = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions(0), error: .None)
if let j: AnyObject = json {
let user: User? = decode(j)
}
Argo's core concept is that in order to maintain type safety, you should only be able to successfully decode an object if all parameters are satisfied properly. So if you have a model that looks like this:
struct User {
let id: Int
let name: String
}
but the JSON you receive from the server looks like this:
{
"user": {
"id": "this isn't a number",
"name": "Gob Bluth"
}
}
then ideally, JSON parsing would fail, and you'd get an error state instead of
a User
object. In Argo, if JSON parsing succeeds you'll recieve the User
object and you can be sure that it is full and valid. If it fails, you will
instead be given the reason why the User
couldn't be constructed.
If you're interested in learning more about the concepts and ideology that went into building Argo, we recommend reading the series of articles that were written alongside its development:
Argo really wants to be used with patterns borrowed from functional
programming such as map
and apply
. We feel that these patterns greatly
reduce the pain felt in trying to use JSON (an inherently loosely typed
format) with Swift (a strictly typed language). It also gives us a way to
succinctly maintain the core concept described above, and short circuit the
decoding process if any part of it fails.
Additionally, we feel that the use of operators for these functions greatly improves the readability of the code we're suggesting. Using named functions would lead to nested functions and a confusing number of parenthesis.
If you aren't familiar with how these functions work (or just aren't comfortable with using operators), that's totally OK. It's possible to use the library without using them, although it might be a little more painful.
If you're looking to learn more about these functions, we would recommend reading the following articles:
And check out this talk:
The first thing you need to do when you receive JSON data is convert it from
NSData
to an AnyObject
using the built-in NSJSONSerialization
API. Once
you have the AnyObject
, you can call the global decode
function to get back
the decoded model.
var error: NSError?
let json: AnyObject? = NSJSONSerialization.JSONObjectWithData(responseData, options: NSJSONReadingOptions(0), error: &error)
if let j: AnyObject = json {
let user: User? = decode(j) // ignore error info or
let decodedUser: Decoded<User> = decode(j) // preserve error info
} else {
// handle error
}
Note that you probably want to use an error pointer to track errors from
NSJSONSerialization
.
The JSON
enum exists to help with some of the type inference, and also wraps
up some of the casting that you'll need to do to transform the JSON into native
types.
Argo 1.0 introduces a new type: Decoded<T>
. This is now the type returned
from the decode
function that you implement as part of the Decodable
protocol. This new type allows you to preserve information about why a decoding
failed. You can choose to either ignore the Decoded
type and just get back
the optional value or keep the Decoded
type and use it to debug decoding
errors. When you decode an AnyObject
into a model using the global decode
function, you can specify whether you want an Optional
model or a Decoded
model by specifying the return type as seen in the code block above.
Next, you need to make sure that models that you wish to decode from JSON
conform to the Decodable
protocol:
public protocol Decodable {
typealias DecodedType = Self
class func decode(JSON) -> Decoded<DecodedType>
}
You will need to implement the decode
function to perform any kinds of
transformations you need to transform your model from a JSON value. A simple
implementation for an enum value might look like:
enum RoleType: String {
case Admin = "Admin"
case User = "User"
}
extension RoleType: Decodable {
static func decode(j: JSON) -> Decoded<RoleType> {
switch j {
case let .String(s): return .fromOptional(RoleType(rawValue: s))
default: return .TypeMismatch("\(j) is not a String") // Provide an Error message for a string type mismatch
}
}
}
The real power of Argo can be seen when decoding actual model objects. To
illustrate this, we will decode the simple User
object that we used earlier.
Create your model normally:
struct User {
let id: Int
let name: String
}
You will also want to create a curried creation function. This is needed
because of a deficiency in Swift that doesn't allow us to pass init
functions around like other functions.
extension User {
static func create(id: Int)(name: String) -> User {
return User(id: id, name: name)
}
}
Using this curried syntax will allow us to partially apply the function over the course of the decoding process. If you'd like to learn more about currying, we recommend the following articles:
The last thing to do will be to conform to Decodable
and implement the
required decode
function. We will implement this function by using map
(<^>
) and apply
(<*>
) to conditionally pass the required parameters to
the curried creation function. The common pattern will look like:
return Model.create <^> paramOne <*> paramTwo <*> paramThree
and so on. If any of those parameters are an error, the entire creation process
will fail, and the function will return the first error. If all of the
parameters are successful, the value will be unwrapped and passed to the
create
function.
In order to help with the decoding process, Argo introduces two new operators for parsing a value out of the JSON:
<|
will attempt to parse a single value from the JSON<||
will attempt to parse an array of values from the JSONThe usage of these operators is the same regardless:
json <| "key"
is analogous to json["key"]
json <| ["key", "nested"]
is analogous to json["key"]["nested"]
Both operators will attempt to parse the value from the JSON and will also
attempt to cast the value to the expected type. If it can't find a value, the
function will return a Decoded.MissingKey(message: String)
error. If the
value it finds is the wrong type, the function will return a
Decoded.TypeMismatch(message: String)
error.
There are also Optional versions of these operators:
<|?
will attempt to parse an optional value from the JSON<||?
will attempt to parse an optional array of values from the JSONUsage is the same as the non-optionals. The difference is that if these fail
parsing, the parsing continues. This is useful for including parameters that
truly are optional values. For example, if your system doesn't require someone
to supply an email address, you could have an optional property: let email:
String?
and parse it with json <|? "email"
.
So to implement our decode
function, we can use the JSON parsing operator in
conjunction with map
and apply
:
extension User: Decodable {
static func decode(j: JSON) -> Decoded<User> {
return User.create
<^> j <| "id"
<*> j <| "name"
}
}
For comparison, this same function without Argo would look like so:
extension User {
static func decode(j: NSDictionary) -> User? {
if let id = j["id"] as Int,
let name = j["name"] as String
{
return User(id: id, name: name)
}
return .None
}
}
You could see how this would get much worse with a more complex model.
You can decode custom types the same way, as long as the type also conforms to
Decodable
.
For more examples on how to use Argo, please check out the tests.
See the CONTRIBUTING document. Thank you, contributors!
We offer 1-on-1 coaching. We can help you with functional programming in Swift, get started writing unit tests, and convert from Objective-C to Swift. Get in touch.
Argo is Copyright (c) 2015 thoughtbot, inc. It is free software, and may be redistributed under the terms specified in the LICENSE file.
Argo is maintained and funded by thoughtbot, inc. The names and logos for thoughtbot are trademarks of thoughtbot, inc.
We love open source software! See our other projects or look at our product case studies and hire us to help build your iOS app.


A dropdown list selects between multiple selections. It displays the current state and a down/up arrow. Available states may be shown as a list of strings, a palette, or icons, for example.
When a user interacts with the dropDown, a menu can appear over, under or below the drop down list and displays the possible states. Pressing a state dismisses the menu if the selection is single and updates the button to display this new state.
Scrolling within the dropdown behaves the same way a menu scrolls.
The generic overflow DropDownList displays an arrow by default. When the button is pressed, the menu appears. Pressing an option on the menu navigates to further settings for that option.
Normal |
|
Disabled |
|
Smart.DropDownList has a number of opening directions but the most popular are "bottom", "overlay-center" and "top".
| Bottom |
|
| Overlay-center |
|
| Top |
|
Smart.DropDownList has a variaty of selection modes allowing single or multiple item selection.
Additional selection modes are "zeroOrOne", "OneOrMany", "zeroOrMany" and "none"
DropDownListes are controls that are used for making a selection from a list of options.


Interface IDotNetContainer
The base implementation all container type models must implement in .net.
Inherited Members
Namespace: CodeFactory.DotNet
Assembly: CodeFactory.DotNet.dll
Syntax
public interface IDotNetContainer : IDotNetModel, IModelStatus, ISourceFiles, IDotNetAttributes, IDocumentation, IDotNetGeneric, IParent, ILookup
Properties
| Improve this Doc View SourceContainerType
The type of container model that has been implemented.
Declaration
DotNetContainerType ContainerType { get; }
Property Value
| Type | Description |
|---|---|
| DotNetContainerType |
Events
Enumeration of the events assigned to this container. If HasEvents is false this will be null.
Declaration
IReadOnlyList<IDotNetEvent> Events { get; }
Property Value
| Type | Description |
|---|---|
| IReadOnlyList<IDotNetEvent> |
InheritedInterfaces
List of the interfaces that are inherited by this container.
Declaration
IReadOnlyList<IDotNetInterface> InheritedInterfaces { get; }
Property Value
| Type | Description |
|---|---|
| IReadOnlyList<IDotNetInterface> |
Members
List of the members that are implemented in this container.
Declaration
IReadOnlyList<IDotNetMember> Members { get; }
Property Value
| Type | Description |
|---|---|
| IReadOnlyList<IDotNetMember> |
Methods
List of the methods that are implemented in this container.
Declaration
IReadOnlyList<IDotNetMethod> Methods { get; }
Property Value
| Type | Description |
|---|---|
| IReadOnlyList<IDotNetMethod> |
Name
The name of the container.
Declaration
string Name { get; }
Property Value
| Type | Description |
|---|---|
| String |
Namespace
The namespace the container objects belongs to.
Declaration
string Namespace { get; }
Property Value
| Type | Description |
|---|---|
| String |
Properties
List of the properties that are implemented in this container.
Declaration
IReadOnlyList<IDotNetProperty> Properties { get; }
Property Value
| Type | Description |
|---|---|
| IReadOnlyList<IDotNetProperty> |
Security
The security scope assigned to the container.
Declaration
DotNetSecurity Security { get; }
Property Value
| Type | Description |
|---|---|
| DotNetSecurity |
Methods
| Improve this Doc View SourceGetBodySyntaxAsync()
The source code syntax that is stored in the body of the container model. This will be null if the container was not loaded from source code.
Declaration
Task<string> GetBodySyntaxAsync()
Returns
| Type | Description |
|---|---|
| Task<String> |


Density maps
Density maps are a great way to render a lot of overlapping data. When data points that have some kind of an (x,y)
relationships and you have sampled a lot of data, it would make little sense to render it with a normal line serie because:
- It looks really bad
- It doesn’t show any weighing of your dataset
- It can become really slow
- Sometimes, a line serie wouldn’t even make sense (think population density, for example)
This is where density maps come in. Density maps are really a great way to render a huge amount of data in a nutshell. They take as an input as many (x,y) datapoints as you wish, and will resample the data into a 2D matrix (x,y) = nb
where nb
is the number of datapoints falling into the boundaries [ x-dx, x+dx [ U [ y-dy, y+dy [
. We will call one set of (x,y,nb)
as a bin. Basically, jsGraph calculates the density map by looping through your data and incrementing one of the 2D counters, the one closest to the (x,y)
vector.
Defining density map series
var serieMapDensity = graph.newSerie( serieName, serieOptions, 'densitymap' ); // Case sensitive
Where, as usual, serieName
should be unique for your instance of jsGraph and serieOptions are currently not implemented for the density map.
Data format
As of today, there is only one way to set the (x,y)
data of the serie: an array of (x,y)
arrays:
serieMapDensity.setData( [ [ x1, y1 ], [ x2, y2 ], ..., [ xn, yn ] ] );
NB: Don’t forget setting the axes of the serie using serie.setXAxis
, serie.setYAxis
or serie.autoAxis
.
Calculate a density map
Calculate the density map takes only one instruction, but it requires you to select the minimum values, interval values and number of bins you want to use. This can allow you to calculate the map on a subset of your data. The instruction goes as follows
var map = serieMapDensity.calculateDensityMap( fromX, deltaX, numX, fromY, deltaY, numY );
fromX
could beserieMapDensity.getDataMin()
to select the minimum value to start computing with as the minimum value of your(x,y)
datadeltaX
could be ```( serieMapDensity.getDataMax() - serieMapDensity.getDataMin() ) / ( numX - 1 )numX
is simply the number of bins you want to be shown
The automatic way with autoBins
In practice calculateDensityMap
is rather used internally. Although nothing prevents you from using explicitely, as a starting point, jsGraph exposes an easier method, serieMapDensity.autoBins( numX, numY )
which does exactly what I described above: it uses the minimum value and maximum value of your data in the x and y direction to set the boundaries of the density map.
Adapt it to your screen
A perhaps more clever way to calculate a density map is to take into account the amount of space on your graph. It doesn’t make sense to show 1’000 bins x 1’000 bins on a 300x300 drawing area. serieMapDensity.setPxPerBin
takes care of that problem by replacing calculateDensityMap
and autoBins
. When the serie is about to be redrawn, setPxPerBin
will look at the drawing width and height, divide it by a certain number you can specifiy (the number of bins per pixels) and recalculate the density map on the fly. Here’s how to call it:
var map = serieMapDensity.setPxPerBin( 3, 5 ); // 3px per bin in x direction, 5px per bin in y direction
Color maps
At this point, we have calculate a density map, but still there is nothing to display because we haven’t told jsGraph how to color each one of the bins. We introduce now the color maps, which is basically just like defining a gradient. Color maps are not limited to only 2 stop colors, but can take as many as you want. You can even define yourself the number of colors you want.
Ok, let’s see now how to create a color map:
HSL(A) color maps
Currently, they are the only kind of maps supported by jsGraph but they are probably the easier to handle in my opinion. The format for each HSLA element is { h: [ 0-360 ], s: [ 0-1 ], l: [0-1], a: [0-1] }
Let’s take the classical black-to-red-to-yellow example (the heat map):
serieMapDensity.colorMapHSL( [
{ h: 0, s: 1, l: 0 }, // Black
{ h: 0, s: 1, l: 0.5 }, // Red
{ h: 60, s: 1, l: 0.5 } // Yellow
], 300 ); // Use 300 colors
Another classic example is the rainbow color map, from blue to red, corresponding to three quarter of the hue wheel:
serieMapDensity.colorMapHSL( [
{ h: 270, s: 1, l: 0.5 }, // Blue
{ h: 0, s: 1, l: 0.5 } // Red
], 300 ); // Use 300 colors
Automatic color map boundaries
jsGraph can use only a sub-set of the color map by changing the boundaries of the color map. There will be more to that later, but let’s skip it for a second, and let’s use the minimum and maximum bin number found by colorMapDensity
. For this, you need to call the method:
serie.autoColorMapBinBoundaries();
Let’s put all of this together
Let’s display your first color map. From there on we will use this example to demonstrate more advanced features.
var graph = new Graph("graph-example-3").resize(400, 250);
graph.getXAxis().turnGridsOff();
graph.getYAxis().turnGridsOff();
var s = graph.newSerie("s1", {}, "densitymap");
s.setData( data ).autoAxis();
s.setPxPerBin( 5, 5, false );
s.colorMapHSL( [
{ h: 270, s: 1, l: 0.5 }, // Blue
{ h: 0, s: 1, l: 0.5 }, // Red
], 300 ); // Use 300 colors
graph.draw();
Neat, no ?
Custom bin boundaries
To go a little further, let’s imagine that in the previous data set, every bin with a value lower that half the full range should be purple. For this purpose, we can use the onRedrawColorMapBinBoundaries
and setColorMapBinBoundaries
methods. So what’s the difference ?
setColorMapBinBoundaries( minBin, maxBin )
will directly set the bin values and works when the map is not recalculated on the fly. When is the map recalculated on the fly ? It’s done when you are using thesetPxPerBins
method, or you called thesetBinsFromTo
. In either case, the series enters a mode where any direct call tocalculateDensityMap
has no impact, because it’s called internally upon redrawonRedrawColorMapBinBoundaries( callback )
is used for the other case. You need to feed a callback that returns a 2-element vector, the first value being the new min bin value, the second the new max bin value. The callback will fire with 2 parameters, the binMin and binMax values calculated by thecalculateDensityMap
method. These values are the extremeties of the density map and settings your color map bins boundaries further than them would have no impact.
Let’s take a look at the same example, but with an additional method in there:
s.onRedrawColorMapBinBoundaries( function( min, max ) {
return [ (min + max) / 2, max ];
});


VarSimLab Documentation¶
VarSimLab is a Docker-based package that is designed to study genomic variations in a given genome. As of the current version (nabavilab/varsimlab:1.0), the simulator generates artificial short reads, which harbor structural and copy number variations. In addition, it simulates tumor heterozygosity (Ploidy and Subclones).
With a web-based interface running locally, it not only provides a convenient way of using the package, but also runs efficiently generating data where it will be finally analyzed.
The next version of VarSimLab will ship with a visualization module to induce a better understanding of the generated data.


breakout
(current)
SCORE:
00000
GAME OVER
RESTART - Press "N" for normal mode or "H" for hard mode
GAME PAUSED - Press "P" to continue
breakout
START GAME - Press "N" for normal mode or "H" for hard mode
"P" pauses game
Skicka


Baker Beach Device Registry
Sort key: {{sortKey}}
Reverse: {{reverse}}
Search String : {{search}}
Search
Device ID
Device Status
AID(need to be Staged Manifest)
Sha(need to be Archived Manifests)
{{device.DeviceId}}
{{device.DeviceId | deviceStatus}}
{{device.Aid}}
{{device.Sha}}


| Rank | Name | Color | Size & Votes | |
|---|---|---|---|---|
| Favorite: | Apples | Green | Medium | 500 |
| 2nd Favorite: | Oranges | Orange | Large | 450 |
| 3rd Favorite: | Pomegranate | Pomegranates and cherries can both come in a range of colors and sizes. | 203 | |
| Joint 4th: | Cherries | 75 | ||
| Pineapple | Brown | Very Large | ||
| © 2011 Adam Freeman Fruit Data Enterprises |


| Interface | Description |
|---|---|
| TernaryValueFunction.ValueFunctionWithConstant |
| Class | Description |
|---|---|
| And | |
| BitwAnd | |
| BitwOr | |
| BitwShiftL | |
| BitwShiftR | |
| BitwXor | |
| Builtin |
Class with pre-defined set of objects.
|
| CM |
GENERAL NOTE:
* 05/28/2014: We decided to do handle weights consistently to SPSS in an operation-specific manner,
i.e., we (1) round instead of casting where required (e.g.
|
| COV |
GENERAL NOTE:
* 05/28/2014: We decided to do handle weights consistently to SPSS in an operation-specific manner,
i.e., we (1) round instead of casting where required (e.g.
|
| CTable | |
| DiagIndex | |
| Divide | |
| Equals | |
| FileFunction | |
| FunctionObject | |
| GreaterThan | |
| GreaterThanEquals | |
| IfElse | |
| IndexFunction | |
| IntegerDivide | |
| KahanFunction |
Runtime function type to perform the summation of values using
the Kahan summation algorithm.
|
| KahanPlus | |
| KahanPlusSq |
Runtime function to perform the summation of squared values using
the Kahan summation algorithm.
|
| LessThan | |
| LessThanEquals | |
| Mean | |
| Minus | |
| Minus1Multiply | |
| MinusMultiply | |
| MinusNz | |
| Modulus |
Integer modulus, where we adhere to the defined R semantics:
("%% indicates x mod y and %/% indicates integer division.
|
| Multiply | |
| Multiply2 | |
| Not | |
| NotEquals | |
| OffsetColumnIndex | |
| Or | |
| ParameterizedBuiltin |
Function object for builtin function that takes a list of name=value parameters.
|
| Plus | |
| PlusMultiply | |
| Power | |
| Power2 | |
| ReduceAll | |
| ReduceCol | |
| ReduceDiag | |
| ReduceRow | |
| RevIndex | |
| SortIndex |
This index function is NOT used for actual sorting but just as a reference
in ReorgOperator in order to identify sort operations.
|
| SwapIndex | |
| TernaryValueFunction | |
| ValueComparisonFunction |
Abstraction for comparison (relational) operators in order to
force a proper implementation by all relevant subclasses.
|
| ValueFunction | |
| Xor |
| Enum | Description |
|---|---|
| Builtin.BuiltinCode | |
| ParameterizedBuiltin.ParameterizedBuiltinCode | |
| ParameterizedBuiltin.ProbabilityDistributionCode |
Copyright © 2021 The Apache Software Foundation. All rights reserved.


{% set hide_inline_attachments_help, show_attachments_tab_help, show_footnote_help, show_stat_headline_help = false %} {% set links_report = null %} {% set govspeak_link_errors = [] %}
For details, see Using govspeak on GOV.UK
## Top level heading – H2 ### Second level heading – H3 #### Third level heading – H4 Don’t use a single # – this is H1 and is for the title only
All documents created in the publisher – policies, publications, news, speeches, detailed guides etc – should be linked to using absolute admin paths or full public URLs:
[an admin path](/government/admin/policies/12345) [a public URL](https://www.gov.uk/government/policies/example-policy)
All content created under an organisation tab – collection pages, topics, organisations, people, roles etc – should be linked to using the full, public URLs:
[link text](https://www.gov.uk/government/topics/climate-change)
For external websites, use the full URL including http://:
[link text](http://www.example.com)
The link will display with an external link symbol.
If you want to link to specific paragraphs within a document, you need to mark the paragraph as linkable by placing an anchor tag below the paragraph:
Stocks of some fish species are very low. For example, stocks of European Eel have declined by about 95% over the last 30 years. {:#eel-decline}
The paragraph can then be linked to from the same document:
[Sample link text](#eel-decline)
or from another document:
[Sample link text](https://www.gov.uk/government/policies/managing-freshwater-fisheries#eel-decline)
* item 1 * item 2 * item 3
1. item 1 2. item 2 3. item 3
First upload your image(s), then:
!!n
eg for the first image:
!!1
Use the title of the video and the URL of the YouTube page that shows the video for watching. Don’t use the embed code or the ‘Share this video’ URL:
[title of video](youtube-video-url)
Only YouTube videos will work at present:
[The Queen’s Diamond Jubilee Concert](http://www.youtube.com/watch?v=OXHPWmnycno)
The title text does not show. The video will display in an embedded media player automatically.
Upload your attachment(s) on the ‘Attachments’ tab (you must save a draft edition to make the tab visible).
{% else %}Upload your attachment(s) using the attachment fields in the form.
{% endif %}Add an attachment as a callout box:
!@n
Or, if you want to use a link to an attachment in a sentence or list:
[InlineAttachment:n]
eg for the first file:
!@1
or:
[InlineAttachment:1]
Tables can be inserted by splitting your content into cells:
| name | colour | |--------|-------| | apple | green | | banana | yellow |
You can also use a shorthand version of the markdown, which will produce exactly the same output:
name | colour -|- apple | green banana | yellow
Numeric data can be shown as a simple bar chart. Grouped bars are used for multiple columns.
Department | Short Speeches | Long Speeches -|-|- Department 1 | 6 | 6 Department 2 | 6 | 8 Department 3 | 18 | 2 {barchart}
Stacked bars can be created. The final column is used to display the total.
Department | Short Speeches | Long Speeches | Total -|-|-|- Dept 1 | 6 | 6 | 12 Dept 2 | 6 | 8 | 14 Dept 3 | 18 | 2 | 20 {barchart stacked}
Large graphs can be displayed compactly to save space.
Department | Short Speeches | Long Speeches -|-|- Department 1 | 6 | 6 Department 2 | 6 | 8 Department 3 | 18 | 2 Department 4 | 5 | 4 Department 4 | 7 | 7 Department 6 | 11 | 1 {barchart compact}
If you include negative values, you must indicate this.
Department | Change in Number of Buildings -|- Department 1 | -12 Department 1 | 3 Department 1 | -4 Department 1 | 2 {barchart negative}
All effects can be combined.
$CTA [Use the trade tariff tool to find commodity codes.](https://www.gov.uk/trade-tariff) $CTA
Example content containing DWP and EU acronyms. *[EU]: European Union *[DWP]: Department for Work and Pensions
Text found in content which matches what’s in the brackets [ ]
(eg DWP), will have the full text (Department for Work and Pensions) available to screenreaders and when hovering: DWP. The markdown code will not be displayed.
List abbreviation markdown at the end.
As the Prime Minister said: > Rule, Britannia, rule the waves. > > Britons never shall be slaves.
The > in the line space is important. If you leave it out you will get 2 separate quotes, not 1 running quote.
$A Address Only Here $A
You can also embed contact information:
[Contact:n]
(n is the ID of the contact you want to embed.)
You can find the ID on the list of contacts for an organisation or worldwide organisation or you can type ‘[Contact: ’ and then type a keyword to find your contact (if it exists).
If it doesn’t exist you will have to add it (see your ‘Publishing explained’ guidance).
Footnotes can be added[^1]. [^1]: And then later defined.
You can add a footnote marker to a document using [^i] where i is the footnote number or label. Each of these tags should have corresponding footnote content, defined with [^i]: The footnote content. The footnote content will always appear at the end of the document regardless of where they are in the markdown.
Footnote content can hold more than one paragraph by indenting the content 4 spaces:
[^1]: This is some footnote content and is indented 4 spaces. This paragraph is also indented, so will be considered part of the footnote content.
Use statistic headlines to highlight important numbers in your content. Displays a statistic as a large number with a description. The statistic and description must make sense when read aloud.
{stat-headline} *13.8bn* years since the big bang {/stat-headline}


Even though we released Aurelia 1.0 last week, we're not slowing down. We're continuing to make fixes and enhancements. In order to keep the community informed, we'll make sure to post these updates here each week as needed.
Aurelia and SemVer
All Aurelia libraries strive to ahere to
the SemVer spec
. A semantic version typically looks like this: major.minor.patch
. The patch
number changes when there are only fixes. The minor
number changes when there are new features added (this also may include fixes). The major
number only changes if there is a breaking change of some sort.
We are striving not to make breaking changes in the core Aurelia libraries any time soon. However, if/when we do have to do this, we'll give ample warning, suggest migration strategies and do everything we can to make the process smooth. In any case, you can rest assured we aren't going to do a major re-write and then simply change the major version. Even major changes we may need to make will be incremental in nature.
Summary of Releases
During the last week we've primarily continued to improve the various libraries used by Webpack setups. We also made one fix in the Binding library related to correct delegated event propagation.
Minor Releases Notes
webpack-plugin 1.1.0 (2016-07-29)
Bug Fixes
- build-resources: fix a regression caused by scoping support ( d7dec55 )
- index: do not reassign moduleId when one with the same name exists already ( fddd9e1 )