--- layout: member_profile title: "Faustine Cantalloube" permalink: /members/cantalloube/ name: "Faustine Cantalloube" affiliation: "Max Planck Institute for Astronomy" jointaffiliation: country: "Germany" position: "Post-Doctoral Researcher" researchtitle: Image processing for the detection and characterization of exoplanets in high contrast images summary: "In the field of exoplanet detection, I am working on image processing techniques to extract exoplanets and disks signals within high contrast images obtained from ground-based telescopes. The methods I am working on are based on an inverse problem approach, which requires an accurate imaging model as well as prior knowledge both on the instrument and on the sought objects. In that framework, I am simulating high-contrast images from instruments such as VLT/NaCo and VLT/SPHERE and I am comparing it to the real data they deliver to study their current limitations. I’m also involved in the ELT/METIS first light instrument, doing SCAO simulations." prior: orcid: website: linkedin: rgate: research: ["Exoplanets" , "High Contrast Imaging" , "Signal Processing" , "High Angular Resolution" ] keywords: "Exoplanets -- High Contrast Imaging -- Signal Processing -- High Angular Resolution" email<EMAIL_ADDRESS>image_path: /assets/img/member/cantalloube.jpg ---
Current Research Summary:
{{ page.summary}}Prior Research:
{{ page.prior}}


org.md2k.phonesensor.phone.sensors
Classes
Accelerometer
AccelerometerTest
AmbientLight
AmbientTemperature
Battery
Compass
CPU
Gyroscope
Memory
PhoneSensorDataSource
PhoneSensorDataSources
Pressure
Proximity
StepCount
TouchScreen


Unless I am missing something obvious, using the Equinox HttpService requires one to:
-
a) get the HttpService from the OSGi service registry
-
b) register the HttpServlet on the HttpService via a call to registerServlet(..)
This can be done however much more elegantly and - way more importantly - in a dynamic aware fashion meaning, that the HttpServlet that is registered survives life-cycle changes of the HttpService.
E.g. consider the case where one registers the HttpServlet with registerServlet(..) and the HttpService is redeployed afterwards. Unless the HttpService maintains its internal state (which is rather unlikely if e.g. Tomcat gets replaced with Jetty), the HttpServlet won't be available anymore and consumer code will have to re-register the HttpServlet again (by listening to life-cycle changes of the HttpService). If, on the other hand the HttpServlet is simply registered with the OSGi service registry as a javax.servlet.Servlet μService (SR never goes away), the HttpService itself (or an extender as a matter of fact) can lookup all services of the javax.servlet.Servlet type whenever its need to (read when the HttpService transitions through life-cycle changes).
To leverage this on Equinox, just follow the steps below:
-
Download recent versions of both bundles 'HTTP Service API' and 'HTTP Service Whiteboard' to e.g. Eclipse's dropins/ folder
- It is version 2.2.2 as of writing
-
Add also bundle org.eclipse.equinox.http.jetty and its dependencies to the launch configuration
- Alternatively use Felix's incarnation of Jetty called 'HTTP Service Jetty'
-
package org.kuppe.exmpl; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ChatServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setStatus(HttpServletResponse.SC_OK); } }
-
<?xml version="1.0" encoding="UTF-8"?> <scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" immediate="true" name="org.kuppe.exmpl.chat.web"> <implementation/> <service> <provide interface="javax.servlet.Servlet"/> </service> <property name="alias" type="String" value="/chat"/> </scr:component>
-
Set 'Bundle-ActivationPolicy: lazy' and list the component xml as a Service-Component for the DS extender in the MANIFEST.MF
- Do not forget to explicitly add DS org.eclipse.equinox.ds to your launch until capabilites are available
-
Optionally add -Dorg.eclipse.equinox.http.jetty.http.port=8181 to change the Jetty port to 8181
Also read the generic Apache Felix Http whiteboard instructions!


☰
Sign Up
My Profile
Books
Login
Welcome to
Choose File...
FirstName
Username
Old Password
New Password
Confirm New Password
Email
Submit
User Select
Books
My Books
Loan History
Populate Panel
This is a Basic panel
Library Books
Author
Category
Book 1
Ben
Horror
Book2
Ben2
Romance
©Benny in Patnership with Andela


|
By Eric Lawrey, Copyright 1997
This page shows some OFDM examples to demonstrate
the effect of noise on the OFDM signal and several other tests. The aim
was to be able to demonstrate these effects on the OFDM signal.
| Parameter |
Value |
| FFT size |
2048 |
|
Number of Carriers
|
800
|
|
Guard Period
|
512 samples
|
|
Guard Type
|
Half cyclic extension, half zero amplitude
|
|
Sample rate of OFDM signal
|
44.1kHz
|
|
Bandwidth
|
17.5kHz
|
Original Sound Transmission (Music by the Corrs)
The small sound clip was used as the data
source for the OFDM transmission. The wavefile was transfered across the
simulated link as channel noise was varied. This shows effect of the channel
noise of the data being transfered.
Figure 1 Complete OFDM signal for sound
transmission (using QPSK)
OFDM
signal (683kB)
| Parameter |
Value |
| Multipath |
None |
| Peak Power Compression |
None |
| Input Data Wave Format |
4.33sec, Mono, 11kHz, 8bit |
| OFDM signal length |
15.26sec |
| Parameter |
Result |
| SNR |
12dB |
| Bit Error Rate |
0.000277 |
| RMS phase error |
12.1 degrees |
| Total Number of errors |
53 |
| Received Data |
SNR12dB_QPSK.wav (47kB) |
| Parameter |
Result |
| SNR |
8dB |
| Bit Error Rate |
0.02145 |
| RMS phase error |
19.37 degrees |
| Total Number of errors |
4105 |
| Received Data |
SNR8dB_QPSK.wav (47kB) |
| Parameter |
Result |
| SNR |
4dB |
| Bit Error Rate |
0.1591 |
| RMS phase error |
33.31 degrees |
| Total Number of errors |
3.044e+004 |
| Received Data |
SNR4dB_QPSK.wav (47kB) |
Figure 2 Complete OFDM signal for sound transmission (using QPSK)
OFDM
signal (203kB)
The 256PSK modulation was achieved by sending
each 8bit sample of the input data sound file, was sent as one carrier
on one symbol. Using this, the amplitude of the input wave file is mapped
to a proportional phase angle, thus any phase error occuring in the transmission
results in noise on the data soud file.
| Parameter |
Value |
| Multipath |
None |
| Peak Power Compression |
None |
| Input Data Wave Format |
4.33sec, Mono, 11kHz, 8bit |
| OFDM signal length |
4.702sec |
| Parameter |
Result |
| SNR |
12dB |
| Bit Error Rate |
0.9534 |
| RMS phase error |
11.89 degrees |
| Total Number of errors |
4.561e+004 |
| Received Data |
SNR12dB_256PSK.wav (47kB) |
| Parameter |
Result |
| SNR |
8dB |
| Bit Error Rate |
0.9716 |
| RMS phase error |
19.35 degrees |
| Total Number of errors |
4.648e+004 |
| Received Data |
SNR8dB_256PSK.wav (47kB) |
| Parameter |
Result |
| SNR |
4dB |
| Bit Error Rate |
0.982 |
| RMS phase error |
33.05 degrees |
| Total Number of errors |
4.698e+004 |
| Received Data |
SNR4dB_256PSK.wav (47kB) |
|
256PSK wuth Data Averaging
|
4 repeats of each symbol were sent using
256PSK modulation. This gives the same data rate and bandwidth as QPSK.
The phase angle of the 4 repeats of each symbol were averaged at the receiver,
effectively reducing the noise by 6dB. This results in the signal having
better performance then QPSK for SNR conditions <~9dB.
Figure 3 Clipped OFDM signal (clipped by 12dB)
OFDM
signal (683kB)
| Note: The clipped OFDM signal
is much louder as the peak to RMS power of the signal is much lower, resulting
in more signal energy of the same maximum amplitude. The signal was rescaled
back up in amplitude after clipping. |
In this test the OFDM signal is clipped
so that the peak power of the signal is reduced. Clipping of the OFMD signal
causes intermodulation distortion leading to an increase in the bit error
rate. This test also shows the peak to RMS power ratio for the OFDM signal
before and after clipping. The non-clipped OFDM signal has a peak to RMS
power ratio of 13.8dB, which is quite high. This could explain why clipping
the signal by up to 9dB has little effect on the error rate.
Close up of 12dB clipped OFDM signal
Click on the image for larger version
This shows a close up of the clipped OFDM
signal. It can be seen that the signal is still very complex, however the
signal is more dense the the original signal |
Close up of original OFDM signal
Click on the image for a larger version
This is a close up of the OFDM signal.
It shows that the signal simply looks like white noise.
|
The next table shows the effect of clipping
a normal wave file. The original sound file was clipped in the same way
as the OFDM signal, to give an idea of how much distortion is caused by
clipping a signal. Clipping the signal doesn't have as much effect as you
would expect. The music is still quite understandable.
| Peak Power Compression |
12dB |
20dB |
| Clipped Original Wave File |
(47kB) |
(47kB) |
| Parameter |
Value |
| Multipath |
None |
| Input Data Wave Format |
4.33sec, Mono, 11kHz, 8bit |
| OFDM Max Signal Level |
0.0889 |
| OFDM RMS Signal Level |
0.0182 |
| OFDM Peak to RMS power ratio |
13.7635dB |
| OFDM signal length |
15.36sec |
The results in the above table are for the original OFDM signal before any clipping.
| Parameter |
Result |
| Peak Power Compression |
12dB |
| Bit Error Rate |
0.003543 |
| RMS phase error |
15.14 degrees |
| Total Number of errors |
678 |
| Max Signal Level |
0.02174 |
| RMS Signal Level |
0.01393 |
| Peak to RMS power ratio |
3.867dB |
| Received Data |
COMP12dB_QPSK.wav (47kB) |
| Parameter |
Result |
| Peak Power Compression |
20dB |
| Bit Error Rate |
0.1205 |
| RMS phase error |
29.59 degrees |
| Total Number of errors |
2.306e+004 |
| Max Signal Level |
0.008691 |
| RMS Signal Level |
0.007097 |
| Peak to RMS power ratio |
1.76dB |
| Received Data |
COMP20dB_QPSK.wav (47kB) |
|


It's all about the message...
"..serialization is the process of translating data structures or object state into a format that can be stored (for example, in a file or memory buffer, or transmitted across a network connection link) and reconstructed later in the same or another computer environment."
Nothing to see here. Nope.
And certainly not the AQ Character Lineator.
So you think you want to do this??
Matt Richardson
<EMAIL_ADDRESS>https://github.com/lo-co


Delete feature function is used to physically delete your feature icon file, program file, and related database table(s), not just hide it from the
first page on the login decoy site. This process is irreversible, so please use it with care.
Clicking on the 'cross' image of the feature you wanted to delete from the feature list (figure 6.1.3), screen like figure 6.4.1 will be displayed.
In there, the feature icon image and program file name will be shown. If your feature is database related and you want to remove all tables which
are no longer needed, you should create a SQL command script file to drop those tables, and input it on the field for SQL script file. Then, you may
click the button 'Delete' to proceed. You will then be asked twice to confirm the deletion. If you select 'OK' on both confirmation dialog boxes, the
system will delete the feature.
If everything is OK, you will be redirected to the feature list. Otherwise, error message will be shown and you will return to delete feature screen.
|


SAT
12 oC
SUN
23 oC
MON
17 oC
TUE
23 oC
WED
27 oC
THU
38 oC
Lester, London
MONDAY May 11, 2017
29° C
Day Rain
SAT
12 oC
SUN
23 oC
MON
17 oC
TUE
23 oC
WED
27 oC
THU
38 oC
California
Fri 20/5
27o C
California
Fri 20/5
27o C
29° C
California, U.S
40 kmph60%
29° C
California, U.S
12.11.2019
30oC /9o C
3oC /9o C
30oSunny


coronavirus
COVID UPDATE
home
about us
precaution
Lists
bihar
confirm
recover
active
death
all over india
confirm
recover
active
death


from cis_interface.drivers.ConnectionDriver import ConnectionDriver
from cis_interface.drivers.ServerResponseDriver import ServerResponseDriver
from cis_interface.drivers.ClientRequestDriver import CIS_CLIENT_INI
[docs]class ServerRequestDriver(ConnectionDriver):
r"""Class for handling server side RPC type communication.
Args:
model_request_name (str): The name of the channel used by the server
model to send requests.
request_name (str, optional): The name of the channel that should be
used to receive requests from the client request driver. Defaults to
model_request_name + '_SERVER' if not set.
comm (str, optional): The comm class that should be used to
communicate with the client request driver. Defaults to
tools.get_default_comm().
comm_address (str, optional): Address for the client request driver.
Defaults to None and a new address is generated.
**kwargs: Additional keyword arguments are passed to parent class.
Attributes:
comm (str): The comm class that should be used to communicate
with the server driver. Defaults to tools.get_default_comm().
comm_address (str): Address for the client request driver.
response_drivers (list): Response drivers created for each request.
nclients (int): Number of clients signed on.
"""
_is_input = True
def __init__(self, model_request_name, request_name=None,
comm=None, comm_address=None, **kwargs):
if request_name is None:
request_name = model_request_name + '_SERVER'
# Input communicator
icomm_kws = kwargs.get('icomm_kws', {})
icomm_kws['comm'] = comm
icomm_kws['name'] = request_name
icomm_kws['no_suffix'] = True
icomm_kws['is_server'] = True
if comm_address is not None:
icomm_kws['address'] = comm_address
icomm_kws['close_on_eof_recv'] = False
kwargs['icomm_kws'] = icomm_kws
# Output communicator
ocomm_kws = kwargs.get('ocomm_kws', {})
ocomm_kws['comm'] = None
ocomm_kws['name'] = model_request_name
kwargs['ocomm_kws'] = ocomm_kws
# Parent and attributes
super(ServerRequestDriver, self).__init__(model_request_name, **kwargs)
self.env[self.ocomm.name] = self.ocomm.address
self.response_drivers = []
self.nclients = 0
self.comm = comm
self.comm_address = self.icomm.address # opp_address
self._block_response = False
@property
def last_header(self):
r"""dict: Information contained in the header of the last message
received from the client model."""
if self.icomm._last_header is None:
raise AttributeError("No new requests have been received, so there "
+ "does not yet exist information required for "
+ "creating a response comm and fowarding the "
+ "request.")
return self.icomm._last_header
@property
def request_id(self):
r"""str: Unique ID for the last message."""
return self.last_header['request_id']
@property
def request_name(self):
r"""str: The name of the channel used to receive requests from the
client request driver."""
return self.icomm.name
@property
def response_address(self):
r"""str: The address of the channel used by the server response driver
to send responses."""
return self.last_header['response_address']
[docs] def close_response_drivers(self):
r"""Close response drivers."""
with self.lock:
self.debug("Closing response drivers.")
self._block_response = True
for x in self.response_drivers:
x.terminate()
self.response_drivers = []
[docs] def close_comm(self):
r"""Close response drivers."""
self.close_response_drivers()
super(ServerRequestDriver, self).close_comm()
[docs] def printStatus(self, *args, **kwargs):
r"""Also print response drivers."""
super(ServerRequestDriver, self).printStatus(*args, **kwargs)
for x in self.response_drivers:
x.printStatus(*args, **kwargs)
[docs] def on_client_exit(self):
r"""Close input comm to stop the loop."""
self.debug('')
self.wait_close_state('client exit')
with self.lock:
self.icomm.close()
self.wait()
self.confirm_output()
self.debug('Finished')
[docs] def on_eof(self):
r"""On EOF, decrement number of clients. Only send EOF if the number
of clients drops to 0."""
with self.lock:
self.nclients -= 1
self.debug("Client signed off. nclients = %d", self.nclients)
if self.nclients == 0:
self.debug("All clients have signed off.")
return super(ServerRequestDriver, self).on_eof()
return self.icomm.empty_obj_recv
[docs] def on_message(self, msg):
r"""Process a message checking to see if it is a client signing on.
Args:
msg (bytes, str): Message to be processed.
Returns:
bytes, str: Processed message.
"""
with self.lock:
if msg == CIS_CLIENT_INI:
self.debug("New client signed on.")
self.nclients += 1
msg = self.icomm.empty_obj_recv
return msg
return super(ServerRequestDriver, self).on_message(msg)
[docs] def send_message(self, *args, **kwargs):
r"""Send a single message.
Args:
*args: Arguments are passed to parent class send_message.
**kwargs: Keyword arguments are passed to parent class send_message.
Returns:
bool: Success or failure of send.
"""
if self.ocomm.is_closed:
return False
# Start response driver
is_eof = kwargs.get('is_eof', False)
if not is_eof:
self.debug("Starting new ServerResponseDriver at: %s" %
self.response_address)
with self.lock:
if (not self.is_comm_open) or self._block_response: # pragma: debug
self.debug("Comm closed, not creating response driver.")
return False
drv_args = [self.response_address]
drv_kwargs = dict(comm=self.comm, msg_id=self.request_id,
request_name=self.name)
try:
response_driver = ServerResponseDriver(*drv_args, **drv_kwargs)
self.response_drivers.append(response_driver)
response_driver.start()
self.debug("ServerResponseDriver started.")
except BaseException: # pragma: debug
self.exception("Could not create/start response driver.")
return False
# Send response address in header
kwargs.setdefault('header_kwargs', {})
kwargs['header_kwargs'].setdefault(
'response_address', response_driver.model_response_address)
kwargs['header_kwargs'].setdefault('request_id', self.request_id)
return super(ServerRequestDriver, self).send_message(*args, **kwargs)


perl5301delta - what is new for perl v5.30.1
This document describes differences between the 5.30.0 release and the 5.30.1
release.
If you are upgrading from an earlier release such as 5.29.0, first
read perl5300delta, which describes differences between 5.29.0 and
5.30.0.
There are no changes intentionally incompatible with 5.30.1. If any exist, they
are bugs, and we request that you submit a report. See "Reporting
Bugs" below.
- •
- Module::CoreList has been upgraded from version 5.20190522 to
5.20191110.
We have attempted to update the documentation to reflect the changes listed in
this document. If you find any we have missed, send email to<EMAIL_ADDRESS><EMAIL_ADDRESS>Additionally, documentation has been updated to reference GitHub
as the new canonical repository and to describe the new GitHub pull request
workflow.
- •
- The "ECHO" macro is now defined. This is
used in a "dtrace" rule that was
originally changed for FreeBSD, and the FreeBSD make apparently predefines
it. The Solaris make does not predefine
"ECHO" which broke this rule on Solaris.
[perl #17057] <https://github.com/perl/perl5/issues/17057>
Tests were added and changed to reflect the other additions and changes in this
release.
- Win32
- The locale tests could crash on Win32 due to a Windows bug, and separately
due to the CRT throwing an exception if the locale name wasn't validly
encoded in the current code page.
For the second we now decode the locale name ourselves, and
always decode it as UTF-8.
[perl #16922]
<https://github.com/perl/perl5/issues/16922>
- Setting $) now properly sets supplementary group
ids, if you have the necessary privileges. [perl #17031]
<https://github.com/perl/perl5/issues/17031>
- "readline @foo" now evaluates
@foo in scalar context. Previously, it would be
evaluated in list context, and since readline() pops only one
argument from the stack, the stack could underflow, or be left with
unexpected values on it. [perl #16929]
<https://github.com/perl/perl5/issues/16929>
- sv_gets() now recovers better if the target SV is modified by a
signal handler. [perl #16960]
<https://github.com/perl/perl5/issues/16960>
- Matching a non-"SVf_UTF8" string against
a regular expression containing Unicode literals could leak an SV on each
match attempt. [perl #17140]
<https://github.com/perl/perl5/issues/17140>
- "sprintf("%.*a", -10000, $x)"
would cause a buffer overflow due to mishandling of the negative precision
value. [perl #16942]
<https://github.com/perl/perl5/issues/16942>
- "scalar()" on a reference could cause an
erroneous assertion failure during compilation. [perl #16969]
<https://github.com/perl/perl5/issues/16969>
Perl 5.30.1 represents approximately 6 months of development since Perl 5.30.0
and contains approximately 4,700 lines of changes across 67 files from 14
authors.
Excluding auto-generated files, documentation and release tools,
there were approximately 910 lines of changes to 20 .pm, .t, .c and .h
files.
Perl continues to flourish into its fourth decade thanks to a
vibrant community of users and developers. The following people are known to
have contributed the improvements that became Perl 5.30.1:
Chris 'BinGOs' Williams, Dan Book, David Mitchell, Hugo van der
Sanden, James E Keenan, Karen Etheridge, Karl Williamson, Manuel Mausz, Max
Maischein, Nicolas R., Sawyer X, Steve Hay, Tom Hukins, Tony Cook.
The list above is almost certainly incomplete as it is
automatically generated from version control history. In particular, it does
not include the names of the (very much appreciated) contributors who
reported issues to the Perl bug tracker.
Many of the changes included in this version originated in the
CPAN modules included in Perl's core. We're grateful to the entire CPAN
community for helping Perl to flourish.
For a more complete list of all of Perl's historical contributors,
please see the AUTHORS file in the Perl source distribution.
If you find what you think is a bug, you might check the perl bug database at
<https://rt.perl.org/>. There may also be information at
<http://www.perl.org/>, the Perl Home Page.
If you believe you have an unreported bug, please run the perlbug
program included with your release. Be sure to trim your bug down to a tiny
but sufficient test case. Your bug report, along with the output of
"perl -V", will be sent off to
<EMAIL_ADDRESS>to be analysed by the Perl porting team.
If the bug you are reporting has security implications which make
it inappropriate to send to a publicly archived mailing list, then see
"SECURITY VULNERABILITY CONTACT INFORMATION" in perlsec for
details of how to report the issue.
If you wish to thank the Perl 5 Porters for the work we had done in Perl 5, you
can do so by running the "perlthanks"
program:
perlthanks
This will send an email to the Perl 5 Porters list with your show
of thanks.
The Changes file for an explanation of how to view exhaustive details on
what changed.
The INSTALL file for how to build Perl.
The README file for general stuff.
The Artistic and Copying files for copyright
information.


What is codebuddies?
Why should I use CB?
Contribute to CB
Username can contain any letters or numbers, without spaces
Please provide your E-mail
Password should be at least 4 characters
Please confirm password


apng-js demo
See
github.com/davidmz/apng-js
.
Choose APNG file
Animation on canvas
Play / Pause
Stop
Playback rate (
1.0
)
Events:
APNG info:
Frames


HTML stands for Hyper Text Markup Language, and it is used for developers to build and create websites. HTML says what the website should say and do, and it does it.
It is a very powerful tool since most people are likely to look at a website rather than a newspaper or magazine.
I chose this class because I wanted to learn more about HTML and expand my knowlege of the web.
This class really entrigued me because I had very limited knowlege about HTML, and I really hope this class can help me in the future with whatever job I end up with. And it's not just HTML i'm excited about, CSS and JavaScript were also on my agenda of programming langueages I wanted to learn before college and this class will help me with that goal.


Source code for monty.design_patterns
# coding: utf-8
from __future__ import absolute_import
from functools import wraps
__author__ = 'Shyue Ping Ong'
__copyright__ = 'Copyright 2014, The Materials Virtual Lab'
__version__ = '0.1'
__maintainer__ = 'Shyue Ping Ong'
__email__ =<EMAIL_ADDRESS>__date__ = '1/24/14'
def singleton(cls):
"""
This decorator can be used to create a singleton out of a class.
Usage::
@singleton
class MySingleton():
def __init__():
pass
"""
instances = {}
def getinstance():
if cls not in instances:
instances[cls] = cls()
return instances[cls]
return getinstance
def cached_class(klass):
"""
Decorator to cache class instances by constructor arguments.
This results in a class that behaves like a singleton for each
set of constructor arguments, ensuring efficiency.
Note that this should be used for *immutable classes only*. Having
a cached mutable class makes very little sense. For efficiency,
avoid using this decorator for situations where there are many
constructor arguments permutations.
The keywords argument dictionary is converted to a tuple because
dicts are mutable; keywords themselves are strings and
so are always hashable, but if any arguments (keyword
or positional) are non-hashable, that set of arguments
is not cached.
"""
cache = {}
@wraps(klass, assigned=("__name__", "__module__"), updated=())
class _decorated(klass):
# The wraps decorator can't do this because __doc__
# isn't writable once the class is created
__doc__ = klass.__doc__
def __new__(cls, *args, **kwargs):
key = (cls,) + args + tuple(kwargs.items())
try:
inst = cache.get(key, None)
except TypeError:
# Can't cache this set of arguments
inst = key = None
if inst is None:
# Technically this is cheating, but it works,
# and takes care of initializing the instance
# (so we can override __init__ below safely);
# calling up to klass.__new__ would be the
# "official" way to create the instance, but
# that raises DeprecationWarning if there are
# args or kwargs and klass does not override
# __new__ (which most classes don't), because
# object.__new__ takes no parameters (and in
# Python 3 the warning will become an error)
inst = klass(*args, **kwargs)
# This makes isinstance and issubclass work
# properly
inst.__class__ = cls
if key is not None:
cache[key] = inst
return inst
def __init__(self, *args, **kwargs):
# This will be called every time __new__ is
# called, so we skip initializing here and do
# it only when the instance is created above
pass
return _decorated
class NullFile(object):
"""A file object that is associated to /dev/null."""
def __new__(cls):
import os
return open(os.devnull, 'w')
def __init__(self):
"""no-op"""
class NullStream(object):
"""A fake stream with a no-op write.."""
def write(*args):
"""no-op"""


Nakama.NGroupUser Class Reference
Inheritance diagram for Nakama.NGroupUser:
Public Member Functions | |
| override string | ToString () |
Properties | |
| string | AvatarUrl [get] |
| long | CreatedAt [get] |
| string | Fullname [get] |
| string | Handle [get] |
| string | Id [get] |
| string | Lang [get] |
| long | LastOnlineAt [get] |
| string | Location [get] |
| string | Metadata [get] |
| string | Timezone [get] |
| long | UpdatedAt [get] |
| UserState | State [get] |
| Properties inherited from Nakama.INGroupUser | |
| UserState | State [get] |
| Properties inherited from Nakama.INUser | |
| string | AvatarUrl [get] |
| long | CreatedAt [get] |
| string | Fullname [get] |
| string | Handle [get] |
| string | Id [get] |
| string | Lang [get] |
| long | LastOnlineAt [get] |
| string | Location [get] |
| string | Metadata [get] |
| string | Timezone [get] |
| long | UpdatedAt [get] |
Detailed Description
Definition at line 21 of file NGroupUser.cs.
Member Function Documentation
◆ ToString()
| override string Nakama.NGroupUser.ToString | ( | ) |
Definition at line 64 of file NGroupUser.cs.
Property Documentation
◆ AvatarUrl
|
get |
Definition at line 23 of file NGroupUser.cs.
◆ CreatedAt
|
get |
Definition at line 24 of file NGroupUser.cs.
◆ Fullname
|
get |
Definition at line 25 of file NGroupUser.cs.
◆ Handle
|
get |
Definition at line 26 of file NGroupUser.cs.
◆ Id
|
get |
Definition at line 27 of file NGroupUser.cs.
◆ Lang
|
get |
Definition at line 28 of file NGroupUser.cs.
◆ LastOnlineAt
|
get |
Definition at line 29 of file NGroupUser.cs.
◆ Location
|
get |
Definition at line 30 of file NGroupUser.cs.
◆ Metadata
|
get |
Definition at line 31 of file NGroupUser.cs.
◆ State
|
get |
Definition at line 34 of file NGroupUser.cs.
◆ Timezone
|
get |
Definition at line 32 of file NGroupUser.cs.
◆ UpdatedAt
|
get |
Definition at line 33 of file NGroupUser.cs.
The documentation for this class was generated from the following file:
- Nakama/NGroupUser.cs


Newton's first law (the law of interia) is stated as "An object at rest stays at rest and an object in motion
stays in motion with the same speed and in the same direction unless acted upon by a unbalanced force".
Newton's first law is crutial to this roller coasters and most roller coasters that aren't always powered by a motor. In Untamed this law doesn't
come into play until after the vertical climb. This is due to the fact that the car is moved
up the vertical climb using a motor. Due to the fact that the car is in motion thanks
to the motor before it goes down the vertical climb, it stays in
motion throughout the rest of the ride. Over time forces such as gravity and friction slow the car down.
Newton's second law is stated as "The acceleration of an object as produced by a net force is directly proportional
to the magnitude of the net force, in the same direction as the net force, and inversely proportional to the mass of the object".
Even though it might not be a very good example, it still works. The speed of the car going down the track, if affected by the weight of the cart.
This means that is there is no one in the car it will go slower than if someone was in the cart. This might not be a problem with the
design of this coaster but if the speed wasn't fast enough (due to the car not being heavy enough) than it might not be able to
go through the loops, makeing the car stuck in the middle of the ride.
Newton's third law is stated as "For every action, there is an equal and opposite reaction".
An example of Newton's third law on Untamed has to do with the seat. A passenger pushes on the
seat of the roller coaster and the seat pushes him/her back wiht an equal and opposite force.


{% block content %} {% if form.errors %}
{{ form.errors }}
Feel free to email us to provide some feedback on our templates, give us suggestions for new templates and themes, or to just say hello!


To view this video please enable JavaScript, and consider upgrading to a web browser that supports HTML5 video


docassemble
Sign in
Available interviews
Live chat
Choices with icons
Demonstration interview
docassemble.base:data/questions/examples/choices-icons2.yml


References
Communications
Compatible Implementations
- Indriya (RI) | Proof of compatibility
- Unit Impl Enum | Proof of compatibility
- Seshat (JSR 363) | Proof of compatibility
- Eclipse UOMo (JSR 363)
Articles and Publications
- DZone > Unit-API: What, How, and Why
- JAXenter: Die Highlights der Oracle Code One 2019 - JCP Party & Awards (German)
- Schneide Blog: Migrating from JScience quantities to Unit API 2.0
- Baeldung: Introduction to javax.measure
- Conhecendo a JSR-385: Units of Measurement 2.0 (Portuguese)
- YouTube: JSR 385 - Vaadin Demo
- JSR et Indriya (French)
- The Semantic Web: ESWC 2018 Satellite Events - page 199
- JAXenter: JSR 385 Interview (German)
Videos
- YouTube: Ingenuity Mars Helicopter completed 2nd flight to 5 meters altitude
- YouTube: J-Fall 2019: Thodoris Bais & Werner Keil - How JSR 385 could have saved the Mars Climate Orbiter
- YouTube: JCON2019 - How JSR 385 could have saved the Mars Climate Orbiter
- YouTube: Interview with JSR 385 Spec Lead Werner Keil
- YouTube: JSR-385: Learning from the $125 Million Mars Climate Orbiter Mistake - Filip Van Laenen [ACCU 2019]
- YouTube: How Did NASA Lose a Mars Space Probe Because of Maths?
- YouTube: Mars Climate Orbiter Final Version2
- YouTube: The First IoT JSR: Units of Measurement by Werner Keil
- YouTube: When NASA Lost a Spacecraft Because It Didn't Use Metric - It Happened in Space #21
- YouTube: JavaOne 2013 - Java Embedded Challenge - Heart of Glass
Additional References


Chirag Paswan elected Lok Janshakti Party president
Chirag Paswan is the second term Lok Sabha member and has been the key decision maker in the party for a while
by PTIChirag Paswan was on November 5 elected President of the Lok Janshakti Party (LJP) by its national executive, outgoing chief and his father Ram Vilas Paswan said.
Union Minister Ram Vilas Paswan said that the decision was taken in the meeting of the national executive in Delhi.
The LJP, which primarily draws its support from a section of Dalits in Bihar, was founded by Ram Vilas Paswan, now 73, in 2000 and the wily leader has steered it through changing political scenarios by joining hands with parties with contrasting ideologies and support groups.
However, the loyalty of his vote bank to him meant that the LJP has been a sought-after partner for all major parties.
Chirag Paswan is the second term Lok Sabha member and has been the key decision maker in the party for a while.
"Chirag Paswan unanimously elected as LJP president by party's national executive," Ram Vilas Paswan said.Special Thursday Expiry on 10th 7th Nov
Early Closure to The Great Diwali Discount. Last Chance to get Moneycontrol PRO for a year @ Rs. 289/- only
Coupon code: DIWALI


Halle Berry Poses Topless On Bed Of Strawberries In Throwback Photo
November 23, 2019
Halle Berry Poses Topless On Bed Of Strawberries In Throwback Photo
Halle Berry turned the steamy photo into a caption contest.
Halle Berry turned the steamy photo into a caption contest.
Halle Berry kicked off the weekend by giving her fans a photographic treat. On Saturday, the gorgeous 53-year-old star took to Instagram to share a topless throwback photo with her followers.
In the stunning snapshot, the bare-skinned beauty is laying on her stomach. The photo was taken from the side, and it cuts off at the top of Halle’s torso.  Halle is posing on top of a massive bed of strawberries, and somehow none of the glistening red fruits have been smashed. There are also no traces of the berries’ red juice on her glowing, flawless skin.
Halle is posing with her left arm bent and her hand flat beside her shoulder. Her fingers and palm are precariously positioned on top of a pile of strawberries. Halle has one of the juicy fruits in her other hand. She has her mouth open and is holding the tip of the berry on her tongue like she’s about to take a bite out of it.
Halle’s lips are painted the same color as the sea of strawberries surrounding her, and her shining dark eyes are accented by dark liner on her top lashline.
Halle Berry has her hair styled in a pixie cut, which was her signature look for decades. Her locks are dark and soft, with the slightest wave. The only accessories Halle is wearing is a pair of berry-shaped earrings.
The artistic inspiration for Halle’s throwback photo was likely the star’s last name, and it was also the subject of her Instagram caption contest. She asked her followers to come up with berry puns, and they delivered. However, some of them were NSFW.
“Cannibalism is berry bad,” quipped one fan.
“I like to Berry myself in the fruit bowl,” another wrote.
Loading...
“Who put a berry in berries?!” read a third response.
“Berries? I berrily noticed,” a fourth admirer wrote.
Halle Berry’s photo was a big hit, garnering almost 95,000 likes over the course of two hours. Heart eye, flame, strawberry, and heart emoji were also popular reactions to her strawberry-filled snapshot.
While Halle’s Instagram followers always enjoy her throwback photos, many of her posts these days are fitness-related. She’s been training hard for her new movie Bruised, which is about a female MMA fighter. Unfortunately, she recently revealed that an injury has forced her to take a break from working out. However, this didn’t stop her from sharing an awesome action shot on “Fitness Friday.”


Abu Dhabi GP: F1 ready for final 2019 showdown before winter
Who will finish on top in F1's final race of the year? Watch the Abu Dhabi GP this weekend on Sky Sports F1
by James GallowayFormula 1 will stage its final race of the 2019 season - and last event of the decade - in Abu Dhabi this weekend.
The first season to finish in December since 1963, Sunday's race marks the end of a 21-race campaign which began in March and has seen Mercedes win a record-setting sixth consecutive world championship double.
But the season is finishing with arguably its most competitive and unpredictable series of races since the Mercedes era began five years ago.
In the eight races since August's summer break, F1's world champions have only qualified on pole position once, with world champion Lewis Hamilton winning two of those grands prix and Mercedes half.
Red Bull's Max Verstappen, meanwhile, triumphed in a thrilling race last time out in Brazil, where Ferrari team-mates Sebastian Vettel and Charles Leclerc clashed on track to heighten focus on their in-house battle for supremacy.
For Hamilton, hoping to end his sixth title-winning year with an 11th victory of 2019, the increased competition is welcome news.
"The Honda's obviously made some big steps and it's great to see another manufacturer as strong as they are now," said the Mercedes driver.
"It means that hopefully next year we're going to have a serious three-way, four-way battle and that's great for Formula 1."
What's still up for grabs?
Although neither world championship is on the line at this year's season finale, there are still some interesting championship sub-plots to play out…
Verstappen or Leclerc for third?
The two leading stars of F1's new young generation, two of the drivers of the season, and now in a direct battle for third in the Drivers' Championship. Verstappen's brilliant Interlagos victory, coupled with Leclerc's retirement, means the Red Bull driver is the strong favourite to finish as the first non-Mercedes driver in this year's championship. Verstappen holds an 11-point advantage over Leclerc.
Leclerc or Vettel as lead Ferrari driver?
He may not be able to finish third overall, but Sebastian Vettel still has an outside chance to overhauling Leclerc to end the year as the Ferrari driver with the most points. But it's a tall order for the former world champion: Leclerc leads him by 19 points and so Vettel, who has only previously been outscored by a team-mate over an F1 season by Daniel Ricciardo back in 2014, must either win the race or finish second with the fastest lap to have any chance of avoiding a repeat.
Can Sainz claim two Red Bull scalps?
Given Pierre Gasly and Alex Albon have each spent half a season apiece at race-winning Red Bull, McLaren's Carlos Sainz chance of beating both to sixth in the drivers' standings is noteworthy. Gasly and Sainz are tied on 95 points - with the Frenchman holding sixth on countback after his sensational second at Interlagos - with current Red Bull incumbent Albon 11 back after the unfortunate end to his Brazil.
Renault to hold on to sixth from Toro Rosso?
Having already fallen short of their pre-season targets, with fourth confirmed by resurgent McLaren in Brazil, Renault will hope to at least hang on to fifth place in the Constructors' Championship in Abu Dhabi. They hold an eight-point advantage over Toro Rosso, who have only once finished in the top-six of the teams' standings before.
The last race of the 2019 F1 season takes place in Abu Dhabi on December 1, and will be exclusively live on Sky Sports F1.


Dgame.System.Keyboard
-
Declaration
interface
Keyboard
;Represent the
Keyboard
Author: Randy Schuett<EMAIL_ADDRESS>-
Declaration
static nothrow @nogc bool
isPressed
(Codecode
);Returns if the given Keyboard.Code is pressed.
Examples
if (Keyboard.isPressed(Keyboard.Code.Escape)) writeln("escape is pressed.");
-
Declaration
static nothrow @nogc Mod
getModifier
();Returns the current Keyboard modifier.
See: Mod enum
-
Declaration
static nothrow @nogc void
setModifier
(Modmod
);Set the current Keyboard modifier.
See: Mod enum
-
Declaration
static nothrow @nogc bool
hasScreenSupport
();Returns if screen keyboard is supported.
-
Declaration
enum
Mod
: int;All supported Keyboard modifiers.
-
Declaration
None
0 (no modifier is applicable)
-
Declaration
LShift
the left Shift key is down
-
Declaration
RShift
the right Shift key is down
-
Declaration
LCtrl
the left Ctrl (Control) key is down
-
Declaration
RCtrl
the right Ctrl (Control) key is down
-
Declaration
LAlt
the left Alt key is down
-
Declaration
RAlt
the right Alt key is down
-
Declaration
LGui
the left GUI key (often the Windows key) is down
-
Declaration
RGui
the right GUI key (often the Windows key) is down
-
Declaration
Num
the
Num
Lock key (may be located on an extended keypad) is down -
Declaration
Caps
the
Caps
Lock key is down -
Declaration
Mode
the AltGr key is down
-
Declaration
Ctrl
(Mod.LCtrl|Mod.RCtrl)
-
Declaration
Shift
(Mod.LShift|Mod.RShift)
-
Declaration
Alt
(Mod.LAlt|Mod.RAlt)
-
Declaration
Gui
(Mod.LGui|Mod.RGui)
-
-
Declaration
alias
Code
= Key;An alias
-
Declaration
enum
Key
: int;Supported Keyboard Codes. These are all possible/supported keys.
-
Declaration
Unknown
-
Declaration
Return
-
Declaration
Escape
-
Declaration
Backspace
-
Declaration
Tab
-
Declaration
Space
-
Declaration
Exclaim
-
Declaration
Quotedbl
-
Declaration
Hash
-
Declaration
Percent
-
Declaration
Dollar
-
Declaration
Ampersand
-
Declaration
Quote
-
Declaration
Leftparen
-
Declaration
Rightparen
-
Declaration
Asterisk
-
Declaration
Plus
-
Declaration
Comma
-
Declaration
Minus
-
Declaration
Period
-
Declaration
Slash
-
Declaration
Dot
Shortcut
-
Declaration
Esc
Shortcut
-
Declaration
Num0
-
Declaration
Num1
-
Declaration
Num2
-
Declaration
Num3
-
Declaration
Num4
-
Declaration
Num5
-
Declaration
Num6
-
Declaration
Num7
-
Declaration
Num8
-
Declaration
Num9
-
Declaration
Colon
-
Declaration
Semicolon
-
Declaration
Less
-
Declaration
Equals
-
Declaration
Greater
-
Declaration
Question
-
Declaration
At
-
Declaration
Leftbracket
-
Declaration
Backslash
-
Declaration
Rightbracket
-
Declaration
Caret
-
Declaration
Underscore
-
Declaration
Backquote
-
Declaration
A
-
Declaration
B
-
Declaration
C
-
Declaration
D
-
Declaration
E
-
Declaration
F
-
Declaration
G
-
Declaration
H
-
Declaration
I
-
Declaration
J
-
Declaration
K
-
Declaration
L
-
Declaration
M
-
Declaration
N
-
Declaration
O
-
Declaration
P
-
Declaration
Q
-
Declaration
R
-
Declaration
S
-
Declaration
T
-
Declaration
U
-
Declaration
V
-
Declaration
W
-
Declaration
X
-
Declaration
Y
-
Declaration
Z
-
Declaration
Capslock
-
Declaration
F1
-
Declaration
F2
-
Declaration
F3
-
Declaration
F4
-
Declaration
F5
-
Declaration
F6
-
Declaration
F7
-
Declaration
F8
-
Declaration
F9
-
Declaration
F10
-
Declaration
F11
-
Declaration
F12
-
Declaration
Printscreen
-
Declaration
Scrolllock
-
Declaration
Pause
-
Declaration
Insert
-
Declaration
Home
-
Declaration
PageUp
-
Declaration
Delete
-
Declaration
End
-
Declaration
PageDown
-
Declaration
Right
-
Declaration
Left
-
Declaration
Down
-
Declaration
Up
-
Declaration
NumLockClear
-
Declaration
KP_Divide
-
Declaration
KP_Multiply
-
Declaration
KP_Minus
-
Declaration
KP_Plus
-
Declaration
KP_Enter
-
Declaration
KP_1
-
Declaration
KP_2
-
Declaration
KP_3
-
Declaration
KP_4
-
Declaration
KP_5
-
Declaration
KP_6
-
Declaration
KP_7
-
Declaration
KP_8
-
Declaration
KP_9
-
Declaration
KP_0
-
Declaration
F13
-
Declaration
F14
-
Declaration
F15
-
Declaration
F16
-
Declaration
F17
-
Declaration
F18
-
Declaration
F19
-
Declaration
F20
-
Declaration
F21
-
Declaration
F22
-
Declaration
F23
-
Declaration
F24
-
Declaration
LCtrl
-
Declaration
LShift
-
Declaration
LAlt
-
Declaration
LGui
-
Declaration
RCtrl
-
Declaration
RShift
-
Declaration
RAlt
-
Declaration
RGui
-
-


CONTACT US
If you have questions, or just want to congratulate us on what an awesome job we're doing, use the handy dandy form below.
You can also use it to place an order for pickup at the following times and locations:
124 Street Grand Market
Thursdays from 16:00 - 20:00
The Old Strathcona Farmer's Market
Saturdays from 08:00 - 15:00
Orders are for a baker's dozen, or thirteen pasties, for the price of twelve. Please indicate which type of pasty you would like in your message, as well as when and where you would like to pick up your order.
We will reply with an invoice and further instructions within 48 hours. Please note that your order must be paid in full 24 hours before your pickup date.


init
Init the history
| Option name | Type | Description |
|---|---|---|
| options |
getOption
Gets an option
| Option name | Type | Description |
|---|---|---|
| name | ||
| return | any |
start
Starts watching popstate event
isStarted
Checks is history started
| Option name | Type | Description |
|---|---|---|
| return | boolean |
stop
Stop watching popstate event
Adds new item to the navigation history
| Option name | Type | Description |
|---|---|---|
| path |
replace
Replaces current item in the navigation history
| Option name | Type | Description |
|---|---|---|
| path |
getLocation
Gets current location
| Option name | Type | Description |
|---|---|---|
| return | string |
getHash
Gets current hash
| Option name | Type | Description |
|---|---|---|
| return | string |
setHash
Sets hash
| Option name | Type | Description |
|---|---|---|
| hash |
open
Opens the page by path
| Option name | Type | Description |
|---|---|---|
| path |
setRouter
Sets router by name
| Option name | Type | Description |
|---|---|---|
| name | ||
| router |
removeRouter
Removes router by name
| Option name | Type | Description |
|---|---|---|
| name |
getRouter
Gets router by name
| Option name | Type | Description |
|---|---|---|
| name | ||
| return | owl.Router |
setDefaultRouter
Sets default router
| Option name | Type | Description |
|---|---|---|
| router |
getDefaultRouter
Gets default router
setResolve
Sets resolve
| Option name | Type | Description |
|---|---|---|
| resolveName | ||
| resolveCallback |
removeResolve
Removes resolve by name
| Option name | Type | Description |
|---|---|---|
| resolveName |
getResolve
Gets resolve by name
| Option name | Type | Description |
|---|---|---|
| resolveName |
on
Adds event listener
| Option name | Type | Description |
|---|---|---|
| event | ||
| listener |
off
Removes event listener
| Option name | Type | Description |
|---|---|---|
| event | ||
| listener |
trigger
Trigger event
| Option name | Type | Description |
|---|---|---|
| event |


|
Neodroid
0.2.0
Machine Learning Environment Prototyping Tool
|
Public Member Functions | |
| override void | ApplyConfiguration (IConfigurableConfiguration simulator_configuration) |
| override Configuration [] | SampleConfigurations () |
| Public Member Functions inherited from droid.Runtime.Prototyping.Configurables.Configurable | |
| virtual void | UpdateCurrentConfiguration () |
| void | EnvironmentReset () |
| virtual void | PostEnvironmentSetup () |
| virtual void | Tick () |
| Public Member Functions inherited from droid.Runtime.Utilities.GameObjects.PrototypingGameObject | |
| void | RefreshStart () |
| void | RefreshAwake () |
Protected Member Functions | |
| override void | PreSetup () |
| override void | RegisterComponent () |
| override void | UnRegisterComponent () |
| Protected Member Functions inherited from droid.Runtime.Prototyping.Configurables.Configurable | |
| sealed override void | Setup () |
| virtual void | Randomise () |
| Protected Member Functions inherited from droid.Runtime.Utilities.GameObjects.PrototypingGameObject | |
| void | Start () |
| void | Awake () |
| virtual void | Clear () |
Properties | |
| override string | PrototypingTypeName [get] |
| override ISpace | ConfigurableValueSpace [get] |
| Properties inherited from droid.Runtime.Prototyping.Configurables.Configurable | |
| bool | RelativeToExistingValue [get] |
| abstract ISpace | ConfigurableValueSpace [get] |
| AbstractPrototypingEnvironment | ParentEnvironment [get, set] |
| bool | SampleRandom [get, set] |
| Properties inherited from droid.Runtime.Utilities.GameObjects.PrototypingGameObject | |
| virtual string | PrototypingTypeName [get] |
| string | Identifier [get] |
| Properties inherited from droid.Runtime.Interfaces.IRegisterable | |
| string | Identifier [get] |
| Properties inherited from droid.Runtime.Interfaces.IConfigurable | |
| bool | SampleRandom [get, set] |
Additional Inherited Members | |
| Protected Attributes inherited from droid.Runtime.Utilities.GameObjects.PrototypingGameObject | |
| string | _Custom_Name = "" |
Definition at line 17 of file SimulationConfigurable.cs.
|
virtual |
| simulator_configuration |
Implements droid.Runtime.Prototyping.Configurables.Configurable.
Definition at line 82 of file SimulationConfigurable.cs.
|
protectedvirtual |
Reimplemented from droid.Runtime.Prototyping.Configurables.Configurable.
Definition at line 32 of file SimulationConfigurable.cs.
|
protectedvirtual |
Reimplemented from droid.Runtime.Prototyping.Configurables.Configurable.
Definition at line 43 of file SimulationConfigurable.cs.
|
virtual |
| NotImplementedException |
Reimplemented from droid.Runtime.Prototyping.Configurables.Configurable.
Definition at line 110 of file SimulationConfigurable.cs.
|
protectedvirtual |
Reimplemented from droid.Runtime.Prototyping.Configurables.Configurable.
Definition at line 64 of file SimulationConfigurable.cs.
|
get |
Definition at line 77 of file SimulationConfigurable.cs.
|
get |
Definition at line 28 of file SimulationConfigurable.cs.


Defines solution to the Convex Hull problem proposed by Andrew, which is
a ConvexHullScan.
Andrew's ConvexHullScan devises a novel approach towards computing the partial
upper hull for a set of points by first sorting all points by their x coordinate
(breaking ties by considering the y coordinate). The partial upper hull starts with
the leftmost two points in P. ConvexHullScan extends the partial upper hull by
finding the point in P whose x coordinate comes next in sorted order after the
partial upper hull's last point Li. Once computed, the lower partial hull is
similar computed (this time by processing points from right to left). The two
partial hulls are merged to produce the final hull.


| Up | TOC | Index | |||||
| << 7 Included Tools | < 8.14 Input Routines | Up: 8 API Reference | 8.16 Sequence Manipulation > | 9 Release Notes >> |
8.15 Searching
8.15.1 Equality
<IP_ADDRESS> compare
<built-in> function compare(object compared, object reference)
compares two items returning less than, equal or greater than.
Parameters:
- compared : the compared object
- reference : the reference object
Returns:
An integer,
- 0 -- if objects are identical
- 1 -- if compared is greater than reference
- -1 -- if compared is less than reference
Comments:
Atoms are considered to be less than sequences. Sequences are compared alphabetically starting with the first element until a difference is found or one of the sequences is exhausted. Atoms are compared as ordinary reals.
Example 1:
x = compare({1,2,{3,{4}},5}, {2-1,1+1,{3,{4}},6-1}) -- identical, x is 0
Example 2:
if compare("ABC", "ABCD") < 0 then -- -1 -- will be true: ABC is "less" because it is shorter end if
Example 3:
x = compare('a', "a") -- x will be -1 because 'a' is an atom -- while "a" is a sequence
See Also:
equal, relational operators, operations on sequences, sort
<IP_ADDRESS> equal
<built-in> function equal(object left, object right)
compares two Euphoria objects to see if they are the same.
Parameters:
- left : one of the objects to test
- right : the other object
Returns:
An integer, 1 if the two objects are identical, else 0.
Comments:
This is equivalent to the expression: compare(left, right) = 0.
This routine, like most other built-in routines, is very fast. It does not have any subroutine call overhead.
Example 1:
if equal(PI, 3.14) then puts(1, "give me a better value for PI!\n") end if
Example 2:
if equal(name, "George") or equal(name, "GEORGE") then puts(1, "name is George\n") end if
See Also:
8.15.2 Finding
<IP_ADDRESS> find
<built-in> function find(object needle, sequence haystack, integer start)
finds the first occurrence of a "needle" as an element of a "haystack", starting from position "start".
Parameters:
- needle : an object whose presence is being queried
- haystack : a sequence, which is being looked up for needle
- start : an integer, the position at which to start searching. Defaults to 1.
Returns:
An integer, 0 if needle is not on haystack, else the smallest index of an element of haystack that equals needle.
Example 1:
location = find(11, {5, 8, 11, 2, 3}) -- location is set to 3
Example 2:
names = {"fred", "rob", "george", "mary", ""} location = find("mary", names) -- location is set to 4
See Also:
<IP_ADDRESS> find_from
<built-in> function find_from(object needle, object haystack, integer start)
Deprecated:
Deprecated since version 4.0.0
In Euphoria 4.0.0 we have the ability to default parameters to procedures and functions. The built-in find therefore now has a start parameter that is defaulted to the beginning of the sequence. Thus, find can perform the identical functionality provided by find_from. In an undetermined future release of Euphoria, find_from will be removed.
<IP_ADDRESS> find_any
include std/search.e namespace search public function find_any(object needles, sequence haystack, integer start = 1)
finds any element from a list inside a sequence. Returns the location of the first hit.
Parameters:
- needles : a sequence, the list of items to look for
- haystack : a sequence, in which "needles" are looked for
- start : an integer, the starting point of the search. Defaults to 1.
Returns:
An integer, the smallest index in haystack of an element of needles, or 0 if no needle is found.
Comments:
This function may be applied to a string sequence or a complex sequence.
Example 1:
location = find_any("aeiou", "John Smith", 3) -- location is 8
Example 2:
location = find_any("aeiou", "John Doe") -- location is 2
See Also:
<IP_ADDRESS> match_any
include std/search.e namespace search public function match_any(sequence needles, sequence haystack, integer start = 1)
determines if any element from needles is in haystack.
Parameters:
- needles : a sequence, the list of items to look for
- haystack : a sequence, in which "needles" are looked for
- start : an integer, the starting point of the search. Defaults to 1.
Returns:
An integer, 0 if no matches, 1 if any matches.
Comments:
This function may be applied to a string sequence or a complex sequence. An empty needles sequence will always result in 0.
Example 1:
ok = match_any("aeiou", "John Smith") -- okay is 1 ok = match_any("xyz", "John Smith" ) -- okay is 0
See Also:
<IP_ADDRESS> find_each
include std/search.e namespace search public function find_each(sequence needles, sequence haystack, integer start = 1)
finds all instances of any element from the needle sequence that occur in the haystack sequence. Returns a list of indexes.
Parameters:
- needles : a sequence, the list of items to look for
- haystack : a sequence, in which "needles" are looked for
- start : an integer, the starting point of the search. Defaults to 1.
Returns:
A sequence, the list of indexes into haystack that point to an element that is also in needles.
Comments:
This function may be applied to a string sequence or a complex sequence.
Example 1:
location = find_each("aeiou", "John Smith", 3) -- location is {8}
Example 2:
location = find_each("aeiou", "John Doe") -- location is {2,7,8}
See Also:
<IP_ADDRESS> find_all
include std/search.e namespace search public function find_all(object needle, sequence haystack, integer start = 1)
finds all occurrences of an object inside a sequence, starting at some specified point.
Parameters:
- needle : an object, what to look for
- haystack : a sequence to search in
- start : an integer, the starting index position (defaults to 1)
Returns:
A sequence, the list of all indexes no less than start of elements of haystack that equal needle. This sequence is empty if no match found.
Example 1:
s = find_all('A', "ABCABAB") -- s is {1,4,6}
See Also:
<IP_ADDRESS> find_all_but
include std/search.e namespace search public function find_all_but(object needle, sequence haystack, integer start = 1)
finds all non-occurrences of an object inside a sequence, starting at some specified point.
Parameters:
- needle : an object, what to look for
- haystack : a sequence to search in
- start : an integer, the starting index position (defaults to 1)
Returns:
A sequence, the list of all indexes no less than start of elements of haystack that not equal to needle. This sequence is empty if haystack only consists of needle.
Example 1:
s = find_all_but('A', "ABCABAB") -- s is {2,3,5,7}
See Also:
<IP_ADDRESS> NESTED_ANY
include std/search.e namespace search public constant NESTED_ANY
<IP_ADDRESS> NESTED_ALL
include std/search.e namespace search public constant NESTED_ALL
<IP_ADDRESS> NESTED_INDEX
include std/search.e namespace search public constant NESTED_INDEX
<IP_ADDRESS> NESTED_BACKWARD
include std/search.e namespace search public constant NESTED_BACKWARD
<IP_ADDRESS> find_nested
include std/search.e namespace search public function find_nested(object needle, sequence haystack, integer flags = 0, integer rtn_id = types :NO_ROUTINE_ID)
finds any object (among a list) in a sequence of arbitrary shape at arbitrary nesting.
Parameters:
- needle : an object, either what to look up, or a list of items to look up
- haystack : a sequence, where to look up
- flags : options to the function, see Comments section. Defaults to 0.
- routine : an integer, the routine_id of an user supplied equal/find function. Defaults to types:NO_ROUTINE_ID.
Returns:
A possibly empty sequence, of results, one for each hit.
Comments:
Each item in the returned sequence is either a sequence of indexes, or a pair {sequence of indexes, index in needle}.
The following flags are available to fine tune the search:
- NESTED_BACKWARD -- if on flags, search is performed backward. Default is forward.
- NESTED_ALL -- if on flags, all occurrences are looked for. Default is one hit only.
- NESTED_ANY -- if present on flags, needle is a list of items to look for. Not the default.
- NESTED_INDEXES -- if present on flags, an individual result is a pair {position, index in needle}. Default is just return the position.
If s is a single index list, or position, from the returned sequence, then fetch(haystack, s) = needle.
If a routine id is supplied, the routine must behave like equal if the NESTED_ANY flag is not supplied, and like find if it is. The routine is being passed the current haystack item and needle. The returned integer is interpreted as if returned by equal or find.
If the NESTED_ANY flag is specified, and needle is an atom, then the flag is removed.
Example 1:
sequence s = find_nested(3, {5, {4, {3, {2}}}}) -- s is {2 ,2 ,1}
Example 2:
sequence s = find_nested({3, 2}, {1, 3, {2,3}}, NESTED_ANY + NESTED_BACKWARD + NESTED_ALL) -- s is {{3,2}, {3,1}, {2}}
Example 3:
sequence s = find_nested({3, 2}, {1, 3, {2,3}}, NESTED_ANY + NESTED_INDEXES + NESTED_ALL) -- s is {{{2}, 1}, {{3, 1}, 2}, {{3, 2}, 1}}
See Also:
<IP_ADDRESS> rfind
include std/search.e namespace search public function rfind(object needle, sequence haystack, integer start = length(haystack))
finds a needle in a haystack in reverse order.
Parameters:
- needle : an object to search for
- haystack : a sequence to search in
- start : an integer, the starting index position (defaults to length(haystack))
Returns:
An integer, 0 if no instance of needle can be found on haystack before index start, or the highest such index otherwise.
Comments:
If start is less than 1, it will be added once to length(haystack) to designate a position counted backwards. Thus, if start is -1, the first element to be queried in haystack will be haystack[$-1], then haystack[$-2] and so on.
Example 1:
location = rfind(11, {5, 8, 11, 2, 11, 3}) -- location is set to 5
Example 2:
names = {"fred", "rob", "rob", "george", "mary"} location = rfind("rob", names) -- location is set to 3 location = rfind("rob", names, -4) -- location is set to 2
See Also:
<IP_ADDRESS> find_replace
include std/search.e namespace search public function find_replace(object needle, sequence haystack, object replacement, integer max = 0)
finds a needle in the haystack, and replaces all or upto max occurrences with replacement.
Parameters:
- needle : an object to search and perhaps replace
- haystack : a sequence to be inspected
- replacement : an object to substitute for any (first) instance of needle
- max : an integer, 0 to replace all occurrences
Returns:
A sequence, the modified haystack.
Comments:
Replacements will not be made recursively on the part of haystack that was already changed.
If max is 0 or less, any occurrence of needle in haystack will be replaced by replacement. Otherwise, only the first max occurrences are.
Example 1:
s = find_replace('b', "The batty book was all but in Canada.", 'c', 0) -- s is "The catty cook was all cut in Canada."
Example 2:
s = find_replace('/', "/euphoria/demo/unix", '\\', 2) -- s is "\\euphoria\\demo/unix"
Example 3:
s = find_replace("theater", { "the", "theater", "theif" }, "theatre") -- s is { "the", "theatre", "theif" }
See Also:
<IP_ADDRESS> match_replace
include std/search.e namespace search public function match_replace(object needle, sequence haystack, object replacement, integer max = 0)
finds a "needle" in a "haystack", and replace any, or only the first few, occurrences with a replacement.
Parameters:
- needle : an non-empty sequence or atom to search and perhaps replace
- haystack : a sequence to be inspected
- replacement : an object to substitute for any (first) instance of needle
- max : an integer, 0 to replace all occurrences
Returns:
A sequence, the modified haystack.
Comments:
Replacements will not be made recursively on the part of haystack that was already changed.
If max is 0 or less, any occurrence of needle in haystack will be replaced by replacement. Otherwise, only the first max occurrences are.
If either needle or replacement are atoms they will be treated as if you had passed in a length-1 sequence containing the said atom.
If needle is an empty sequence, an error will be raised and your program will exit.
Example 1:
s = match_replace("the", "the cat ate the food under the table", "THE", 0) -- s is "THE cat ate THE food under THE table"
Example 2:
s = match_replace("the", "the cat ate the food under the table", "THE", 2) -- s is "THE cat ate THE food under the table"
Example 3:
s = match_replace('/', "/euphoria/demo/unix", '\\', 2) -- s is "\\euphoria\\demo/unix"
Example 4:
s = match_replace('a', "abracadabra", 'X') -- s is now "XbrXcXdXbrX" s = match_replace("ra", "abracadabra", 'X') -- s is now "abXcadabX" s = match_replace("a", "abracadabra", "aa") -- s is now "aabraacaadaabraa" s = match_replace("a", "abracadabra", "") -- s is now "brcdbr"
See Also:
find, replace, regex:find_replace, find_replace
<IP_ADDRESS> binary_search
include std/search.e namespace search public function binary_search(object needle, sequence haystack, integer start_point = 1, integer end_point = 0)
finds a "needle" in an ordered "haystack". Start and end point can be given for the search.
Parameters:
- needle : an object to look for
- haystack : a sequence to search in
- start_point : an integer, the index at which to start searching. Defaults to 1.
- end_point : an integer, the end point of the search. Defaults to 0, ie search to end.
Returns:
An integer, either:
- a positive integer i, which means haystack[i] equals needle.
- a negative integer, -i, with i between adjusted start and end points. This means that needle is not in the searched slice of haystack, but would be at index i if it were there.
- a negative integer -i with i out of the searched range. This means than needlemight be either below the start point if i is below the start point, or above the end point if i is.
Comments:
- If end_point is not greater than zero, it is added to length(haystack) once only. Then, the end point of the search is adjusted to length(haystack) if out of bounds.
- The start point is adjusted to 1 if below 1.
- The way this function returns is very similar to what db_find_key does. They use variants of the same algorithm. The latter is all the more efficient as haystack is long.
- haystack is assumed to be in ascending order. Results are undefined if it is not.
- If duplicate copies of needle exist in the range searched on haystack, any of the possible contiguous indexes may be returned.
See Also:
8.15.3 Matching
<IP_ADDRESS> match
<built-in> function match(sequence needle, sequence haystack, integer start)
tries to match a "needle" against some slice of a "haystack", starting at position "start".
Parameters:
- needle : a sequence whose presence as a "substring" is being queried
- haystack : a sequence, which is being looked up for needle as a sub-sequence
- start : an integer, the point from which matching is attempted. Defaults to 1.
Returns:
An integer, 0 if no slice of haystack is needle, else the smallest index at which such a slice starts.
Comments:
If needle is an empty sequence, an error is raised and your program will exit.
Example 1:
location = match("pho", "Euphoria") -- location is set to 3
See Also:
find, compare, wildcard:is_match
<IP_ADDRESS> match_from
<built-in> function match_from(sequence needle, sequence haystack, integer start)
Deprecated:
Deprecated since version 4.0.0
In Euphoria 4.0.0 we have the ability to default parameters to procedures and functions. The built-in match therefore now has a start parameter that is defaulted to the beginning of the sequence. Thus, match can perform the identical functionality provided by match_from. In an undetermined future release of Euphoria, match_from will be removed.
Comments:
If needle is an empty sequence, an error is raised and your program will exit.
<IP_ADDRESS> match_all
include std/search.e namespace search public function match_all(sequence needle, sequence haystack, integer start = 1)
matches all items of haystack in needle.
Parameters:
- needle : a non-empty sequence, what to look for
- haystack : a sequence to search in
- start : an integer, the starting index position (defaults to 1)
Returns:
A sequence, of integers, the list of all lower indexes, not less than start, of all slices in haystack that equal needle. The list may be empty.
Comments:
If needle is an empty sequence, an error will be raised and your program will exit.
Example 1:
s = match_all("the", "the dog chased the cat under the table.") -- s is {1,16,30}
See Also:
match, regex:find_all find, find_all
<IP_ADDRESS> rmatch
include std/search.e namespace search public function rmatch(sequence needle, sequence haystack, integer start = length(haystack))
tries to match a needle against some slice of a haystack in reverse order.
Parameters:
- needle : a sequence to search for
- haystack : a sequence to search in
- start : an integer, the starting index position (defaults to length(haystack))
Returns:
An integer, either 0 if no slice of haystack starting before start equals needle, else the highest lower index of such a slice.
Comments:
If start is less than 1, it will be added once to length(haystack) to designate a position counted backwards. Thus, if start is -1, the first element to be queried in haystack will be haystack[$-1], then haystack[$-2] and so on.
If a needle is an empty sequence this will return 0.
Example 1:
location = rmatch("the", "the dog ate the steak from the table.") -- location is set to 28 (3rd 'the') location = rmatch("the", "the dog ate the steak from the table.", -11) -- location is set to 13 (2nd 'the')
See Also:
<IP_ADDRESS> begins
include std/search.e namespace search public function begins(object sub_text, sequence full_text)
tests whether a sequence is the head of another one.
Parameters:
- sub_text : an object to be looked for
- full_text : a sequence, the head of which is being inspected.
Returns:
An integer, 1 if sub_text begins full_text, else 0.
Comments:
If sub_text is an empty sequence, this returns 1 unless full_text is also an empty sequence. When they are both empty sequences this returns 0.
Example 1:
s = begins("abc", "abcdef") -- s is 1 s = begins("bcd", "abcdef") -- s is 0
See Also:
<IP_ADDRESS> ends
include std/search.e namespace search public function ends(object sub_text, sequence full_text)
tests whether a sequence ends another one.
Parameters:
- sub_text : an object to be looked for
- full_text : a sequence, the tail of which is being inspected.
Returns:
An integer, 1 if sub_text ends full_text, else 0.
Comments:
If sub_text is an empty sequence, this returns 1 unless full_text is also an empty sequence. When they are both empty sequences this returns 0.
Example 1:
s = ends("def", "abcdef") -- s is 1 s = begins("bcd", "abcdef") -- s is 0
See Also:
<IP_ADDRESS> is_in_range
include std/search.e namespace search public function is_in_range(object item, sequence range_limits, sequence boundries = "[]")
tests to see if the item is in a range of values supplied by range_limits.
Parameters:
- item : The object to test for.
- range_limits : A sequence of two or more elements. The first is assumed to be the smallest value and the last is assumed to be the highest value.
- boundries: a sequence. This determines if the range limits are inclusive or not. Must be one of "[]" (the default), "[)", "(]", or "()".
Returns:
An integer, 0 if item is not in the range_limits otherwise it returns 1.
Comments:
- In boundries, square brackets mean inclusive and round brackets mean exclusive. Thus "[]" includes both limits in the range, while "()" excludes both limits. And, "[)" includes the lower limit and excludes the upper limits while "(]" does the reverse.
Example 1:
if is_in_range(2, {2, 75}) then procA(user_data) -- Gets run (both limits included) end if if is_in_range(2, {2, 75}, "(]") then procA(user_data) -- Does not get run end if
<IP_ADDRESS> is_in_list
include std/search.e namespace search public function is_in_list(object item, sequence list)
tests to see if the item is in a list of values supplied by list.
Parameters:
- item : The object to test for.
- list : A sequence of elements that item could be a member of.
Returns:
An integer, 0 if item is not in the list, otherwise it returns 1.
Example 1:
if is_in_list(user_data, {100, 45, 2, 75, 121}) then procA(user_data) end if
<IP_ADDRESS> lookup
include std/search.e namespace search public function lookup(object find_item, sequence source_list, sequence target_list, object def_value = 0)
returns the corresponding element from the target list if the supplied item is in the source list.
Parameters:
- find_item: an object that might exist in source_list.
- source_list: a sequence that might contain pITem.
- target_list: a sequence from which the corresponding item will be returned.
- def_value: an object (defaults to zero). This is returned when find_item is not in source_list and target_list is not longer than source_list.
Returns:
An object
- If find_item is found in source_list then this is the corresponding element from target_list
- If find_item is not in source_list then if target_list is longer than source_list then the last item in target_list is returned otherwise def_value is returned.
Example 1:
lookup('a', "cat", "dog") --> 'o' lookup('d', "cat", "dogx") --> 'x' lookup('d', "cat", "dog") --> 0 lookup('d', "cat", "dog", -1) --> -1 lookup("ant", {"ant","bear","cat"}, {"spider","seal","dog","unknown"}) --> "spider" lookup("dog", {"ant","bear","cat"}, {"spider","seal","dog","unknown"}) --> "unknown"
<IP_ADDRESS> vlookup
include std/search.e namespace search public function vlookup(object find_item, sequence grid_data, integer source_col, integer target_col, object def_value = 0)
returns the corresponding element from the target column if the supplied item is in a source grid column.
Parameters:
- find_item: an object that might exist in source_col.
- grid_data: a 2D grid sequence that might contain pITem.
- source_col: an integer. The column number to look for find_item.
- target_col: an integer. The column number from which the corresponding item will be returned.
- def_value: an object (defaults to zero). This is returned when find_item is not found in the source_col column, or if found but the target column does not exist.
Comments:
- If a row in the grid is actually a single atom, the row is ignored.
- If a row's length is less than the source_col, the row is ignored.
Returns:
An object,
- If find_item is found in the source_col column then this is the corresponding element from the target_col column.
Example 1:
sequence grid grid = { {"ant", "spider", "mortein"}, {"bear", "seal", "gun"}, {"cat", "dog", "ranger"}, $ } vlookup("ant", grid, 1, 2, "?") --> "spider" vlookup("ant", grid, 1, 3, "?") --> "mortein" vlookup("seal", grid, 2, 3, "?") --> "gun" vlookup("seal", grid, 2, 1, "?") --> "bear" vlookup("mouse", grid, 2, 3, "?") --> "?"


52°North WPS powered by Docker
This is the welcome site for the 52°North Web Processing Service 1.0.0 implementation.
The Dockerfile was developed as part of the GeoContainers project: https://github.com/GeoContainers/sandbox/tree/master/52n-wps
Usage
Requests
Clients
- 52°North WPS form client can be used to submit XML-based requests this WPS instance manually.
- R Image Rendering demonstrates a simple client for mobile devices using an R process to render images.
Documentation
- To learn more about the specification visit the OGC website.
- To learn more about this implementation visit the 52°North Geoprocessing Community website.
- This is an open source project on GitHub
- Find developer documentation in the 52°North Wiki


--- layout: post esbma_id: 1643 title: Who cares if Microsoft is innovative or not? date: 2006-12-01 17:09:43 ---
In today's Wall Street Journal, Robert Scoble and Dave Winer are debating the question of whether Microsoft is innovative or not. Winer says "Microsoft isn't an innovator, and never was". Scoble's argument doesn't appear to offer the same kid of juicy sound bite that begs to be ripped out of context, but he generally seems to be defending Microsoft as an innovator.
Don Dodge chimes in, saying that "they both missed the point". His claim rests on his quibbles over the misuse of the words "innovation" and "invention". He backs up his argument by offering definitions for both words, but as far as I can tell he made those definitions up. They bear little or no resemblance to anything I can find in my copy of Webster's Tenth Edition. Anyway, Dodge goes on to say that Microsoft should be getting credit for both invention and innovation.
Scoble is an ex-Microsoftie. Dodge is currently with Microsoft. AFAIK, Winer has never worked for Microsoft.
All three of these guys have some smart things to say on the topic, but if I have to choose, I'll side with Dave Winer. I personally don't think of Microsoft as an innovative company. I think of Microsoft as a company with outstanding execution, not outstanding innovation.
But to me the more important question is, "Who cares?" When I say Microsoft is not innovative, I am not making a pejorative statement. Rather, I am wondering why Microsoft would even want to be innovative.
Microsoft is a public company. They exist for the purpose of generating profit for their shareholders. The truth is that the link between innovation and profit is weak at best. Innovation is not the usual path to making a lot of money. Most people don't buy innovative products. They buy proven solutions which have matured a bit further and are ready for the mainstream.
Taking technologies through this maturing process is difficult and fraught with risk. Microsoft offers a huge number of cool products that people really want, and they do it better than anybody else. If those products don't inspire people to think of Microsoft as innovative, who cares?
Microsoft apparently cares a lot. They seem to want the world to see them as innovative. Scoble and Dodge are not the first Microsofties to get all fussy on this issue. But why?
I think Microsoft knows that innovation usually does not lead to profit, but it does lead to admiration. People admire innovators, and Microsoft wants to be admired.
But now it's time for my point: If Microsoft really wants to be admired, I think they should stop complaining that people don't admire them and start acting admirably.
Need an example? Last week, Microsoft announced a licensing program for their "intellectual property" associated with the ribbon feature in Office 2007. Now, I'll be the first to say that there are some cool things here. The ribbon concept itself is cool. The license is apparently free of cost, which is cool.
But the un-cool part is the complete absence of information about what intellectual property rights are being licensed. They explicitly say that there is no code being licensed, so what IP am I getting when I sign this license?
It's not clear. What is clear is that if you use a ribbon-like concept in your app but choose not to sign this license, you take the risk of being sued by Microsoft. But since you don't know what the basis of that lawsuit will be, you have no objective information on which to base your decision. All you know is that an enormous and powerful company is making subtle threats. And that's scary.
Bottom line: This smells like a company using fear to manipulate people. And nobody admires someone who applies fear for the purpose of coercion.
The ribbon issue happens to be the situation that has me annoyed at the moment, but this is just one example of Microsoft acting in a way that leads people to not admire them. There are plenty of other examples I could cite. Sum it all up and you have one big dissonant noise: Microsoft says they want to be admired, but sometimes their actions indicate that they want profit a lot more than they want admiration.
My regular readers know that I generally consider myself to be a fan of Microsoft's products and technologies. That hasn't changed.
I am also not saying I disapprove of Microsoft as a basically profit-driven corporation.
I just wish they'd stop expecting people to admire them.
Microsoft reminds me of an IRS auditor who is whining that he doesn't have any friends.


Connect by selecting the "non" network from your wifi menu
{{assigned.total}} devices are connected to your nonbox. {{assigned.remaining}} available slots left
nonbox stats |
|
| Battery | 50% |
| Online | |
| Version | 1.0.1 |
Lorem ipsum dolor sit amet.
00:0a:95:9d:68:16Lorem ipsum dolor sit amet.
00:0a:95:9d:68:16


An interactive application to visualise meta-analysis data as a physical weighing machine. The interface is based on the Shiny web application framework, though can be run locally and with the user's own data.
| Version: | 0.2.1 |
| Depends: | R (≥ 2.10), shiny |
| Imports: | ggvis, DT (≥ 0.1.40), rstudioapi |
| Suggests: | rmeta |
| Published: | 2016-10-13 |
| Author: | Jack Bowden (conception), Christopher Jackson (programming) |
| Maintainer: | Christopher Jackson <chris.jackson at mrc-bsu.cam.ac.uk> |
| BugReports: | https://github.com/chjackson/MetaAnalyser/issues |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| URL: | https://github.com/chjackson/MetaAnalyser |
| NeedsCompilation: | no |
| Citation: | MetaAnalyser citation info |
| Materials: | NEWS |
| In views: | MetaAnalysis |
| CRAN checks: | MetaAnalyser results |
| Reference manual: | MetaAnalyser.pdf |
| Package source: | MetaAnalyser_0.2.1.tar.gz |
| Windows binaries: | r-devel: MetaAnalyser_0.2.1.zip, r-release: MetaAnalyser_0.2.1.zip, r-oldrel: MetaAnalyser_0.2.1.zip |
| OS X binaries: | r-release: MetaAnalyser_0.2.1.tgz, r-oldrel: MetaAnalyser_0.2.1.tgz |
| Old sources: | MetaAnalyser archive |
Please use the canonical form https://CRAN.R-project.org/package=MetaAnalyser to link to this page.


Primarily using C# to create software that optimizes business practices. Other responsibilities included testing applications and developing front-end applications. At UPS, I was required to become familiar with the software development life cycle and coordinate with teams in an agile development environment.
Tasked with working with a team of people to load package containers for overnight shipment.


This document contains the release notes for the LLVM Compiler Infrastructure, release 2.7. Here we describe the status of LLVM, including major improvements from the previous release and significant known problems. All LLVM releases may be downloaded from the LLVM releases web site.
For more information about LLVM, including information about the latest release, please check out the main LLVM web site. If you have questions or comments, the LLVM Developer's Mailing List is a good place to send them.
Note that if you are reading this file from a Subversion checkout or the main LLVM web page, this document applies to the next release, not the current one. To see the release notes for a specific release, please see the releases page.
The LLVM 2.7 distribution currently consists of code from the core LLVM repository (which roughly includes the LLVM optimizers, code generators and supporting tools), the Clang repository and the llvm-gcc repository. In addition to this code, the LLVM Project includes other sub-projects that are in development. Here we include updates on these subprojects.
Previously announced in the 2.4, 2.5, and 2.6 LLVM releases, the Clang project also includes an early stage static source code analysis tool for automatically finding bugs in C and Objective-C programs. The tool performs checks to find bugs that occur on a specific path within a program.
In the LLVM 2.7 time-frame, the analyzer core has ...
The VMKit project is an implementation of a JVM and a CLI Virtual Machine (Microsoft .NET is an implementation of the CLI) using LLVM for static and just-in-time compilation.
VMKit version ?? builds with LLVM 2.7 and you can find it on its web page. The release includes bug fixes, cleanup and new features. The major changes are:
The new LLVM compiler-rt project is a simple library that provides an implementation of the low-level target-specific hooks required by code generation and other runtime components. For example, when compiling for a 32-bit target, converting a double to a 64-bit unsigned integer is compiled into a runtime call to the "__fixunsdfdi" function. The compiler-rt library provides highly optimized implementations of this and other low-level routines (some are 3x faster than the equivalent libgcc routines).
All of the code in the compiler-rt project is available under the standard LLVM License, a "BSD-style" license.
The new LLVM KLEE project is a symbolic execution framework for programs in LLVM bitcode form. KLEE tries to symbolically evaluate "all" paths through the application and records state transitions that lead to fault states. This allows it to construct testcases that lead to faults and can even be used to verify algorithms. For more details, please see the OSDI 2008 paper about KLEE.
The goal of DragonEgg is to make gcc-4.5 act like llvm-gcc without requiring any gcc modifications whatsoever. DragonEgg is a shared library (dragonegg.so) that is loaded by gcc at runtime. It ...
The LLVM Machine Code (MC) Toolkit project is ...
An exciting aspect of LLVM is that it is used as an enabling technology for a lot of other language and tools projects. This section lists some of the projects that have already been updated to work with LLVM 2.7.
Rubinius is an environment for running Ruby code which strives to write as much of the core class implementation in Ruby as possible. Combined with a bytecode interpreting VM, it uses LLVM to optimize and compile ruby code down to machine code. Techniques such as type feedback, method inlining, and uncommon traps are all used to remove dynamism from ruby execution and increase performance.
Since LLVM 2.5, Rubinius has made several major leaps forward, implementing a counter based JIT, type feedback and speculative method inlining.
MacRuby is an implementation of Ruby on top of core Mac OS X technologies, such as the Objective-C common runtime and garbage collector and the CoreFoundation framework. It is principally developed by Apple and aims at enabling the creation of full-fledged Mac OS X applications.
MacRuby uses LLVM for optimization passes, JIT and AOT compilation of Ruby expressions. It also uses zero-cost DWARF exceptions to implement Ruby exception handling.
Pure is an algebraic/functional programming language based on term rewriting. Programs are collections of equations which are used to evaluate expressions in a symbolic fashion. Pure offers dynamic typing, eager and lazy evaluation, lexical closures, a hygienic macro system (also based on term rewriting), built-in list and matrix support (including list and matrix comprehensions) and an easy-to-use C interface. The interpreter uses LLVM as a backend to JIT-compile Pure programs to fast native code.
Pure versions ??? and later have been tested and are known to work with LLVM 2.7 (and continue to work with older LLVM releases >= 2.3 as well).
LDC is an implementation of the D Programming Language using the LLVM optimizer and code generator. The LDC project works great with the LLVM 2.6 release. General improvements in this cycle have included new inline asm constraint handling, better debug info support, general bug fixes and better x86-64 support. This has allowed some major improvements in LDC, getting it much closer to being as fully featured as the original DMD compiler from DigitalMars.
Roadsend PHP (rphp) is an open source implementation of the PHP programming language that uses LLVM for its optimizer, JIT and static compiler. This is a reimplementation of an earlier project that is now based on LLVM.
Unladen Swallow is a branch of Python intended to be fully compatible and significantly faster. It uses LLVM's optimization passes and JIT compiler.
LLVM-Lua uses LLVM to add JIT and static compiling support to the Lua VM. Lua bytecode is analyzed to remove type checks, then LLVM is used to compile the bytecode down to machine code.
IcedTea provides a harness to build OpenJDK using only free software build tools and to provide replacements for the not-yet free parts of OpenJDK. One of the extensions that IcedTea provides is a new JIT compiler named Shark which uses LLVM to provide native code generation without introducing processor-dependent code.
This release includes a huge number of bug fixes, performance tweaks and minor improvements. Some of the major improvements and new features are listed in this section.
LLVM 2.7 includes several major new capabilities:
LLVM IR has several new features for better support of new targets and that expose new optimization opportunities:
In addition to a large array of minor performance tweaks and bug fixes, this release includes a few major enhancements and additions to the optimizers:
Also, -anders-aa was removed
We have put a significant amount of work into the code generator infrastructure, which allows us to implement more aggressive algorithms and make it run faster:
New features of the X86 target include:
New features of the PIC16 target include:
Things not yet supported:
New features of the ARM target include:
New features of other targets include:
This release includes a number of new APIs that are used internally, which may also be useful for external clients.
Other miscellaneous features include:
If you're already an LLVM user or developer with out-of-tree changes based on LLVM 2.6, this section lists some "gotchas" that you may run into upgrading from the previous release.
In addition, many APIs have changed in this release. Some of the major LLVM API changes are:
LLVM is known to work on the following platforms:
The core LLVM infrastructure uses GNU autoconf to adapt itself to the machine and operating system on which it is built. However, minor porting may be required to get LLVM to work on new platforms. We welcome your portability patches and reports of successful builds or error messages.
This section contains significant known problems with the LLVM system, listed by component. If you run into a problem, please check the LLVM bug database and submit a bug if there isn't already one.
The following components of this LLVM release are either untested, known to be broken or unreliable, or are in early development. These components should not be relied on, and bugs should not be filed against them, but they may be useful to some people. In particular, if you would like to work on one of these components, please contact us on the LLVMdev list.
The only major language feature of GCC not supported by llvm-gcc is the __builtin_apply family of builtins. However, some extensions are only supported on some targets. For example, trampolines are only supported on some targets (these are used when you take the address of a nested function).
If you run into GCC extensions which are not supported, please let us know.
The C++ front-end is considered to be fully tested and works for a number of non-trivial programs, including LLVM itself, Qt, Mozilla, etc.
The Llvm.Linkage module is broken, and has incorrect values. Only Llvm.Linkage.External, Llvm.Linkage.Available_externally, and Llvm.Linkage.Link_once will be correct. If you need any of the other linkage modes, you'll have to write an external C library in order to expose the functionality. This has been fixed in the trunk.
A wide variety of additional information is available on the LLVM web page, in particular in the documentation section. The web page also contains versions of the API documentation which is up-to-date with the Subversion version of the source code. You can access versions of these documents specific to this release by going into the "llvm/doc/" directory in the LLVM tree.
If you have any questions or comments about LLVM, please feel free to contact us via the mailing lists.


If you use OmniGraffle to design or document Jenkins plugins, you may find this one of these to stenciles useful:
- OmniGraffle 5 stencil with Jenkins images
- OmniGraffle 5 stencil with Hudson images (http://)
You can find the images used in Jenkins in the Jenkins download; to get at individual ones without downloading the source, look at images on github.


The current version is v0.9.4.
JSCause requires NodeJS. Please make sure you have it installed in your system. Any version equal or above 12.x should be fine.
There are two download options:
Option 1: Stand-alone package (it only requires NodeJS)
Download jscause_standalone-v0.9.4-alpha.zip from our Github releases page.
Option 2: Installation via NPM
On a terminal, use the following command:
sudo npm install -g jscause
Use the example site project (see below) to get up and running in no time.
No sudo? No problem:
npm install jscause
JSCause will be available at ./node_modules/.bin/jscause
Use the example site project (see below) to get up and running in no time.
Tutorial and documentation
Check out the tutorial or the full documentation for information on how to use JSCause.
Start with our example site project
Our example site project contains a fully configured barebones project which you can use to start building your own website.
The current vesion is V1, which is compatible with JSCause V0.9.4 and up.
Download the example site project here.
It will always be available from our Github releases page.


What does it measure?
This speed test provides you with information on four simple indicators about your Internet
connection:
| Indicator |
What is tested? |
Measurement |
| latency |
delay between you and the server |
reaction time |
| jitter |
variation of the delay |
stability |
| download |
rate of data receiving |
download speed |
| upload |
rate of data sending |
upload speed |
What is the meaning of each indicator?
Latency is the responsiveness of your connection
When it is low, it indicates that the information takes little time to travel between you and the
server.
The lower it is, the more information flows "in real time". It generally reflects the distance
traved by
data between you and the server.
Jitter is the stability of your connection
When it is low, it indicates that latency does not vary much and that your connection is stable. On
the
contrary, when it rises, it indicates that the reactivity of your connection can vary greatly from
one
data exchange to another.
The download and upload speed are the size of your connection
When it is high, a lot of data can be exchanged in a short time between you and the server. This
makes it
possible to retrieve and send large files faster.
What are the supported browsers?
This speed test should operate normally on all modern browsers, including the latest version of Google Chrome, Mozilla Firefox,
Microsoft
Edge, Apple
Safari and Opera.
However, no version of Internet Explorer is officially supported.


The cat.h
header defines basic concatenation macros.
#include <chaos/preprocessor/cat.h>
The CHAOS_PP_CAT
macro concatenates its arguments after they have been expanded.
CHAOS_PP_CAT
(a, ...)
The left operand of the concatenation.
The right operand of the concatenation.
CHAOS_PP_CAT
(a, b)
The left operand of the concatenation.
The right operand of the concatenation.
This macro concatenates the rightmost preprocessing token of a to the leftmost preprocessing token of b or __VA_ARGS__
.
a ## __VA_ARGS__ // C99 a ## b // C and C++
This macro allows its arguments to expand on input.
This macro's sibling, CHAOS_PP_PRIMITIVE_CAT
, does not provide this delay.
In C99, if both a and __VA_ARGS__
expand to placemarkers, this macro expands to nothing.
CHAOS_PP_CAT
(,) //
Similarly, if either a or __VA_ARGS__
expands to a placemarker exclusively, this macro expands to the argument that does not expand to a placemarker.
CHAOS_PP_CAT
(123,) // 123CHAOS_PP_CAT
(, a, b) // a, b
CHAOS_PP_AUTO_CAT
CHAOS_PP_CONCAT
CHAOS_PP_PARTIAL_CAT
CHAOS_PP_PARTIAL_CAT_II
CHAOS_PP_PRIMITIVE_AUTO_CAT
CHAOS_PP_PRIMITIVE_CAT
CHAOS_PP_PRIMITIVE_REVERSE_CAT
CHAOS_PP_REVERSE_CAT
CHAOS_PP_SEQ_CONCAT
CHAOS_PP_TUPLE_CONCAT
CHAOS_PP_VARIADIC_CAT
#include<chaos/preprocessor/cat.h>
#define A 1 #define B 2CHAOS_PP_CAT
(A, B) // 12
The CHAOS_PP_CAT_ID
macro indirectly expands to CHAOS_PP_CAT
.
CHAOS_PP_CAT_ID
()
This macro effectively allows CHAOS_PP_CAT
to pass through itself without becoming disabled.
The CHAOS_PP_CAT_
macro expands to a λ expression representing CHAOS_PP_CAT
.
CHAOS_PP_CAT_
This macro is a shorthand form of the following λ binding:
The CHAOS_PP_PRIMITIVE_CAT
macro concatenates its arguments before they are expanded.
CHAOS_PP_PRIMITIVE_CAT
(x, ...)
The left operand of the concatenation.
The right operand of the concatenation.
CHAOS_PP_PRIMITIVE_CAT
(a, b)
The left operand of the concatenation.
The right operand of the concatenation.
This macro behaves identically to CHAOS_PP_CAT
except that it does not allow its arguments to expand prior to concatenation.
CHAOS_PP_AUTO_CAT
CHAOS_PP_CAT
CHAOS_PP_CONCAT
CHAOS_PP_PARTIAL_CAT
CHAOS_PP_PARTIAL_CAT_II
CHAOS_PP_PRIMITIVE_AUTO_CAT
CHAOS_PP_PRIMITIVE_REVERSE_CAT
CHAOS_PP_REVERSE_CAT
CHAOS_PP_SEQ_CONCAT
CHAOS_PP_TUPLE_CONCAT
CHAOS_PP_VARIADIC_CAT
#include<chaos/preprocessor/cat.h>
#define A 1 #define B 2CHAOS_PP_PRIMITIVE_CAT
(A, B) // AB
The CHAOS_PP_PRIMITIVE_CAT_ID
macro indirectly expands to CHAOS_PP_PRIMITIVE_CAT
.
CHAOS_PP_PRIMITIVE_CAT_ID
()
This macro effectively allows CHAOS_PP_PRIMITIVE_CAT
to pass through itself without becoming disabled.
The CHAOS_PP_PRIMITIVE_CAT_
macro expands to a λ expression representing CHAOS_PP_PRIMITIVE_CAT
.
CHAOS_PP_PRIMITIVE_CAT_
This macro is a shorthand form of the following λ binding:


Its a mathematical game.
Parul Mishra Dubedy
parulmishra
Click here
Ping Pong will count upto your number from 1 with the following exceptions:


User name
User surname
Personal code
Do you want to subscribe to our useful updates?
Do you want to subscribe to our useless updates?


Sainsbury's doubles cost of plastic bags to 20p leaving shoppers furious
Sainsbury's says the new price is "fair" and part of a strategy to cut down on its plastic use, but angry shoppers claim the move was "daylight robbery"
by Chris Kitching, https://www.mirror.co.uk/authors/chris-kitching/Sainsbury's has doubled the cost of its plastic bags to 20p in a move that has left shoppers furious.
The supermarket giant said it has increased the price as part of an effort to reduce its plastic footprint and encourage customers to get into the habit of re-using their bags.
Sainsbury's said there is an incentive to cut plastic use by more than 50 per cent in five years, with the profits going to good causes.
It said the 20p price is "fair" but shoppers who were angry over the move claimed it was "daylight robbery" and accused the supermarket of "profiting from forgetfulness".
A number of customers told how they had no idea the price had increased as of this week until they got home and checked their receipt.
A shopper wrote on Twitter : "Sainsbury’s bags have been increased from 10p to 20p. Why? Only noticed when I checked the receipt when I got home."
Shoppers have been left furious as Sainsbury's has doubled the cost of its plastic bags to 20p in a move dubbed 'day light robbery' and 'profiting from forgetfulness'.
Another customer wrote: "Sainsbury’s plastic bags have stayed the exact same since they became 5p so SOMEONE needs to tell me why their bags are now 20p?"
One tweeted: "I get ‘saving the planet’. So offer a paper bag alternatively at 10p, stop profiteering from my forgetfulness!"
Another complained: “Guessing they saw Morrisons get away with it and decided they wanted a bit of that action too!”
And another added: "You're right, you will cut Sainsbury's plastic consumption as I wont be shopping there anymore."
Sainsbury's wrote back to customers, saying: "This change supports our strategy of reducing, reusing and replacing plastic more.
"If Sainsbury's witness sales increase, then we'll continue to channel any bag for life profit to supporting good causes."
A spokesperson for the supermarket told the Sun: "We think 20p is fair. We’re really hoping it will help reduce our plastic usage."
Supermarkets axed single use carrier bags in 2015 after the Government introduced a 5p charge.
Morrisons began charging 30p per bag in August. Asda’s price went from 9p to 15p in July.
Rival Tesco is still charging 10p for a bag.
In September, Sainsbury's removed plastic bags from its bakery, fruit and veg aisles and introduced a 30p drawstring carrier.