Identifying and prioritizing species
Reducing risk by prioritizing species
To better manage unwanted invasions, the Ecological Informatics Research Group developed quantitative methods for risk assessors in Biosecurity agencies, such as the Ministry of Primary Industries (MPI) in New Zealand, or partner agencies which deal with the prioritization of invasive species at a national level.
In particular, Worner and Gevrey (2006) proposed the first fully quantitative method for ranking large number of invasive species with respect to their potiential establishment in a target area. The method is based on the use of an artificial neural network algorithm, known as self-organizing map (SOM), which is applied to the analysis of the world's regions pest profile (pest profile analysis (PPA)), thus its name, SOM PPA.
The theoretical hypothesis behind SOM PPA is that certain species tend to co-occur in particular regions around the world because of specific combination of biotic and abiotic factors. The group of pest species present in a certain area is called species assemblage or pest profile of the area. By comparing areas that share similar pest profiles, we can identify which areas can act as donors and recipients of species to each other and therefore, infer that species present in similar areas to the area of interest are a high threat.
SOM PPA can be used to identify, from a large list of potential hazards, which species present the most risk to the target area. Furthermore, such analysis may indicate donor and recipient regions for pest invasion and can highlight previously unknown or ignored threats for further investigation.
How to run SOM PPA
Typically, a SOM algorithm analyses a matrix of presence/absence of a taxa of interest recoreded over different geographical regions worlwide (Figure 1). For example, Worner and Gevrey (2006) analysed the presence and absence of 844 insect pest species recorded over 459 geographical regions world-wide. Such data can be downloaded from global databases like the Crop protection compendium: CABI.
The SOM analysis classified the high dimensional data into a map of nodes such that geographical areas that has similar pest species assemblages are clustered together in specific nodes.
In addition, the SOM analysis attribute to each species a weight that can be used to indicate those species most likely to establish in the target area if given a suitable pathway. The higher the weight is, the greater the threat is to the target area. The actual weights are less important than the ranks among species. Theoritically, the weights for each species provide a measure of association with the other species in the profile or, in other words, how frequently the target species co-occurs with the others in the pest profile around the world.
The SOM analysis is quantitative screening methods to identify and rank potentially high-risk invasive pest species. The method provide a dynamic list, which can be revisited and re-evaluated annually. Such an analysis can then be used to support additional risk assessment of potential invasive species, giving invasive species researchers, conservation managers, quarantine and biosecurity scientists a means for prioritizing species as candidates for further research.
How to evaluate a SOM PPA
As the risk values generated by SOM PPA are influenced by the individual cluster where the target region is allocated, good clustering is fundamental to obtain meaningful and interpretable risk lists. When performing cluster analysis, validity refers to the process of evaluation of the resulting clusters. For a SOM, there are two measures of goodness. They are the quantization error and the topological error. These two metrics are useful to describe the overall performance of the algorithm on the data set, but they do not provide any specific validity measure for each cluster.
In Roige et al, 2016 we proposed a method for evaluating teach individual clusters resulting from a SOM PPA. We used zeta diversity ( Hui and McGeoch, 2014) as an ecologically meaningful and generalizable metric of similarity. The application of zeta allowed us to quantify and thus reveal different levels of similarity across pest profiles. Furthermore, the use of f diversity applied to SOM PPA provides an informative measure of uncertainty for the output of SOM PPA, thus adding major improvements to the methodology while only marginally increasing its complexity.
Instruction and source codes
Detailed instructions on how to install, use and run a Self-orignising map (SOM) for Pest Profile analysis (PPA) using MATLAB can be found here.
Detailed instructions and R scripts of using zeta diversity metric as a validity assessment metric for SOM PPA can be found here.
Example of applications
Prioritizing insect pest species in New Zealand
Worner and Gevrey (2006) analysed a list of of 844 insect pest species recorded over 459 geographical regions world-wide using a SOM for predicting
the likelihood of successful invasions of future invasive alien pests in New Zealand. The majority of species identified as a potential risk for New Zealand are pests of orchards, berry bushes, or woody ornamentals. One of these species was P. Brassicae (Great White Butterfly), which was first found in Nelson, New Zealand 4 years later.
Publication: Worner, S. P., and Muriel Gevrey. "Modelling global insect pest species assemblages to determine risk of invasion." Journal of Applied Ecology 43.5 (2006): 858-867
Prioritizing invasive invertebrate pests in Finland
Vänninen et al. (2011) updated the list of invasive invertebrate pests in Finland and identified potential new pests using a SOM analysis. SOM analysis suggests that the greatest risk from alien pests in Finland in the changing climate falls on horticultural crops. The uathors recommended SOM analysis as a useful complement to local expert knowledge to assess risks posed by invasive alien species.
Publication: Vänninen, Irene, et al. "Recorded and potential alien invertebrate pests in Finnish agriculture and horticulture." Agricultural and Food Science 20.1 (2011): 96-114
Prioritizing plant-parasitic nematodes in Australia
Singh et al. (2014) analysed a list of of 250 plant-parasitic nematodes species recorded over 355 geographical regions world-wide using a SOM to determine countries and regions which could act as a donor of potential invasive species. By integrating SOM analysis into a multi-criteria evluation framework qunantifying element such as existance of particular pathways, survival adaptations, pathogenecity, host range and others, the authors suggested that a species's biosecurity risk can be berrer estimated by intergating SOM results with expert opnion.
Publication: Singh, Sunil K., et al. "Prioritising plant-parasitic nematode species biosecurity risks using self organising maps." Biological invasions 16.7 (2014): 1515-1530
Prioritizing economically important fruit fly species
Qin et al. (2015) used a SOM analysis as an initial screen support for prioritizing economically important fruit fly species for further research into their potential to invade a region.
Publication: Qin, Yujia, et al. "Global establishment risk of economically important fruit fly species (Tephritidae)." PloS one 10.1 (2015): e0116424.


Run this in the in-game browser. It only works there!
Also run EVEMon, or some other program that automatically uploads to eve-central.
Hit the "Poll items" button.
Feel good about yourself for helping out. Try not to be
annoyed by the market window popping itself to the front every
few seconds.
 (Of
course, running it to completion is even better.)


Connect microservices with the help of GRPC
Posted 24 July, 2017- About 7 mins to read
Microservices are all the rage these days. Luckily underneath the hype there are some great use cases for them. If you’re splitting up a monolith codebase into smaller specialised chunks, extracting a long running queue to its own system, or even using particular pieces of code in a different programming language. You always have to solve one architectural problem. How do I make these things talk to each other.
Your first reflex might be a collection of REST api’s. Put them in a network with filtered ip’s, or any other way to secure it, and call it a day. But if we take a step back and look at this setup, is REST really the best way to go about it?
Don’t get me wrong, I love REST. But in this case should we be thinking in terms of resources? If we take a system that crops avatars for example. You would get something like this
PATCH images/4
{
"width": 400,
"height": 200
}
This doesn’t really feel right. We aren’t dealing with resources here but more with actions on data.
Fortunately we aren’t the first ones to ponder on this.
Enter RPC
Some of you might have had a shiver run down your back when reading that title. RPC is commonly linked to older systems and even worst: linked to SOAP (shiver nr.2).
The reason you might not have great experiences with these setups is, ironically, for the same reason we described above. They have been misused to fit architecture they aren’t designed for. RPC is actually perfect for the use case above.
For the people not familiar with RPC, let me give a quick overview: It stands for Remote procedure call. And is, as the name suggests, a way to call procedures on a remote system. The REST call we made earlier would look like this:
POST images.crop-image
{
"id": 4,
"width": 400,
"height": 200
}
Or
POST cropImage
{
"id": 4,
"width": 400,
"height": 200
}
You treat your external API as an internal API. Parameters for the endpoint are attached in the body of the call. And that gives some weird results sometimes. In the case of RPC, Verbs don’t really matter. If you want to fetch a user for example, it could look like this:
POST displayUser
{
“Id”: 4
}
Or
GET displayUser?id=4
If you’re an avid REST supporter and never worked with RPC before, this all looks very strange. Maybe even dirty. I personally don’t like public RPC API’s, but in very specific cases they might be useful. If your API is more like an application that does actions on data, instead of managing data, it can make sense. (Just remember that this is not an excuse for letting your internal architecture bleed into your API).
Knowing this, we can look at our microservices in the same light. Here we have small applications that might benefit more from the RPC style of calling methods than the REST style of altering resources.
A nice end goal for our microservices might be to use them in our code, without knowing that they are remote. Let me better explain this with an example.
|
|
It would be great if we could use code like this to communicate to a remote service. The Mailservice
would be an abstraction that takes the method SendToUsers
dynamically from the microservice.
In that way, when you update the API of the microservice, you would not need to update the Mailservice
code. The client would automaticlly have access to the new methods.
Of course that would take a lot of work to create. You would have to write some sort of transformer, create something that can login to the service, and eventually POST the data…
GRPC
There is another company with the same issues as us. Ok maybe not exactly the same issues as us, cause they are maybe a bit bigger. Google created a system called Stubby that connects most of their services together. When Stubby got a rewrite, Google decided to create a new system. Not closely matching their infrastructure and even made it open-source. This new system is called GRPC.
GRPC is a RPC framework that does a lot of heavy lifting for you. First of all, it handles all the load balancing, tracing, health checking and authentication functions you would otherwise have to write yourself. It can even go full async. But that is not even the coolest part. It also writes all the code for the connection.
Let’s take a look at how it works
If you want to execute methods on a remote system as if they were present in your current system, you will have to transform the data. You have no idea what the server is expecting. The server on the other side would want to have that data serialized as well. This is also a great place to add some validation on that data.
To tackle serialization and validation Google created something called protocol buffers. These protocol buffers rely on proto files that tell them what data is coming in and out. This system is somewhat comparable to systems like Swagger and Blueprint. Unlike these, proto files are less human readable and look at bit more like code. And pack a lot more functionallity than just documentation.
Here is an example of one of those proto files:
|
|
As you can see they have a C/Java style and more importantly, are strictly typed. The numbers that are assigned to these variables are id’s for the system itself. Please note that these files are allowed to have a bit of logic in them making them very flexible. You can look at them as value objects.
Once you have created the Proto file, the real magic happens. Now you are able to generate the connection between the systems. I say generate, because it is exactly like that. GRPC can now automatically generate an SDK that you can import in your client and server. This SDK uses the mapping to act as regular methods calls in your current code base.
You can find some examples of generated code on the GRPC github
Why would I want protobuffers over something like JSON?
We now know on a high level how GRPC works, but we still haven’t talked about how the data is actually transmitted. The downside here is that unless you dive really deep, this will all be a bit blackbox-ish.
Protobuffers aren’t really designed to be human readable, they are compressed binaries. I know this might be a huge turn off, but it does has its advantages. These come mainly in the form of its small footprint and speed.
Yogesh Shinde posted an article on Dzone on the comparison between JSON and protobuffers that suggested that the later are almost double as fast.
Bruno Krebs’s article Beating JSON performance with Protobuf even sported cases that were up to 6 times the speed.
And what are the big downsides?
Everything comes at a price, and GRPC is no exception. The biggest downside is obviously the black box connections. They are hard to debug and you’re not ever really sure about what’s transmitted.
The generated code is also a bit of a double edged sword. Lots of people have had some bad experiences with generated code (for good reasons). But to be honest, I feel that in this case it’s not that bad. The generated code are mostly value like objects that sometimes are little more than getters and setters and it does allow you to generate SDK’s in loads of different languages with a single click, so that is a decision you have to make for yourself.
I also found the set up a bit hard. In the case of PHP they suggest you install using PECL what is not really ideal (There is a composer option as wel). You also need to run a Node server so that might not jive all that well with your current setup.
Conclusion
This might all seem a bit daunting to set up if you only have 1 or 2 microservices in your domain. But if your product is a collection of different microservices, you might save some time and performance with this technology. Especially if there are a few different programming languages mixed in.
But be sure to create a pilot project before you take the plunge.


