public interface ImageConsumer
ImageProducer
| Modifier and Type | Field and Description |
|---|---|
static int |
COMPLETESCANLINES
The pixels will be delivered in (multiples of) complete scanlines
at a time.
|
static int |
IMAGEABORTED
The image creation process was deliberately aborted.
|
static int |
IMAGEERROR
An error was encountered while producing the image.
|
static int |
RANDOMPIXELORDER
The pixels will be delivered in a random order.
|
static int |
SINGLEFRAME
The image contain a single static image.
|
static int |
SINGLEFRAMEDONE
One frame of the image is complete but there are more frames
to be delivered.
|
static int |
SINGLEPASS
The pixels will be delivered in a single pass.
|
static int |
STATICIMAGEDONE
The image is complete and there are no more pixels or frames
to be delivered.
|
static int |
TOPDOWNLEFTRIGHT
The pixels will be delivered in top-down, left-to-right order.
|
| Modifier and Type | Method and Description |
|---|---|
void |
imageComplete(int status)
The imageComplete method is called when the ImageProducer is
finished delivering all of the pixels that the source image
contains, or when a single frame of a multi-frame animation has
been completed, or when an error in loading or producing the
image has occurred.
|
void |
setColorModel(ColorModel model)
Sets the ColorModel object used for the majority of
the pixels reported using the setPixels method
calls.
|
void |
setDimensions(int width,
int height)
The dimensions of the source image are reported using the
setDimensions method call.
|
void |
setHints(int hintflags)
Sets the hints that the ImageConsumer uses to process the
pixels delivered by the ImageProducer.
|
void |
setPixels(int x,
int y,
int w,
int h,
ColorModel model,
byte[] pixels,
int off,
int scansize)
Delivers the pixels of the image with one or more calls
to this method.
|
void |
setPixels(int x,
int y,
int w,
int h,
ColorModel model,
int[] pixels,
int off,
int scansize)
The pixels of the image are delivered using one or more calls
to the setPixels method.
|
void |
setProperties(Hashtable<?,?> props)
Sets the extensible list of properties associated with this image.
|
static final int RANDOMPIXELORDER
setHints(int)
,
Constant Field Valuesstatic final int TOPDOWNLEFTRIGHT
setHints(int)
,
Constant Field Valuesstatic final int COMPLETESCANLINES
setHints(int)
,
Constant Field Valuesstatic final int SINGLEPASS
setHints(int)
,
Constant Field Valuesstatic final int SINGLEFRAME
setHints(int)
,
imageComplete(int)
,
Constant Field Valuesstatic final int IMAGEERROR
imageComplete(int)
,
Constant Field Valuesstatic final int SINGLEFRAMEDONE
imageComplete(int)
,
Constant Field Valuesstatic final int STATICIMAGEDONE
imageComplete(int)
,
Constant Field Valuesstatic final int IMAGEABORTED
imageComplete(int)
,
Constant Field Valuesvoid setDimensions(int width, int height)
width
- the width of the source imageheight
- the height of the source imagevoid setProperties(Hashtable<?,?> props)
props
- the list of properties to be associated with this
imagevoid setColorModel(ColorModel model)
model
- the specified ColorModel
ColorModel
void setHints(int hintflags)
hintflags
- a set of hints that the ImageConsumer uses to
process the pixelsvoid setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off, int scansize)
x
- the X coordinate of the upper-left corner of the
area of pixels to be sety
- the Y coordinate of the upper-left corner of the
area of pixels to be setw
- the width of the area of pixelsh
- the height of the area of pixelsmodel
- the specified ColorModel
pixels
- the array of pixelsoff
- the offset into the pixels
arrayscansize
- the distance from one row of pixels to the next in
the pixels
arrayColorModel
void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize)
x
- the X coordinate of the upper-left corner of the
area of pixels to be sety
- the Y coordinate of the upper-left corner of the
area of pixels to be setw
- the width of the area of pixelsh
- the height of the area of pixelsmodel
- the specified ColorModel
pixels
- the array of pixelsoff
- the offset into the pixels
arrayscansize
- the distance from one row of pixels to the next in
the pixels
arrayColorModel
void imageComplete(int status)
status
- the status of image loadingImageProducer.removeConsumer(java.awt.image.ImageConsumer)
Dracula Javadoc Sample, Made with Allan Im.


{% for place, review in common %}
Give Review
Name: {{place.name_place}}
{{place.rate_place}} Stars
{% ifequal review "done" %}
You reviewed!!
{% else %}
{{ errors }}
Rating
{% csrf_token %}
Review
{% csrf_token %}
{% csrf_token %}
Don't want to give review
Go Back
{% endifequal %}
{% endfor %}
Complete Review?
Go Back


The farmers are simple folk. They think that the god of agriculture, Palin, has grown angry with them. They appear to be very busy with their farmwork, but cast nervous glances to the sky as if the god could strike them down at any moment.


seeberi sequence {border-style px;} #ffffff;} rRNA DNA cpDNA gene px; {font-family font-size infected nucleotide primers rDNA showed chloroplasts double; identity study using water RBs border-color border-width cyanobacteria plants. rhinosporidiosis similarity solid; {font-style {font-weight BLAST Bioinformation Dermocystidium PCR Rhinosporidium alignment bold courier; differs em; extracted fresh nucleotides positions present pt;} samples single used


{% include "../_include/css.html" %} {% include "../_include/js.html" %}
{% include "../_include/top.html" %} {% include "../_include/header.html" %}
{% block main-content %}{% endblock %}
{% include "../_include/footer.html" %}


MIPS32 Compiler
ASM code
Data segment
Text segment
Simple
With source code intermixed (only debug)
Compile
Download
×
Compile error


 This can be entirely laid out on print and we can scan it, like other zines do it. Then I can just refer to the scanned images in the html.
Mike Austin - Ollie Over the Rail
See that shit? That was made from a type of neural network called Deep Dream.
Anyways Shawn, this is what is possible with just some basic html and some javascript. Hopefully we can make something truly awesome for the Durham skate community.
Ricky Gouin - Fs Board


Typography
Averia Libre
Rock Salt
Typography Application
Rock Salt: A handwriting style typeface. I wanted to convey some readable variety.
Headings H1, H2
Footer
Navigation
Averia Libre: I blunted serif type, I like this for readable body copy.
Body Copy
Headings H3


Steve and the NeXT logo
"The best thing ever to happen to Steve is when we fired him, told him to get lost," Arthur Rock later said. The theory, shared by many, is that the tough love made him wiser and more mature. But it's not that simple. At the company he founded after being ousted from Apple, Jobs was able to indulge all of his instincts, both good and bad. He was unbound. The result was a series of spectacular products that were dazzling market flops. This was the true learning experience. What prepared him for the great success he would have in Act III was not his ouster from his Act I at Apple but his brilliant failures in ActII.
The first instinct that he indulged was his passion for design. The name he chose for his new company was rather straightforward: Next. In order to make it more distinctive, he decided he needed a world-class logo. So he courted the dean of corporate logos, Paul Rand. At seventy-one, the Brooklyn- born graphic designer had already created some of the best-known logos in business, including those of Esquire, IBM, Westinghouse, ABC, and UPS. He was under contract to IBM, and his supervisors there said that it would obviously be a conflict for him to create a logo for another computer company. So Jobs picked up the phone and called IBM's CEO, John Akers. Akers was out of town, but Jobs was so persistent that he was finally put through to Vice Chairman Paul Rizzo. After two days, Rizzo concluded that it was futile to resist Jobs, and he gave permission for Rand to do the work.
Rand flew out to Palo Alto and spent time walking with Jobs and listening to his vision. The computer would be a cube, Jobs pronounced. He loved that shape. It was perfect and simple. So Rand decided that the logo should be a cube as well, one that was tilted at a 28° angle. When Jobs asked for a number of options to consider, Rand declared that he did not create different options for clients.  "You can use what I produce, or not, but I will not do options, and either way you will pay me."
Jobs admired that kind of thinking, so he made what was quite a gamble. The company would pay an astonishing $100,000 flat fee to get one design."There was a clarity in our relationship," Jobs said. "He had a purity as an artist, but he was astute at solving business problems. He had a tough exterior, and had perfected the image of a curmudgeon, but he was a teddy bear inside." It was one of Jobs's highest praises: purity as an artist.
It took Rand just two weeks. He flew back to deliver the result to Jobs at his Woodside house. First they had dinner, then Rand handed him an elegant and vibrant booklet that described his thought process. On the final spread, Rand presented the logo he had chosen. "In its design, color arrangement, and orientation, the logo is a study in contrasts," his booklet proclaimed. "Tipped at a jaunty angle, it brims with the informality, friendliness, and spontaneity of a Christmas seal and the authority of a rubber stamp." The word "next" was split into two lines to fill the square face of the cube, with only the "e" in lowercase. That letter stood out, Rand's booklet explained, to connote "education, excellence . . . e = mc2."
It was often hard to predict how Jobs would react to a presentation. He could label it shitty or brilliant; one never knew which way he might go. But with a legendary designer such as Rand, the chances were that Jobs would embrace the proposal. He stared at the final spread, looked up at Rand, and then hugged him. They had one minor disagreement: Rand had used a dark yellow for the "e" in the logo, and Jobs wanted him to change it to a brighter and more traditional yellow. Rand banged his fist on the table and declared, "I've been doing this for fifty years, and I know what I'm doing." Jobs relented.
The company had not only a new logo, but a new name. No longer was it Next. It was NeXT. Others might not have understood the need to obsess over a logo, much less pay $100,000 for one. But for Jobs it meant that NeXT was starting life with a world-class feel and identity, even if it hadn't yet designed its first product. As Markkula had taught him, a great company must be able to impute its values from the first impression it makes.
As a bonus, Rand agreed to design a personal calling card for Jobs. He came up with a colorful type treatment, which Jobs liked, but they ended up having a lengthy and heated disagreement about the placement of the period after the "P" in Steven P. Jobs. Rand had placed the period to the right of the "P.", as it would appear if set in lead type. Steve preferred the period to be nudged to the left, under the curve of the "P.", as is possible with digital typography. "It was a fairly large argument about something relatively small," Susan Kare recalled. On this one Jobs prevailed.
In order to translate the NeXT logo into the look of real products, Jobs needed an industrial designer he trusted. He talked to a few possibilities, but none of them impressed him as much as the wild Bavarian he had imported to Apple: Hartmut Esslinger, whose frogdesign had set up shop in Silicon Valley and who, thanks to Jobs, had a lucrative contract with Apple. Getting IBM to permit Paul Rand to do work for NeXT was a small miracle willed into existence by Jobs's belief that reality can be distorted. But that was a snap compared to the likelihood that he could convince Apple to permit Esslinger to work for NeXT.


