ruby-prof
Overview
ruby-prof is a profiler for MRI Ruby. Its features include:
-
Speed - it is a C extension and therefore many times faster than the standard Ruby profiler.
-
Measurement Modes - ruby-prof can measure program wall time, process time, object allocations and memory usage
-
Reports - ruby-prof can generate a variety of text and cross-referenced html reports
-
Threads - supports profiling multiple threads simultaneously
Why ruby-prof?
ruby-prof is helpful if your program is slow and you don't know why. It can help you track down methods that are either slow, allocate a large number of objects or allocate objects with high memory usage. Often times the results will be surprising - when profiling what you think you know almost always turns out to be wrong.
Since ruby-prof is built using ruby's C tracepoint api, it knows a lot about your program. However, using ruby-prof also comes with two caveats:
-
To use ruby-prof you generally need to include a few lines of extra code in your program (although see command line usage)
-
Using ruby-prof will cause your program to run slower (see Performance section)
Most of the time, these two caveats are acceptable. But if you need to determine why a program running in production is slow or hung, a sampling profiler will be a better choice. Excellent choices include stackprof or rbspy.
If you are just interested in memory usage, you may also want to checkout the memory_profiler gem (although ruby-prof provides similar information).
Installation
The easiest way to install ruby-prof is by using Ruby Gems. To install:
gem install ruby-prof
If you are running Linux or Unix you'll need to have a C compiler installed so the extension can be built when it is installed. If you are running Windows, then you should install the Windows specific gem or install install devkit.
ruby-prof requires Ruby 2.7.0 or higher.
!!!WARNING!!!
Ruby versions 2.7.0 and 2.7.1 have a bug that can cause ruby-prof to return incorrect results.
Getting Started
There are three ways to use ruby-prof:
- command line
- convenience API
- core API
Command Line
The easiest way to use ruby-prof is via the command line, which requires no modifications to your program. The basic usage is:
ruby-prof [options] <script.rb> [--] [script-options]"
Where script.rb is the program you want to profile.
For a full list of options, see RubyProf::Cmd documentation or execute the following command:
ruby-prof -h
Convenience API
The second way to use ruby-prof is via its convenience API. This requires small modifications to the program you want to profile:
require 'ruby-prof' # profile the code RubyProf.start # ... code to profile ... result = RubyProf.stop # print a flat profile to text printer = RubyProf::FlatPrinter.new(result) printer.print(STDOUT)
Alternatively, you can use a block to tell ruby-prof what to profile:
require 'ruby-prof' # profile the code result = RubyProf.profile do # ... code to profile ... end # print a graph profile to text printer = RubyProf::GraphPrinter.new(result) printer.print(STDOUT, {})ruby-prof also supports pausing and resuming profiling runs.
require 'ruby-prof' # profile the code RubyProf.start # ... code to profile ... RubyProf.pause # ... other code ... RubyProf.resume # ... code to profile ... result = RubyProf.stop
Note that resume will only work if start has been called previously. In addition, resume can also take a block:
require 'ruby-prof' RubyProf.resume do # ... code to profile... end result = RubyProf.stop
With this usage, resume will automatically call pause at the end of the block.
The RubyProf.profile
method can take various options,
which are described in the Profiling
Options below.
Core API
The convenience API is a wrapper around the the Ruby::Profile
class. Using the Profile class directly provides addition
functionality, such as method exclusion.
To create a new profile:
require 'ruby-prof' profile = RubyProf::Profile.new(options) result = profile.profile do ... endOnce a profile is completed, you can either generate a report via a printer or save the results for later analysis. For a list of profiling options, please see the Profiling Options section.
Advanced Usage
This section describes advanced usage of ruby-prof. Additional documentation for every class is also available.
Profiling Options
ruby-prof understands the following options when profiling code:
- measure_mode
- What ruby-prof should measure. For more information see the Measurement Mode section.
- track_allocations
- Tracks each object location, including the object class, memory size and source file location. For more information see the Allocation Tracking section.
- exclude_threads
- Array of threads which should not be profiled. For more information see the Thread Inclusion/Exclusion section.
- include_threads
- Array of threads which should be profiled. All other threads will be ignored. For more information see the Thread Inclusion/Exclusion section.
Measurement Mode
The measurement mode determines what ruby-prof measures when profiling code. Supported measurements are:
- RubyProf::WALL_TIME
-
Wall time measures the real-world time elapsed between any two moments in seconds. If there are other processes concurrently running on the system that use significant CPU or disk time during a profiling run then the reported results will be larger than expected. On Windows, wall time is measured using
GetTickCount()
, on MacOS bymach_absolute_time
, on Linux byclock_gettime
and otherwise bygettimeofday
. - RubyProf::PROCESS_TIME
-
Process time measures the time used by a process between any two moments in seconds. It is unaffected by other processes concurrently running on the system. Remember with process time that calls to methods like sleep will not be included in profiling results. On Windows, process time is measured using
GetProcessTimes
and on other platforms byclock_gettime
. - RubyProf::ALLOCATIONS
-
Object allocations measures show how many objects each method in a program allocates. Measurements are done via Ruby's
GC.stat
api. - RubyProf::MEMORY
-
Memory measures how much memory each method in a program uses in bytes. Measurements are done via Ruby's TracePoint
api.
To set the measurement mode:
RubyProf.measure_mode = RubyProf::WALL_TIME RubyProf.measure_mode = RubyProf::PROCESS_TIME RubyProf.measure_mode = RubyProf::ALLOCATIONS RubyProf.measure_mode = RubyProf::MEMORY
The default value is RubyProf::WALL_TIME
. You may also
specify the measure mode by using the RUBY_PROF_MEASURE_MODE
environment variable:
export RUBY_PROF_MEASURE_MODE=wall export RUBY_PROF_MEASURE_MODE=process export RUBY_PROF_MEASURE_MODE=allocations export RUBY_PROF_MEASURE_MODE=memory
Allocation Tracking
ruby-prof also has the ability to track object allocations. This functionality can be turned on via the track_allocations option:
require 'ruby-prof' RubyProf.profile(:track_allocations => true) do ... end
Note the RubyProf::ALLOCATIONS
measure mode is slightly
different than tracking allocations. The measurement mode provides
high level information about the number of allocations performed in
each method. In contrast, tracking allocations provides detailed
information about the type, number, memory usage and location of each
allocation. Currently, to see allocations results you must use the RubyProf::GraphHtmlPrinter
.
Thread Inclusion/Exclusion
ruby-prof can profile multiple threads. Sometimes this can be overwhelming. For example, assume you want to determine why your tests are running slowly. If you are using minitest, it will run your tests in parallel by spawning tens of worker threads (note to tell minitest to use a single thread set the N environmental variable like this ENV = 0). Thus, ruby-prof provides two options to specify which threads should be profiled:
exclude_threads:: Array of threads which should not be profiled. include_threads:: Array of threads which should be profiled. All other threads will be ignored.
Method Exclusion
ruby-prof supports excluding specific methods and threads from
profiling results. This is useful for reducing connectivity in the
call graph, making it easier to identify the source of performance
problems when using a graph printer. For example, consider Integer#times
:
it's hardly ever useful to know how much time is spent in the method
itself. We are more interested in how much the passed in block
contributes to the time spent in the method which contains the Integer#times
call. The effect on collected metrics are identical to eliminating
methods from the profiling result in a post process step.
profile = RubyProf::Profile.new(...) profile.exclude_methods!(Integer, :times, ...) profile.start
A convenience method is provided to exclude a large number of methods which usually clutter up profiles:
profile.exclude_common_methods!
However, this is a somewhat opinionated method collection. It's usually better to view it as an inspiration instead of using it directly (see github.com/ruby-prof/ruby-prof/blob/e087b7d7ca11eecf1717d95a5c5fea1e36ea3136/lib/ruby-prof/profile/exclude_common_methods.rb).
Merging Threads and Fibers
A common design pattern is to have a main thread delegate work to background threads or fibers (the rest of this section will just refer to worker threads to keep the text simpler). Examples include web servers, such as Puma and Falcon.
Understanding profiling results for worker threads can be very difficult because there may be hundreds or thousands of them. To help with this, ruby-prof includes the ability to merge results for worker threads that start with the same parent method. In the best case, this can collapse results into two threads - one for the parent thread and one for all worker threads.
Note the collapsed threads show the sum of times for all merged threads. For example, assume there are 10 worker threads that each took 5 seconds to run. The single merged thread will show a total time of 50 seconds.
To merge threads:
profile = RubyProf.profile do ... end profile.merge!
Saving Results
It can be helpful to save the results of a profiling run for later analysis. Results can be saved using Ruby's marshal library.
profile_1 = RubyProf.profile do ... end # Save the results data = Marshal.dump(profile_1)!!!WARNING!!! - Only load ruby-prof profiles that you know are safe. Demarshaling data can lead to arbitrary code execution and thus can be dangerous.
# Sometime later load the results profile_2 = Marshal.load(data)
Reports
Once you have completed a profiling run, ruby-prof provides a number of reports that you can use to analyze the results. Reports are created via the use of printers:
profile = RubyProf.profile do
...
end
printer = RubyProf::GraphPrinter.new(profile) printer.print(STDOUT, :min_percent => 2)
The first parameter is any writable IO object such as STDOUT
or a file. The second parameter specifies the minimum percentage a
method must take to be printed. Percentages should be specified as
integers in the range 0 to 100. For more information please see the
documentation for the different printers.
The different types of reports, and their associated printers, are:
- Flat Report (RubyProf::FlatPrinter)
- The flat report show the overall time spent in each method. Its is a good way of quickly identifying which methods take the most time. An example of a flat report can be found in examples/primes.flat.txt.
- Graph Reports (RubyProf::GraphPrinter)
- The graph report shows the overall time spent in each method. In
addition, it also show which methods call the current method and
which methods its calls. Thus they are good for understanding how
methods gets called and provide insight into the flow of your
program. An example graph report is located at examples/primes.graph.txt.
- HTML Graph Reports (RubyProf::GraphHtmlPrinter)
- HTML Graph profiles are the same as graph reports, except output is generated in hyper-linked HTML. Since graph reports can be quite large, the embedded links make it much easier to navigate the results. An example html graph profile is located at examples/primes.graph.html.
- Call stack reports (RubyProf::CallStackPrinter)
- Call stack reports produce a HTML visualization of the time spent in each execution path of the profiled code. An example can be found at examples/primes.stack.html.
- Call graphs (RubyProf::CallTreePrinter)
- Call graphs output results in the calltree profile format which is used by KCachegrind. More information about the format can be found at the KCachegrind site. An example can be found at examples/primes.callgrind.out.20124.
- Graphviz reports (RubyProf::DotPrinter)
- The graphviz report is designed to be opened by Graphviz to create visualization of profile results. An example can be found at examples/primes.dot.
- Multiple reports (RubyProf::MultiPrinter)
- MultiPrinter which can generate several reports in one profiling
run.
MultiPrinter
requires a directory path and a profile basename for the files they produceprinter = RubyProf::MultiPrinter.new(result) printer.print(:path => ".", :profile => "profile")
Performance
Significant effort has been put into reducing ruby-prof's overhead. Our tests show that the overhead associated with profiling code varies considerably with the code being profiled. Most programs will run approximately twice as slow while highly recursive programs (like the fibonacci series test) will run up to five times slower.
Profiling Rails
To profile a Rails application it is vital to run it using production like settings (cache classes, cache view lookups, etc.). Otherwise, Rail's dependency loading code will overwhelm any time spent in the application itself (our tests show that Rails dependency loading causes a roughly 6x slowdown). The best way to do this is create a new Rails environment, profile.rb.
To profile Rails:
-
Create a new profile.rb environment. Make sure to turn on
cache_classes
andcache_template_loading
. Otherwise your profiling results will be overwhelmed by the time Rails spends loading required files. You should likely turn off caching. -
Add the ruby-prof to your gemfile:
group :profile do gem 'ruby-prof' end
-
Add the ruby prof rack adapter to your middleware stack. The Rails documentation describes several ways to do this. One way is to add the following code to
application.rb
:if Rails.env.profile?
config.middleware.use
Rack::RubyProf, :path => './tmp/profile' endThe path is where you want profiling results to be stored. By default the rack adapter will generate a html call graph report and flat text report.
-
Now make a request to your running server. New profiling information will be generated for each request. Note that each request will overwrite the profiling reports created by the previous request!
Architecture
To learn more about how ruby-prof works internally please see the architecture page.
Version 1.0
ruby-prof's development stretches all the way back to 2005. Fourteen years later, it seems time for version 1.0! Version 1.0 is a significant update that greatly improves the internals of ruby-prof and adds a number of improvements:
-
Profiling is significantly faster (5x in some cases)
- Recursive profiles are finally handled correctly. Yeah!!!
- Redesigned reports.
-
The ability to measure allocations and memory usage using a standard (unpatched) version of ruby
-
The ability to save and reload profiling results for later analysis
-
The ability track object allocations
- New documentation website.
At the same time, it was also time to remove old code and deprecated methods. These changes include:
-
Drop support for old versions of ruby. Currently 2.4 and up are required.
-
Remove support for method elimination (instead use method exclusion).
-
Remove the CPU_TIME measurement mode since it duplicates the PROCESS_TIME mode and required inline assembly code
-
Remove the GC_TIME and GC_RUNS measurement modes since they required patched ruby versions. In modern ruby it is possible to reimplement this functionality, but it does not seem of that much value (shout out if you want it back).
- Merge the
RubyProf::FlatPrinterWithLineNumbers
printer intoRubyProf::FlatPrinter
. - Removed support for RUBY_PROF_EDITOR_URI environment variable that specified the link scheme. This features was more confusing then helpful.
API Documentation
API documenation for each class is available.
License
See LICENSE for license information.
Development
Code is located at github.com/ruby-prof/ruby-prof