CapsLockIndicator component shows caps lock state when user types in the PasswordField.
CapsLockIndicator
PasswordField


En
Kry
Translator
This is an English-Kryptonian translator. Enter the desired text in English below and click "Translate" to see the Kyrptonian translation.
Translate
Clear


Let’s Robot Together!
Here are a few simple guidelines to follow which we hope will make the experience better for everyone.
Dos
- Have fun and share control with other users
- Follow the rules set by the robocaster, if you don’t know them, ask!
- Remember the other humans and robots behind the screen
- Treat everyone with respect, especially the people on the robot stream. We want people to feel comfortable and safe around our robots.
Don'ts
- Do not exclude or bully someone else because of their race, sex, religion, disability, or any other reason.
- Do not insult or be rude to others.
- Do no harm any humans or animals. Please also avoid damaging robots or property, unless it’s explicitly part of the stream.
- Please do not post or share personal information about anyone on the site.
- Suggest or engage, or talk about engaging in illegal activities.
Unless the stream is marked as "mature"
- Do not talk about NSFW topics, or post links to nudity or extreme violence.
- Do not use derogatory language in chat.
Casters
- Please be encouraging, inclusive, and kind to all the viewers of your stream.
- Be sure to set clear rules and guidelines for how users should conduct themselves, and make sure they are clearly communicated in your channel description.
- Stream robots at your own risk. We are not responsible for any actions carried out by users, it is up to you to control the situation.
- Nudity is not allowed on any stream, and will result in an automatic ban.
- Intentionally putting the robot in a situation that will cause harm to other people, animals, or private property will also get you banned.
- Do not engage in illegal activities on stream, or put the robot in situations where they can also perform illegal activities.
- Intentionally spying on people without their knowledge or consent is also not acceptable.


Currently pursuing my Undergrad degree at Indian Institute of Information Technology, Trichy. Keen researcher in core electronics and love to play with Internet of Things technology. Honing my skills in Machine learning and Deep Learning using real time examples.
Areas of Interest :
I am passionate about reading tech books and watching different soccer leagues in free time.
Studied about the technical aspects of IoT such as cloud,networking,monitoring etc. Worked on automation project using IoT app.Integrated the IoT with robotics and made a project using HC-05.
Made a IoT application on Smart Agriculture system using IBM cloud and Node-Reed platform.Used Watson platform and retrieved API keys for real time weather data.Made a Web UI to visualize the data.Used python shell to take commands from Web UI.
Worked on Internet of Things using Raspberry Pi 3B and 4B.Interfaced different sesors such as DHT11,Ultrasonic,IR etc.Analyzed the data and uploaded using Thingspeak cloud service. Studied CGI and created web pages using Flask.
IoT app which uses Web UI to display the weather conditions of a given area provided with the API keys of a given city. Web UI controls the motors for irrigation purpose.
View ProjectThe Robot operates via a phone app which give commands for movement of the robo vehicle.
View Project


| Conforms to | |
|---|---|
| Declared in | RMUploadPreset.h |
A representation of configurable options for a service.
authentication
propertyThe credentials the preset should use. This is a to-one relationship.
plugin
propertyThe plugin that owns the preset.
name
propertyThis is the user provided name for the preset.
dirty
propertySet this key to YES to cause the preset to be persisted to disk.
acceptedTypes
propertyThe UTIs that the account supports.
serviceURL
propertyThis method must return a valid, non-nil NSURL.
- initWithPropertyListRepresentation:
Initialise a preset from a serialised representation.
- propertyListRepresentation
A representation of the instance that can be saved to a plist.
The credentials the preset should use. This is a to-one relationship.
@property RMUploadCredentials *authentication
RMUploadPreset
.h
The plugin that owns the preset.
@property RMUploadPlugin *plugin
RMUploadPreset
.h
This is the user provided name for the preset.
@property NSString *name
RMUploadPreset
.h
Set this key to YES
to cause the preset to be persisted to disk.
@property BOOL dirty
This method is observed using key-value observing, when triggered your account will be saved.
If you want to trigger a save automatically, you can return dependent keys in +keyPathsForValuesAffectingValueForKey:
ensuring that you include the results from super.
RMUploadPreset
.h
The UTIs that the account supports.
@property NSSet *acceptedTypes
A set of UTI strings which the preset supports.
This method is required.
The default implementation returns an empty set.
RMUploadPreset
.h
This method must return a valid, non-nil
. NSURL
@property NSURL *serviceURL
Overriding this method is optional if the class method of the same signature returns a valid value.
This is used to graph and determine the geographical destination of the files.
RMUploadPreset
.h
Initialise a preset from a serialised representation.
- (id)initWithPropertyListRepresentation:(id)values
The property list representation that was returned from propertyListRepresentation
.
We provide you with the representation that you return in propertyListRepresentation
to hand off to the framework for saving.
If you follow the -propertyListRepresentation
example implementation, be sure to pass only the superclass representation to the superclass inititializer.
An example implementation would be: - (id)initWithPropertyListRepresentation:(id)values {
id superRepresentation = [values objectForKey:@"super"];
self = [super initWithPropertyListRepresentation:superRepresentation];
if (self == nil) return nil;
[self setProperty:[values objectForKey:@"myKey"]];
return self;
}
RMUploadPreset
.h
A representation of the instance that can be saved to a plist.
- (id)propertyListRepresentation
In order to save presets they will be turned into a plist, therefore here you need to return a representation of your object that can be saved safely into one. You must also call the super's implementation at the top of the method.
It is essential that you include, and namespace the representation of the superclass. You must not assume the class of the superclass' representation, simply that it is suitable for inclusion in a property list written to disk.
An example implementation would be: - (id)propertyListRepresentation {
id superRepresentation = [super propertyListRepresentation];
NSMutableDictionary *propertyListRepresentation = [NSMutableDictionary dictionary];
[propertyListRepresentation setObject:superRepresentation forKey:@"super"];
[propertyListRepresentation setValue:[self property] forKey:@"myKey"];
return propertyListRepresentation;
}
RMUploadPreset
.h
Last updated: 2010-9-9


WELCOME
TO DELANI STUDIO
AMAZING PEOPLE ARE MAKING DESIGNS IN A FUN ENVIRONMENT
When you work with us, you are a part of a team of committed collaborators. All aspects of our software development process are intergrated, interactive
and agile.
Our approach unifies design, development and product management to create exceptional products.
We start each project by understanding your business goals, the user's needs and the product requirements.
Then we help translate them into effective and elegant solutions.
Before we sign a contract or write a line of code our team will spend the necessary time needed to understand your product vision.
The outcome of this scoping session is proposal or high-level statement of work
based on your requirements, we can provide a complete offering or just the pieces you need.
Our design practice offers a full range of services including brand strategy
interaction and visual design and user experience testing.
Throughout your project, our designers create and implement visiual design and workflows, solicit user feedback and
work with you to make sure what gets built is what is needed.
All engineers are fluent in the lates enterprise, mobile and web development technologies.
They collaborate with your team to write, and improve code on a daily basis, using proven
practices such as test-driven development and pair programming.
Planning and development is iterative. Because we are constantly coding and testing, the products we build are always ready to go live.
This iterative process allows for changes as business requirements evolve.


Swish-Swish application Demo
Problem
Car accidents need to be documented and sent to insurance/police
Other drivers would like to know about events on a road
Marketing notifications like "Oil 10% off in Jiffy Lube"
Solution
Google glass android app that fills those gaps, Juiced by Heroku and Salesforce.
Enjoy the demo