Liquid Telivision
Find the friend you never new you may of wanted!
27% accurate, Guaranteed!
Survey
Browse


--- layout: docpage title: "Documentation" is_homepage: false is_sphinx_doc: true doc-parent: "Getting Started" doc-title: "Production Recommendations" doc-header-links: ' ' doc-search-path: "../search.html" extra-footer: ' ' ---
The cassandra.yaml
and jvm.options
files have a number of notes and recommendations for production usage. This page
expands on some of the notes in these files with additional information.
Using more than 1 token (referred to as vnodes) allows for more flexible expansion and more streaming peers when bootstrapping new nodes into the cluster. This can limit the negative impact of streaming (I/O and CPU overhead) as well as allow for incremental cluster expansion.
As a tradeoff, more tokens will lead to sharing data with more peers, which can result in decreased availability. To learn more about this we recommend reading this paper.
The number of tokens can be changed using the following setting:
num_tokens: 16
Here are the most common token counts with a brief explanation of when and why you would use each one.
| Token Count | Description |
|---|---|
| 1 | Maximum availablility, maximum cluster size, fewest peers, but inflexible expansion. Must always double size of cluster to expand and remain balanced. |
| 4 | A healthy mix of elasticity and availability. Recommended for clusters which will eventually reach over 30 nodes. Requires adding approximately 20% more nodes to remain balanced. Shrinking a cluster may result in cluster imbalance. |
| 16 | Best for heavily elastic clusters which expand and shrink regularly, but may have issues availability with larger clusters. Not recommended for clusters over 50 nodes. |
In addition to setting the token count, it’s extremely important that allocate_tokens_for_local_replication_factor
be
set as well, to ensure even token allocation.
Read ahead is an operating system feature that attempts to keep as much data loaded in the page cache as possible. The goal is to decrease latency by using additional throughput on reads where the latency penalty is high due to seek times on spinning disks. By leveraging read ahead, the OS can pull additional data into memory without the cost of additional seeks. This works well when available RAM is greater than the size of the hot dataset, but can be problematic when the hot dataset is much larger than available RAM. The benefit of read ahead decreases as the size of your hot dataset gets bigger in proportion to available memory.
With small partitions (usually tables with no partition key, but not limited to this case) and solid state drives, read ahead can increase disk usage without any of the latency benefits, and in some cases can result in up to a 5x latency and throughput performance penalty. Read heavy, key/value tables with small (under 1KB) rows are especially prone to this problem.
We recommend the following read ahead settings:
| Hardware | Initial Recommendation |
|---|---|
| Spinning Disks | 64KB |
| SSD | 4KB |
Read ahead can be adjusted on Linux systems by using the blockdev tool.
For example, we can set read ahead of ``/dev/sda1` to 4KB by doing the following:
blockdev --setra 8 /dev/sda1
Note: blockdev accepts the number of 512 byte sectors to read ahead. The argument of 8 above is equivilent to 4KB.
Since each system is different, use the above recommendations as a starting point and tuning based on your SLA and throughput requirements. To understand how read ahead impacts disk resource usage we recommend carefully reading through the troubleshooting portion of the documentation.
Compressed data is stored by compressing fixed size byte buffers and writing the data to disk. The buffer size is
determined by the chunk_length_in_kb
element in the compression map of the schema settings.
The default setting is 16KB starting with Cassandra 4.0.
Since the entire compressed buffer must be read off disk, using too high of a compression chunk length can lead to significant overhead when reading small records. Combined with the default read ahead setting this can result in massive read amplification for certain workloads.
LZ4Compressor is the default and recommended compression algorithm.
There is additional information on this topic on The Last Pickle Blog.
There are different compaction strategies available for different workloads. We recommend reading up on the different strategies to understand which is the best for your environment. Different tables may (and frequently do) use different compaction strategies on the same cluster.
It is significantly easier to set up peer to peer encryption and client server encryption when setting up your production cluster as opposed to setting it up once the cluster is already serving production traffic. If you are planning on using network encryption eventually (in any form), we recommend setting it up now. Changing these configurations down the line is not impossible, but mistakes can result in downtime or data loss.
Production clusters should never use SimpleStrategy. Production keyspaces should use the NetworkTopologyStrategy (NTS).
For example:
create KEYSPACE mykeyspace WITH replication =
{'class': 'NetworkTopologyStrategy', 'datacenter1': 3};
NetworkTopologyStrategy allows Cassandra to take advantage of multiple racks and data centers.
Correctly configuring or changing racks after a cluster has been provisioned is an unsupported process. Migrating from a single rack to multiple racks is also unsupported and can result in data loss.
Using GossipingPropertyFileSnitch
is the most flexible solution for on premise or mixed cloud environments. Ec2Snitch
is reliable for AWS EC2 only environments.


Methods and classes for object-oriented programming in R with or without references. Large effort has been made on making definition of methods as simple as possible with a minimum of maintenance for package developers. The package has been developed since 2001 and is now considered very stable. This is a cross-platform package implemented in pure R that defines standard S3 classes without any tricks.
| Version: | 1.22.0 |
| Depends: | R (≥ 2.13.0), R.methodsS3 (≥ 1.7.1) |
| Imports: | methods, utils |
| Suggests: | tools |
| Published: | 2018-04-22 |
| Author: | Henrik Bengtsson [aut, cre, cph] |
| Maintainer: | Henrik Bengtsson <henrikb at braju.com> |
| BugReports: | https://github.com/HenrikBengtsson/R.oo/issues |
| License: | LGPL-2.1 | LGPL-3 [expanded from: LGPL (≥ 2.1)] |
| URL: | https://github.com/HenrikBengtsson/R.oo |
| NeedsCompilation: | no |
| Citation: | R.oo citation info |
| Materials: | NEWS |
| CRAN checks: | R.oo results |
| Reference manual: | R.oo.pdf |
| Package source: | R.oo_1.22.0.tar.gz |
| Windows binaries: | r-devel: R.oo_1.22.0.zip, r-release: R.oo_1.22.0.zip, r-oldrel: R.oo_1.22.0.zip |
| OS X binaries: | r-release: R.oo_1.22.0.tgz, r-oldrel: R.oo_1.22.0.tgz |
| Old sources: | R.oo archive |
| Reverse depends: | DATforDCEMRI, galgo, NPCD, NSA, phylosim, R.filesets, R.utils |
| Reverse imports: | ACNE, aroma.affymetrix, aroma.apd, aroma.cn, aroma.core, calmate, cgdsr, knitrProgressBar, lilikoi, PSCBS, R.cache, R.devices, R.huge, R.matlab, R.rsp, rtf, sBIC, SEMID, tmle.npvi |
Please use the canonical form https://CRAN.R-project.org/package=R.oo to link to this page.


|
|
@@ -11,10 +11,14 @@ public final class WebSocket { |
|
public enum Mode {
|
|
public enum Mode {
|
|
case client, server
|
|
case client, server
|
|
|
|
|
|
- var maskOutgoingMessages: Bool {
|
|
+ public var maskOutgoingMessages: Bool {
|
|
// RFC: Client must mask messages
|
|
// RFC: Client must mask messages
|
|
return self == .client
|
|
return self == .client
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ public func makeKey() -> Frame.MaskingKey {
|
|
|
|
+ return .make(isMasked: maskOutgoingMessages)
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
// MARK: All Frames
|
|
// MARK: All Frames
|
|
|
@@ -56,17 +60,11 @@ public final class WebSocket { |
|
|
|
|
|
// MARK: Initialization
|
|
// MARK: Initialization
|
|
|
|
|
|
- public convenience init(_ stream: Stream) {
|
|
|
|
- self.init(stream, mode: .server, disableFragmentAggregation: false)
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
/**
|
|
/**
|
|
- Internal until we can properly test implications and explain to user
|
|
|
|
-
|
|
|
|
Aggregator should only be disabled in situations where the aggregator is customized.
|
|
Aggregator should only be disabled in situations where the aggregator is customized.
|
|
Fragmented messages will only be delivered through `onFrame`
|
|
Fragmented messages will only be delivered through `onFrame`
|
|
*/
|
|
*/
|
|
- public init(_ stream: Stream, mode: Mode = .server, disableFragmentAggregation: Bool = false) {
|
|
+ public init(_ stream: Stream, mode: Mode, disableFragmentAggregation: Bool = false) {
|
|
self.mode = mode
|
|
self.mode = mode
|
|
self.state = .open
|
|
self.state = .open
|
|
self.stream = stream
|
|
self.stream = stream
|
|
|
@@ -236,9 +234,9 @@ extension WebSocket { |
|
rsv2: false,
|
|
rsv2: false,
|
|
rsv3: false,
|
|
rsv3: false,
|
|
opCode: .connectionClose,
|
|
opCode: .connectionClose,
|
|
- isMasked: false,
|
|
+ isMasked: mode.maskOutgoingMessages,
|
|
payloadLength: 0,
|
|
payloadLength: 0,
|
|
- maskingKey: .none
|
|
+ maskingKey: mode.makeKey()
|
|
)
|
|
)
|
|
|
|
|
|
// Reason can _only_ exist if statusCode also exists
|
|
// Reason can _only_ exist if statusCode also exists
|
|
|
@@ -271,9 +269,9 @@ extension WebSocket { |
|
rsv2: false,
|
|
rsv2: false,
|
|
rsv3: false,
|
|
rsv3: false,
|
|
opCode: .connectionClose,
|
|
opCode: .connectionClose,
|
|
- isMasked: false,
|
|
+ isMasked: mode.maskOutgoingMessages,
|
|
payloadLength: UInt64(payload.count),
|
|
payloadLength: UInt64(payload.count),
|
|
- maskingKey: .none
|
|
+ maskingKey: mode.makeKey()
|
|
)
|
|
)
|
|
let msg = Frame(header: header, payload: payload)
|
|
let msg = Frame(header: header, payload: payload)
|
|
try send(msg)
|
|
try send(msg)
|
|
|
|


There's' another way to play with the Nest microservices. Instead of TCP communication, we can use the great Redis feature – the publish / subscribe.
To switch from the TCP transport strategy to Redis pub/sub, we only need to change the options object passed to the createMicroservice()
method.
{{ options }}
Hint Don't forget to change theTransport.REDIS
in the@Client()
decorator too.


HitchHike
Signup as Hitchhiker
Signup as Car Driver
Log-in as
Car Driver
{% for error in get_flashed_messages(with_categories=true, category_filter=["error"]) %}
×
{{ error[0] }}
{% endfor %}
Forgot Password
Log-in as
HitchHiker
{% for error in get_flashed_messages(with_categories=true, category_filter=["error"]) %}
×
{{ error[0] }}
{% endfor %}
Forgot Password


Michael Benway is a small town guy, raised on a farm in Central Illinois. He is not afraid to get his hands dirty and is always ready to jump into programming. Michael is down for adventure and to try new things. He was trained at Parkland College earning an A.A.S. in Digital Media; work experience includes FASS, Inc., 2wav, and was and intern at Precision Graphics—totaling to four years.
Michael’s passion is photography, reveling in pinhole photography, due to its challenging nature. Pinhole leads back to the day of film; when the outcome was circumventive. Panoramic photography relishes in the adventurous nature of Michael. When he is not behind “screens”, he can be found rock climbing, working on the farm, and exploring cultures. Michael embraces “the challenge” and is willing to go through extreme lengths to get the perfect experience


An aspiring Computer Scientist
University of Maryland, Gemstones ‘22
Hi! I'm Samuel Howard. Currently I study Computer Science at the University of Maryland (UMD), College Park. I am moving on to my sophomore year in fall 2019, after tutoring a 'Terp Young Scholars' Computer Science course at UMD in July.
The best way to reach me is my email<EMAIL_ADDRESS>This is the first version of my personal webpage. I started it in summer 2019. It's purely HTML and CSS at the moment, though I plan on implementing some javascript soon to make it a little more exciting. I used a CSS reset by Eric Meyer in order to make the site stable across most broswers. Shay Howe's lessons on HTML and CSS were invaluable in making this site possible early on.


{% include "templates/includes/select_header.html" %} {%- from "templates/includes/community_macros.html" import service_cloud, partner_type, stars -%}
No Service Providers found for the matching criteria.
{% endif %} {% for p in partners %}Use filters to see more service providers
{%- endif %}Register as a Service Provider
{% if not frappe.form_dict.country %}Become a verified service provider
{% endif %}


People to be dropped to Japan
People to be dropped to India
Japan
India
People who want to learn Java
People who want to learn Spring
Java
Spring


|
SuanShu, a Java numerical and statistical library | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.numericalmethod.suanshu.matrix.doubles.linearsystem.ForwardSubstitution
public class ForwardSubstitution
Forward substitution solves a matrix equation in the form
Lx = b
by an iterative process for a lower triangular matrix L
.
The process is so called because for a lower triangular matrix, one first computes x1, then substitutes that forward into the next equation to solve for x2, and repeats onto xn.
Note that some diagonal entries in L
can be 0s, provided that the system of equations is consistent.
E.g.,
| 0 0 0 | | 0 | | 0 |
| 2 0 0 | %*% | 0 | = | 0 |
| 4 5 6 | | 30 | | 30 |
| Field Summary | |
|---|---|
LowerTriangularMatrix |
L
the system of linear equations (the homogeneous part) |
| Constructor Summary | |
|---|---|
ForwardSubstitution(LowerTriangularMatrix L)
Construct a ForwardSubstitution instance to solve for different Vector b 's. |
| Method Summary | |
|---|---|
Vector |
solve(Vector b)
Solve Lx = b |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public final LowerTriangularMatrix L
| Constructor Detail |
|---|
public ForwardSubstitution(LowerTriangularMatrix L)
Vector
b
's.
L
- a lower triangular matrix| Method Detail |
|---|
public Vector solve(Vector b)
Lx = b
b
- a vector
Lx = b
Solver.NoSolution
- if there is no solution to this system
|
SuanShu, a Java numerical and statistical library | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Hi, I'm Candy! I am an assistant professor at School of Information Science, Japan Advanced Institute of Science and Technology (JAIST). My primary research interests are speech signal processing, machine learning, and social signal processing (SSP). My Ph.D. thesis focuses on privacy preservation and secure speech communication. In addition to primary research, I also carried out a research project on personality traits and communication skills modeling with Prof. Shogo Okada. I obtained my Ph.D. and M.S. degrees in Information Science, JAIST, advised by Prof. Masashi Unoki.
Research interests: speech information hiding, voice privacy, social signal processing, and machine learning.
News
I am honored to be given an opportunity to give an invited talk at APSIPA Workshop on Signal and Information Processing in Indonesia 2023, Institut Teknologi Bandung, Indonesia.
We presented our work at the The 25th HCI International Conference, HCII 2023, Copenhagen, Denmark.
I participated in the The 25th HCI International Conference, HCII 2023, Copenhagen, Denmark.
Our application for the JAIST Grant for fundamental research FY2023 (令和５年度研究拠点形成支援事業（萌芽的研究）) was accepted.
Our application for the Kakenhi Grant-in-Aid for Challenging Research (Exploratory) (科研費・挑戦的研究（萌芽)) FY2023 was accepted.
Our paper A Ranking Model for Evaluation of Conversation Partners Based on Rapport Levels has been accepted for publication in IEEE Access.
We had a kick-off meeting of the ICT Virtual Organization of ASEAN Institutes and NICT (ASEAN-IVO) with project titled "Spoof Detection for Automatic Speaker Verification". This meeting was held as a hybrid meeting at Bangkok, Thailand.
Our paper Auditory Model Optimization with Wavegram-CNN and Acoustic Parameter Models for Nonintrusive Speech Intelligibility Prediction in Hearing Aids has been accepted for presentation at The 31st European Signal Processing Conference (EUSIPCO 2023).
I am honored to be given an opportunity to share knowledge about AI for speech processing in AI Talks ITB #10: "Threats and Opportunities of Voice-Interactive Applications".
The new fiscal year (FY2023) has been started! May we always full of hope in our hearts so that we can enjoy and utilize our precious time this year to the fullest!


Insight #1
Moving the dirt...
Issues moving material account for 1700+ hours of downtime
Where are all the trucks?
Annualised Cost
300 hours waiting for trucks
$5M (low grade)
$17M (high grade)
Insight #2
Not all chutes are equal...
Annualised Cost
$1.3M (low grade)
$4.5M (high grade)
Insight #3
Isolating is a drag...
At least one planned electrical isolation a week
Requires a qualified electrician
Isolation takes about 45 minutes to perform
Another 45 minutes to reverse...
Annualised Cost
$1.4M (low grade)
$4.8M (high grade)
Improve truck availability
Take a closer look at that shifty chute!
Remote Isolation System


Welcome to the Department of Statistics
To enter the Department information System, Please Login.
Login
To begin, please select whether you have an active andrew ID:
I currently have an active andrew ID
I do NOT currently have an active andrew ID
Previous
I already have a Stats DIS account
Sign up for a Stats DIS account
Previous
{{success}}
{{error}}
Email:
Email is Required!
Invalid Email!
Password:
Password is Required!
Log In
Previous
{{success}}
{{error}}
First Name
First Name is Required!
Last Name
Last Name is Required!
Preferred Email Address
Email is Required!
Invalid Email!
Password
Password is Required!
Position
Image
NOTE: all fields are required!
Add User


ENTER THE EMAIL AND PASSWORD TO LOGIN DOCTOR
Email
Password
HAVE A NICE DAY DOCTOR! THANK YOU FOR YOUR SERVICE.


Version of the Documentation 1.0.1 (Space-Desktop v.1.0.1)
Welcome everyone, I appreciate your desire to use my application and hope that together we will get a useful instrument for PHP and Python development.
All updates will be published on the official website and GitHub page. Updates of the Documentation will be published if an update change main apps files too much.
This documentation is important to show you each step of customization of the application. Please go through the documentation carefully to understand how this application is made and how to edit this properly. Basic HTML, JS and CSS knowledge is required to customize this application.
You will need the following sofwares to customize this template.
You can help to this project with many ways.
Your patronage will help the project in future, Patreon link is down below
--Patreon Page--
Contact with me<EMAIL_ADDRESS>if you have some ideas.
Or help with translation of this Documentation. Download link is down below
--Space-Desktop GitHub--
Send me your translation on my email and I will publish it for everyone.
<EMAIL_ADDRESS>To start the application first of all you need to download the newest version from Space-Desktop Website. Unpack the ZipArchive on your PC, USB or External Hard Drive.
On Windows OS you need to open the folder and run "space-desktop.exe" file. After few seconds you will see "WELCOME" message (if "standart" theme is enabled) and the application will be ready.
With enabled "standart" theme you will see a customized window of the application and information about PHP version and settings.
For easier navigation I will give structure of the application's folders.
-desktop (your PHP application must be placed here) ---index.php ---php folder and other files ---CSS and HTML includes -documentaion (application manual) -licenses (licenses and dependencies) -node_modules (included npm modules) -php (the folder with PHP build) -phpini (Folder for custom php.ini) ---php.ini (Created custom-generated php.ini file, will be created after launch) -themes (here you can find your themes) ---ThemeName (name of the theme) ------index.html (main file to run the theme) ------css (folder for CSS styles) ------js (folder for JS includes) ------img (folder for images and other includes) -Commands.txt (Commands for Space-Desktop through Node.js command prompt) -Generateini.js (NODE.JS script to generate custom php.ini with relative pathes) -package.json (JSON file) -package-lock.json (npm dependencies tree) -README.txt -Starter.js (It is main file in package.json, it starts an application) -StartUsual.js (Start the application with OS default window) -StartTheme.js (Start the application with custom theme) -Structure.txt
First of all you need to open "Space-Desktop Folder\resources\app\desktop" folder and create your own index.php file. One is already inside, you can use this one for editing
Example of PHP code if you need to get information about PHP version.
phpinfo();
Let's try make some simple message, classic "Hello world" and count how many letters in words.
$select = "Hello world!"; echo $select; echo "
"; echo strlen($select); // outputs 12
Here is the result. Launch the application.
You van select PHP version for your application. First of all go to the official website PHP and download your version.Open the "Space-Desktop Folder\resources\app\php" folder and delete all files there. Unpack the downloaded PHP version to this folder. New version of PHP is ready.
Space-Desktop has two main options for php.ini configuration. The first option is usual php.ini settings, you edit php.ini in you php folder and run the application. The second option is to use "custom generated" php.ini from "phpini" folder. This one can use more options for modules with variable paths (usually you need set direct path to file in php.ini).
Open "php" folder and find your php.ini or create it. Open the php.ini file and set settings from official PHP manual. Restart the application (close and open again). New PHP settings will be active now. You can edit the php.ini file with simple note editor (I prefer Notepad++)
In Space-Desktop you can use variable paths and changeable settings for PHP modules and libraries (like PEAR or PECL), it possible with NODE.JS syntax but impossible in usual php.ini. syntax. First you need to open the Space-Desktop folder and find "Generateini.js" file.
In this file you will find examples and structure of "custom generated" php.ini file.
/* STRUCTURE - INCLUDES-LOCAL --------------- Include php.ini strings and options - EXAMPLE-LOCAL ---------------- Example of options - OPTIONS-LOCAL ---------------- Included options - CONTENT-BUILDER-LOCAL -------- Build php.ini with selected options - FINISH-LOCAL ----------------- Create php.ini - EXPORT-FUNCTION-LOCAL -------- Export local JS functions */
You can edit php.ini settings in different ways. Here is some examples for you.
// EXAMPLE-LOCAL // Here how you can write title to php.ini content ------------------------------- const title_1 = '[PHP]'; // Example of options with standart JS functions, without 'multiline' module ----- const content_1_1 = function(){/* ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; About custom-generated php.ini ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; */}.toString().slice(14,-3); // Example of options with 'multiline' module ------------------------------------ const content_1_2 = multiline(()=>{/* ;This php.ini was been created with Javascript and NODE.JS functions ;You can change the generated php.ini in generateini.js ;Open the generateini.js and edit 'iniCompileFunction' options */}); // Usual text, one string can be placed ---------------------------------------- const content_1_3 = '; Use PHP documentation to configure php.ini '; // Use '__dirname' to set relative path on php.ini option line ------------------- // IMPORTANT --------------------------------------------------------------------- // On Windows you use '\\' to directories ---------------------------------------- // When php.ini is ready, you will get '\USE\PATH' as an example------------------ // Example: ---------------------------------------------------------------------- // const content_1_4 = __dirname + '\\USE\\PATH'; const content_1_4 = ';' + __dirname + '\\USE\\PATH'; // This 'const' can be used to set number----------------------------------------- //const content_1_5 = 0; const content_1_5 = ';' + 0;
You can see a lot of methods. Use them attentively and don't forget to activate them on "CONTENT-BUILDER-LOCAL" line in "Generateini.js" file.
const arr = [ title_1, content_1_1, content_1_2, content_1_3, content_1_4, content_1_5,]
When you run Space-Desktop app for the first time, "custom generated" php.ini will be created in "phpini" folder. You will get there php.ini file. Now you need to switch between usual and generated version.
Open "StartTheme.js" and "StartUsual.js" in Space-Desktop folder and find the same string in both of them:
// Settings for PHP Local Server appser.use (php({ execPath: __dirname + '/php/php.exe', // Path to php.exe // If none of "iniFile" selected, PHP Local Server will use default settings iniFile: __dirname + '/php/php.ini', // Select php.ini from /php Folder //iniFile: 'D:/Electron/Space-Desktop/phpini/php.ini', // Select custom-generated php.ini from /phpini Folder root: __dirname + '/desktop', // Folder to your php application and index.php address: '<IP_ADDRESS>', // Address interface for PHP Local Server port: '8000', // Port for PHP Local Server ---------------------------------------- will auto-detect a free port otherwise //ini: { max_execution_time: 60, error_log: '...' } // Show logs in Command line }));
You need to switch between "iniFile options", make it from this:
iniFile: __dirname + '/php/php.ini', // Select php.ini from /php Folder //iniFile: 'D:/Electron/Space-Desktop/phpini/php.ini', // Select custom-generated php.ini from /phpini Folder
To this one:
//iniFile: __dirname + '/php/php.ini', // Select php.ini from /php Folder iniFile: 'D:/Electron/Space-Desktop/phpini/php.ini', // Select custom-generated php.ini from /phpini Folder
Restart Space-Desktop app to use new settings. Be carefull with "__dirname" line, this needs to open current Space-Desktop folder (It is a relative path).
To start a PHP application first of all you need an interpreter or a local server. Space-Desktop use both of them but local server is still necessary. Open "StartTheme.js" and "StartUsual.js" in Space-Desktop folder and find the same string in both of them:
// Settings for PHP Local Server appser.use (php({ execPath: __dirname + '/php/php.exe', // Path to php.exe // If none of "iniFile" selected, PHP Local Server will use default settings iniFile: __dirname + '/php/php.ini', // Select php.ini from /php Folder //iniFile: 'D:/Electron/Space-Desktop/phpini/php.ini', // Select custom-generated php.ini from /phpini Folder root: __dirname + '/desktop', // Folder to your php application and index.php address: '<IP_ADDRESS>', // Address interface for PHP Local Server port: '8000', // Port for PHP Local Server ---------------------------------------- will auto-detect a free port otherwise //ini: { max_execution_time: 60, error_log: '...' } // Show logs in Command line }));
Here you can see all available options for editing. Change them as you need and save files.
To edit window options, you need to open "StartTheme.js" and "StartUsual.js" in Space-Desktop folder and find the same string in both of them:
// Application window settings // Uses Electron BrowserWindow options from https://electronjs.org/docs/api/browser-window mainWindow = new BrowserWindow({ titleBarStyle: 'hidden', title: "Space Desktop", icon: 'icon.ico', //useContentSize: true, width: 1000, height: 650, minWidth: 575, minHeight: 450, frame: false, show: false });
To edit the window you need to use Electron settings, open the official manual website page and use necessary options from there. "StartTheme.js" and "StartUsual.js" use different settings in "mainWindow" string!
Some of them can be used only in current OS. Read documentation attentively!
You can select how to start application, with classic style of OS window or with custom theme. To edit the window's mode open "Starter.js" file.
var modalmode = './StartUsual.js'; // var modalmode = './StartTheme.js'; const myModule = require( modalmode ); let val = myModule.startappmode(); // Run the selected mode
All what you need to do is edit this line (OS window style):
var modalmode = './StartUsual.js'; // var modalmode = './StartTheme.js';
To this one (Theme window style):
//var modalmode = './StartUsual.js'; var modalmode = './StartTheme.js';
You can switch between themes in "StartTheme.js" file, open it and find current string:
// Functions for external using // Link for launching a theme function IndexHTML () { var themename = 'Standart'; // Theme's name var linklocal = './themes/' + themename + '/index.html'; // Folder with themes return linklocal; };
Here you can see Theme's name and folder. I recommend to save all your themes inside "themes" folder and change the name on "thename" string. Name of a theme is similar to theme's folder. This means if your theme is inside of "Standart" folder, you must write in code 'Standart'.
Save all changes and reload the application
I will add a nice instructions how to use NODE.JS, Electron and JS syntax to create nice themes with navigation, modal windows and loading screens.
These are the primary CSS files used for general front-end styling. Use these to customize your theme even further. All included JavaScript codes under yourthemename/css/
These are the various attribution inks to the Javascript files included or modified to work with in this theme. All included JavaScript codes under yourthemename/js/
Copyright (c) 2019 Space-Desktop.
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
THE AUTHOR'S COMMENT
YOU NEED TO NOTE THE AUTHOR'S NAME IN A PROJECT AND ADD A NOTE
"BASED ON SPACE-DESKTOP" INSIDE OF YOUR APPLICATION


class: center, middle, inverse, title-slide # Lecture 3 ## Git and GitHub ### Ivan Rudik ### AEM 7130 --- name: toc exclude: true ```r if (!require("pacman")) install.packages("pacman") pacman::p_load( xaringanExtra, JuliaCall, tweetrmd, knitr ) options(htmltools.dir.version = FALSE) ``` ``` ## Warning: 'xaringanExtra::style_panelset' is deprecated. ## Use 'style_panelset_tabs' instead. ## See help("Deprecated") ``` ``` ## Warning in style_panelset_tabs(...): The arguments to `syle_panelset()` changed in xaringanExtra 0.1.0. Please refer to the documentation to update your slides. ``` --- # Software and stuff Necessary things to do: - Install [Git](https://git-scm.com/downloads) - Create an account on [GitHub](https://github.com/) - Install [GitHub Desktop](https://desktop.github.com/) if you want a GUI for Git - Accept invite to the AEM 7130 classroom repository on GitHub --- # Quick note A decent chunk of these slides is inspired by [Grant McDermott's data science course](https://github.com/uo-ec607/lectures) If you're interested in more data science-y (similar to Ariel's class) and less numerical/structural material, check his material out --- # Why bother with this new fangled Git stuff? The classic .hi-blue[date your file name method] is not good

 -- When did you make changes? Who made them? How do you undo only **some** changes from one update to the next? -- If you've ever had a disaster managing code changes (you will), Git can help --- # Why bother with this new fangled Git stuff? The classic .hi-blue[date your file name method] is not good

 If you've ever had a disaster managing code changes (you will), Git can help --- # Git is the smart way to handle code ## What is git? >> Git is a distributed version control system for tracking changes in source code during software development. It is designed for coordinating work among programmers, but it can be used to track changes in any set of files. Its goals include speed, data integrity, and support for distributed, non-linear workflows. --- # Git is the smart way to handle code ## Okay, so what? -- Git combines a bunch of very useful features: -- - Remote storage of code on a host like GitHub/GitLab/Bitbucket/etc, .hi-blue[just like Dropbox] -- - Tracking of changes to files in a very clean way -- - Easy ways to test out experimental changes (e.g. new specifications, additional model states) and not have them mess with your main code -- - Built for versioning .hi-blue[code] like R, Julia, LaTeX, etc --- # Git histories in GitHub Desktop

 Some apps can give you a pretty visual of the history of changes to your code (shell can too, but not as nice) --- # GitHub ## Git `\(\neq\)` GitHub -- ## GitHub hosts a bunch of online services we want when using Git -- - Allows for people to suggest code changes to existing code -- - It's the main location for non-base Julia packages (and .hi-blue[tons] of other stuff) to be stored and developed -- - It has services that I used to set up this class, etc --- # The differences -- Git is the infrastructure for versioning and merging files -- GitHub provides an online service to coordinate working with Git repositories, and adds some additional features for managing projects -- GitHub stores the project on the cloud, allows for task management, creation of groups, etc --- # Why Git and GitHub? ## Selfish reasons -- The private benefits of having well-versioned code in case you need to go back to previous stages -- Your directories will be super clean -- It is .hi-blue[MUCH] easier to collaborate on projects --- # Why Git and GitHub? ## Semi-altruistic reasons -- The external benefits of open science, collaboration, etc -- These external benefits also generate some downstream private reputational benefits (must be confident in your code to make it public) and can improve future social efficiency (commitment device to post future code) -- My code for .hi-blue[everything] I've ever published is on [my GitHub](https://github.com/irudik) (I'll look real shady if I don't post code in the future) -- Ideally yours will be too --- # Git basics Everything on Git is stored in something called a .hi-blue[repository] or *repo* for short -- This is the directory for a project -- - .hi-blue[Local:] a directory with a `.git` subdirectory that stores the history of changes to the repository - .hi-blue[Remote:] a website, e.g. see the GitHub repo for the [Optim](https://github.com/JuliaNLSolvers/Optim.jl) package in Julia

 --- # Creating a new repo on GitHub ## Let's create a new repo -- This is pretty easy from the GitHub website: just click on that green `new` button from the launch page

 --- # Creating a new repo on GitHub Next steps: 1. Choose a name 2. Choose a description 3. Choose whether the repo is public or private 4. Choose whether you want to add a `README.md` (yes), or a `.gitignore` or a `LICENSE.md` file (more next slide)

 --- # Git basics Repos come with some common files in them - `.gitignore`: lists files/directories/extensions that Git shouldnt track (raw data, restricted data, those weird LaTeX files); this is usually a good idea - `README.md`: a Markdown file that is basically the welcome content on repo's GitHub website, you should generally initialize a repo with one of these - `LICENSE.md`: describes the license agreement for the repository --- # Git basics

 --- # Creating a new repo on GitHub You can find the repo at [https://github.com/irudik/example-repo-7130](https://github.com/irudik/example-repo-7130)

 --- # How do I get a repo on GitHub onto on my computer? ## Clone To get the repository on your local machine you need to .hi-blue[clone] the repo, you can do this in a few ways from the repo site -- Key thing: this will .hi-blue[link] your local repository to the remote, you'll be able to update your local when the remote is changed --- # Cloning

 1. If you want to use the GitHub desktop app instead of command line, click on "Open in Desktop" 2. You can use command line `git clone https://github.com/irudik/example-repo-7130.git` --- # Cloning You're done! Now create and clone your own repository, initialized with a `README.md`, and follow along.

 --- # Cloning You're done! Now create and clone your own repository, initialized with a `README.md`, and follow along.

 --- # The flow of Git .hi-blue[Workspace:] the actual files on your computer .hi-blue[Repository:] your saved local history of changes to the files in the repository .hi-blue[Remote:] The remote repository on GitHub that allows for sharing across collaborators

 --- # Using Git There are only a few basic Git operations you need to know for versioning solo economics research efficiently -- .hi-blue[Add/Stage:] This adds files to the index, in other words, it takes a snapshot of the changes you want updated/saved in your local repository (i.e. your computer) - `git add -A` Adds all files to the index -- .hi-blue[Commit:] This records the changes to your local repository - `git commit -m "Updated some files"` Commits the changes added to the index with the commit message in quotations --- # Using Git .hi-blue[Push:] This sends the changes to the remote repository (i.e. GitHub) - `git push origin master` Pushes changes on your local repo to a **branch** called `master` on your remote, typically named `origin` (can often omit `origin master`) -- .hi-blue[Pull:] This takes changes on the remote and integrates them with the local repository (technically two operations are going on: fetch and merge) - `git pull origin master` Integrates the changes on the `master` branch of your remote `origin` into your local repo (again, can often omit `origin master`) --- # Using Git In your own repository do the following using either shell or GitHub Desktop: -- 1. Open `README.md` in some text editor and insert the following code: `# Hello World!` 2. Save `README.md` 3. Add the changes to `README.md` to the index 4. Commit the changes to your local repo with the message: "First README.md edit." 5. Push the changes to your remote -- Did the changes show up your repo's GitHub page? --- # Using Git: branching Some more (but not very) advanced operations relate to .hi-blue[branching] Branching creates different, but parallel, versions of your code e.g. If you want to test out a new feature of your model but don't want to contaminate your `master` branch, create a new branch and add the feature there If it works out, you can bring the changes back into `master` If it doesn't, just delete it --- # Using Git: branching .hi-blue[Branch:] This adds/deletes/merges different .hi-blue[branches] of your repository - `git branch` Lists all local branches - `git branch -a` Lists all remote branches - `git branch solar-panels` Creates a new branch called `solar-panels` - `git branch -d solar-panels` Deletes the local `solar-panels` branch --- # Using Git: branching .hi-blue[Checkout:] This switches you between different commits or branches - `git checkout solar-panels` Switches you to branch `solar-panels` - `git checkout -b wind-turbines` Creates a new branch called `wind-turbines` and checks it out --- # Using Git: branching .hi-blue[Merge:] This merges two separate histories together (e.g. merges a separate branch back into the master) - `git checkout master` `git merge wind-turbines` Checks out `master` and then merges `wind-turbines` back into the master This brings the changes from `wind-turbines` since the initial branch back into the `master` branch --- # Using Git In your own repository do the following: -- 1. Create and checkout a new branch called `test-branch` 2. Edit `README.md` and add the following code: `## your_name_here` 2. Save `README.md` 3. Add the changes to `README.md` to the index 4. Commit the changes to your local repo with the message: "Test change to README.md." 5. Merge the changes back into the `master` branch 6. Push the changes to your remote -- Did the changes show up your repo's GitHub page? --- # Teaming up

 Find a partner for this next piece: One of you invite the other to collaborate on the project (GitHub page `\(\rightarrow\)` Settings `\(\rightarrow\)` Manage access `\(\rightarrow\)` invite a collaborator) --- # Teaming up If you were the one being invited, accept the invite, and clone the repo to your local -- Now do the following: 1. Each of you edit the `# Hello World!` line of code to be something else and different from each other -- 2. Commit the changes to your local -- 3. Have the repo creator push their changes -- 4. Have the collaborator push their changes --- # Can't push changes when you aren't updated ### Shell

 It turns out that the second person can't push their local changes to the remote The second person is pushing their history of changes But the remote is already one commit ahead because of the first person, so the second person's changes can't be pushed --- # Update by pulling after you commit local changes You need to pull the remote changes first, but then you get the following message:

 And we got a .hi-blue[merge conflict] in `README.md` --- # Update by pulling after you commit local changes You need to pull the remote changes first, but then you get the following message:

 This means there were differences between the remote and your local that conflicted --- # Merge conflicts Sometimes there will be conflicts between two separate histories - e.g. if you and your collaborator edited the same chunk of code separately on your local repos -- When you try to merge these histories by pushing to the remote, Git will throw a .hi-blue[merge conflict] --- # Merge conflicts When you get a merge conflict, the conflicted part of the code in your file will look like: ```bash $ <<<<<<< HEAD $ # nascar_and_unleaded <-- my local version $ ======= $ # nascar_and_leaded <-- the remote version $ >>>>>>> 03c774b0e9baff0230855822a11e6ed24a0aa6b2 ``` --- # Merge conflicts ```bash $ <<<<<<< HEAD $ # nascar_and_unleaded <-- my local version $ ======= $ # nascar_and_leaded <-- the remote version $ >>>>>>> 03c774b0e9baff0230855822a11e6ed24a0aa6b2 ``` `<<<<<<< HEAD` indicates the start of the conflicted code -- `=======` separates the two different conflicting histories -- `>>>>>>> lots of numbers and letters` indicates the end of the conflicted code and the hash (don't worry about it) for the specific commit --- # Fixing the merge conflict Merge conflicts can be fixed by directly editing the file, then doing an `add` of the conflicted file, a `commit`, and then a `push` to the remote

 -- Fixed! --- # Git help pages are excellent, so is StackExchange ```bash $ git help add ```

 --- # Managing tasks and workflow GitHub is also very useful for task management in solo or group projects using .hi-blue[issues] and .hi-red[pull requests] .hi-blue[Issues:] task management for you and your collaborators, should be able to completely replace email Let's look at the issues for the `Optim` package in Julia --- # Issues

 The issues tab reports a list of 56 open issues (286 closed, meaning the task or problem has been solved) Each issue has its own title Lets check out the issue about the `Double64` type --- # Issues

 The issue is because one person has found an error with the package where it doesn't seem to work correctly with a certain type of variable `Double64` Someone else has responded with some feedback --- # Issues

 From the issues tab, click the green **new issue** button which takes you here You can: - create a title - add some text for the body of the issue - select people to assign the issue to - add some labels --- # Issues

 The issue keeps track of the history of everything that's happened to it --- # Issues

 You can reference people with `@` which brings up a dropdown menu of all collaborators on the project --- # Issues

 You can also reference *other issues* if they're related by using `#` which brings up a dropdown of all issues for your repository --- # Issues Issues can also be referenced in your commits to your project by adding `#issue_number_here` to the commit message

 --- # Issues

 Then those commits show up in your issue so you have a history of what code changes have been made. --- # Issues If you click on the commit, it takes you to the `git diff` which shows you any changes to files made in that commit