Before Change
if type(output_state) in (Return, Throw, Waiting):
return output_state
elif type(output_state) is Noop:
return Noop("Successfully projected, but no source of output product for {}.", output_node)
else:
raise State.raise_unrecognized(output_state)
After Change
else:
projected_subject = self.projected_subject(*values)
except Exception as e:
return Throw(ValueError("Fields {} of {} could not be projected as {}: {}".format(
self.fields, input_product, self.projected_subject, e)))
output_node = self._output_node(step_context, projected_subject)
// When the output node is available, return its result.
output_state = step_context.get(output_node)


Kelvin Kwan
Crazy Rich Asians
The Outrageously Funny Debut Novel ABout Three Super-Rich, Predigreed Chinese Familes and the Gossip
Margaret Atwood
The handmaid's tale
This Novel Can Be Interpreted As A Double Narrative Offred's Tale And The Handmaid's . The Night...
Aldous Huxley
Brave new world
Dystopian Novel Written in 1931 By English Author Aldous Huxley And Published in 1932. Largely Set In...
Tara Westover
Educated
It is a Tale OF Fierce Family Loyalty And Of The Grief That Comes With Severing The Closest of Ties. With...
Mariarie Fritz
The weight of things
You Discover Not An Eccentric Fluke Of Literary Nature But Rather A Brilliant And Masterful Satiris...
Chris Power
Mothers stories
The Stories In Mothers Lay Bare Emotional And Psychic Damage Of Life, Love ANd Abandonment


The primary mapping application for The Things Network is TTN Mapper. JP has 3m+ data points already.
I built this app before knowing about TTN Mapper. It has some advantages:
We want your data in whatever way it is available. We'll build out different ways to submit as we go.
Many of you may already have recordings of successful transmissions paired with GPS data.
Tweet us a link to your data: Tweet #MapTheThings
Or submit a pull request with your data in a reasonable format (CSV, JSON, XML, YAML, EDN) in the Github project/data directory.
Make certain to include GPS coordinates, RSSI and SNR values for successful TTN messages.
Let me know if your data includes attempted transmissions that failed - we're interested in that data to show packet loss.
You are welcome to create your own nodes and use them to transmit GPS coordinates to the Map The Things server.
70B3D57ED00001B0
0x01
encoding = (latitude * 93206.0)
encoding = (longitude * 46603.0)
Use the Map The Things iOS app and hardware node to submit coverage samples.
You start the node and start the app and then move around the coverage area, either as part of a specific data gathering mission or just a normal day's wandering. The app will report all attempts to send a message (via the API) as well successful transmissions via TTN. The resulting data will enable us to distinguishing between untested areas and those that have been tested and found wanting.


gdal_retile¶
Retiles a set of tiles and/or build tiled pyramid levels.
Synopsis¶
gdal_retile.py [-v] [-co NAME=VALUE]* [-of out_format] [-ps pixelWidth pixelHeight]
[-overlap val_in_pixel]
[-ot {Byte/Int16/UInt16/UInt32/Int32/Float32/Float64/
CInt16/CInt32/CFloat32/CFloat64}]'
[ -tileIndex tileIndexName [-tileIndexField tileIndexFieldName]]
[ -csv fileName [-csvDelim delimiter]]
[-s_srs srs_def] [-pyramidOnly]
[-r {near/bilinear/cubic/cubicspline/lanczos}]
-levels numberoflevels
[-useDirForEachRow] [-resume]
-targetDir TileDirectory input_files
Description¶
This utility will retile a set of input tile(s). All the input tile(s) must be georeferenced in the same coordinate system and have a matching number of bands. Optionally pyramid levels are generated. It is possible to generate shape file(s) for the tiled output.
If your number of input tiles exhausts the command line buffer, use the general –optfile option
-
-targetDir
<directory>
¶ The directory where the tile result is created. Pyramids are stored in sub-directories numbered from 1. Created tile names have a numbering schema and contain the name of the source tiles(s)
-
-of
<format>
¶ Select the output format. Starting with GDAL 2.3, if not specified, the format is guessed from the extension (previously was GTiff). Use the short format name.
-
-co
<NAME=VALUE>
¶ Many formats have one or more optional creation options that can be used to control particulars about the file created. For instance, the GeoTIFF driver supports creation options to control compression, and whether the file should be tiled.
The creation options available vary by format driver, and some simple formats have no creation options at all. A list of options supported for a format can be listed with the –formats command line option but the documentation for the format is the definitive source of information on driver creation options. See Raster drivers format specific documentation for legal creation options for each format.
-
-ot
<type>
¶ Force the output image bands to have a specific type. Use type names (i.e.
Byte
,Int16
,…)
-
-ps
<pixelsize_x> <pixelsize_y>
¶ Pixel size to be used for the output file. If not specified, 256 x 256 is the default
-
-overlap<
<val_in_pixel>
¶ Overlap in pixels between consecutive tiles. If not specified, 0 is the default
New in version 2.2.
-
-levels
<numberOfLevels>
¶ Number of pyramids levels to build.
-
-v
¶
Generate verbose output of tile operations as they are done.
-
-pyramidOnly
¶
No retiling, build only the pyramids
-
-r
<algorithm>
¶ Resampling algorithm, default is near
-
-s_srs
<srs_def>
¶ Source spatial reference to use. The coordinate systems that can be passed are anything supported by the OGRSpatialReference.SetFromUserInput() call, which includes EPSG, PCS, and GCSes (i.e. EPSG:4296), PROJ.4 declarations (as above), or the name of a .prj file containing well known text. If no srs_def is given, the srs_def of the source tiles is used (if there is any). The srs_def will be propagated to created tiles (if possible) and to the optional shape file(s)
-
-tileIndex
<tileIndexName>
¶ The name of shape file containing the result tile(s) index
-
-tileIndexField
<tileIndexFieldName>
¶ The name of the attribute containing the tile name
-
-csv
<csvFileName>
¶ The name of the csv file containing the tile(s) georeferencing information. The file contains 5 columns: tilename,minx,maxx,miny,maxy
-
-csvDelim
<column delimiter>
¶ The column delimiter used in the CSV file, default value is a semicolon “;”
-
-useDirForEachRow
¶
Normally the tiles of the base image are stored as described in
-targetDir
. For large images, some file systems have performance problems if the number of files in a directory is to big, causing gdal_retile not to finish in reasonable time. Using this parameter creates a different output structure. The tiles of the base image are stored in a sub-directory called 0, the pyramids in sub-directories numbered 1,2,…. Within each of these directories another level of sub-directories is created, numbered from 0…n, depending of how many tile rows are needed for each level. Finally, a directory contains only the tiles for one row for a specific level. For large images a performance improvement of a factor N could be achieved.
-
-resume
¶
Resume mode. Generate only missing files.
Note
gdal_retile.py is a Python script, and will only work if GDAL was built with Python support.


%matplotlib inline
# %matplotlib notebook
import matplotlib.pyplot as plt
import numpy as np
from PIL import Image
plt.rcParams['figure.figsize'] = (10.0, 8.0)
image = Image.open('./data/input2.jpeg')
print('Format: {}, Size: {}, Mode: {}'.format(image.format, image.size, image.mode))
plt.imshow(image)
new_image = np.asarray(image).astype('float32')
new_image.shape
new_image = new_image.reshape(-1, 3)
new_image[(new_image[:, 2] < 100)] = np.array([
new_image[(new_image[:, 2] < 100), 1] * 1.1,
new_image[(new_image[:, 2] < 100), 0] * 0.9,
new_image[(new_image[:, 2] < 100), 2] * 0.9
]).transpose()
# new_image = np.array([
# new_image[:, 1],
# new_image[:, 0],
# new_image[:, 2]
# ]).transpose()
new_image.shape
new_image[(new_image[:, 0] >= 0) & (new_image[:, 1] >= 0) & (new_image[:, 2] >= 100)] = np.array([
new_image[(new_image[:, 0] >= 0) & (new_image[:, 1] >= 0) & (new_image[:, 2] >= 100), 0] * 0.85,
new_image[(new_image[:, 0] >= 0) & (new_image[:, 1] >= 0) & (new_image[:, 2] >= 100), 1] * 0.85,
new_image[(new_image[:, 0] >= 0) & (new_image[:, 1] >= 0) & (new_image[:, 2] >= 100), 2] * 0.85
]).transpose()
new_image.shape
new_image = new_image.reshape(750, 1000, 3)
new_image[new_image > 255] = 255
new_image[new_image < 0] = 0
new_image = new_image.astype('uint8')
plt.imshow(new_image)
image = Image.fromarray(new_image)
image.save('./data/trans.jpeg')


Jerome Stephen Schroeder
Democrat
Staff Physician, Diversified Radiology of Colorado (aka US Radiology Specialists)
I have a medical degree and am specialized as a Diagnostic Radiologist with a fellowship in Breast Imaging (Breast Cancer diagnosis)
80205
I have consistently donated to various democratic candidates in presidential primaries and the nominated candidate in the general election. I also give to state democratic candidate campaigns. This included Eliz. Warren's primary campaign, Joe Biden's campaign and John Hickenlooper's campaign. I also give to Act Blue, supporting various democratic candidates and causes. I also give to organizations which align with my values such as Defenders of Wildlife, Planned Parenthood, One Colorado, Colorado Independent, etc.
I have donated time and money to Project Angel Heart. I've donated to Habitat for Humanity. I have also donated time and money to Southern Plains Land Trust. I've donated to Komen Colorado, Craig Hospital,
Most of my involvement has been via the Democratic Party of Denver, canvassing, phone banking, passing out fliers, etc. I widely post political things on social media and get my friends to become involved writing letters, calling legislators and committing to voting.
 But, more importantly, I understand broadly the importance of equal representation and fair treatment of all people, regardless of background. I truly believe in the promise that America (and the states individually) of equality and equity and I know that that starts with ensuring that each portion of each state is fairly represented. Drawing fair and equitable district maps is the first step in ensuring this and I would be excited and honored to be a part of it.