Reveal makes these very easy to summon and dismiss. The close button is simple an anchor with a unicode character icon and a class of close-reveal-modal
. Clicking anywhere outside the modal will also dismiss it.
Finally, if your modal summons another Reveal modal, the plugin will handle that for you gracefully.
×See? It just slides into place after the other first modal. Very handy when you need subsequent dialogs, or when a modal option impacts or requires another decision.
×


This example is a quick exercise to illustrate how the default, static navbar and fixed to top navbar work. It includes the responsive CSS and HTML, so it also adapts to your viewport and device.
Quickly get a project started with any of our examples ranging from using parts of the framework to custom components and layouts.
Something short and leading about the collection below—its contents, the creator, etc. Make it short and sweet, but not too short so folks don't simply skip over it entirely.
Download Project


SMILLA'S SENSE OF SNOW [Spoilers] A film review by Steve Rhodes Copyright 1997 Steve Rhodes
RATING (0 TO ****): **
Providing all of the elements of a mystery is not the same thing as actually crafting one. And taking a famous book and bringing it to the screen does not guarantee that the film will be successful.
Director Bille August, whose 1993 adaptation of Isabel Allende's "La Casa de los Espiritus" (THE HOUSE OF THE SPIRITS) was widely derided, turns his attention this time to Peter Hoeg's highly regarded novel "Froken Smillas Fornemmelse for Sne" (SMILLA'S SENSE OF SNOW.) I have not read the book but am told that, although complex, it is not as obtuse as Ann Biderman's screenplay for the movie. This film is as cold as the landscape and rarely engages the audience. So slow moving, you begin to wonder if the snow's effect on the actors is to blame.
As preposterous and ponderous as the story can be, it has great atmosphere and one excellent performance. I have always thought of Julia Ormond, who was delightful in SABRINA, as being an actress with a limited repertoire. She has played lovely heroines, but not tough ones. Here she shows her acting dexterity. Her starring role as Smilla Jaspersen demonstrates she has a much wider acting range than I had imagined.
Ormond's Smilla is a tough and cynical loner. An unemployed mathematician, she has been kicked out of four schools. Smilla has supposedly bonded with a six-year-old Inuit boy named Isaiah (Clipper Miano), who lives in her apartment building in Copenhagen. The lack of any credible chemistry between them makes an already unbelievable show even more so.
One day Smilla comes home to find the boy dead in the snow. He either fell from the roof while playing as the police claim or was forced off by someone who did not leave his footprints in the snow. Like last year's SHADOW CONSPIRACY, the story will begin to hint at some massive conspiracy and cover-up. The boy's alcoholic mother tells Smilla that his father died in a mysterious accident in Greenland while working for Greenland Mining.
Gabriel Byrne plays his canonical cryptic character. This time his character is known only as The Mechanic. The Mechanic lives in the same building as Smilla and may or may be helping her.
Providing easily the worst acting in the picture, Richard Harris oozes in with a cliche-ridden performance as Tork Hviid, the head of the infamous Greenland Mining. Vanessa Redgrave has a nice bit part as Elsa Lubing. Elsa, who seems to have just discovered religion, used to work for Tork. Smilla tries to enlist her aid in solving the murder puzzle. Smilla, having detected something in the snow after the boy died, explains to Elsa, "The way you have a sense of God, I have a sense of snow."
Other than Ormond's performance and Joergen Persson's magnificent cinematography of Greenland, the only reason to see the show is the mystery so I will reveal little. Suffice it to say that it involves prehistoric worms.
On a small note, after our family spent a wonderful time in Copenhagen last summer, I was disappointed to see such a gorgeous and colorful city made so gray and depressing. Although I understand the film wanted to do this to contrast it with the beauty and freshness of Greenland, I found it sad nevertheless. Perhaps a better film would have made me more forgiving.
SMILLA'S SENSE OF SNOW runs too long at 2:00. It is rated R for language, some violence and a sex scene. It is a mild R and the film would be fine for any teenager. Although there are parts to admire, there is not enough for me to be able to recommend it. I give this cold tale **.
**** = A must see film. *** = Excellent show. Look for it. ** = Average movie. Kind of enjoyable. * = Poor show. Don't waste your money. 0 = Totally and painfully unbearable picture.
REVIEW WRITTEN ON: March 14, 1997
Opinions expressed are mine and not meant to reflect my employer's.
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


--- layout: post title: VNC Screen Sharing on OS X gives a white screen date: 2011-10-27 13:02:44.000000000 +01:00 type: post published: true status: publish categories: [] tags: [] meta: _edit_last: '1' tmac_last_id: '618797374853414912' author: David Simpson excerpt_separator: ---
I've been accessing a Red Hat box via Mac Screen Sharing. All was good until it started just displaying a white screen. I assumed it was the fault of the Red Hat server, but couldn't fix it at that end.
It turns out that there's some kind of bug in 64-bit Screen Sharing on Snow Leopard (and maybe Lion too?), so here's the work around:
By the way, I'm currently running Mac OS X 10.6.8


This document describes how to use Open Virtual Networking with Docker 1.9.0 or later.
Important
Requires Docker version 1.9.0 or later. Only Docker 1.9.0+ comes with support for multi-host networking. Consult www.docker.com for instructions on how to install Docker.
Note
You must build and install Open vSwitch before proceeding with the below guide. Refer to the installation guide for more information.
For multi-host networking with OVN and Docker, Docker has to be started with a destributed key-value store. For example, if you decide to use consul as your distributed key-value store and your host IP address is $HOST_IP, start your Docker daemon with:
$ docker daemon --cluster-store=consul://<IP_ADDRESS>:8500 \ --cluster-advertise=$HOST_IP:0
OVN provides network virtualization to containers. OVN's integration with Docker currently works in two modes - the "underlay" mode or the "overlay" mode.
In the "underlay" mode, OVN requires a OpenStack setup to provide container networking. In this mode, one can create logical networks and can have containers running inside VMs, standalone VMs (without having any containers running inside them) and physical machines connected to the same logical network. This is a multi-tenant, multi-host solution.
In the "overlay" mode, OVN can create a logical network amongst containers running on multiple hosts. This is a single-tenant (extendable to multi-tenants depending on the security characteristics of the workloads), multi-host solution. In this mode, you do not need a pre-created OpenStack setup.
For both the modes to work, a user has to install and start Open vSwitch in each VM/host that they plan to run their containers on.
Note
OVN in "overlay" mode needs a minimum Open vSwitch version of 2.5.
OVN architecture has a central component which stores your networking intent in a database. On one of your machines, with an IP Address of $CENTRAL_IP, where you have installed and started Open vSwitch, you will need to start some central components.
Start ovn-northd daemon. This daemon translates networking intent from Docker stored in the OVN_Northbound database to logical flows in OVN_Southbound database. For example:
$ /usr/share/openvswitch/scripts/ovn-ctl start_northd
One time setup
On each host, where you plan to spawn your containers, you will need to run the below command once. You may need to run it again if your OVS database gets cleared. It is harmless to run it again in any case:
$ ovs-vsctl set Open_vSwitch . \ external_ids:ovn-remote="tcp:$CENTRAL_IP:6642" \ external_ids:ovn-nb="tcp:$CENTRAL_IP:6641" \ external_ids:ovn-encap-ip=$LOCAL_IP \ external_ids:ovn-encap-type="$ENCAP_TYPE"
where:
is the IP address via which other hosts can reach this host. This acts as your local tunnel endpoint.
is the type of tunnel that you would like to use for overlay networking. The options are geneve or stt. Your kernel must have support for your chosen $ENCAP_TYPE. Both geneve and stt are part of the Open vSwitch kernel module that is compiled from this repo. If you use the Open vSwitch kernel module from upstream Linux, you will need a minumum kernel version of 3.18 for geneve. There is no stt support in upstream Linux. You can verify whether you have the support in your kernel as follows:
$ lsmod | grep $ENCAP_TYPE
In addition, each Open vSwitch instance in an OVN deployment needs a unique, persistent identifier, called the system-id. If you install OVS from distribution packaging for Open vSwitch (e.g. .deb or .rpm packages), or if you use the ovs-ctl utility included with Open vSwitch, it automatically configures a system-id. If you start Open vSwitch manually, you should set one up yourself. For example:
$ id_file=/etc/openvswitch/system-id.conf $ test -e $id_file || uuidgen > $id_file $ ovs-vsctl set Open_vSwitch . external_ids:system-id=$(cat $id_file)
Start the ovn-controller.
You need to run the below command on every boot:
$ /usr/share/openvswitch/scripts/ovn-ctl start_controller
Start the Open vSwitch network driver.
By default Docker uses Linux bridge for networking. But it has support for external drivers. To use Open vSwitch instead of the Linux bridge, you will need to start the Open vSwitch driver.
The Open vSwitch driver uses the Python's flask module to listen to Docker's networking api calls. So, if your host does not have Python's flask module, install it:
$ sudo pip install Flask
Start the Open vSwitch driver on every host where you plan to create your containers. Refer to the note on $OVS_PYTHON_LIBS_PATH that is used below at the end of this document:
$ PYTHONPATH=$OVS_PYTHON_LIBS_PATH ovn-docker-overlay-driver --detach
Note
The $OVS_PYTHON_LIBS_PATH variable should point to the directory where Open vSwitch Python modules are installed. If you installed Open vSwitch Python modules via the Debian package of python-openvswitch or via pip by running pip install ovs, you do not need to specify the PATH. If you installed it by following the instructions in the installation guide, then you should specify the PATH. In this case, the PATH depends on the options passed to ./configure. It is usually either /usr/share/openvswitch/python or /usr/local/share/openvswitch/python
Docker has inbuilt primitives that closely match OVN's logical switches and logical port concepts. Consult Docker's documentation for all the possible commands. Here are some examples.
To create a logical switch with name 'foo', on subnet '<IP_ADDRESS>/24', run:
$ NID=`docker network create -d openvswitch --subnet=<IP_ADDRESS>/24 foo`
$ docker network ls
You can also look at this logical switch in OVN's northbound database by running the following command:
$ ovn-nbctl --db=tcp:$CENTRAL_IP:6640 ls-list
$ docker network rm bar
Docker creates your logical port and attaches it to the logical network in a single step. For example, to attach a logical port to network foo inside container busybox, run:
$ docker run -itd --net=foo --name=busybox busybox
Docker does not currently have a CLI command to list all logical ports but you can look at them in the OVN database by running:
$ ovn-nbctl --db=tcp:$CENTRAL_IP:6640 lsp-list $NID
$ docker network create -d openvswitch --subnet=<IP_ADDRESS>/24 bar $ docker network connect bar busybox
You can delete your logical port and detach it from a running container by running:
$ docker network disconnect bar busybox
Note
This mode requires that you have a OpenStack setup pre-installed with OVN providing the underlay networking.
One time setup
A OpenStack tenant creates a VM with a single network interface (or multiple) that belongs to management logical networks. The tenant needs to fetch the port-id associated with the interface via which he plans to send the container traffic inside the spawned VM. This can be obtained by running the below command to fetch the 'id' associated with the VM:
$ nova list
and then by running:
$ neutron port-list --device_id=$id
Inside the VM, download the OpenStack RC file that contains the tenant information (henceforth referred to as openrc.sh). Edit the file and add the previously obtained port-id information to the file by appending the following line:
$ export OS_VIF_ID=$port_id
After this edit, the file will look something like:
#!/bin/bash export OS_AUTH_URL=http://<IP_ADDRESS>:5000/v2.0 export OS_TENANT_ID=fab106b215d943c3bad519492278443d export OS_TENANT_NAME="demo" export OS_USERNAME="demo" export OS_VIF_ID=e798c371-85f4-4f2d-ad65-d09dd1d3c1c9
Create the Open vSwitch bridge
If your VM has one ethernet interface (e.g.: 'eth0'), you will need to add that device as a port to an Open vSwitch bridge 'breth0' and move its IP address and route related information to that bridge. (If it has multiple network interfaces, you will need to create and attach an Open vSwitch bridge for the interface via which you plan to send your container traffic.)
If you use DHCP to obtain an IP address, then you should kill the DHCP client that was listening on the physical Ethernet interface (e.g. eth0) and start one listening on the Open vSwitch bridge (e.g. breth0).
Depending on your VM, you can make the above step persistent across reboots. For example, if your VM is Debian/Ubuntu-based, read openvswitch-switch.README.Debian found in debian folder. If your VM is RHEL-based, refer to the RHEL install guide.
Start the Open vSwitch network driver
The Open vSwitch driver uses the Python's flask module to listen to Docker's networking api calls. The driver also uses OpenStack's python-neutronclient libraries. If your host does not have Python's flask module or python-neutronclient you must install them. For example:
$ pip install python-neutronclient $ pip install Flask
Once installed, source the openrc file:
$ . ./openrc.sh
Start the network driver and provide your OpenStack tenant password when prompted:
$ PYTHONPATH=$OVS_PYTHON_LIBS_PATH ovn-docker-underlay-driver \ --bridge breth0 --detach
From here-on you can use the same Docker commands as described in docker-overlay.
Refer the the ovs-architecture man pages (man ovn-architecture) to understand OVN's architecture in detail.


Choosing a small number of values from that list was pretty difficult; I tend to believe strongly in a lot of things, and many of them may appear to conflict each other &em; for instance, I value complexity and creativity as well as efficiency and order. Community and autonomy also go hand-in-hand for me; I think it's important to allow individuals to be themselves and pursue their own interests while they are being mindful and supportive of those around them in achieving their own aims. Basically, these can all be separated either into (sometimes ridiculously) high standards I have for myself and things that I appreciate in others and judge them by only in relationship to how they treat others. Accomplishment | Accountability | Achievement Activism | Adventure | Affection Ambition | Autonomy | Challenge Close relationships | Commitment | Community Compassion | Competence | Confidence Coolness under fire | Cooperation | Courage Creativity | Credibility | Economic security Effectiveness | Efficiency | Enthusiasm Environmentalism | Fairness | Freedom Friendships | Growth | Health Helping others | Helping society | Honesty Hospitality | Independence | Insight Inspiration | Integrity | Intelligence Introspection | Justice | Knowledge Leadership | Loyalty | Meaningful work Mentorship | Merit | Music Nature | Openness | Order Peace | Persistence | Personal development Pleasure | Privacy | Public service Quality | Recognition | Reputation Responsibility | Romance | Self-knowledge Self-reliance | Self-respect | Sophistication Truth | Volunteering | Wisdom Added: Feminism, Art, Complexity, Chosen Family (vs. Having a Family), Listening, Reserving Judgment, Diversity, Secularism. I also changed "Intellectual status" to "intelligence" because those are very different things; anything appended with "status" is arbitrary and has little to do with the actual contributions or worth of a person. I try to live up to these, but it's certainly a lot. I'm better at living up to the external ones than the internal ones (focusing on anything having to do with "self" or "personal" is a relatively new thing for me.) I often get asked for advice in my role as a consultant, so while I'd like to try to stay away from anything professional here and focus more on personal advice, it's hard because most of my friends and acquaintances are professionals who talk about business for fun and because we appreciate each other's perspectives. In the past week, I've been helping a friend asses potential homes to buy, gotten requests from multiple organizations to help advise on data/cataloging strategies (and a third to help advise on digital privacy), and have been giving my partner help with positioning for a product he's working on. I feel like I'm missing something in this prompt, because it never identifies what "affirmation" is in the context of stereotype threat or how it's supposed to have anything to do with your values. I found this resource that discusses values as they relate to affirmation and while it doesn't say specifically why they think the affirming of values helped, I'd imagine it has something to do with individuation and allowing the students to reinforce both their capabilities as well as what makes them "unique" and therefore not as subject to the pressure of reinforcing larger cultural stereotypes. I personally have a hard time with using my values to combat my own personal feelings of stereotype threat, mostly because they put pressure on me in other ways, but the advice aspect is potentially helpful.


Properties
Private _autoReconnect
_autoReconnect: boolean = true
Private _connAttempts
_connAttempts: number = 0
Private _connected
_connected: boolean = false
Private _connecting
_connecting: boolean = false
Private _httpProxy
_httpProxy: any
Private _lastPong
_lastPong: number
Private _messageID
_messageID: number = 0
Private _pending
_pending: any
Private _pingInterval
_pingInterval: 60000 = 60000
Private _pongTimeout
_pongTimeout: Timeout
Private _reconnecting
_reconnecting: boolean = false
Private _socketUrl
_socketUrl: string
Private _tlsverify
_tlsverify: boolean = false
Private _useTLS
_useTLS: boolean = false
Private _ws
_ws: any = null
apiPrefix
apiPrefix: "/api/v4" = "/api/v4"
getters & setters


Led by the Ohio University chapter of the American Association of University Professors, the group stood silently before the OU Board of Trustees on Jan. 17, protesting what many believe to be unfair decision-making by OU administration regarding the university’s budget.
The university released its “Fearlessly First” strategic framework in September 2019, which proposes ideas for how the university can keep up financially with fundamental changes affecting higher education, including declining enrollment numbers, changing technology and decreased state funding.
Among these proposals includes the shrinking of academic departments across the university, a move that has prompted outrage from faculty and students alike, who define the current situation as a crisis, like during the OU Fun Facts Protest that occurred last fall.
Others define it differently. At the Board of Trustees media availability meeting,Trustees Chair Dave Scholl said that the university will only find itself in a financial crisis if it doesn’t change with the times. It might not be a budget crisis right now but could be in the future.
But as OU seeks to remain sustainable in the changing world of higher education, many faculty members feel that they are not being given a proper seat at the table.
“We are witnessing faculty not having a contract renewed. We're seeing documents about fundamental restructuring. We are hearing about programs for voluntary retirements of tenured faculty,” OU-AAUP President Loren Lybarger said. “This feels like a crisis.”
Last spring, the university asked the individual colleges to reduce their budgets by a collective $19.3 million over the next four years, citing issues like declining enrollment numbers and competition by for-profit universities and other alternatives to four-year universities, according to April Minutes from OU’s Budget Planning Council.
Salary and benefits for all employees make up about 64.6% of all university revenue expenditures, according to the university’s 2020 budget.
Members of OU-AAUP believe the need for the budget reduction can be primarily attributed to increased administrative spending over the past eight years, according to an OU-AAUP budget analysis.
Since the late 1970s, the ratio of faculty to students has remained relatively stable, and faculty salaries have not seen an overall increase, according to the budget analysis.
Meanwhile, the ratio of administrators to students has dramatically increased since 2010, and the number of administrators has increased from about 800 to about 1,190, around a 45% increase, according to the budget analysis.
Lybarger said that faculty accept the reality of the current situation around higher education. The state has been cutting funding for higher education, enrollment is dropping and other universities are competing for the same pool of students, he said. But faculty are worried about how the university is choosing to react.
“We accept that we’re going to have to shrink as an institution,” he said. “But we need to be talking about how that happens, and part of that discussion needs to be about the number of administrators we actually need … and then let’s talk about how many faculty we need, how many we can actually have given our constraints and what's really important …”
And with the growth of administrative positions, some faculty feel that they have lost power in the decision-making process.
“We are asking a basic question: How is it that we're firing faculty and seeking to shrink the size of the faculty while, at the same time, we see the administration expanding and administrative salaries at the highest level?” Lybarger said. “That doesn't compute. And, frankly, in my view, it raises a lot of questions about the kinds of decisions that are being made here.”
Members of OU-AAUP believe that the university does not currently embrace the idea of shared governance, Lybarger said. This is an idea outlined by the national AAUP that gives faculty, who have authority over matters related to teaching and research, input in budget decisions and creating a strategic framework.
This includes giving faculty voting rights that allow them to affect budget decisions, especially as these decisions matter to their disciplines. In other words, shared governance allows faculty input to have “bite,” Lybarger said.
That loss of power can be seen in things like the Budget Planning Council, an advisory body made up of faculty, administrators and students tasked with advising the president on budget issues, financial policies and funding priorities.
Joe McLaughlin, an associate professor who used to sit on the BPC, said that over time, the body has become less of a deliberative body where decisions get made and serves more of an information-serving forum.
“At certain points in the year, the Budget Planning Council is asked to take a vote and weigh in on things like tuition increases or fees for new master’s programs. But it's not a place where there's a lot of debate and discussion,” McLaughlin said.
The BPC, or any other faculty-involved budget committee, has never had the power to decide on things that are given significant portions of the budget, like student affairs or athletics, McLaughlin said.
“There’s never a discussion about … those big budget areas in the university and the relative distribution of resources among them,” he said. “The tables that we have seats at are really not the places where the important decisions are being discussed and ultimately made.”
These decisions being made go beyond the discussion of the strength of faculty input, Lybarger said. They affect students’ education, too.
 ” Lybarger said.  If it’s a top-down model, whatever the administration and the Board of Trustees decides is marketable at that particular point in time.”
Lybarger also said that the current changing environment of higher education is a chance for the university to reassess its educational programs.
“What about a strategic investment in the faculty that are here and in their programs to reinforce the strengths of this university as a liberal arts university in Southeastern Ohio and Appalachian Ohio?” Lybarger said.
After the Friday morning protest ended with faculty blowing a whistle and leaving the building, OU President Duane Nellis said at the media availability meeting that the university makes an effort to take into account faculty input for any decision made but that making large budget decisions is a process that requires many different perspectives.
OU-AAUP will hold its next meeting at 4 p.m. on Jan. 31 in Bentley 306.


GitHub - LaundryView - EveryonePrint - iFile - Private
Computation & Logic (course page, piazza, tutorials)
- Hint: Don't worry too much about refutation, it may or may not be on the exam
- Convert a truth table into a logical expression / logic circuit
- The venn diagram generator (based on the official version)
- CNF cheat sheet
- Propositional formula to CNF converter
- Visualizing satisfiability, validity & entailment
- Finite State Machines
Functional Programming (course page, piazza, tutorials)
- Tip by a tutor for the final exam: the exam is open book, so taking in a copy of the previous year's exam paper and solutions may be beneficial
- Past papers
- Allocations: mock, final
- Tree traversal algorithms (view in desktop mode!)
- Learn You A Haskell (official online book)
- Handy basic function cheat sheet
- Emacs: Haskell has died
-
import Test.QuickCheck
doesn't work!
Open up the command line / Terminal, and typecabal install quickcheck
-
"I'm doing
cabal install quickcheck
, but it doesn't work because of something related to satisfying packages... random-1-1...?"
Solution: Trysudo ghc-pkg recache
. Then trycabal install quickcheck
again.
Introduction to Linear Algebra
- Tip from a (current) 3rd year: the maths exams are also open book, so I'd recommend taking in past papers with solutions as they reuse questions a lot. They might not necessarily be the same, but they'll likely be close enough to give you a hand.
- Explanatory videos from Mathapptician
- Khan Academy videos
- Essence of Linear Algebra (videos)
- Answers for Poole
-
The Exam - 3 hours - Open Book
Section A: 40% - 6 questions - conceptual questions, a bit like Tophat
Section B: 60% - 4 questions (pick 3) - longer, conceptual questions
You may bring:- the Poole textbook
- any notes (written / printed notes, nothing bound)
Exam Dates (search)
More from a 3rd year: It's only first year. You only need 40% and it doesn't contribute to your final grade. Chill, it's no big deal.| Exam | Location | Date | ||
|---|---|---|---|---|
| ILA | See 'View' | Thur, 08th 09:30-12:30 (3hrs) | ||
| CL | Pleasance Sports Hall | Thur, 15th 14:30-16:30 (2hrs) | ||
| FP Group A | FH Computer Lab | Tues, 20th 09:30-11:30 (2hrs) | ||
| FP Group B | FH Computer Lab | Tues, 20th 14:30-16:30 (2hrs) | ||
| Physics 1A | Pleasance Sports Hall | Fri, 16th 09:30-11:30 (2hrs) | ||
| Persian 1a | Patersons Land - G1 | Mon, 19th 09:00-12:00 (3hrs) | ||
| Intro to CogSci | Outreach Centre | Wed, 21st 09:30-11:30 (2hrs) |
Other
- View the Quizlet class (see next item to join)
-
Join Quizlet directly here, username:
quizlet
, password: "name of where the drill hall is currently located, lowercase, no spaces" - Common Outside Course Options for Informatics Students (2016/17)
- Reset your DICE password
- Access DICE files online
- CompSoc's website


Getting Result from Partitioning Analysis Use-Case.Description:Gets results from Partitioning Analysis.Assumptions:None.Exceptions:None.


Scotland: Andy Robertson, Ryan Fraser and Scott McTominay 'genuinely injured' - Alex Dyer
by Jane Lewis| Euro 2020 qualifying: Cyprus v Scotland |
|---|
| Venue: GSP Stadium, Stovolos Date: Saturday, 16 November Kick-off: 14:00 GMT |
| Coverage: Listen on BBC Radio Scotland, live text commentary on the BBC Sport Scotland website & app. |
Assistant head coach Alex Dyer says the latest four call-offs from the Scotland squad, including captain Andy Robertson, are all "genuinely injured".
Arsenal asked for Kieran Tierney to be excused from the original squad despite the left-back now playing regularly for his club following hip surgery.
Scott McTominay, Ryan Fraser and Liam Cooper have now all also pulled out for the forthcoming Euro 2020 qualifiers.
"If a player is injured, we can't do anything about it," Dyer said.
"All the ones that have pulled out this time are genuinely injured. It's not like they wanted to be pulled out or didn't want to come."
Celtic winger Lewis Morgan, Derby County midfielder Graeme Shinnie and Hibernian central defender Ryan Porteous have been called up for the matches against Cyprus and Kazakhstan in place of Liverpool left-back Robertson, Manchester United midfielder McTominay, Bournemouth winger Fraser and Leeds United centre-half Liam Cooper.
Dyer admitted that he did not know the details of the latest injuries but insisted that the fact Scotland are now unable to qualify from Group I was not a factor.
"No-one has told us they want us to rest anyone as far as I know," he said. "It's definitely not a dead rubber."
Dyer pointed out that Scotland were trying to improve their results in time for Nations Cup play-offs in March and that it would be "amazing" to taste the "glory" of qualifying for the finals and that the players "all want a taste of it".
Robertson, who delivered the cross for Liverpool's second goal in the 3-1 win over Manchester City on Sunday, will remain with Steve Clarke's Scotland squad for a couple of days but will not travel to Cyprus for Saturday's match.
"It is a big blow, but he's here with us now," Dyer said. "We don't know how bad his injury is, but he wants to be here and around it.
"Andy is an outstanding full-back, one of the best in Europe, if not the world. He's a good captain, so we'll miss him, but there are other players in the squad who will step up and do a good job."
Robertson's absence deprives Clarke of another high-calibre left-back after Tierney was left out of the squad to protect him from aggravating his hip problem.
McTominay was carried off with an ankle injury during Manchester United's 3-1 weekend win over Brighton & Hove Albion, while Fraser played the full 90 minutes of Bournemouth's 2-1 loss at Newcastle United.
Celtic's Morgan is drafted in despite having made just three club appearances since August, while Shinnie, who can play at left-back, has impressed for Derby since breaking into the team last month following his summer move from Aberdeen.
"We've just got to concentrate on the ones that are here," Dyer added. "The ones who want to be here and want to train and play well for their country."
After Scotland face Cyprus in Nicosia on Saturday, they end their Group I campaign at home to Kazakhstan on Tuesday - their last game before the play-off semi-final against an opponent yet to be finalised.
Scotland squad
Goalkeepers: Craig MacGillivray (Portsmouth), David Marshall (Wigan Athletic), Jon McLaughlin (Sunderland)
Defenders: Michael Devlin (Aberdeen), Declan Gallagher (Motherwell), Scott McKenna (Aberdeen), Ryan Porteous (Hibernian), Stephen O'Donnell (Kilmarnock), Liam Palmer (Sheffield Wednesday), Greg Taylor (Celtic)
Midfielders: Stuart Armstrong (Southampton), Ryan Christie (Celtic), John Fleck (Sheffield United), Ryan Jack (Rangers), John McGinn (Aston Villa), Callum McGregor (Celtic), Kenny McLean (Norwich City), Lewis Morgan (Celtic), Graeme Shinnie (Derby County)
Forwards: Oliver Burke (Alaves, on loan from West Bromwich Albion), James Forrest (Celtic), Oliver McBurnie (Sheffield United), Steven Naismith (Heart of Midlothian), Lawrence Shankland (Dundee United)


html2canvas lets you take screenshots of parts of a page using a JavaScript library.
Here is a sample .chart that contains HTML and SVG:
.chart
Click this button below.
Download screenshot
View source


WTI: On the bids near 2-month high, trade news/PMIs in the spotlight
by Anil Panchal- WTI is trading firmer around the highest since late-September.
- Receding calls of a stop in OPEC+ production cuts, geopolitical tension surrounding Iran have recently been making rounds.
- Clarity over the US-China trade deal required, activity numbers from the major economies are also the key.
WTI buyers cheer the latest price positive sentiment at the OPEC+ and geopolitical tension concerning Iran amid a lack of major catalysts on early Friday. That said, the black gold takes the bids to $58.30, near the recently flashed two-month high of $58.70, by the press time.
Russia’s President’s comments to respect commitment to the OPEC+ output reduction seems to have pleased the oil traders off-late. Even so, Reuters said that the Organization of the Petroleum Exporting Countries (OPEC) and its allies, popularly known as OPEC+, has no plans to deepen current oil output cuts during the December meeting.
On the geopolitical front, Iran’s official announcement to have tamed the latest protests, which led to national internet outage, seems to remain under doubt. Also, news that the Houthi rebels have gunned down the Saudi coalition F-15 provided additional strength to the energy benchmark.
Elsewhere, the US-China trade sentiment remains sluggish after the US Congress passed Hong Kong bill. Though, the latest signs that the Trump administration may delay December tariff hikes, coupled with Beijing’s invitation for further trade negotiations, keep buyers hopeful.
Market players are now looking for fresh clues to extend the latest run-up. In doing so, trade headlines and Purchasing Managers Index (PMI) numbers form the Eurozone, the United Kingdom (UK) and the United States (US) will be important to watch. Further, a weekly release of the Baker Hughes US Oil Rig Count, 674 prior, will also gain investor attention.
Technical Analysis
Prices need to close beyond 61.8% Fibonacci retracement of September-October downside, at $58.55, to aim for September 19 high of $59.45 and $60.00. During the pullback, the recent lows near $54.90 and $53.80/75 can become sellers’ favorites.
additional important levels
| Overview | |
|---|---|
| Today last price | 58.27 |
| Today Daily Change | -0.08 |
| Today Daily Change % | -0.14% |
| Today daily open | 58.35 |
| Trends | |
|---|---|
| Daily SMA20 | 56.61 |
| Daily SMA50 | 55.8 |
| Daily SMA100 | 55.96 |
| Daily SMA200 | 57.61 |
| Levels | |
|---|---|
| Previous Daily High | 58.69 |
| Previous Daily Low | 56.63 |
| Previous Weekly High | 58.06 |
| Previous Weekly Low | 56.29 |
| Previous Monthly High | 56.97 |
| Previous Monthly Low | 51.19 |
| Daily Fibonacci 38.2% | 57.9 |
| Daily Fibonacci 61.8% | 57.42 |
| Daily Pivot Point S1 | 57.09 |
| Daily Pivot Point S2 | 55.83 |
| Daily Pivot Point S3 | 55.03 |
| Daily Pivot Point R1 | 59.15 |
| Daily Pivot Point R2 | 59.95 |
| Daily Pivot Point R3 | 61.21 |


NEWS
It took a text message from Syria to a mother in northeast France to reveal the identity of the third killer at the Bataclan concert venue in Paris: Your son died as a martyr Nov. 13. For nearly four weeks, police had failed to identify the third gunman who stormed the concert venue along with two French Islamic extremists, killing nearly three-quarters of the total 130 people who died in the Paris attacks.
The world s top-ranked test side lost a four-match series in India 3-0 last week when it failed to score more than 214 in a single innings, leading the selectors to return to a policy of picking seven specialist batsmen. As a result, De Villiers was named as wicketkeeper on Thursday, with wicketkeeper-batsmen Quinton de Kock and Dane Vilas selected for the South Africa A side that will face England in its second and final warm-up match.
Facebook at Work, Facebook Inc's professional version of its social network, is expected to launch in the coming months, after spending a year in tests, a company executive said. The new service, geared towards workplace collaboration, is nearly identical to its ubiquitous social network, with a scrolling news "feed", "likes" and a chat service.
Since the founding of the cryptocurrency Bitcoin in 2009, its inventor or inventors have been shrouded in mystery. For six years, the individual or group has lurked behind the pseudonym Satoshi Nakamoto and hoarded a pile of the digital currency, so large it might crash the market if sold today.


I've recently started attending raves almost every weekend, and consequently, I have greatly increased my MDMA usage. Although sober raving is possible and still pretty fun, raves are definitely geared towards people in altered mindsets. Regardless, my constant MDMA usage was hard on my mental and physical health, so I contemplated my options. Psychedelics were definitely out. Although I strongly recommend careful and informed psychedelic usage, the experiences I get with them are much more private and introspective, therefore not good for a rave. Alcohol was also most definitely out, as I am not much of a drinker, and I usually have to drive myself and other friends to and from the events (I'll drive after a peak from MDMA is over, but I will NEVER drive drunk).
[Erowid Note: Driving while intoxicated or tripping is dangerous and irresponsible because it endangers other people. Don't do it!]
Straight up weed was also out, as it, again, is not a very active or super-social drug for me. I began to do my research. Ketamine and research chemicals seemed somewhat promising, but the increased dangers associated with these were enough to drive me away, at least for the time being. It was then that a friend suggested that I try an adderall/ cannabis mixture. The energy of an amphetamine combined with the head and body high of the marijuana would be enough to alter my mindset and keep me dancing all night. So I decided to experiment.
I started off by taking the adderall. I've taken it recreationally plenty of times before so I knew that 30 mg would be just enough to have me feeling the effects quite strongly. After the definite onset of the adderall, I ate a fairly strong brownie (sorry, I don't know the exact dosage), and began to drive a friend home a few towns over. After driving for about 15-20 min, I began to feel VERY strange. Now, right off the bat, I was surprised. Usually edibles take a good hour to 2 hours or more to hit me, but I was feeling this one quickly. I continued driving. By the time I reached my friend's exit a good 5-10 minutes later, I was feeling even weirder. My body temperature was fluctuating wildly, and my mind started wandering.
I pulled over and let my friend continue the drive, as I didn't really feel okay to drive. I turned the car light on and looked in the mirror to find that my pupils were fully dilated. As we drove on, my hands wandered obsessively over the car's fabric upholstery and my mind rocketed into a foggy euphoria. I put on some hardstyle techno, and itched to be at a rave, dancing. Mentally and physically, the trip was feeling incredibly similar to rolling, with a slightly more psychedelic edge (I was experiencing slight perceptional disturbances such as blurring of figures, objects drifting in and out of focus, and colors appearing much more vivid).
About 1 hour to 2 hours later, my peak was through and I could drive again, and about 3 hours to 4 hours later I felt normal. I slept soundly and didn't experience a hangover or burnout the following day. The similarities between this combination and MDMA were odd, surprising, and pleasant. Many friends of mine guessed it was due to the placebo effect, but I discounted this as I originally experimented with this combination to find an alternative to E, not a replacement for it. I have tried repeating this combination at raves with somewhat consistent levels of success. Although it falls short of ecstasy by a longshot, it has overall decreased my usage to a much more healthy level, and has been the safest and best alternative.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Edge computing is a distributed information technology (IT) architecture in which client data is processed at the periphery of the network, as close to the originating source as possible.
About the Auther
Aravind S R
1st year
Department of Electrical and Electronics
Data is the lifeblood of modern business, providing valuable business insight and supporting real-time control over critical business processes and operations. Today's businesses are awash in an ocean of data, and huge amounts of data can be routinely collected from sensors and IoT devices operating in real time from remote locations and inhospitable operating environments almost anywhere in the world.
But this virtual flood of data is also changing the way businesses handle computing. The traditional computing paradigm built on a centralized data center and everyday internet isn't well suited to moving endlessly growing rivers of real-world data. Bandwidth limitations, latency issues and unpredictable network disruptions can all conspire to impair such efforts. Businesses are responding to these data challenges through the use of edge computing architecture.
In simplest terms, edge computing moves some portion of storage and compute resources out of the central data center and closer to the source of the data itself. Rather than transmitting raw data to a central data center for processing and analysis, that work is instead performed where the data is actually generated -- whether that's a retail store, a factory floor, a sprawling utility or across a smart city. Only the result of that computing work at the edge, such as real-time business insights, equipment maintenance predictions or other actionable answers, is sent back to the main data center for review and other human interactions..
Thus, edge computing is reshaping IT and business computing. Take a comprehensive look at what edge computing is, how it works, the influence of the cloud, edge use cases, tradeoffs and implementation considerations. Edge computing is all a matter of location. In traditional enterprise computing, data is produced at a client endpoint, such as a user's computer. That data is moved across a WAN such as the internet, through the corporate LAN, where the data is stored and worked upon by an enterprise application. Results of that work are then conveyed back to the client endpoint. This remains a proven and time-tested approach to client-server computing for most typical business applications.
But the number of devices connected to the internet, and the volume of data being produced by those devices and used by businesses, is growing far too quickly for traditional data center infrastructures to accommodate. Gartner predicted that by 2025, 75% of enterprise-generated data will be created outside of centralized data centers. The prospect of moving so much data in situations that can often be time- or disruption-sensitive puts incredible strain on the global internet, which itself is often subject to congestion and disruption.
So IT architects have shifted focus from the central data center to the logical edge of the infrastructure -- taking storage and computing resources from the data center and moving those resources to the point where the data is generated. The principle is straightforward: If you can't get the data closer to the data center, get the data center closer to the data. The concept of edge computing isn't new, and it is rooted in decades-old ideas of remote computing -- such as remote offices and branch offices -- where it was more reliable and efficient to place computing resources at the desired location rather than rely on a single central location.