An in-depth look at Feathers style providers
Style providers are the basic building blocks of themes. They can be customized on each component individually, or they can be registered globally and automatically assigned to a new component when it is instantiated.
Skinning multiple components of the same type
If you want more than one button to use the same skins, you might be looking for a way to avoid copy and pasting the same code over and over again. Feathers components support something called a style provider that is designed to set a component's skins after it initializes.
Let's create one of the simplest style providers, called FunctionStyleProvider
:
function skinButton( button:Button ):void
{
button.defaultSkin = new Quad( 200, 60, 0xcccccc );
button.downSkin = new Quad( 200, 60, 0x999999 );
}
var customButtonStyles:FunctionStyleProvider = new FunctionStyleProvider( skinButton );
As you can see, we've created a function that we can call when we want to skin the component. The function takes one argument, a reference to the component that we want to skin. You can see that we set the same defaultSkin
and downSkin
properties as in the previous example. Simply pass the function to the FunctionStyleProvider
constructor.
Telling a component to use a style provider is as simple as passing it to the styleProvider
property:
var button1:Button = new Button();
button1.label = "Cancel";
button1.styleProvider = customButtonStyles;
this.addChild( button1 );
var button2:Button = new Button();
button2.label = "Delete";
button2.styleProvider = customButtonStyles;
button2.y = 100;
this.addChild( button2 );
Now, we have two buttons, and they'll both use the same skins.
Automatically skinning all components of the same type
In the previous example, we created the FunctionStyleProvider
as a local variable and simply set the styleProvider
property on our two buttons. That will work well if you only create buttons in that one single function. However, apps usually consist of many functions across multiple classes, and buttons may be created in many different places. We want to be able to easily reuse a style provider anywhere in our app. To do this, we need to set a global style provider.
Each component class (such as Button
, Slider
, or List
) provides a static globalStyleProvider
property. In the following example, we'll set the global style provider for all buttons:
function skinButton( button:Button ):void
{
button.defaultSkin = new Quad( 200, 60, 0xcccccc );
button.downSkin = new Quad( 200, 60, 0x999999 );
}
Button.globalStyleProvider = new FunctionStyleProvider( skinButton );
As you can see, we created the FunctionStyleProvider
the same way we did it in the previous example. The main difference is that we passed it to the static Button.globalStyleProvider
property.
Now, when we create our buttons, we don't need to set the styleProvider
property at all:
var button1:Button = new Button();
button1.label = "Cancel";
this.addChild( button1 );
var button2:Button = new Button();
button2.label = "Delete";
button2.y = 100;
this.addChild( button2 );
When a Button
is created, Feathers automatically sets its styleProvider
property to the value of Button.globalStyleProvider
in the constructor:
trace( button1.styleProvider == Button.globalStyleProvider ); //true
Ignoring the global styles for an individual component
Let's say that we're creating a Button
, but we don't want it to use one the global style provider. The easiest way to replace the default skins with our own skins is to start from scratch by clearing the button's styleProvider
property:
var button1:Button = new Button();
button1.label = "Click Me";
//don't use the default style provider
button1.styleProvider = null;
//now, we can set our own custom skins
button1.defaultSkin = new Quad( 200, 60, 0xff0000 );
button1.downSkin = new Quad( 200, 60, 0x000000 );
button1.fontStyles = new TextFormat( "_sans", 36, 0xffffff );
button1.padding = 10;
this.addChild( button1 );
Now that the button doesn't have a style provider, our custom skins cannot be replaced when the button initializes.
Alternatively, instead of setting the styleProvider
property to null
, you could pass in a different style provider, like a FunctionStyleProvider
.
Multiple global styles for the same type of component
What if we want several buttons to look different from the default? Obviously, we could pass different style providers to each component:
function skinNormalButton( button:Button ):void
{
button.defaultSkin = new Quad( 200, 60, 0xcccccc );
button.downSkin = new Quad( 200, 60, 0x999999 );
}
function skinWarningButton( button:Button ):void
{
button.defaultSkin = new Quad( 200, 60, 0xff0000 );
button.downSkin = new Quad( 200, 60, 0xcc0000 );
}
var button1:Button = new Button();
button1.label = "Cancel";
button1.styleProvider = new FunctionStyleProvider( skinNormalButton );
this.addChild( button1 );
var button2:Button = new Button();
button2.label = "Delete";
button2.styleProvider = new FunctionStyleProvider( skinWarningButton );
button2.y = 100;
this.addChild( button2 );
However, just like before, it would be better if we could use Button.globalStyleProvider
so that we don't need to set the styleProvider
property on every Button
instance. Thankfully, FunctionStyleProvider
isn't the only style provider available. There's another one called StyleNameFunctionStyleProvider
that allows us to define multiple functions.
function skinNormalButton( button:Button ):void
{
button.defaultSkin = new Quad( 200, 60, 0xcccccc );
button.downSkin = new Quad( 200, 60, 0x999999 );
}
function skinWarningButton( button:Button ):void
{
button.defaultSkin = new Quad( 200, 60, 0xff0000 );
button.downSkin = new Quad( 200, 60, 0xcc0000 );
}
var buttonStyleProvider:StyleNameFunctionStyleProvider = new StyleNameFunctionStyleProvider();
buttonStyleProvider.defaultStyleFunction = skinNormalButton;
buttonStyleProvider.setFunctionForStyleName( "warning-button", skinWarningButton );
Button.globalStyleProvider = buttonStyleProvider;
As you can see, the default function to skin a Button
will still be the same skinNormalButton()
function. However, we've called setFunctionForStyleName()
to pass in our skinWarningButton()
function, and we associated this function with the "warning-button" style name.
A style name is a string that allows us to differentiate different types of the same component. We can add a style name to any component with the styleNameList
property:
var button1:Button = new Button();
button1.label = "Cancel";
this.addChild( button1 );
var button2:Button = new Button();
button2.label = "Delete";
button2.styleNameList.add( "warning-button" );
button2.y = 100;
this.addChild( button2 );
In the example above, we added the "warning-button" style name to the styleNameList
of the second button. The StyleNameFunctionStyleProvider
will use this value to determine that it needs to call setWarningButtonStyles()
instead of setNormalButtonStyles()
when it skins the second button.
Style providers and themes
Style providers are the basic building blocks of themes, which allow you combine all of your global styling code into one class. Typically, a theme is instantiated when your app first starts up.
The example themes included with Feathers define functions for skinning components, exactly like those that we worked with in the code examples above. The example themes create a StyleNameFunctionStyleProvider
for each component class, and these are used as global style providers. Some functions are passed into the defaultStyleFunction
property of the StyleNameFunctionStyleProvider
to provide default styles when a component doesn't have any style names. Other functions get passed to the setFunctionForStyleName()
method to be associated with style names.
For more information about how themes use style providers, see Extending Feathers examples themes.
Glossary
A style provider provides skins to a component after the component initializes.
Using a global style provider, we can define a default style provider for all components of the same type. Before a component initializes, we can easily replace the default global style provider with a different one, if needed.
By setting a style name on a component, we can inform style providers to provide alternate skinning behavior for individual components.
A theme allows us to put all of our global styling code in one location — often, in just a single class that may be instantiated on app startup.