As a physician, I have to be data and fact driven. I cannot 'believe' something may work for my patients, I have to know that it will based on unbiased research, facts and verifiable information. If chosen to be a commissioner, I would do my best to reach the goal of fair and equitable representation of the congressional districts based on a fair interpretation of the facts. I am also open to new information which may challenge my initial beliefs and am open to hearing other sides to the story.
I have to apply logic, reason, knowledge and my own personal experiences every day when I approach a patient who may have breast cancer. I have to analyze a mammogram and apply logic and reasoning to the finding. I then have to make a decision about the test which may alter the trajectory of the patient's life. Then, if a diagnosis is made, I have to use all of these skills in conveying not only the information to the patient, but also the implications of that information. Only in this way can the patient be armed with the correct information in order to make the best choices for their treatment.
Male


Blockchain
Blockchain
Based on blockchain, players can monitor every transaction process.
Besides, each transaction is created by our bartering system, and recorded in smart contracts, which are published on blockchain.
Consequently, Blockfarm provides users an equitable, impartial, and transparent commercial channel.
*Blockfarm is built on top of Blockcypher testnet.


Processing¶
-
radarsimpy.processing.
cal_range_doppler
(radar, range_profile, doppler_window=1, fft_shift=False, n=None)¶ Calculate range-Doppler matrix
- Parameters
radar (Radar) – A well defined radar system
range_profile (numpy.3darray) – Range profile matrix,
[channels, pulses, adc_samples]
doppler_window (numpy.1darray) – Window for FFT, length should be equal to adc_samples. (default is a square window)
fft_shift (bool) – Perform FFT shift. (default is False)
- Returns
A 3D array of range profile,
[channels, Doppler, range]
- Return type
numpy.3darray
-
radarsimpy.processing.
cal_range_profile
(radar, baseband, range_window=1, n=None)¶ Calculate range profile matrix
- Parameters
radar (Radar) – A well defined radar system
baseband (numpy.3darray) – Baseband data,
[channels, pulses, adc_samples]
range_window (numpy.1darray) – Window for FFT, length should be equal to adc_samples. (default is a square window)
n (int) – FFT size, if n > adc_samples, zero-padding will be applied. (default is None)
- Returns
A 3D array of range profile,
[channels, pulses, range]
- Return type
numpy.3darray
-
radarsimpy.processing.
cfar_ca
(data, guard, trailing, pfa=1e-05, axis=0, offset=None)¶ Cell Averaging CFAR (CA-CFAR)
- Parameters
data (numpy.1darray or numpy.2darray) – Radar data
guard (int) – Number of guard cells on one side, total guard cells are
2*guard
trailing (int) – Number of trailing cells on one side, total trailing cells are
2*trailing
pfa (float) – Probability of false alarm.
default 1e-5
axis (int) – The axis to calculat CFAR.
default 0
offset (float) – CFAR threshold offset. If offect is None, threshold offset is
2*trailing(pfa^(-1/2/trailing)-1)
.default None
- Returns
CFAR threshold. The dimension is the same as
data
- Return type
numpy.1darray or numpy.2darray
-
radarsimpy.processing.
cfar_os
(data, n, k, pfa=1e-05, axis=0, offset=None)¶ Ordered Statistic CFAR (OS-CFAR)
For edge cells, use rollovered cells to fill the missing cells.
- Parameters
data (numpy.1darray or numpy.2darray) – Radar data
n (int) – Number of cells around CUT (cell under test) for calculating
k (int) – Rank in the order
pfa (float) – Probability of false alarm.
default 1e-5
axis (int) – The axis to calculat CFAR.
default 0
offset (float) – CFAR threshold offset. If offect is None, threshold offset is calculated from
pfa
.default None
- Returns
CFAR threshold. The dimension is the same as
data
- Return type
numpy.1darray or numpy.2darray
Reference
[1] H. Rohling, “Radar CFAR Thresholding in Clutter and Multiple Target Situations,” IEEE Trans. Aerosp. Electron. Syst., vol. AES-19, no. 4, pp. 608–621, 1983.
-
radarsimpy.processing.
get_polar_image
(image, range_bins, angle_bins, fov_deg)¶ Convert cartesian coordinate to polar
- Parameters
image (numpy.2darray) – Data with cartesian coordinate, [range, angle]
range_bins (int) – Number of range bins
angle_bins (int) – Number of angle bins
fov_deg (float) – Field of view (deg)
- Returns
A 2D image with polar coordinate
- Return type
numpy.2darray


Lerp is a tiny JavaScript library for all of your linear interpolation needs. Lerp is free to use, less than 2 kB, and dependent-free. You can manually enter data as points or as arrays and matrices.
Lerp allows you to linearly approximate a data point in the blink of an eye. Get Lerp!
Input interpolation and known values and hit SOLVE!
Lerp supports both single and bilinear (double) interpolation. If you already know all the data points for interpolation, using Lerp is very simple! Single interpolate between points with one line of code.
lerp.s.pt(a1, a2, b1, b2, givenA);
Double interpolation is just as easy!
lerp.d.pt(a1, a2, b1, b2, c1, c2, c3, c4, givenA, givenB);
If you have data in arrays instead of individual points, Lerp can interpolate that too!
var arrayA = [1, 2, 3]; var arrayB = [1, 4, 5]; var givenA = 2; lerp.s.arr(arrayA, arrayB, givenA);
Double interpolation can be peformed using with 2 arrays and a matrix of data.
var arrayA = [1, 2, 3]; var arrayB = [1, 4, 5]; var matrixC = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; var givenA = 2; var givenB = 3.5; lerp.d.arr(arrayA, arrayB, matrixC, givenA, givenB);
Want to see or build an awesome feature? Fork the project here.


M for Mind-numbing
Sorry, there's no need to click on this one. It'll probably get to your brain before that. Cheers!


_The_Siege_ (R) ** 1/2 (out of ****)
Denzel Washington and director Edward Zwick have had an amazing track record together, working on two of the most powerful war films in recent cinematic history: 1989's aptly named Civil War epic _Glory_, and 1996's underappreciated Gulf War mystery _Courage_Under_Fire_. For _The_Siege_, their third collaboration, Washington and Zwick work with a fictional war-like situation, and the mediocre result is dismayingly unworthy of their combined talents.
_The_Siege_ would appear to take an original spin on a basic political thriller. After the efforts of an FBI team led by special agent Anthony Hubbard (Washington), aided by shady CIA operative Elise Kraft (Annette Bening), fail to end a rash of terrorist bombings in New York City, the White House takes drastic action--deploying a squadron of Army troops to enforce martial law in the Big Apple.
This should be the point at which _The_Siege_ takes off, but it instead takes a turn for the worse. What had been a rather thoughtful thriller with some effective suspense sequences (notably a scene with a bomb-rigged bus, which is prominently featured in the tell-all trailer) becomes formulaic and, at times, insufferably didactic and sappy. After some investigation, the bombing culprit(s) is determined to be Arab, so the troops round up the entire Arab-American population and hole them up in a stadium. This not only leads to some scenes of races uniting to protest the injustice, but one of the detained is the son of Hubbard's partner Frank Haddad (Tony Shalhoub), setting the stage for tiresome "concerned father" moping and a teary father-son reunion (oops, did I spoil something for anyone there?).
At the center of _The_Siege_'s problematic final act is Bruce Willis and his character General William Devereaux, who leads the Army in New York. Writers Zwick, Lawrence Wright, and Menno Meyjes never figure out what do to with the character. Devereaux is shown in the White House earlier in the film expressing his reluctance to be involved in the enforcement of martial law, yet by film's end he's become a gung-ho, power-mad zealot, getting in touch with the _Judge_Dredd_ within and angrily declaring, "I AM THE LAW!" An understandably confused Willis, wearing a ridiculously godawful wig (his hair stylist, Bunny Parker, should be shot), plays Devereaux as only he can--as if he wandered in from the set of his latest action opus. Apparently that bug is contagious, because the overwrought standoff climax (complete with, yes, a preachy speech) the writers cook up is straight out of a standard-issue Hollywood actioner.
On the other hand, Bening and especially Washington deliver reliably strong, passionate performances. However, as stunning on the whole as Roger Deakins's cinematography is, his camera is inexplicably unforgiving on these two powerful screen presences. Washington looks more than a little chunky, and the usually luminous Bening looks shockingly haggard. That mix of the largely good with some glaring bad spots pretty much sums up the rest of _The_Siege_. (opens November 6)
Michael Dequina
<EMAIL_ADDRESS>|<EMAIL_ADDRESS>Mr. Brown's Movie Site: http://welcome.to/mrbrown
CompuServe Hollywood Hotline: http://www.HollywoodHotline.com
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


void ObjVarScanData( optr obj, /* object to be scanned */ word numHandlers, /* number of handlers in table */ VarDataCHandler * handlerTable, /* pointer to handler table */ void * handlerData); /* pointer to handler data */
This routine scans an object's vardata and calls all the vardata handlers specified in the passed handler table. Pass it the following parameters:
obj
numHandlers
handlerTable
VarDataCHandler
structures. Each of these structures contains a vardata data type and a pointer to the routine that is to handle it. All the handler routines must be in the same segment as the handler table.
handlerData
Vardata Handler Format:
A vardata handler routine must have the following format:
void _pascal (MemHandle mh, ChunkHandle chnk, VarDataEntry *extraData, word dataType, void *handlerData)
The handler should not free the object chunk or destroy the object; it can do anything else it pleases. The handler returns nothing and takes the following parameters:
mh:chnk
extraData
VarDataTypePtr()
,
VarDataFlagsPtr()
, and
VarDataSizePtr()
.
dataType
VardataKey
.
handlerData
ObjVarScanData()
. This buffer may be used for passing additional data to the handlers.
Structures: The
VarDataCHandler
structure contains two elements:
typedef struct { word VDCH_dataType; void _pascal (*VDCH_handler) ( MemHandle mh, ChunkHandle chnk, VarDataEntry * extraData, word dataType void * handlerData); } VarDataCHandler;
The first element is the data type, a record containing the data type and the vardata flags. The second element is a far pointer to the handler routine for the type.
Include: object.h
void ObjVarScanDataHandles( MemHandle mh, /* handle portion of optr */ ChunkHandle ch, /* chunk portion of optr */ word numHandlers, /* number of handlers in table */ VarDataCHandler * handlerTable, /* pointer to handler table */ void * handlerData); /* pointer to handler data */
This routine is the same as
ObjVarScanData()
except that the object is specified via its handles rather than its optr.
Include: object.h
word offsetof(struc, field);
This macro returns the offset of the specified field within the specified structure.
ChunkHandle OptrToChunk(op); optr op;
This macro extracts the chunk handle portion of the given optr.
See Also: ConstructOptr()
,
OptrToHandle()
.
MemHandle OptrToHandle(op); optr op;
This macro extracts the MemHandle portion of the given optr.
See Also: ConstructOptr()
,
OptrToChunk()
.


If you are offline viewing, you'll need to visit this page with a network connection first before it can work offline.
Prizepool: {{competition['prizepool']}}
First:
Second:
Third:


"Why haven't you ever heard of Whitney?"
The side of her mouth curved into a smile.
"Shh... SEE?I would never, ever discuss it."
Sarcastic.
"But... uh... I'm going to... join the leader group. I need to get some coffee."
"I was a little... off. But it was nice to meet you."
Sarcastic flash came across my lips as I began to sugarcoat my words.
"I'd had a good day!"
The words were coming steadily. They were coming fast.
They had come not overnight. It had taken me years. It had taken the last three months.
"I have hope," I said, "of the ground underneath me. What is the hidden meaning behind this situation?"
"I will tell you my secret," Loki said, "But the whole thing is a lie."
"It can't be any other way," said Sherwood


Consider the force balance in the direction of
. Dotting the
equilibrium equation (43) by
, we obtain
|
(44) |
which implies that is constant along a magnetic field line. Since
is also constant along a magnetic field line, can be expressed in terms of
only on a single magnetic line. Note that this does not necessarily
mean is a single-valued function of , i.e.
. For
instance, can take different value on different magnetic field lines with
the same value of while still satisfying
. However, for an asymmetric pressure, it is ready to prove that is
indeed a single-valued function of on a flux surface since is a
constant on a magnetic surface (however, on different magnetic surfaces with
the same value of , can be different, refer to Sec. 13.8).
On the other hand, if
, then we obtain
i.e., Eq. (44) is satisfied. Therefore
is
equivalent to the force balance equation in the parallel (to the magnetic
field) direction.
yj
2018-03-09