Code Clones
Logout
Input File
TXL
Exec
Output
Log
Machine Learning Predictions
Neural Network
SVM
Settings
Select Software System to Validate:
Random
Weka
Latex Draw
Logical Or
Image Registration
Image Segmentation


Dogfight * * * * (out of * * * * )
Directed by Nancy Savoca. Cast: River Phoenix, Lili Taylor, Richard Panebianco, Anthony Clark, E.G. Daily, Mitchell Whitfield, Holly Near, Brendan Fraser. 1991 - 94 minutes.  Reviewed October 8, 1998.
Nancy Savoca's "Dogfight" is a virtually unknown gem, and is one of the sweetest, most touching romances of the decade. It was barely released in 1991 by Warner Brothers, who must not have had much faith in such a truthful motion picture, and it shows (since then, they have widely released such gems as 1997's "Batman and Robin," and this year alone, have come out with the likes of "Major League III," and "The Avengers"). "Dogfight," however, is an important film that deserves to be seen, and includes two of the best performances of the 90's.
Set in 1963, primarily during one fateful night, four young Marines stop in a small town for their last night stateside, not knowing the horrors that await them in Vietnam. Together, they decide to participate in the game, "Dogfight," which requires each of them to find the ugliest woman they can find, take her to a party, and then have them judged on the the most unattractive one. The film focuses mostly on Birdlace (River Phoenix, in one of his last movies), who, while looking for a victim, stumbles into a coffee shop and meets Rose (Lili Taylor), an introverted young woman who hides behind frumpy clothes and her love of folk music. They start to talk, and Birdlace asks her to come to the party, and she agrees to it, not believing that someone would actually be interested in her. Birdlace realizes Rose isn't actually "ugly," but it's the best he can do.
That is only the beginning of "Dogfight," a quiet, flawlessly made film, in which not much more should be said, except to say that Birdlace begins to actually like Rose, and it develops into much more of a complex story than it originally seems.
Although the basic plotline may sound cruel and mean-spirited, and it is, at the center of the story is a wonderful, sweet, poignantly written, love story. To get a feel for the type of picture it is, the movie is similar in structure to 1995's "Before Sunrise," which was about two twentysomethings who meet on a train and decide to spend the day together in Venice before going their separate ways. The differences, however, is that this film is set during the Vietnam War and there are much more serious overtones.
If there is one element of "Dogfight" that I could single out as being brilliant in every sense of the word, it is Lili Taylor, who, in one role after the other, gives a three-dimensional, flesh-and-blood performance, and this is her best role to date. Her character is so likable that when bad things happen to her, it is heartbreaking and feels unfair. One of the best scenes occurs early on, after she has been humiliated at the Dogfight, and goes home, turns on her folk record in her bedroom, and simply sits down to listen to it. Sure, she has just been embarrassed, but at least she has her music. Most movies wouldn't have the integrity to include such a small, delicate scene, but it is an important moment.
The last ten minutes of "Dogfight" are what makes the movie really special, however, particularly the startlingly powerful last scene, in which nothing is said or explained, but then, nothing needs to be.
- Copyright 1999 by Dustin Putman Http://hometown.aol.com/FilmFan16/index.html
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