Earlier this summer, From the Depths returned from an exciting, inspiring, and educational two-month tour of Europe. They brought back copies of the European pressing of their "Germinate" LP, which are now available from Stickfigure distribution.
In addition, now that the band has finally made enough money to cover the recording costs of the album, they are offering it for free downloading. Donations are still welcome to cover the costs of making this available.
"Germinate" is still available on CD via CrimethInc. Far East. From the Depths is scheduled to record another record this fall.
For inquiries about Geoff, who played drums with us until Spring 2010, click here.


-
Django: Fix this major bug: Here is how to replicate: This bug is only apparent if you haven’t navigated to the web address yet. So if you have already been testing, to reproduce the bug, you’ll need to clear your browser cache or (alternatively) just use a different browser completely. With a cleared cache/different browser, navigate to the homepage. From the home page, after you click “Tarot at random”, Django should serve up the at_random.html template. Then, if you click the red “Pull At Random'' button, it should take you to a web page which doesn’t exist. For example, it will take you to one of these web addresses:
- http://<IP_ADDRESS>:8000/at_random/7
- http://<IP_ADDRESS>:8000/at_random/8
- http://<IP_ADDRESS>:8000/at_random/9
These numbers over the the right should refer to the tarot card number but there are currently no entries in the SQLite database for 7, 8, or 9. Can you fix this to ensure that when the web site user clicks “Pull at Random” for the first time, that Django does not take the user to a tarot card which doesn’t exist?
COMPLETED 25 JANUARY
-
Using Django/Jinja/Python (no JS): ‘essays’ app: For watchtower.html template rank and order Generator class objects (‘tarot_card_image’, ‘description’, ‘st_paul_contents’) according to ‘watchtower_position’ integer as specified in admin panel by admin user. Inside the for loop in the watchtower.html template, this collection of class objects must be positioned in between ‘introduction’ and ‘conclusion’.
- Do the same for slashdot.html template and ‘slashdot_position’ in between ‘introduction’ and ‘conclusion’. You’ll need to invoke ‘tarot_card_image’, ‘description’, (like above) except instead of ‘st_paul_contents’, you’ll use these two: ‘galileo_content’ as well as ‘f_loss_content’
REVISED #2 AS OF 30 JANUARY:
Using Django/Jinja/Python (no JS): ‘essays’ app: Inside ‘templates/essays/slashdot.html’ template, from generators app (models.py) show these instances:
- ‘tarot_card_image’,
- ‘description’,
- ‘galileo_content’
- ‘f_loss_content’
All of the above instances should repeat but only the tarot cards that have a 'slashdot_position' integer.
From essays app (models.py) show these instances:
- ‘title’
- ‘introduction’
- ‘conclusion’
These three instances should only exist once when Django serves the template.
I have already started writing this revised slashdot.html template which includes comments which you can take a look at. The comments might enable you to better understand and see what I am trying to achieve.
For even further clarity, here is a mockup / diagram of how the slashdot.html template should look.
For slashdot.html, I do not need Django to serve all 22 tarot cards. Instead, Django should serve only the tarot cards in ascending order according to the integer value specified in ‘slashdot_position’ (in generators/models.py). If there is no integer specified, then Django should not serve that tarot card. So if there are only 3 tarot cards with integer values in ‘slashdot_position’ then when Django serves the templates/essays/slashdot.html, only those 3 will show in ascending order (1,2,3 as specified in ‘slashdot_position’ ).
-
With Django/Jinja/Python (no JS): For this feature, the Admin user will be able to click a button to “export” some of my HTML templates (along with all style sheets and client side JS static files) and splice everything into single index.html file. The JS and CSS should be spliced into the header in a single web page. The end goal / purpose for this task here is to have a fully functional 'index.html' for each app article so that you can download them them in a web browser locally offline while retaining the content and form.
- I created a new template called 'all_at_random_content_dump.html' for generators app. The purpose of this template is to gather or collect all Generator content, loop through each class object and pull each of them (there will be 22 entries in production) and dump EVERYTHING into this template in ascending order according to 'generator.number'.
- Do the same for these two other templates: slashdot.html, watchtower.html. For watchtower.html, you'll need to pull:
- 'article.tarot_card_image'
- 'article.description'
- 'article.st_paul_contents'
And for slashdot.html, you'll need to pull:
- 'article.tarot_card_image'
- 'article.description'
- 'article.galileo_content'
- 'article.f_loss_content'
REVISED #3 AS OF 30 JANUARY:
With Django/Jinja/Python (no JS): inside templates/essays/all_content_dump.htmt, I need Django to dump all content:
- from generators app (inside models.py below Generator class):
- title
- tarot_card_image
- description
- galileo_content
- f_loss_content
- st_paul_content
- from essays app (inside models.py below EssayArticle class):
- from essays app (inside models.py below CuratedSlashdot class):
- title
- introduction
- conclusion
- from essays app (inside models.py below CuratedWatchtower class):
- title
- introduction
- conclusion
- from essays app (inside models.py below ContentChanges class):
- from essays app (inside models.py below ObjectionsArticle class):
- from essays app (inside models.py below BibliographyArticle class):
-
Using Django/Jinja: let string entered inside ‘web_address’ object (for EssayArticle) by admin user to distinguish it from the other essay articles and reflect inside web address so that it will be located at http://localhost:8000/article/< web_address_name >. The web_address_name will be a string entered by the admin user in the Dashboard. If the admin enters spaces as part of the article title, the spaces will be replaced by underscores in the web address bar. In this way, if the title specified by the blog poster is “Tarot and Forrest Gump”, then the address needs to be: http://<IP_ADDRESS>:8000/article/tarot_and_forrest_gump/
COMPLETED 27 JANUARY
-
HTML: generators app: inside at_random.html: rewrite anchor tags for the 2 buttons (lines 129-141) using HTML < button > elements (instead of the current < div > and < a href=”” >< /a>).
COMPLETED 25 JANUARY
-
CSS/JS: For square GG/FLOSS/St_Paul img’s (in at_random.thml template), show white box shadow (glow, like with the main tarot card at the center at the top of the webpage) but only when toggled.
- Note: I understand that this probably cannot be achieved with Jinja/Python/CSS, so you can go ahead and use JS
- The CSS declaration you'll need is: `box-shadow: 0 0 10px white, 0 0 20px white, 0 0 30px white;`
COMPLETED 25 JANUARY
-
CSS/Bootstrap: See navbar features here. Port these features (at narrower resolutions) to my tarot_juicer navbar:
- Rather than wrapping against left hand side of the browser window, center align menu optionsCOMPLETED 25 JANUARY
- Add “Close” menu option in crimson (instead of green) Just as it appears in the image linked to above COMPLETED 27 JANUARY
- Show hamburger button with three horizontal bars (which are thicker than normal) + center align the hamburger button as wellCOMPLETED 27 JANUARY
- Remove crimson star iconCOMPLETED 27 JANUARY
-
JS: The default mode (for ‘regular’ vs ‘study’) currently shows both at the same time. Can you switch this so that the default is to show ‘regular’ (and not study). This would ensure that website visitors will need to actually click or tap “study” to reveal the bullet point content. To see the default, you may need to clear your cache / experiment by opening the link in a different web browser.COMPLETED 25 JANUARY
-
CSS: When narrative content is untoggled, invoke ‘fadeInRightBig’. UPDATE 25 JANUARY: With your changes today, this has been only partially implemented. Now there is an animation when the website viewer untoggles the narrative conten. The animation should take 3 seconds to complete (like the other narrative content) HOWEVER right now when the image is untoggled, the animation cuts out in less than 1 second. The full animation does not complete when toggling out. Could you fix this please? Thanks. COMPLETED 28 JANUARY
-
Where else in my codebase is the “at_random_with_number” variable? This variable is present in generators/urls.py. But where else is it located or referred to?COMPLETED 25 JANUARY
-
CSS: Font Awesome: Fix BUT ALSO explain WHY the font-awesome ‘location’ icon in the _footer.html (partial) is missing.COMPLETED 25 JANUARY
-
JS/CSS: Fix BUT ALSO explain WHY h1 tag with class ‘fadeInLeftBig’ does not animate for GG, FLOSS, St_Paul? After explaining why, then implement the fix. UPDATE 25 JANUARY: The < h1 > tags with `narrative-h1` classes still need to animate to match the sibling content (the paragraph tags with these class elements: `content animated fadeInLeftBig`)COMPLETED 27 JANUARY
-
JS: For the portal landing page, make red squiggly particles grow larger and larger over the course of 1 minute until they consume the whole background screen, rendering the canvas completely red.COMPLETED 28 JANUARY


HANDLEOBJECTCLONER provides some simple functionality for clonable objects.
More...
|
| function | ismember (in leftObjVec, in rightObjVec, in varargin) |
| |
| function | unique (in inpObjVec, in varargin) |
| |
| function | sort (in inpObjVec) |
| |
| function | ne (in varargin) |
| |
| function | eq (in varargin) |
| | EQ - same as isEqualElem from below with a few exceptions: 1) doesn't have reportStr output 2) only supports "asHandle" property. More...
|
| |
| function | le (in varargin) |
| | LE - "<=" operator defined based on the 3rd output of isEqualElem method described below and it. More...
|
| |
| function | ge (in varargin) |
| | GE - ">=" operator defined based on the 3rd output of isEqualElem method described below and it. More...
|
| |
| function | lt (in varargin) |
| | LT - "<" operator defined based on the 3rd output of isEqualElem method described below and it. More...
|
| |
| function | gt (in varargin) |
| | GT - ">" operator defined based on the 3rd output of isEqualElem method described below and it. More...
|
| |
| function | isequal (in varargin) |
| | ISEQUAL - same as isEqual but without reportStr output. More...
|
| |
| function | isequaln (in varargin) |
| | ISEQUALN - same as isEqual but without reportStr output. More...
|
| |
| function | isequalwithequalnans (in varargin) |
| | ISEQUALNWITHEQUALNANS - same as isEqual but without reportStr output. More...
|
| |
| function | isEqual (in varargin) |
| | ISEQUAL compares objects and returns true if they are found equal. More...
|
| |
| function | isEqualElem (in selfArr, in otherArr, in varargin) |
| | ISEQUALELEM returns true if HandleObjectCloner objects are equal and false otherwise. More...
|
| |
| function | clone (in self, in varargin) |
| | CLONE - creates a copy of a specified object via calling a copy constructor for the object class. More...
|
| |
| function | createInstance (in self, in varargin) |
| | CREATEINSTANCE - returns an object of the same class by calling a default constructor (with no parameters) More...
|
| |
| function | checkIsHandleIsBlob (in isAsHandle, in isAsBlob) |
| |
|
| static function | isMe (in inpObj) |
| |
HANDLEOBJECTCLONER provides some simple functionality for clonable objects.
- Author
- Peter Gagarinov, PhD pgaga.nosp@m.rino.nosp@m.v@gma.nosp<EMAIL_ADDRESS>- Copyright
- 2015-2016 Peter Gagarinov, PhD
2015 Moscow State University
Faculty of Computational Mathematics and Computer Science
System Analysis Department
Definition at line 11 of file HandleObjectCloner.m.
◆ blobComparisonHook()
| function mxberry::core::obj::HandleObjectCloner::blobComparisonHook |
( |
in |
self | ) |
|
|
protected |
◆ checkIsHandleIsBlob()
| function mxberry::core::obj::HandleObjectCloner::checkIsHandleIsBlob |
( |
in |
isAsHandle, |
|
|
in |
isAsBlob |
|
) |
| |
◆ clone()
| function mxberry::core::obj::HandleObjectCloner::clone |
( |
in |
self, |
|
|
in |
varargin |
|
) |
| |
CLONE - creates a copy of a specified object via calling a copy constructor for the object class.
* Input:
* regular:
* self: any [] - current object
* optional
* any parameters applicable for relation constructor
*
* Ouput:
* self: any [] - constructed object
*
◆ createInstance()
| function mxberry::core::obj::HandleObjectCloner::createInstance |
( |
in |
self, |
|
|
in |
varargin |
|
) |
| |
CREATEINSTANCE - returns an object of the same class by calling a default constructor (with no parameters)
* Usage: resObj=getInstance(self)
*
* input:
* regular:
* self: any [] - current object
* optional
* any parameters applicable for relation constructor
*
* Ouput:
* self: any [] - constructed object
*
◆ eq()
| function mxberry::core::obj::HandleObjectCloner::eq |
( |
in |
varargin | ) |
|
EQ - same as isEqualElem from below with a few exceptions: 1) doesn't have reportStr output 2) only supports "asHandle" property.
◆ ge()
| function mxberry::core::obj::HandleObjectCloner::ge |
( |
in |
varargin | ) |
|
GE - ">=" operator defined based on the 3rd output of isEqualElem method described below and it.
* 1) doesn't have reportStr output
* 2) only supports "asHandle" property
*
◆ getComparisonMode()
| function mxberry::core::obj::HandleObjectCloner::getComparisonMode |
( |
in |
self | ) |
|
|
protected |
◆ getHandleClonerIsEqualPropCheckCMat()
| function mxberry::core::obj::HandleObjectCloner::getHandleClonerIsEqualPropCheckCMat |
( |
in |
self, |
|
|
in |
propNameList |
|
) |
| |
|
protected |
◆ gt()
| function mxberry::core::obj::HandleObjectCloner::gt |
( |
in |
varargin | ) |
|
GT - ">" operator defined based on the 3rd output of isEqualElem method described below and it.
* 1) doesn't have reportStr output
* 2) only supports "asHandle" property
*
◆ isequal()
| function mxberry::core::obj::HandleObjectCloner::isequal |
( |
in |
varargin | ) |
|
ISEQUAL - same as isEqual but without reportStr output.
◆ isEqual()
| function mxberry::core::obj::HandleObjectCloner::isEqual |
( |
in |
varargin | ) |
|
ISEQUAL compares objects and returns true if they are found equal.
* Usage: isEq=obj1Arr.isEqual(,. . .,objNArr,varargin) or
* [isEq,reportStr]=isequal(obj1Arr,. . .,objNArr,varargin)
*
* Input:
* regular:
* obj1Arr: HandleObjectCloner of any size - first object
* array
* obj2Arr: HandleObjectCloner of any size - second object
* array
* . . .
* objNArr: HandleObjectCloner of any size - N-th object
* array
*
* properties:
* isFullCheck: logical [1,1] - if true, then all input
* objects are compared, otherwise (default) check is
* performed up to the first difference
* asHandle: logical[1,1] - if true, elements are compared
* as handles ignoring content of the objects
* asBlob: logical[1,1] - if true, objects are compared as
* binary sequencies aka BLOBs
* Note: you cannot set both asBlob and asHandle to true
* at the same time
* propEqScalarList: cell[1,] - list of properties passed
* to isEqualScalarInternal method
* Output:
* regular:
* isEq: logical [1,1] - true if all objects are equal
* false otherwise
* reportStr: char - report about the found differences
*
- Author
- Peter Gagarinov, PhD pgaga.nosp@m.rino.nosp@m.v@gma.nosp<EMAIL_ADDRESS>- Copyright
- 2015-2016 Peter Gagarinov, PhD
2015 Moscow State University
Faculty of Computational Mathematics and Computer Science
System Analysis Department
◆ isEqualElem()
| function mxberry::core::obj::HandleObjectCloner::isEqualElem |
( |
in |
selfArr, |
|
|
in |
otherArr, |
|
|
in |
varargin |
|
) |
| |
ISEQUALELEM returns true if HandleObjectCloner objects are equal and false otherwise.
* Usage: isEqArr=eq(selfArr,otherArr,varargin)
*
* Input:
* regular:
* selfArr: HandleObjectCloner [n_1,n_2,. . .,n_k] - calling
* object
* otherArr: HandleObjectCloner [n_1,n_2,. . .,n_k] - other
* object to compare with
* properties:
* asHandle: logical[1,1] - if true, elements are compared
* as handles ignoring content of the objects
* asBlob: logical[1,1] - if true, objects are compared as
* binary sequencies aka BLOBs
* Note: you cannot set both asBlob and asHandle to true
* at the same time
* propEqScalarList: cell[1,] - list of properties passed
* to isEqualScalarInternal method
* Output:
* isEqMat: logical[n_1,n_2,. . .,n_k] - the element is true if the
* corresponding objects are equal, false otherwise
* reportStr: char[1,] - report about the found differences
* signOfDiffArr: double[n_1,n_2,. . .,n_k] - array of signs of
* differences:
* -1: if left element < right element
* 0: if elements are equal
* +1: if left element > right element
* Note: current implementation defines this sign
* only for asBlob=true mode, for the rest of the
* comparison modes it is NaN
*
- Author
- Peter Gagarinov, PhD pgaga.nosp@m.rino.nosp@m.v@gma.nosp<EMAIL_ADDRESS>- Copyright
- 2015-2016 Peter Gagarinov, PhD
2015 Moscow State University
Faculty of Computational Mathematics and Computer Science
System Analysis Department
◆ isequaln()
| function mxberry::core::obj::HandleObjectCloner::isequaln |
( |
in |
varargin | ) |
|
ISEQUALN - same as isEqual but without reportStr output.
◆ isEqualScalarAsBlobInternal()
| function mxberry::core::obj::HandleObjectCloner::isEqualScalarAsBlobInternal |
( |
in |
leftObj, |
|
|
in |
rightObj |
|
) |
| |
|
private |
◆ isEqualScalarInternal()
| function mxberry::core::obj::HandleObjectCloner::isEqualScalarInternal |
( |
in |
self, |
|
|
in |
otherObj, |
|
|
in |
varargin |
|
) |
| |
|
protected |
◆ isequalwithequalnans()
| function mxberry::core::obj::HandleObjectCloner::isequalwithequalnans |
( |
in |
varargin | ) |
|
ISEQUALNWITHEQUALNANS - same as isEqual but without reportStr output.
◆ isMe()
| static function mxberry::core::obj::HandleObjectCloner::isMe |
( |
in |
inpObj | ) |
|
|
staticprivate |
◆ ismember()
| function mxberry::core::obj::HandleObjectCloner::ismember |
( |
in |
leftObjVec, |
|
|
in |
rightObjVec, |
|
|
in |
varargin |
|
) |
| |
◆ le()
| function mxberry::core::obj::HandleObjectCloner::le |
( |
in |
varargin | ) |
|
LE - "<=" operator defined based on the 3rd output of isEqualElem method described below and it.
* 1) doesn't have reportStr output
* 2) only supports "asHandle" property
*
◆ lt()
| function mxberry::core::obj::HandleObjectCloner::lt |
( |
in |
varargin | ) |
|
LT - "<" operator defined based on the 3rd output of isEqualElem method described below and it.
* 1) doesn't have reportStr output
* 2) only supports "asHandle" property
*
◆ ne()
| function mxberry::core::obj::HandleObjectCloner::ne |
( |
in |
varargin | ) |
|
◆ parseEqScalarProps()
| function mxberry::core::obj::HandleObjectCloner::parseEqScalarProps |
( |
in |
self, |
|
|
in |
eqPropCheckCMat, |
|
|
in |
propListToParse |
|
) |
| |
|
protected |
◆ setComparisonMode()
| function mxberry::core::obj::HandleObjectCloner::setComparisonMode |
( |
in |
self, |
|
|
in |
comparisonMode |
|
) |
| |
|
protected |
◆ sort()
| function mxberry::core::obj::HandleObjectCloner::sort |
( |
in |
inpObjVec | ) |
|
◆ unique()
| function mxberry::core::obj::HandleObjectCloner::unique |
( |
in |
inpObjVec, |
|
|
in |
varargin |
|
) |
| |
◆ comparisonMode
| Property mxberry::core::obj::HandleObjectCloner::comparisonMode |
|
private |
The documentation for this class was generated from the following file:


OpenSSL is covered by one of two licenses, depending on which
release is involved. In all cases, there is a file named
LICENSE
in the top-level of the release.
Copies can also be found here.
For the 3.0 release, and later releases derived from that, the Apache License v2 applies. This also applies to the git "master" branch.
For any release made before OpenSSL 3.0 (namely the 1.1.1, 1.1.0, 1.0.2, and all prior releases including those not currently supported), the dual OpenSSL and SSLeay license applies. Note that this is also true for any updates to those releases -- the "letter suffix" -- no matter when they are made. It also applies to the git branches for all those releases, and to any public forks that have not rebased to master (or 3.0).


Spoiler
Alert
Spoiler
Alert
Dashboard
View fridge!
Add new item!
LogOut
What do you want to eat today?
Clear my fridge
Name
Date Purchased
Expiration
What you have!
Unit
How much you want to eat
Push the button!
Push the button!


These are the best supercar brands in the world today, When it comes to choosing only
the top 20 supercar brands in the world, this limited number of choices can end up being
subjective, by also leaving room for interpretation and controversy.
Take a look at the list of the top 20 supercars and top speed.
20.   Porsche (Germany)
Model: Porsche
918 Spyder
Year: 2015
Top speed: 214 mph (345 km/h)
Engine: 4.6-litre V8 (608 hp)
19.  Spyker (Netherlands)
Model: Spyker
C8 Double 12 S
Year: 2006
Top speed: 214 mph (345 km/h)
Engine: 4.2 L Audi V8 (620 hp)
18.  Ferrari (Italy)
Model: Ferrari LaFerrari
Year: 2013
Top speed: 217 mph (349 km/h)
Engine: 6.3 L F140FE V12, electric motor & KERS (950 hp)
17.  Arrinera (Poland)
Model: Arrinera Hussarya 33
Year: 2012
Top speed: 217.5 mph (350 km/h)
Engine: 6.2L naturally aspirated V8 (789 hp)
16.   Lamborghini (Italy)
Model: Lamborghini Veneno
Year: 2013
Top speed: 221 mph (356 km/h)
Engine: 6.5 L L539 V12 (750 hp)
15.  Gumpert (Germany)
Model: Gumpert Apollo
Year: 2012
Top speed: 223.9 mph (360.4 km/h)
Engine: 4.2 L (260 cu in) twin-turbocharged V8 (650 hp)
14.  Aston Martin (United Kingdom)
Model: Aston Martin Vulcan
Year: 2016
Top speed: 224 mph (360.5 km/h)
Engine: 7.0 L naturally-aspirated V12 (820 hp)
13.  Noble (United Kingdom)
Model: Noble M600
Year: 2011
Top speed: 225 mph (362 km/h)
Engine: 4.4 L Volvo/Yamaha B8444S V8 (twin t/c petrol), (660 hp)
12.  Zenvo (Denmark)
Model: Zenvo ST1
Year: 2009
Top speed: 233 mph (375 km/h)
Engine: 6.8L twincharged V8 (1,104 hp)
11.  Ruf (Germany)
Model: Ruf CTR3 Clubsport
Year: 2012
Top speed: 236 mph (380 km/h)
Engine: 3.8 L (231.9 cu in) twin-turbocharged flat-6 (767 hp)


New Note
Add Note
Archived Notes
Example of an editable note.
Edit
Flag
Delete
About
Quick note app using native DOM traversal.


VueJs Application
What's included in this app?
1. How to send ajax request?
2. How to send request to RESTFul data?
3. How to create animation?
4. How to use third-party (animate.css) animation?
5. How to implement in JS hooks?
6. How to add animation to add list?
7. How to create components in Vue?
8. How to use frontend router in Vue?
9. How to bind events to DOM in Vue?
Add Brand
ID
Name
id
Name
Ctime
Operation
{{item.id}}
{{item.name}}
{{item.ctime | dateFormat('') }}
Edit
Delete
{{val.content}} by
{{val.user}}
Users' Comments:
Leave your comments...
Name:
Comment:
Submit


Here at flow we believe in a practice which stretches and strengthens our bodies both physically and mentally. We mindfully move and connect with our breath, reminding us to be mindful and present in our daily tasks. We believe that in practicing we can honor our true authentic selves and except out limitations. Here at flow we don’t want you to go with the flow we want you to be the flow.
Meditation & Relaxation
Flexibility & Strength
Community & Belonging
Yoga is the science of self-awareness. Through this process we can access our greatest human potential and find self-empowerment, which will lead to an abundance of good in our lives. The following core values have become our foundation:
Self-Realization.
Yoga is the process of awakening to how perfect, complete, and powerful you already are.
Faith.
We trust that there is a greater awareness/presence that will support us on our path.
Freedom.
Realizing your complete inner freedom is the purpose of Yoga. We want you to be your true authentic self.
Connection.
This is an inclusive community where we support each other on this inner journey. We are all in this together
Peace.
When we quiet the noise of our lives, we can access the power of our innate creativity, and explore new potential.
Acceptance.
Know that who you are right now is perfect. Everyone is welcome and everyone is loved.