WITNESS LIST State Affairs Committee (Subcommittee on Privacy) March 28, 2000-10:00A Electronic Privacy Overview On: Poulos, Bill (EDS) Internet & Consumer Databases On: Lane, Patrick J. "Rick" (U.S. Chamber of Commerce) McDade, Diane (Microsoft Corporation) Schneider, Rob (Consumers Union) Steer, Dave (TRUSTe) Privacy & Open Government Laws On: Wiley, Rob L. (Self and Freedom of Information Foundation of Texas) Texas Privacy Laws On: Payne, Rebecca L. (Office of the Attorney General)


Ensign Energy Services slashes dividend in half, reports $37.8M Q3 loss
by The Canadian PressCALGARY -- Shares in Ensign Energy Services Inc. fell after it cut its dividend in half due to what it said was prevailing industry conditions as it reported a third-quarter loss of $37.8 million.
The oilfield services company saw its shares fall 27 cents or about 10 per cent to $2.41 in trading on the Toronto Stock Exchange after falling as low as $2.29.
The drop came after Ensign said it will pay a quarterly dividend of six cents per share, down from 12 cents, to allow it "pursue alternative uses of available cash."
The company also ended its dividend reinvestment plan.
The reduced payment to shareholders came as the company said its loss in its latest quarter amounted to 24 cents per share compared with a loss of $32.8 million or 21 cents per share in the same quarter last year.
Revenue in the quarter totalled $393.5 million, up from $288.7 million in the third quarter of 2018.
Ensign acquired an 89.3 per cent stake in Trinidad Drilling Ltd. in the fourth quarter of 2018 and the remaining stake in the first quarter of 2019.
This report by The Canadian Press was first published Nov. 12, 2019