For 13 years, Ohio University’s visual communication program has provided an opportunity for undergraduate and graduate students to work together on a project where teams of students explore different areas of Athens culture that make up the place students and residents know and love.
“It’s an opportunity for students –– not just VisCom students –– and what we try to do is take what students have been learning and give them the chance in a publication environment to do it,” Alost, one of the instructors for Soul of Athens, said, “to figure out all the ins and outs of how do you start up this project from scratch, how do you figure out what kind of content to give to the audiences and then how you’re going to deliver it.”
Alost prides the program on equipping students with skills like team building and time management as well as increasing the complexity of the course each year by integrating new technology and different topics
For all of the students involved, Soul of Athens has been an incredible learning and life-changing experience. But it didn’t just appear over night. Building and maintaining the project takes hard work, dedication and a lot of soul.
Building a tradition
Soul of Athens began in 2007 when two visual communication classes decided to join forces and make something great. Synthesis Storytelling for Visual Communication, or VICO 3921, met with the Interactive Capstone: Advanced Interactive Media, or VICO 4188, and Soul of Athens was born.
Though the project is born out of two courses, it’s a student-run production. The project is guided by Alost and Sell, two professors who help to determine the project topics and assist with questions but mainly gear the lesson toward letting students figure out how to collaborate among themselves.
“While I am technically an instructor of record for the class, we really hand over the reins to the students, and they take it and go,”-Stan Alost, instructor for Soul of Athens
The projects begin when the students are grouped together by the instructors based on their skill sets. The goal of splitting up the students into groups is to even out the playing field so there’s at least one designer, one person who knows how to code and one content provider. Once the groups are arranged as evenly skilled as possible, they’re ready to choose the topics provided by the instructors.
This year, there are five groups with five story focuses: veterans, medical access, intentional communities, lore and religion.
Evann Figueroa, a graduate student, is a part of the religions group. The group’s plan was to find people within the community who are involved in different religious faith or spiritual groups and highlight why their religions are important to them and to Athens as a whole. The point is to showcase Athens as a microcosm of religion compared to the surrounding area and how it’s easy to be accepted within the Athens bubble.
“That’s a part of what makes Athens unique,” Figueroa said. “You can come here, no matter what you’re practicing, and be accepted and able to find people similar to you.”
The group is now working on expanding the three interviews they obtained before spring break to make an interactive story that highlights each individual faith group of their sources.
Lara Perrin, a senior studying visual communication interactive design, is in the veterans group and has weathered the challenge of taking such a broad topic and narrowing it down for a more effective project.
Her group’s story will focus on 9/11 and post-9/11 era veterans because they felt those veterans can be underrepresented.
“You think of older people, I think, when you think of vets, so we wanted to focus on the experience of that younger generation and then tying in the resources or lack thereof for veterans in Appalachia,” Perrin said.
A lot of their research came from seeking out what Athens provides as resources for veterans, and they found two gentlemen who had served recently and did an individualized story about them in the context of their larger research.
Some students have had such a positive experience with Soul of Athens that they’ve taken it multiple times. Nick Bolin, a graduate student, is on his fourth round of taking Soul of Athens. He took the course during his undergraduate degree and is taking it again now in his second year of graduate school.
“Everyone thinks I’m crazy, but it’s a class that every time you take it it’s different ... there’s different people and different stories, and it challenges you to think in different ways of using different storytelling methods.”-Nick Bolin, graduate student
The semester-long project seemed to be going along swimmingly. Everyone had a handle on their topics and sources, and both Alost and Sell were proud of how everything was progressing.
That is, until they were hit with the challenges of the coronavirus pandemic.
Facing challenges
Once the coronavirus shut down in person classes at OU, Alost and Sell had to scramble to figure out an alternative.
“It happened right at a point where they really hit their stride as a collaboration. They really understood where they were heading. They had their plans together ... So all of the sudden having to go online and not in person with that has been a big adjustment,” Sell said.
The students were already about 10 weeks into their projects, so no one wanted to stop there. They quickly transitioned into online classes, with meetings through virtual services, like Zoom and Microsoft Teams, and working on the projects through Adobe Creative Cloud.
Though some students like Figueroa had sources fall through last minute due to the chaos of the pandemic, most of the groups have been able to take the research and interviews they already had before they left for spring break and expand on them to finish their projects.
“All those things that they had figured out: how to work together, how to collaborate, how to communicate, the types of projects and stories they want to tell, those have maintained,” Sell said. “I’ve been so impressed with how they’ve held on to that.”
Though the pandemic proves to be a challenge with communication, some groups are working to incorporate the pandemic into their projects as a way to make the best of a bad situation. All of the students are working hard to stay communicative and collaborative with their peers, an aspect that Alost and Sell greatly admire.
For undergraduate seniors like Perrin and Nicole Dinan, it’s been a heartbreaking experience to have to finish the remainder of the project and college in general virtually. However, with all of the progress made on their projects, they know it’s important that they put their disappointment aside to finish what they started.
“It’s super disappointing to have the last part of the semester change so drastically,” Dinan said in an email. “We already put a ton of time and effort into creating these projects, and we all want to see our hard work be rewarded.”
Putting their souls into it
Alost, Sell, Bolin and Figueroa agree with Perrin and Dinan that though the semester’s end is not as they had anticipated, the tradition of Soul of Athens deserves to be executed as if nothing stood in their way.
“I think it’s a matter of creative problem solving,” Figueroa said. “I don’t think anybody ever thought, ‘This is it. We’re not going to finish this semester.’ I think because of our specific field, there’s so many options that there was no way we could have ever been halted completely.”
Not only do the professors and students feel it’s important to continue with the projects, but they also have appreciated having that connection with each other during this chaotic time.
“It’s really helpful to see people’s reactions and hear their voices,” Perrin said. “I don’t think I really understood how important that was until this situation happened, and now it’s like, ‘Oh, my God. I can’t wait to be back in person with these people.’”
All of the past projects for Soul of Athens can be found on its website, and all of the 2020 projects will launch on the website on April 21.


Owersite - Knows C# & likes .NET Reverse Engineering, learning Python! - Selfbot Project CEO.
eqwyz - Currently learning Python - Selfbot Project Co Ceo.
equals - Good at networking, learning Python! - Selfbot Project Co CEO.
flowito - Knows Python & C - Selfbot Project Co CEO.


Unassigned bus places: {{displayMatchingResults.count_un_busses}}
total unassigned participants: {{displayMatchingResults.count_unassigned_people}}


5 of 18
Becky Bittle - Biotechnology Track Co - chair
Mike Siok - Conference Chairman
Bob Manney, VP of Engineering, Lockheed Martin Aeronautics


Drums
Slow
Slow
Slow
Bass
Buildup
Shaker
Variations
Outro
Lead
Buildup
Outro
Piano
Variations
Outro
Piano
Light
Variations
Pad
Buildup
Arp
Outro
FX
Variation
Variation
Master
1
2
3
4
5
6
7
8


Mesibo HTTP Library
Estimated reading time: 13 minutesIntroduction
Mesibo HTTP is a light but fast and powerful http client library compliant with RFC 7230-7235, 1738, 2046. It is an extension of mesibo real-time Client APIs.
Mesibo HTTP not only makes networking easier, but also makes it faster, and cross-platform (Android, iOS). It lets you control almost all aspects of the HTTP protocol giving you finer control over HTTP requests.
While there are some good HTTP libraries such as Volley for Android and AFNetworking for iOS, mesibo has the distinct advantage of being cross platform by offering the same APIs across platforms thus eliminating the need to use different libraries for different platforms. mesibo HTTP also performed faster in a benchmark test and has the smaller memory footprint.
Advantages of using mesibo HTTP over other APIs:
- Unified programming interface across Android and iOS, eliminating the need for using two different libraries for Android and iOS.
- Very fast - during the lab testing, it was found to perform 50% faster than Volley/URLConnection (Android) and AFNetworking (iOS) for uploading and downloading large files.
- Ultra small memory footprint - default is 64KB and you can change in configuration (bufferSize).
- Configurable to the core - almost all aspects of HTTP protocols, security, proxy, cache, content encoding, retries, resume, keep-alive and so on.
- HTTP Request queuing and throttling
- HTTP persistent connections and request pipelining
- Efficient and configurable cache
- Resuming broken downloads and uploads
- POST, upload, download - all can be combined in a single request, if required Seamless and automatic support of multi-part requests
- HTTP Basic Digest authentication
- Proxy authentication
- Precise status and progress update of every state of HTTP protocol
- Settable Timeouts for every state of the protocol (connection, headers, body)
- Cancelable requests
- Synchronous and Asynchronous mode of operation
- Special Content-Size header processing in case of chunked transfer
- [iOS] PHAsset capable.
- No additional module dependencies
Creating a network request using mesibo HTTP is as simple as constructing a mesibo Http object, assigning a listener and executing it (or queueing it). When you invoke execute(), mesibo initiates http connection and updates you in real-time about the progress by invoking your listener. You could also use executeAndWait() instead of execute() to wait till the execution is completed or error, if any. Following are two sample codes:
Installation
Mesibo HTTP library is bundled with the Mesibo real-time API library. Hence, no separate installation is required. Refer to Installation instructions for detail.
Android Sample code for downloading a file with resume:
iOS Objective-C Sample code for sending a simple POST request
Queuing & limiting simultaneous connections
In above code examples, all the HTTP requests execute immediately and parallelly; however, often it’s desirable to queue the requests to limit the resource utilization and the number of simultaneous connections. This is where queue helps.
Queue lets you control the number of HTTP requests to execute in parallel. You can add your request into the front or the back of a queue, and queue processes one by one from the front. If the number of simultaneous connection limit is not reached, then the queue executes request immediately, else it will wait for the next available slot.
You can have a global request queue or multiple queues per destination as required by your application.
Sending an http request in a queue is almost the same as above examples; however, instead of executing it, you use queue() function as shown below
Caching
Mesibo gives you precise control over the cache. By default, the cache is enabled and the responses are cached adhering to standard and server response. mesibo will not cache if the server has restricted response from being cached. It also re-validates the cached objects as recommended by the server in its cache control response headers.
You can, however, override this default behavior per request using various caching options in HTTP object; for example, forced caching or forced reading from the cache without revalidating. For more details, refer to HTTP object documentation below.
By default, the cache is enabled. Mesibo uses app cache folder to store the cache objects. The size of the cache is limited by the system-recommended cache size. You can, however, override the cache folder and the max size by invoking static method - ‘setCacheFolder’. Note, this is a global change and all the subsequent invocations will use this new folder.
[Android]
[iOS]
Persistent Connections (Keep-Alive) and Requests Pipelining
By default, Mesibo enables intelligent Keep-Alive and request pipelining for effective resource utilization and to get faster responses. You can, however, turn off this behaviour per request by setting the ‘persistent’ field to false in the HTTP object.
Asynchronous Callback Thread
By default, Mesibo invokes listener in the main thread and you don’t have to code extra. You can, however, override this behaviour in two ways by:
- disabling it by setting onMainThread field to false in the Http object.
OR
- [For Android] defining your own android.os.handler object and setting it to Http.handler field. Mesibo will then invoke listener using that handler. [For iOS] defining your own dispatch_queue and setting it to Http.handler field. Mesibo will then post listener to that dispatch queue.
Mesibo HTTP Object
Following is the description of all the parameters of Mesibo Http object for both, Android and iOS.
Android:
Mesibo.Http
iOS:
[Mesibo Http]
All the fields except url are OPTIONAL and can be left uninitialized.
Basic Configuration Fields
| url | ServerURL, both http and https url are supported. You can also pass authentication information in url. For example<EMAIL_ADDRESS>|
| proxy | Proxy URL. Similar to url field, you can also pass authentication information here. |
| post | Raw POST data |
| postBundle | POST key value string pairs.For Android, key value pairs can be passed in a Bundle().For iOS, NSDictionary is used to pass key value pairs.Key and Values will be URL encoded before sending to server. This field is ignored if ‘post’ field is specified. |
| contentType | Content-Type header to be sent if post or postBundle parameter is specified. Default is application/x-www-form-urlencoded. You typically don’t need to change this field unless you know what you are doing. |
| cookie | Send HTTP Cookie Header |
| downloadFile | Path where downloaded file will be saved. |
| downloadOffset | Offset from where to start download, default 0 |
| downloadEnd | Offset where download to be stopped, default, end of the file |
| uploadFile | Path of the file to be uploaded |
| uploadPhAsset | [iOS only] PHAsset Object |
| uploadLocalIdentifier | [iOS only] PHAsset local identifier |
| uploadOffset | Offset from where to start upload, default 0 |
| uploadEnd | Offset where upload to be stopped, default, end of the file |
| uploadFileField | POST field name for file being uploaded. Default file |
| uploadFileOffsetField | POST field name for upload offset. Your server can use this field to append partially uploaded file. Default file_offset |
| uploadFileName | File name to be sent to server. If none is specified, actual file name without the path will be sent. |
| uploadFileType | File Type to be sent |
| extraHeaders | Any custom headers you like to send |
| userAgent | User Agent, default mesibo/x.x |
| referrer | HTTP referrer header |
| origin | HTTP origin header |
| encoding | HTTP content encoding header |
| cacheControl | HTTP Cache Control header |
| ims | Set If-Modified-SInce header, timestamp |
Connection Control Fields
| bufferSize | Set buffer size for reading/writing files and the network connection. Default 64K, Increasing it may slightly increase the performance. |
| caCertificateFile | SSL Root CA certificate file path. SSL Host verification will be performed only if a valid CA certificate is specified. |
| connectionTimeout | Connection Timeout, in milliseconds |
| headerTimeout | Response Header Timeout, in milliseconds |
| bodyTimeout | Body packet timeout, in milliseconds. |
| headerOnly | Don’t download the response body (HEAD request). Useful to query the file info. Default, false. |
| resume | Download resume mode. If false, the downloaded file will be overwritten instead of appending. Default is true. |
| persistent | Keep Persistent (Keep-Alive) connection. Default is true. |
| sendCacheHeader | Send no cache header. Only useful if proxy is used. |
| concatData | Concatenate as much response data as possible (up to bufferSize) before invoking listener. Default is true if downloadFile is not specified. |
Cache Control Fields
| readCache | Enable or disable reading from cache. Default, true |
| readCacheForced | Do not validate read cache. Default, false |
| updateCache | Enable or disable updating cache. Default, true |
| updateCacheForced | Cache response even if server restricted (no-store) from storing it. Default, false |
Listener and App Context Fields
| listener | Listener to be called. mesibo invokes listener with three parameters<ol>- this object- State - state can be either STATE_UPLOAD (sending header, sending post data and/or uploading file ) or STATE_DOWNLOAD (receiving response data / download file data)- Progress, 0 to 100. In case of error, -1 will be sent and error field will be set.</ol>Return Value: listener MUST return true to continue or false to abort/cancel.Listener MUST always check the state before interpreting the progress. For example, when sending a POST request, listener will be invoked twice with progress == 100: first time when the post data is sent and the second time when the response is received. In this case, received response is only valid when percent == 100 and the state is STATE_DOWNLOADFor Android, listener is an instance of mesibo.HttpListener().For iOS, it’s a block of type mesibo_HttpListner. |
| onMainThread | Invoke listener in the main thread. Set this to false if you don’t need to update UI. Default, true |
| handler | Optional, default null (android) or nil(iOS)[Android] android.os.handler object where listener will be posted[iOS]dispatch_queue where listener will be posted |
| other | User-defined object (for example, to store app state or context) |
Response Fields
| result | Result, 0 for success, error otherwise |
| respCode | HTTP protocol response code |
| errorCode | Error Code |
| error | Error String |
| state | State, STATE_UPLOAD or STATE_DOWNLOAD |
| progress | Progress |
| contentLength | Content Length in bytes.Note: In some cases, the server does not send Content-Length header, especially for chunked transfer (dynamic data). In such cases, you can send a special header, Content-Size, and it will be reflected here if the Content-Length header is not present. |
| offset | Content Offset (for broken & resumed downloads) |
| respEncoding | Response encoding |
| respCached | True if the response came from the cache. |
| ts | Execution timestamp |
Methods
| execute | Start execution and return immediately |
| executeAndWait | Start execution and wait for it to be completed |
| cancel | Cancel execution |
| getData | Get response data as byte array.Data will be null (nil on iOS) if downloadFile is specified. |
| getDataString | Get response data as string.Data will be null (nil on iOS) if downloadFile is specified. |
| urlEncode | URL encode a string |
| setCacheFolder | [static method] applies to all subsequent requests Path, cache pathSize, maximum cache size in bytes |