Class AsyncExtensions
Promise extensions for IAsyncOperation.
Inherited Members
Namespace: UnityFx.Async.Promises
Assembly: UnityFx.Async.dll
Syntax
public static class AsyncExtensions
Methods
| Improve this Doc View SourceCatch(IAsyncOperation, Action<Exception>)
Schedules a callback to be executed after the promise has been rejected.
Declaration
public static IAsyncOperation Catch(this IAsyncOperation op, Action<Exception> errorCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation | op | An operation to be continued. |
| System.Action<Exception> | errorCallback | The callback to be executed when the operation has faulted/was canceled. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation | Returns a continuation operation that completes after both source operation and the callback has completed. |
See Also
Catch<TException>(IAsyncOperation, Action<TException>)
Schedules a callback to be executed after the promise has been rejected.
Declaration
public static IAsyncOperation Catch<TException>(this IAsyncOperation op, Action<TException> errorCallback)where TException : Exception
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation | op | An operation to be continued. |
| System.Action<TException> | errorCallback | The callback to be executed when the operation has faulted/was canceled. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation | Returns a continuation operation that completes after both source operation and the callback has completed. |
Type Parameters
| Name | Description |
|---|---|
| TException |
See Also
Done(IAsyncOperation, Action)
Schedules a callback to be executed after the promise chain has completed.
Declaration
public static void Done(this IAsyncOperation op, Action successCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation | op | An operation to be continued. |
| Action | successCallback | The callback to be executed when the promise has resolved. |
See Also
Done(IAsyncOperation, Action, Action<Exception>)
Schedules a callback to be executed after the promise chain has completed.
Declaration
public static void Done(this IAsyncOperation op, Action successCallback, Action<Exception> errorCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation | op | An operation to be continued. |
| Action | successCallback | The callback to be executed when the promise has resolved. |
| System.Action<Exception> | errorCallback | The callback to be executed when the promise was rejected. |
See Also
Done<TResult>(IAsyncOperation<TResult>, Action<TResult>)
Schedules a callback to be executed after the promise chain has completed.
Declaration
public static void Done<TResult>(this IAsyncOperation<TResult> op, Action<TResult> successCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation<TResult> | op | An operation to be continued. |
| System.Action<TResult> | successCallback | The callback to be executed when the promise has resolved. |
Type Parameters
| Name | Description |
|---|---|
| TResult |
See Also
Done<TResult>(IAsyncOperation<TResult>, Action<TResult>, Action<Exception>)
Schedules a callback to be executed after the promise chain has completed.
Declaration
public static void Done<TResult>(this IAsyncOperation<TResult> op, Action<TResult> successCallback, Action<Exception> errorCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation<TResult> | op | An operation to be continued. |
| System.Action<TResult> | successCallback | The callback to be executed when the promise has resolved. |
| System.Action<Exception> | errorCallback | The callback to be executed when the promise was rejected. |
Type Parameters
| Name | Description |
|---|---|
| TResult |
See Also
Finally(IAsyncOperation, Action)
Schedules a callback to be executed after the promise has completed.
Declaration
public static IAsyncOperation Finally(this IAsyncOperation op, Action action)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation | op | An operation to be continued. |
| Action | action | The callback to be executed when the operation has completed. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation | Returns a continuation operation that completes after both source operation and the callback has completed. |
See Also
| Improve this Doc View SourceRebind<TResult>(IAsyncOperation, Func<TResult>)
Transforms the promise result to another type.
Declaration
public static IAsyncOperation<TResult> Rebind<TResult>(this IAsyncOperation op, Func<TResult> successCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation | op | An operation to be continued. |
| System.Func<TResult> | successCallback | The callback to be executed when the operation has completed. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<TResult> | Returns a continuation operation that completes after both source operation and the callback has completed. |
Type Parameters
| Name | Description |
|---|---|
| TResult |
See Also
| Improve this Doc View SourceRebind<TResult, TNewResult>(IAsyncOperation<TResult>, Func<TResult, TNewResult>)
Transforms the promise result to another type.
Declaration
public static IAsyncOperation<TNewResult> Rebind<TResult, TNewResult>(this IAsyncOperation<TResult> op, Func<TResult, TNewResult> successCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation<TResult> | op | An operation to be continued. |
| System.Func<TResult, TNewResult> | successCallback | The callback to be executed when the operation has completed. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<TNewResult> | Returns a continuation operation that completes after both source operation and the callback has completed. |
Type Parameters
| Name | Description |
|---|---|
| TResult | |
| TNewResult |
See Also
| Improve this Doc View SourceThen(IAsyncOperation, Action)
Schedules a callback to be executed after the promise has been resolved.
Declaration
public static IAsyncOperation Then(this IAsyncOperation op, Action successCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation | op | An operation to be continued. |
| Action | successCallback | The callback to be executed when the operation has completed. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation | Returns a continuation operation that completes after both source operation and the callback has completed. |
See Also
Then(IAsyncOperation, Action, Action<Exception>)
Schedules a callbacks to be executed after the operation has been resolved.
Declaration
public static IAsyncOperation Then(this IAsyncOperation op, Action successCallback, Action<Exception> errorCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation | op | An operation to be continued. |
| Action | successCallback | The callback to be executed when the operation has succeeded. |
| System.Action<Exception> | errorCallback | The callback to be executed when the operation has faulted/was canceled. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation | Returns a continuation operation that completes after both source operation and the callback has completed. |
See Also
Then(IAsyncOperation, Func<IAsyncOperation>)
Schedules a callback to be executed after the promise has been resolved.
Declaration
public static IAsyncOperation Then(this IAsyncOperation op, Func<IAsyncOperation> successCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation | op | An operation to be continued. |
| System.Func<IAsyncOperation> | successCallback | The callback to be executed when the operation has completed. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation | Returns a continuation operation that completes after both source operation and the operation returned by |
See Also
Then(IAsyncOperation, Func<IAsyncOperation>, Action<Exception>)
Schedules a callbacks to be executed after the operation has been resolved.
Declaration
public static IAsyncOperation Then(this IAsyncOperation op, Func<IAsyncOperation> successCallback, Action<Exception> errorCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation | op | An operation to be continued. |
| System.Func<IAsyncOperation> | successCallback | The callback to be executed when the operation has succeeded. |
| System.Action<Exception> | errorCallback | The callback to be executed when the operation has faulted/was canceled. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation | Returns a continuation operation that completes after both source operation and the operation returned by |
See Also
Then<TResult>(IAsyncOperation, Func<IAsyncOperation<TResult>>)
Schedules a callback to be executed after the promise has been resolved.
Declaration
public static IAsyncOperation<TResult> Then<TResult>(this IAsyncOperation op, Func<IAsyncOperation<TResult>> successCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation | op | An operation to be continued. |
| System.Func<IAsyncOperation<TResult>> | successCallback | The callback to be executed when the operation has completed. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<TResult> | Returns a continuation operation that completes after both source operation and the operation returned by |
Type Parameters
| Name | Description |
|---|---|
| TResult |
See Also
Then<TResult>(IAsyncOperation<TResult>, Action<TResult>)
Schedules a callback to be executed after the promise has been resolved.
Declaration
public static IAsyncOperation Then<TResult>(this IAsyncOperation<TResult> op, Action<TResult> successCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation<TResult> | op | An operation to be continued. |
| System.Action<TResult> | successCallback | The callback to be executed when the operation has completed. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation | Returns a continuation operation that completes after both source operation and the callback has completed. |
Type Parameters
| Name | Description |
|---|---|
| TResult |
See Also
Then<TResult>(IAsyncOperation<TResult>, Action<TResult>, Action<Exception>)
Schedules a callbacks to be executed after the operation has been resolved.
Declaration
public static IAsyncOperation Then<TResult>(this IAsyncOperation<TResult> op, Action<TResult> successCallback, Action<Exception> errorCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation<TResult> | op | An operation to be continued. |
| System.Action<TResult> | successCallback | The callback to be executed when the operation has succeeded. |
| System.Action<Exception> | errorCallback | The callback to be executed when the operation has faulted/was canceled. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation | Returns a continuation operation that completes after both source operation and the callback has completed. |
Type Parameters
| Name | Description |
|---|---|
| TResult |
See Also
Then<TResult>(IAsyncOperation<TResult>, Func<TResult, IAsyncOperation>)
Schedules a callback to be executed after the promise has been resolved.
Declaration
public static IAsyncOperation Then<TResult>(this IAsyncOperation<TResult> op, Func<TResult, IAsyncOperation> successCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation<TResult> | op | An operation to be continued. |
| System.Func<TResult, IAsyncOperation> | successCallback | The callback to be executed when the operation has completed. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation | Returns a continuation operation that completes after both source operation and the operation returned by |
Type Parameters
| Name | Description |
|---|---|
| TResult |
See Also
Then<TResult>(IAsyncOperation<TResult>, Func<TResult, IAsyncOperation>, Action<Exception>)
Schedules a callbacks to be executed after the operation has been resolved.
Declaration
public static IAsyncOperation Then<TResult>(this IAsyncOperation<TResult> op, Func<TResult, IAsyncOperation> successCallback, Action<Exception> errorCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation<TResult> | op | An operation to be continued. |
| System.Func<TResult, IAsyncOperation> | successCallback | The callback to be executed when the operation has succeeded. |
| System.Action<Exception> | errorCallback | The callback to be executed when the operation has faulted/was canceled. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation | Returns a continuation operation that completes after both source operation and the operation returned by |
Type Parameters
| Name | Description |
|---|---|
| TResult |
See Also
Then<TResult, TNewResult>(IAsyncOperation<TResult>, Func<TResult, IAsyncOperation<TNewResult>>)
Schedules a callback to be executed after the promise has been resolved.
Declaration
public static IAsyncOperation<TNewResult> Then<TResult, TNewResult>(this IAsyncOperation<TResult> op, Func<TResult, IAsyncOperation<TNewResult>> successCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation<TResult> | op | An operation to be continued. |
| System.Func<TResult, IAsyncOperation<TNewResult>> | successCallback | The callback to be executed when the operation has completed. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<TNewResult> | Returns a continuation operation that completes after both source operation and the operation returned by |
Type Parameters
| Name | Description |
|---|---|
| TResult | |
| TNewResult |
See Also
ThenAll(IAsyncOperation, Func<IEnumerable<IAsyncOperation>>)
Schedules a callback to be executed after the promise has been resolved. The resulting operation will complete after all of the operations in the callback return value have completed.
Declaration
public static IAsyncOperation ThenAll(this IAsyncOperation op, Func<IEnumerable<IAsyncOperation>> successCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation | op | An operation to be continued. |
| System.Func<System.Collections.Generic.IEnumerable<IAsyncOperation>> | successCallback | The callback to be executed when the operation has completed. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation | Returns a continuation operation that completes after both source operation and the callback has completed. |
See Also
| Improve this Doc View SourceThenAll<T>(IAsyncOperation, Func<IEnumerable<IAsyncOperation<T>>>)
Schedules a callback to be executed after the promise has been resolved. The resulting operation will complete after all of the operations in the callback return value have completed.
Declaration
public static IAsyncOperation<T[]> ThenAll<T>(this IAsyncOperation op, Func<IEnumerable<IAsyncOperation<T>>> successCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation | op | An operation to be continued. |
| System.Func<System.Collections.Generic.IEnumerable<IAsyncOperation<T>>> | successCallback | The callback to be executed when the operation has completed. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<T[]> | Returns a continuation operation that completes after both source operation and the callback has completed. |
Type Parameters
| Name | Description |
|---|---|
| T |
See Also
| Improve this Doc View SourceThenAll<T>(IAsyncOperation<T>, Func<T, IEnumerable<IAsyncOperation>>)
Schedules a callback to be executed after the promise has been resolved. The resulting operation will complete after all of the operations in the callback return value have completed.
Declaration
public static IAsyncOperation ThenAll<T>(this IAsyncOperation<T> op, Func<T, IEnumerable<IAsyncOperation>> successCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation<T> | op | An operation to be continued. |
| System.Func<T, System.Collections.Generic.IEnumerable<IAsyncOperation>> | successCallback | The callback to be executed when the operation has completed. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation | Returns a continuation operation that completes after both source operation and the callback has completed. |
Type Parameters
| Name | Description |
|---|---|
| T |
See Also
| Improve this Doc View SourceThenAll<T, U>(IAsyncOperation<T>, Func<T, IEnumerable<IAsyncOperation<U>>>)
Schedules a callback to be executed after the promise has been resolved. The resulting operation will complete after all of the specified objects in an array have completed.
Declaration
public static IAsyncOperation<U[]> ThenAll<T, U>(this IAsyncOperation<T> op, Func<T, IEnumerable<IAsyncOperation<U>>> successCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation<T> | op | An operation to be continued. |
| System.Func<T, System.Collections.Generic.IEnumerable<IAsyncOperation<U>>> | successCallback | The callback to be executed when the operation has completed. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<U[]> | Returns a continuation operation that completes after both source operation and the callback has completed. |
Type Parameters
| Name | Description |
|---|---|
| T | |
| U |
See Also
| Improve this Doc View SourceThenAny(IAsyncOperation, Func<IEnumerable<IAsyncOperation>>)
Schedules a callback to be executed after the promise has been resolved. The resulting operation will complete after any of the operations in the callback return value have completed.
Declaration
public static IAsyncOperation ThenAny(this IAsyncOperation op, Func<IEnumerable<IAsyncOperation>> successCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation | op | An operation to be continued. |
| System.Func<System.Collections.Generic.IEnumerable<IAsyncOperation>> | successCallback | The callback to be executed when the operation has completed. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation | Returns a continuation operation that completes after both source operation and the callback has completed. |
See Also
| Improve this Doc View SourceThenAny<TResult>(IAsyncOperation, Func<IEnumerable<IAsyncOperation<TResult>>>)
Schedules a callback to be executed after the promise has been resolved. The resulting operation will complete after any of the operations in the callback return value have completed.
Declaration
public static IAsyncOperation<TResult> ThenAny<TResult>(this IAsyncOperation op, Func<IEnumerable<IAsyncOperation<TResult>>> successCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation | op | An operation to be continued. |
| System.Func<System.Collections.Generic.IEnumerable<IAsyncOperation<TResult>>> | successCallback | The callback to be executed when the operation has completed. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<TResult> | Returns a continuation operation that completes after both source operation and the callback has completed. |
Type Parameters
| Name | Description |
|---|---|
| TResult |
See Also
| Improve this Doc View SourceThenAny<TResult>(IAsyncOperation<TResult>, Func<TResult, IEnumerable<IAsyncOperation>>)
Schedules a callback to be executed after the promise has been resolved. The resulting operation will complete after any of the operations in the callback return value have completed.
Declaration
public static IAsyncOperation ThenAny<TResult>(this IAsyncOperation<TResult> op, Func<TResult, IEnumerable<IAsyncOperation>> successCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation<TResult> | op | An operation to be continued. |
| System.Func<TResult, System.Collections.Generic.IEnumerable<IAsyncOperation>> | successCallback | The callback to be executed when the operation has completed. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation | Returns a continuation operation that completes after both source operation and the callback has completed. |
Type Parameters
| Name | Description |
|---|---|
| TResult |
See Also
| Improve this Doc View SourceThenAny<T, TResult>(IAsyncOperation<T>, Func<T, IEnumerable<IAsyncOperation<TResult>>>)
Schedules a callback to be executed after the promise has been resolved. The resulting operation will complete after any of the operations in the callback return value have completed.
Declaration
public static IAsyncOperation<TResult> ThenAny<T, TResult>(this IAsyncOperation<T> op, Func<T, IEnumerable<IAsyncOperation<TResult>>> successCallback)
Parameters
| Type | Name | Description |
|---|---|---|
| IAsyncOperation<T> | op | An operation to be continued. |
| System.Func<T, System.Collections.Generic.IEnumerable<IAsyncOperation<TResult>>> | successCallback | The callback to be executed when the operation has completed. |
Returns
| Type | Description |
|---|---|
| IAsyncOperation<TResult> | Returns a continuation operation that completes after both source operation and the callback has completed. |
Type Parameters
| Name | Description |
|---|---|
| T | |
| TResult |


Recitation 3
Homework Tips
- Be familiar with the What Can I Ask On Diderot? policy
- Talk to other students taking the course – they can help you and you can help them.
- Feel free to meet other students during the Collaboration Space – every Tuesday in GHC 4303.
- Look for the “Common Problems in Homework x” post on Diderot before asking questions online.
TA Hours
- Come this week! Don’t wait until the last week.
- Construct a minimal counter-example : a simplest test case that fails.
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
Linear Classification
Usually we talk about linear regression: inferring a continuous value as a linear function of input variables. In this homework, we’re using linear regression to predict a category variable. Let’s see what this looks like on a simple test dataset:
n=50
data = np.concatenate((np.random.normal(size=(n, 2)), np.random.normal(size=(n, 2)) + 2.5))
cls = np.array([-1]*n + [1]*n)
plt.scatter(data[cls==-1,0], data[cls==-1,1])
plt.scatter(data[cls== 1,0], data[cls== 1,1])
We fit a simple linear regression model to this data and examine the output. Notice that the output is continuous, not discrete.
model = LinearRegression()
model.fit(data, cls)
pred = model.predict(data)
pred[:5]
Let’s draw the scatter data and highlight misclassified points:
plt.scatter(data[pred<0,0], data[pred<0,1])
plt.scatter(data[pred>0,0], data[pred>0,1])
# Plot misclassified points:
errs = ((cls==-1) & (pred>0)) | ((cls==1) & (pred<0))
plt.scatter(data[errs,0], data[errs,1])
Lets visualize the classifier using regularly-spaced points:
xx, yy = np.meshgrid(np.linspace(-3, 6, 101), np.linspace(-3, 6, 101))
grid = np.vstack([xx.ravel(), yy.ravel()]).T
ccls = model.predict(grid)
plt.scatter(grid[ccls<0,0], grid[ccls<0,1])
plt.scatter(grid[ccls>0,0], grid[ccls>0,1])
# Post the original data division as well:
plt.scatter(data[cls==-1,0], data[cls==-1,1])
plt.scatter(data[cls== 1,0], data[cls== 1,1])
Notice that the class boundary is a line; this is characteristic of a linear classifier. We cannot separate classes like these using a linear classifier:
plt.subplot(1, 2, 1)
plt.scatter([-1, 1], [0, 0])
plt.scatter([0, 0], [-1, 1])
plt.subplot(1, 2, 2)
plt.yticks([])
plt.scatter([-1, 1], [-1, 1])
plt.scatter([0], [0])
F1 vs Accuracy
In hw3_text
, we introduce the $F_1$-score to measure the performance of a binary classifier. We define this in terms of the number of true and false positives and negatives in our classifier.
| Predicted | Actual | |
|---|---|---|
| true positive | T | T |
| false positive | T | F |
| false negative | F | T |
| true negative | F | F |
To calculate the $F_1$ score, we can calculate:
Why?
We care about this because it works when you want to measure classifier performance on rare events.
For example, lets look at a pair of ficticious medical test in a population where 1% of people have some disorder.
When Zico’s Magic Classifier (ZMC) and the much simpler Always False Classifier (AFC) are run on 1000 people, they both obtain 99% accuracy. Here are the confusion matrices for both:
| Always False Classifier | Actual True | Actual False |
|---|---|---|
| Predicted True | 0 | 0 |
| Predicted False | 10 | 990 |
| Zico’s Magic Classifier | Actual True | Actual False |
|---|---|---|
| Predicted True | 10 | 10 |
| Predicted False | 0 | 980 |
The accuracy for both classifiers is 99%, despite AFC not depending on the data (and consequently being useless). In this example, accuracy does not tell us which classifier is better.
Let’s calculate the $F_1$ score for both classifiers:
| Precision | Recall | $F_1$ score | |
|---|---|---|---|
| ATC | $\frac{0}{0}$ | $\frac{0}{10}$ | $0$ or NaN |
| ZMC | $\frac{10}{20}$ | $\frac{10}{10}$ | $\frac{2}{3}$ |
The $F_1$ score is good when you want measure your classifier’s performance on catching rare events.


MEMBERS
Professor
- Scott Uk-Jin Lee
-<EMAIL_ADDRESS>- TBA
- an asst. prof. in the CSE Dept. @ HYU (ERICA)
leading this Laboratory!
- Career
- 11 - : Assistant Professor in CSE Dept. @ Hanyang University, Korea
09 - 11 : Postdoc @ CEA LIST, France
05 - 06 : SE Programmer in SE Dept. @ University of Auckland, NZ
04 - 04 : Visiting Researcher @ National University of Singapore
04 - 08 : Ph.D in Computer Science @ University of Auckland, NZ
00 - 03 : BE in Software Engineering @ University of Auckland, NZ
Ph.D.
- Isma Farah
-<EMAIL_ADDRESS>- http://www.linkedin.com/in/ismafarah
- PhD scholar From Pakistan on HEC Scholarship
- Research Interests
- Software Engineering
Web Applications
Semantic Web
Database Management
Formal Methods
- Abdul Rahim
-<EMAIL_ADDRESS>- https://www.facebook.com/abdul.ariffin
- Master's leading to Phd scholar from Kuala Lumpur,Malaysia
- Research Interests
- Software Engineering
-Hadoop(MapReduce)
- Multithreading
- Gichan Lee
-<EMAIL_ADDRESS>- https://www.linkedin.com/in/GCSELAB
- 2016-2 ~
M.E. to Ph.D.
- Research Interests
- Software Engineering in practice
Access Control in IoT environment(project)
- Mohsin Javaid
-<EMAIL_ADDRESS>- https://goo.gl/3QXH6k
- Ph.D. Scholar from Pakistan on HEC Scholarship.
- Research Interests
- Software Engineering
Model Driven Architecture
Internet of Things
Android Application
Requirement Engineering
- Muhammad Umair Khan
-<EMAIL_ADDRESS>- https://goo.gl/GdYteF
- Ph.D. Scholar from Pakistan on HEC scholarship
- Research Interests
- Software Engineering
Concurrent Programming
Internet of Thing
M.E.
- Seonwoong Kim
-<EMAIL_ADDRESS>- none
- Wussup
- Research Interests
- Software Engineering
Model Checking
Swift2
- Gwanggyu Choi
-<EMAIL_ADDRESS>- .
- .
- Research Interests
- Software engineering
- requirement engineering
- Youn Guen Ahn
-<EMAIL_ADDRESS>- http://frebern.xyz
- TBA
- Research Interests
- Java, Android
Intern
Alumni
- Jaejin Kim
-<EMAIL_ADDRESS>- https://www.facebook.com/musalhk
- 2012 - 1st M.E. in SELAB.
2014 - Software Engineer in Cloud Lab. B2B / Samsung Electronics Mobile Communications Business
- Research Interests
- - Access Control in Ubiquitous
- Software Engineering
- IoT Technology (Internet of Things)
- Health & Medical Technology
- Cloud Computing
- Jaeho Choi
-<EMAIL_ADDRESS>- http://www.facebook.com/rogue9071
- Hi, guys!! I am a crazy boy in this area :-)
- Research Interests
- Software Engineering
A field of Access Control(XACML tools)
Web Application & Security
Cloud Computing Evironment
Social Network Service
- Geunhwan Park
-<EMAIL_ADDRESS>- http://selab.hanyang.ac.kr/~pgh
- Hi
- Research Interests


When handling a caught exception, the original exception's message and stack trace should be logged or passed forward.
try { /* ... */ } catch (Exception e) { // Noncompliant - exception is lost LOGGER.info("context"); } try { /* ... */ } catch (Exception e) { // Noncompliant - exception is lost (only message is preserved) LOGGER.info(e.getMessage()); } try { /* ... */ } catch (Exception e) { // Noncompliant - original exception is lost throw new RuntimeException("context"); }
try { /* ... */ } catch (Exception e) { LOGGER.info(e); // exception is logged } try { /* ... */ } catch (Exception e) { throw new RuntimeException(e); // exception stack trace is propagated } try { /* ... */ } catch (RuntimeException e) { doSomething(); throw e; // original exception passed forward } catch (Exception e) { throw new RuntimeException(e); // Conversion into unchecked exception is also allowed }
InterruptedException
, NumberFormatException
, DateTimeParseException
, ParseException
and
MalformedURLException
exceptions are arguably used to indicate nonexceptional outcomes. Similarly, handling
NoSuchMethodException
is often required when dealing with the Java reflection API.
Because they are part of Java, developers have no choice but to deal with them. This rule does not verify that those particular exceptions are correctly handled.
int myInteger; try { myInteger = Integer.parseInt(myString); } catch (NumberFormatException e) { // It is perfectly acceptable to not handle "e" here myInteger = 0; }


v0.6
$ Sol 1: The landing module jolts as the retro-rockets activate. You had forgtten just how much everything shook during the final descent. With a second jolt, everything became quiet and still again.  Light pours into the landing module as the bulkheads whir open. You're now 55 million kilometers from your old home. Now the real work begins. It's the year 2217, Systems United has chosen you to start Mars colony 42.


To fill combo limit orders, the fill model calculates the aggregate price of the combo order, which is the sum of prices for each security in the order legs. The price of each security is a function of the data format and order direction. Legs with a positive order quantity increase the aggregate price and legs with a negative quantity decrease the aggregate price. The following table shows how the fill model calculates the security prices.
| Data Format | TickType |
Combo Order Direction | Leg Order Direction | Price |
|---|---|---|---|---|
Tick |
Quote |
Buy or sell | Buy | Ask price |
Tick |
Quote |
Buy or sell | Sell | Bid price |
Tick |
Trade |
Buy or sell | Buy or sell | Trade price |
QuoteBar |
Buy | Buy | Ask low price | |
QuoteBar |
Buy | Sell | Bid low price | |
QuoteBar |
Sell | Buy | Ask high price | |
QuoteBar |
Sell | Sell | Bid high price | |
TradeBar |
Buy | Buy or sell | Low price | |
TradeBar |
Sell | Buy or sell | High price |
After the fill model calculates the aggregate price of the combo order, it checks if it should fill the order. The following table describes the fill condition of the combo order and the fill price price of each leg:
| Data Format | TickType |
Combo Order Direction | Fill Condition | Leg Order Direction | Fill Price |
|---|---|---|---|---|---|
Tick |
Quote |
Buy | Aggregate price < combo limit price | Buy or sell | Quote price |
Tick |
Quote |
Sell | Aggregate price > combo limit price | Buy or sell | Quote price |
Tick |
Trade |
Buy | Aggregate price < combo limit price | Buy or sell | Trade price |
Tick |
Trade |
Sell | Aggregate price > combo limit price | Buy or sell | Trade price |
QuoteBar |
Buy | Aggregate price < combo limit price | Buy | Ask low price | |
QuoteBar |
Buy | Aggregate price < combo limit price | Sell | Bid low price | |
QuoteBar |
Sell | Aggregate price > combo limit price | Buy | Ask high price | |
QuoteBar |
Sell | Aggregate price > combo limit price | Sell | Bid high price | |
TradeBar |
Buy | Aggregate price < combo limit price | Buy or sell | Low price | |
TradeBar |
Sell | Aggregate price > combo limit price | Buy or sell | High price |
The model only fills combo limit orders if the data isn't stale and all the legs can fill in the same time step after the order time step. The fill quantity of each leg is the product of the leg order quantity and the combo order quantity.


Free Stock Images & Videos ~ AllTheFreeStock.com
Home
About
Free Stock Photos
Finda.Photo
NegativeSpace
Cupcake
FancyCrave
FreelyPhotos
BarnImages
Trunklog
ABSFreePic
FuriousCamera
RealisticShots
Free Nature Stock
StockSnap
GoodFreePhotos
StokPic
Nobl Web
Bara-Art
KaboomPics
1MillionFreePictures
reSplashed
Stock Up
Splashbase
Magdeleine
MMT
Apfel Stiel
Camarama
pond5
Jeeshoots
Picography
Pexels
ISO Republic
DesignersPics
Gratisography
SplitShire
Life Of Pix
Startup Stock Photos
Stock Image Point
StockPhotosForFree
morgueFile
Crow The Stone
SkitterPhoto
Little Visuals
Unsplash
Good Stock Photos
Jay Mantri
FreeRangeStock
New Old Stock
Snapwire Snaps
ThePatternLibrary
Travel Coffee Book
PixaBay
Moveast
Pic Jumbo
Snapographic
Camarama
FoodiesFeed
DeathToStockPhoto
AuthenticSnaps
Free Stock Video
Fancy Footage Club
Pexels Video
BRoll
Life Of Vids
Videezy
pond5
Stock Footage For Free
XStockvideo
Vidsplay
Clipcanvas
MotionElements
Beachfront B-Roll
Distill
Mazwai
Free Sound Effects
Sonics
Converse Sample Library
Octave
FirearmSFX
FreeSound
pond5
Adobe Audition SFX
SoundBible
Dev Tones
Bfxr
Free Icons
PaymentFont
Font Awesome
FlatIcon
The Noun Project
IconMonstr
IcoMoon
Icons8
to[icon]
Icony
Skycons
GraphBerry
IonIcons
EvilIcons
Modern UI Icons
Icono
Our Sponsors


|
src/app/admin/roles/roles.component.ts
|
component |
RolesComponent |
0 %
(0/13)
|
|
src/app/admin/settings/settings.component.ts
|
component |
SettingsComponent |
0 %
(0/7)
|
|
src/app/admin/templates/templates.component.ts
|
component |
TemplatesComponent |
0 %
(0/14)
|
|
src/app/admin/tenants/tenants.component.ts
|
component |
TenantsComponent |
0 %
(0/8)
|
|
src/app/admin/users/users.component.ts
|
component |
UsersComponent |
0 %
(0/29)
|
|
src/app/app.component.ts
|
component |
AppComponent |
0 %
(0/51)
|
|
src/app/app.module.ts
|
class |
AnudanErrorHandler |
0 %
(0/3)
|
|
src/app/app.module.ts
|
function |
provideConfig |
0 %
(0/1)
|
|
src/app/app.module.ts
|
variable |
config |
0 %
(0/1)
|
|
src/app/applications/applications.component.ts
|
component |
ApplicationsComponent |
0 %
(0/4)
|
|
src/app/auth-guard.service.ts
|
guard |
AuthGuardService |
0 %
(0/4)
|
|
src/app/components/addnlreports-dialog/addnlreports-dialog.component.ts
|
component |
AddnlreportsDialogComponent |
0 %
(0/16)
|
|
src/app/components/bottomsheet/bottomsheet.component.ts
|
component |
BottomsheetComponent |
0 %
(0/8)
|
|
src/app/components/bottomsheetAttachments/bottomsheetAttachments.component.ts
|
component |
BottomsheetAttachmentsComponent |
0 %
(0/8)
|
|
src/app/components/bottomsheetNotes/bottomsheetNotes.component.ts
|
component |
BottomsheetNotesComponent |
0 %
(0/9)
|
|
src/app/components/editor/editor.component.ts
|
component |
EditorComponent |
0 %
(0/3)
|
|
src/app/components/field-dialog/field-dialog.component.ts
|
component |
FieldDialogComponent |
0 %
(0/7)
|
|
src/app/components/footer/footer.component.ts
|
component |
FooterComponent |
0 %
(0/6)
|
|
src/app/components/footer/footer.component.ts
|
variable |
require |
0 %
(0/1)
|
|
src/app/components/grant-selection-dialog/grant-selection-dialog.component.ts
|
component |
GrantSelectionDialogComponent |
0 %
(0/12)
|
|
src/app/components/grant-template-dialog/grant-template-dialog.component.ts
|
component |
GrantTemplateDialogComponent |
0 %
(0/12)
|
|
src/app/components/grantNotes/grantNotes.component.ts
|
component |
GrantNotesComponent |
0 %
(0/21)
|
|
src/app/components/granthistory/granthistory.component.ts
|
component |
GranthistoryComponent |
0 %
(0/10)
|
|
src/app/components/granthistory/granthistory.component.ts
|
variable |
$ |
0 %
(0/1)
|
|
src/app/components/granthistory/granthistory.component.ts
|
variable |
jsPlumb |
0 %
(0/1)
|
|
src/app/components/invite-dialog/invite-dialog.component.ts
|
component |
InviteDialogComponent |
0 %
(0/15)
|
|
src/app/components/invite-dialog/invite-dialog.component.ts
|
interface |
Fruit |
0 %
(0/2)
|
|
src/app/components/messaging/messaging.component.ts
|
component |
MessagingComponent |
0 %
(0/7)
|
|
src/app/components/navbar/navbar.component.ts
|
component |
NavbarComponent |
0 %
(0/18)
|
|
src/app/components/notificationspopup/notificationspopup.component.ts
|
component |
NotificationspopupComponent |
0 %
(0/16)
|
|
src/app/components/notificationspopup/notificationspopup.component.ts
|
variable |
$ |
0 %
(0/1)
|
|
src/app/components/notificationspopup/notificationspopup.component.ts
|
variable |
jsPlumb |
0 %
(0/1)
|
|
src/app/components/report-template-dialog/report-template-dialog.component.ts
|
component |
ReportTemplateDialogComponent |
0 %
(0/12)
|
|
src/app/components/reportNotes/reportNotes.component.ts
|
component |
ReportNotesComponent |
0 %
(0/21)
|
|
src/app/components/section-edit/section-edit.component.ts
|
component |
SectionEditComponent |
0 %
(0/9)
|
|
src/app/components/sidebar/sidebar.component.ts
|
component |
SidebarComponent |
0 %
(0/37)
|
|
src/app/components/sidebar/sidebar.component.ts
|
interface |
RouteInfo |
0 %
(0/6)
|
|
src/app/components/sidebar/sidebar.component.ts
|
variable |
$ |
0 %
(0/1)
|
|
src/app/components/sidebar/sidebar.component.ts
|
variable |
ADMIN_ROUTES |
0 %
(0/1)
|
|
src/app/components/sidebar/sidebar.component.ts
|
variable |
GRANT_ROUTES |
0 %
(0/1)
|
|
src/app/components/sidebar/sidebar.component.ts
|
variable |
GRANT_SUB_ROUTES |
0 %
(0/1)
|
|
src/app/components/sidebar/sidebar.component.ts
|
variable |
ORGANIZATION_ROUTES |
0 %
(0/1)
|
|
src/app/components/sidebar/sidebar.component.ts
|
variable |
PLATFORM_ROUTES |
0 %
(0/1)
|
|
src/app/components/sidebar/sidebar.component.ts
|
variable |
REPORT_ROUTES |
0 %
(0/1)
|
|
src/app/components/sidebar/sidebar.component.ts
|
variable |
REPORT_SECTION_ROUTES |
0 %
(0/1)
|
|
src/app/components/sidebar/sidebar.component.ts
|
variable |
ROUTES |
0 %
(0/1)
|
|
src/app/components/sidebar/sidebar.component.ts
|
variable |
SECTION_ROUTES |
0 %
(0/1)
|
|
src/app/components/sidebar/sidebar.component.ts
|
variable |
SINGLE_REPORT_ROUTES |
0 %
(0/1)
|
|
src/app/components/template-dialog/template-dialog.component.ts
|
component |
TemplateDialogComponent |
0 %
(0/9)
|
|
src/app/components/welcome-popup/welcome-popup.component.ts
|
component |
WelcomePopupComponent |
0 %
(0/9)
|
|
src/app/components/wfassignment/wfassignment.component.ts
|
component |
WfassignmentComponent |
0 %
(0/27)
|
|
src/app/components/wfassignment/wfassignment.component.ts
|
variable |
$ |
0 %
(0/1)
|
|
src/app/components/wfassignment/wfassignment.component.ts
|
variable |
jsPlumb |
0 %
(0/1)
|
|
src/app/dashboard/chart-summary/chart-summary.component.ts
|
component |
ChartSummaryComponent |
0 %
(0/21)
|
|
src/app/dashboard/dashboard.component.ts
|
component |
DashboardComponent |
0 %
(0/29)
|
|
src/app/dashboard/portfolio-summary/portfolio-summary.component.ts
|
component |
PortfolioSummaryComponent |
0 %
(0/12)
|
|
src/app/dashboard/progress-summary/progress-summary.component.ts
|
component |
ProgressSummaryComponent |
0 %
(0/12)
|
|
src/app/dashboard/summary-centered/summary-centered.component.ts
|
component |
SummaryCenteredComponent |
0 %
(0/9)
|
|
src/app/dashboard/summary/summary.component.ts
|
component |
SummaryComponent |
0 %
(0/6)
|
|
src/app/data.service.ts
|
injectable |
DataService |
0 %
(0/5)
|
|
src/app/disbursements/disbursements.component.ts
|
component |
DisbursementsComponent |
0 %
(0/2)
|
|
src/app/file.upload.service.ts
|
injectable |
FileUploadService |
0 %
(0/5)
|
|
src/app/grant.data.service.ts
|
injectable |
GrantDataService |
0 %
(0/5)
|
|
src/app/grant.update.service.ts
|
injectable |
GrantUpdateService |
0 %
(0/5)
|
|
src/app/grant/basic/basic.component.ts
|
component |
BasicComponent |
0 %
(0/119)
|
|
src/app/grant/basic/basic.component.ts
|
variable |
APP_DATE_FORMATS |
0 %
(0/1)
|
|
src/app/grant/grant.component.ts
|
component |
GrantComponent |
0 %
(0/96)
|
|
src/app/grant/grant.component.ts
|
variable |
$ |
0 %
(0/1)
|
|
src/app/grant/preview/preview.component.ts
|
component |
PreviewComponent |
0 %
(0/119)
|
|
src/app/grant/reporting/reporting.component.ts
|
component |
ReportingComponent |
0 %
(0/86)
|
|
src/app/grant/sections/sections.component.ts
|
component |
SectionsComponent |
0 %
(0/156)
|
|
src/app/grants/active-grants/active-grants.component.ts
|
component |
ActiveGrantsComponent |
0 %
(0/25)
|
|
src/app/grants/closed-grants/closed-grants.component.ts
|
component |
ClosedGrantsComponent |
0 %
(0/25)
|
|
src/app/grants/draft-grants/draft-grants.component.ts
|
component |
DraftGrantsComponent |
0 %
(0/26)
|
|
src/app/grants/grants.component.ts
|
component |
GrantsComponent |
0 %
(0/24)
|
|
src/app/home/home.component.ts
|
component |
HomeComponent |
0 %
(0/3)
|
|
src/app/icons/icons.component.ts
|
component |
IconsComponent |
0 %
(0/3)
|
|
src/app/kpisubmission/kpisubmission.component.ts
|
component |
KpisubmissionComponent |
0 %
(0/19)
|
|
src/app/kpisubmission/kpisubmission.component.ts
|
variable |
$ |
0 %
(0/1)
|
|
src/app/layouts/admin-layout/admin-layout.component.ts
|
component |
AdminLayoutComponent |
0 %
(0/38)
|
|
src/app/login/login.component.ts
|
component |
LoginComponent |
0 %
(0/28)
|
|
src/app/maps/maps.component.ts
|
component |
MapsComponent |
0 %
(0/3)
|
|
src/app/maps/maps.component.ts
|
interface |
Marker |
0 %
(0/5)
|
|
src/app/maps/maps.component.ts
|
variable |
google |
0 %
(0/1)
|
|
src/app/model/KpiSubmissionData.ts
|
class |
KpiSubmissionData |
0 %
(0/10)
|
|
src/app/model/KpiSubmissionData.ts
|
class |
SubmissionData |
0 %
(0/4)
|
|
src/app/model/KpiSubmissionData.ts
|
class |
UploadFile |
0 %
(0/4)
|
|
src/app/model/access-credentials.ts
|
class |
AccessCredentials |
0 %
(0/6)
|
|
src/app/model/action.ts
|
class |
Action |
0 %
(0/4)
|
|
src/app/model/app-config.ts
|
class |
AppConfig |
0 %
(0/18)
|
|
src/app/model/app-config.ts
|
class |
Colors |
0 %
(0/2)
|
|
src/app/model/app-config.ts
|
class |
Configuration |
0 %
(0/5)
|
|
src/app/model/dahsboard.ts
|
class |
ActionAuthorities |
0 %
(0/3)
|
|
src/app/model/dahsboard.ts
|
class |
Attachment |
0 %
(0/12)
|
|
src/app/model/dahsboard.ts
|
class |
AttachmentDownloadRequest |
0 %
(0/2)
|
|
src/app/model/dahsboard.ts
|
class |
AttachmentTemplates |
0 %
(0/9)
|
|
src/app/model/dahsboard.ts
|
class |
Attribute |
0 %
(0/15)
|
|
src/app/model/dahsboard.ts
|
class |
AttributeDiff |
0 %
(0/4)
|
|
src/app/model/dahsboard.ts
|
class |
ColumnData |
0 %
(0/5)
|
|
src/app/model/dahsboard.ts
|
class |
CustomDateAdapter |
0 %
(0/2)
|
|
src/app/model/dahsboard.ts
|
class |
Doc |
0 %
(0/6)
|
|
src/app/model/dahsboard.ts
|
class |
DocInfo |
0 %
(0/3)
|
|
src/app/model/dahsboard.ts
|
class |
DocumentKpiSubmission |
0 %
(0/11)
|
|
src/app/model/dahsboard.ts
|
class |
FieldInfo |
0 %
(0/4)
|
|
src/app/model/dahsboard.ts
|
class |
FileTemplates |
0 %
(0/8)
|
|
src/app/model/dahsboard.ts
|
class |
FlowAuthority |
0 %
(0/8)
|
|
src/app/model/dahsboard.ts
|
class |
Grant |
0 %
(0/34)
|
|
src/app/model/dahsboard.ts
|
class |
GrantDetails |
0 %
(0/2)
|
|
src/app/model/dahsboard.ts
|
class |
GrantDiff |
0 %
(0/14)
|
|
src/app/model/dahsboard.ts
|
class |
GrantHistory |
0 %
(0/32)
|
|
src/app/model/dahsboard.ts
|
class |
GrantKpi |
0 %
(0/12)
|
|
src/app/model/dahsboard.ts
|
class |
GrantNote |
0 %
(0/4)
|
|
src/app/model/dahsboard.ts
|
class |
GrantorOrganization |
0 %
(0/12)
|
|
src/app/model/dahsboard.ts
|
class |
GrantSnapshot |
0 %
(0/14)
|
|
src/app/model/dahsboard.ts
|
class |
GrantTemplate |
0 %
(0/8)
|
|
src/app/model/dahsboard.ts
|
class |
Kpi |
0 %
(0/12)
|
|
src/app/model/dahsboard.ts
|
class |
Note |
0 %
(0/5)
|
|
src/app/model/dahsboard.ts
|
class |
NoteTemplates |
0 %
(0/8)
|
|
src/app/model/dahsboard.ts
|
class |
Notifications |
0 %
(0/9)
|
|
src/app/model/dahsboard.ts
|
class |
Organization |
0 %
(0/8)
|
|
src/app/model/dahsboard.ts
|
class |
QualitativeKpiSubmission |
0 %
(0/10)
|
|
src/app/model/dahsboard.ts
|
class |
QuantitiaveKpisubmission |
0 %
(0/10)
|
|
src/app/model/dahsboard.ts
|
class |
Section |
0 %
(0/6)
|
|
src/app/model/dahsboard.ts
|
class |
SectionDiff |
0 %
(0/6)
|
|
src/app/model/dahsboard.ts
|
class |
SectionInfo |
0 %
(0/4)
|
|
src/app/model/dahsboard.ts
|
class |
SerializationHelper |
0 %
(0/2)
|
|
src/app/model/dahsboard.ts
|
class |
StatePermission |
0 %
(0/5)
|
|
src/app/model/dahsboard.ts
|
class |
Submission |
0 %
(0/17)
|
|
src/app/model/dahsboard.ts
|
class |
SubmissionStatus |
0 %
(0/8)
|
|
src/app/model/dahsboard.ts
|
class |
TableData |
0 %
(0/5)
|
|
src/app/model/dahsboard.ts
|
class |
Template |
0 %
(0/9)
|
|
src/app/model/dahsboard.ts
|
class |
TemplateLibrary |
0 %
(0/7)
|
|
src/app/model/dahsboard.ts
|
class |
Tenant |
0 %
(0/5)
|
|
src/app/model/dahsboard.ts
|
class |
Tenants |
0 %
(0/2)
|
|
src/app/model/dahsboard.ts
|
class |
WorkflowAssignment |
0 %
(0/9)
|
|
src/app/model/dahsboard.ts
|
class |
WorkflowAssignmentModel |
0 %
(0/8)
|
|
src/app/model/dahsboard.ts
|
class |
WorkflowStatus |
0 %
(0/10)
|
|
src/app/model/error-message.ts
|
class |
ErrorMessage |
0 %
(0/3)
|
|
src/app/model/filedata.ts
|
class |
Filedata |
0 %
(0/3)
|
|
src/app/model/graph.ts
|
class |
WorkflowLinks |
0 %
(0/6)
|
|
src/app/model/graph.ts
|
class |
WorkflowNode |
0 %
(0/4)
|
|
src/app/model/organization.ts
|
class |
Organization |
0 %
(0/5)
|
|
src/app/model/pdf-document.ts
|
class |
PdfDocument |
0 %
(0/2)
|
|
src/app/model/registration-credentials.ts
|
class |
RegistrationCredentials |
0 %
(0/11)
|
|
src/app/model/release.ts
|
class |
Release |
0 %
(0/3)
|
|
src/app/model/report.ts
|
class |
AdditionReportsModel |
0 %
(0/6)
|
|
src/app/model/report.ts
|
class |
Report |
0 %
(0/28)
|
|
src/app/model/report.ts
|
class |
ReportAssignment |
0 %
(0/7)
|
|
src/app/model/report.ts
|
class |
ReportDetails |
0 %
(0/2)
|
|
src/app/model/report.ts
|
class |
ReportDiff |
0 %
(0/10)
|
|
src/app/model/report.ts
|
class |
ReportDocInfo |
0 %
(0/3)
|
|
src/app/model/report.ts
|
class |
ReportFieldInfo |
0 %
(0/4)
|
|
src/app/model/report.ts
|
class |
ReportHistory |
0 %
(0/22)
|
|
src/app/model/report.ts
|
class |
ReportNote |
0 %
(0/4)
|
|
src/app/model/report.ts
|
class |
ReportSectionInfo |
0 %
(0/4)
|
|
src/app/model/report.ts
|
class |
ReportSnapshot |
0 %
(0/12)
|
|
src/app/model/report.ts
|
class |
ReportTemplate |
0 %
(0/8)
|
|
src/app/model/report.ts
|
class |
ReportWorkflowAssignment |
0 %
(0/10)
|
|
src/app/model/report.ts
|
class |
ReportWorkflowAssignmentModel |
0 %
(0/10)
|
|
src/app/model/rfp.ts
|
class |
Rfp |
0 %
(0/6)
|
|
src/app/model/setting.ts
|
class |
AppSetting |
0 %
(0/9)
|
|
src/app/model/setting.ts
|
class |
ReportDueConfiguration |
0 %
(0/4)
|
|
src/app/model/setting.ts
|
class |
ScheduledTaskConfiguration |
0 %
(0/10)
|
|
src/app/model/template.ts
|
class |
Template |
0 %
(0/6)
|
|
src/app/model/template.ts
|
class |
TemplateAttribute |
0 %
(0/6)
|
|
src/app/model/template.ts
|
class |
TemplateSection |
0 %
(0/4)
|
|
src/app/model/user.ts
|
class |
Permission |
0 %
(0/3)
|
|
src/app/model/user.ts
|
class |
Role |
0 %
(0/8)
|
|
src/app/model/user.ts
|
class |
User |
0 %
(0/14)
|
|
src/app/model/user.ts
|
class |
UserRole |
0 %
(0/3)
|
|
src/app/model/verification.ts
|
class |
Verification |
0 %
(0/3)
|
|
src/app/model/workflow-transition.ts
|
class |
WorkflowTransition |
0 %
(0/11)
|
|
src/app/notifications/notifications.component.ts
|
component |
NotificationsComponent |
0 %
(0/4)
|
|
src/app/notifications/notifications.component.ts
|
variable |
$ |
0 %
(0/1)
|
|
src/app/organization/details/details.component.ts
|
component |
DetailsComponent |
0 %
(0/4)
|
|
src/app/organization/orgadmin/orgadmin.component.ts
|
component |
OrgadminComponent |
0 %
(0/4)
|
|
src/app/organization/organization.component.ts
|
component |
OrganizationComponent |
0 %
(0/2)
|
|
src/app/registration/registration.component.ts
|
component |
RegistrationComponent |
0 %
(0/25)
|
|
src/app/report.data.service.ts
|
injectable |
ReportDataService |
0 %
(0/5)
|
|
src/app/reports/approved-reports/approved-reports.component.ts
|
component |
ApprovedReportsComponent |
0 %
(0/10)
|
|
src/app/reports/report/report-header/report-header.component.ts
|
component |
ReportHeaderComponent |
0 %
(0/29)
|
|
src/app/reports/report/report-header/report-header.component.ts
|
variable |
APP_DATE_FORMATS |
0 %
(0/1)
|
|
src/app/reports/report/report-preview/report-preview.component.ts
|
component |
ReportPreviewComponent |
0 %
(0/34)
|
|
src/app/reports/report/report-sections/report-sections.component.ts
|
component |
ReportSectionsComponent |
0 %
(0/74)
|
|
src/app/reports/report/report-sections/report-sections.component.ts
|
variable |
APP_DATE_FORMATS |
0 %
(0/1)
|
|
src/app/reports/report/report.component.ts
|
component |
ReportComponent |
0 %
(0/6)
|
|
src/app/reports/reports.component.ts
|
component |
ReportsComponent |
0 %
(0/3)
|
|
src/app/reports/submitted-reports/submitted-reports.component.ts
|
component |
SubmittedReportsComponent |
0 %
(0/10)
|
|
src/app/reports/upcoming-reports/upcoming-reports.component.ts
|
component |
UpcomingReportsComponent |
0 %
(0/23)
|
|
src/app/rfps/rfps.component.ts
|
component |
RfpsComponent |
0 %
(0/4)
|
|
src/app/single.report.data.service.ts
|
injectable |
SingleReportDataService |
0 %
(0/5)
|
|
src/app/submission.data.service.ts
|
injectable |
SubmissionDataService |
0 %
(0/5)
|
|
src/app/table-list/table-list.component.ts
|
component |
TableListComponent |
0 %
(0/3)
|
|
src/app/typography/typography.component.ts
|
component |
TypographyComponent |
0 %
(0/3)
|
|
src/app/update.service.ts
|
injectable |
UpdateService |
0 %
(0/3)
|
|
src/app/upgrade/upgrade.component.ts
|
component |
UpgradeComponent |
0 %
(0/3)
|
|
src/app/user-profile/user-profile.component.ts
|
component |
UserProfileComponent |
0 %
(0/8)
|
|
src/app/user-profile/user-profile.component.ts
|
variable |
$ |
0 %
(0/1)
|
|
src/app/welcome/welcome.component.ts
|
component |
WelcomeComponent |
0 %
(0/10)
|
|
src/app/workflow-management/workflow-management.component.ts
|
component |
WorkflowManagementComponent |
0 %
(0/3)
|
|
src/environments/environment.prod.ts
|
variable |
environment |
0 %
(0/1)
|
|
src/environments/environment.ts
|
variable |
environment |
0 %
(0/1)
|


SMART – A Web and Mobile Device Video Conference Management and Room Reservation System
Project Summary
Project Goals
- Develop initial release within 3 months
- Provide users with a rich mulitmedia video conference room and asset scheduler
- Extend to a mobile client
Skills and Resources Required
- Detailed UI specification/documentation
- System architecture design
- LAMP software engineering
- Quality assurance
SMART is a revolutionary Web amd mobile enterprise application that brings together previously separated software systems within a disributed enterprise — the ability to manage employee reservation and scheduling of conference rooms at multiple facilities. Reservations are made easy by using a step-by-step reservation wizard or calendar metaphor, using a web browser or mobile device, to enable users to pick a room that meets their meeting needs, with the right equipment, at the right facility location. Users can order catering services, and request facility management and AV support. Administrators are empowered to monitor and control room assets, perform remote tests of equipment, perform user amdministration tasks, and monitor video conferences as they happen... more than one at a time. In addition, reports are generated to detail what assets are being used and how often to analyze asset ROI.
Neubloc provided turnkey product development services including: product requirements definition based on user needs; user interface specification and presentation layer production; system architecture design and engineering and QA. The Web application was developed to run on a LINUX and/or Windows Server using PHP and MySQL. The mobile application was developed to run on Windows Mobile Versions 5 & 6 devices and Blackberry devices.
SMART Screenshot demonstrating the IT administrators ability to select a location, site and associated room(s) to monitor and control the equipment assets in a given room. The user can view reservation request details. In addition, the user has the option to view one or multiple rooms using the same view.
Users can easily scan locations and facilities for room availability and assets using this calendar metaphor. Each room has icons representing the type of assigned assets, time slots that have been scheduled.


Google.com
This webpage is trying to present information based on the user's query. Not much visual challenges as users are greeted with a very simple & elegant search box at first glance. Further options are found on the upper-right part of the page.
Soundcloud.com
This website is trying to bridge the gap between music artists & listeners. I love this website! It is simple enough to understand on the first usage, and complex enough for advanced users looking for more features or information.
Youtube.com
This website is severely changing the game in terms of media consumption. It presents the data (or video) to users in a simple manner, and at the same time, inform the user of related data using the sidebar.


--- layout: null section-type: stream title: Stream --- ## Stream [Join us on Twitch to get the latest schedule!](http://twitch.tv/ahikocake)


--- layout: post title: Bluetooth billboard advertising campaign date: 2006-03-14 00:00:00 categories: digital-media interfaces-&-interaction mobile ---
Bluetooth billboard advertising campaign: "According to an article in the Sunday Business Post last week, several billboards around Ireland have been fitted with bluetooth transceivers and if punters come within range they are prompted to download some Lynx related content."
Sergio and I spent several minutes standing in front of a supposedly-Bluetoothing screen in Victoria station the other week, being URGED to activate Bluetooth and experience the future of advertising.
I can therefore report that the future of advertising involves staring at a big screen, then back at your phone, for a few times.


{% extends "learn/pages/level-1-base.html" %} {% import "partials/_utils.html" as utils %} {% import "learn/pages/partials/_learn_pages_utils.html" as learn_pages_utils %} {% block lhs_toc %} Table of contents
{% endblock %} {% block learn_content %}Before the lecture, please read the following chapters:
Question 1: What will be printed after running the following program?
result = ""
if 3 <= 4:
result += "yes"
else:
result += "no"
print(result)
{{
learn_pages_utils.render_question_responses(1, [
(True, "yes", "Correct!"),
(False, "no", "Incorrect. Think about how <=
works"),
(False, "yesno", "Incorrect. Remember conditional logic (if/elif/else
)"),
(False, "(error)", "Incorrect. This code should run fine"),
])
}}
Question 2: What will be printed after running the following program?
result = ""
bmi = 24
if bmi < 18.5:
result += "underweight"
if bmi < 25:
result += "normal"
if bmi < 30:
result += "overweight"
else:
result += "obese"
print(result)
{{
learn_pages_utils.render_question_responses(2, [
(False, "normal", "Incorrect. Look at our condition usage (hint: do you see an elif
?)"),
(False, "overweight", "Incorrect. Try going through the conditions one by one"),
(False, "obese", "Incorrect. There should be a condition that passes before the else
"),
(True, "normaloverweight", "Correct!"),
(False, "(error)", "Incorrect. This code should run fine"),
])
}}
Question 3: What will be printed after running the following program?
result = ""
bmi = 24
if bmi < 18.5:
result += "underweight"
elif bmi < 25:
result += "normal"
elif bmi < 30:
result += "overweight"
else:
result += "obese"
print(result)
{{
learn_pages_utils.render_question_responses(3, [
(True, "normal", "Correct!"),
(False, "overweight", "Incorrect. Check the condition boundaries again"),
(False, "obese", "Incorrect. At least one of these conditions should be true"),
(False, "normaloverweight", "Incorrect. Remember how elif
works"),
(False, "(error)", "Incorrect. This code should run fine"),
])
}}
What is your favorite movie?
> movie1
What is your second favorite movie?
> movie2
What is your third favorite movie?
> movie3
What is your fourth favorite movie?
> movie4
What is your fifth favorite movie?
> movie5
So your movie rankings are:
1. movie1
2. movie2
3. movie3
4. movie4
5. movie5
censor(text, word)
that replaces all occurrences of word
in text
with CENSORED
. After making all relevant replacements, output the final result in the terminal.Dear family,
The president of our government has sent me on a secret mission.
I flew to Antarctica on a huge airplane to get to my secret location.
I'm staying in a fancy hotel!
I really hope the enemy doesn't find this letter, because I reveal so many top-secret details in my letters to you.
Luckily, I have full faith in our government programmers that they will censor any important details.
I'll see you soon!
Love,
Your favorite spy
Your program should censor the following words: