Vector tile
The data set lists values for each of the variables, such as geometry and properties of an object, for each member of the data set. Each value is known as a datum.
Basemap
Dataset vector tile
The data set may comprise data for one or more members, corresponding to the number of rows. The term data set may also be used more loosely, to refer to the data in a collection of closely related tables, corresponding to a particular experiment or event. Our dataset vector contains one or more coordinates that describe how to draw the point, line or polygon that represents that feature on the surface of the earth.
<!DOCTYPE html>

<meta charset="utf-8">
<title>Dataset vector tile</title>
<link rel="stylesheet" href="https://cdn.vallaris.space/css/vallaris.css">


Before Change
Identify targeted genes with copy number gain or loss.
probes = core.shift_xx(probes, male_reference)
gainloss = []
if segments:
segments = core.shift_xx(segments, male_reference)
for segment, subprobes in probes.by_segment(segments):
if abs(segment["coverage"]) >= threshold:
for (gene, chrom, start, end, coverages
) in reports.group_by_genes(subprobes):
gainloss.append((gene, chrom, start, end,
segment["coverage"], len(coverages)))
else:
for gene, chrom, start, end, coverages in reports.group_by_genes(probes):
gene_coverage = numpy.median(coverages)
if abs(gene_coverage) >= threshold:
gainloss.append((gene, chrom, start, end,
gene_coverage, len(coverages)))
return [row for row in gainloss if row[5] >= min_probes]
P_gainloss = AP_subparsers.add_parser("gainloss", help=_cmd_gainloss.__doc__)
After Change
min_probes=3):
Identify targeted genes with copy number gain or loss.
probes = core.shift_xx(probes, male_reference)
if segments:
segments = core.shift_xx(segments, male_reference)
gainloss = reports.gainloss_by_segment(probes, segments, threshold)
else:
gainloss = reports.gainloss_by_gene(probes, threshold)
return [row for row in gainloss if row[5] >= min_probes]
P_gainloss = AP_subparsers.add_parser("gainloss", help=_cmd_gainloss.__doc__)


This single page skin explains how to use the GamblingTec.com login widget, how to launch games
and how to access basic data from the widget to be used in your game skin.
Logged in users UUID:
Logged in users Balance: €-
1. Try out the login/register link at the top. This will open our login/register widget on GamblingTec.com and once logged in, will communicate back with this template allowing it to update the login/register text to 'my account', and display the users uuid/balance.
2. Next play a game for real or for fun. If you are not logged in, you will be asked to do so, otherwise the game will be launched. If you play for real you will be asked to make a deposit and will be directed to the deposit pages.
You will notice the name of the game you are about to play in the deposit pages when playing for real. This is controlled by the game code. At present it will be set to GamblingTec.com and will change once your code has been added.

Make sure you have our latest API documentation.
Check GitHub for code samples & free templates.
Need some help? Contact us via our support desk!
The following are games integrated into our system by SGS Universal. Have a look at the code and note the simple manner in which they are launched.
Please note that the REAL play option will direct you to the payment pages. To continue from these pages just click on the "transfer" button with a zero balance. You will be directed to a game that is set in FUN mode. The purpose of this is to illustrate how our transfer/payment system works.
Once your project is ready, get in touch and we will create live credentials for you!
+44 0208 144 7266


public class RepaintManager extends Object
As of 1.6 RepaintManager
handles repaint requests
for Swing's top level components (JApplet
,
JWindow
, JFrame
and JDialog
).
Any calls to repaint
on one of these will call into the
appropriate addDirtyRegion
method.
| Constructor and Description |
|---|
RepaintManager()
Create a new RepaintManager instance.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addDirtyRegion(Applet applet,
int x,
int y,
int w,
int h)
Adds
applet to the list of Component s that
need to be repainted. |
void |
addDirtyRegion(JComponent c,
int x,
int y,
int w,
int h)
Add a component in the list of components that should be refreshed.
|
void |
addDirtyRegion(Window window,
int x,
int y,
int w,
int h)
Adds
window to the list of Component s that
need to be repainted. |
void |
addInvalidComponent(JComponent invalidComponent)
Mark the component as in need of layout and queue a runnable
for the event dispatching thread that will validate the components
first isValidateRoot() ancestor.
|
static RepaintManager |
currentManager(Component c)
Return the RepaintManager for the calling thread given a Component.
|
static RepaintManager |
currentManager(JComponent c)
Return the RepaintManager for the calling thread given a JComponent.
|
Rectangle |
getDirtyRegion(JComponent aComponent)
Return the current dirty region for a component.
|
Dimension |
getDoubleBufferMaximumSize()
Returns the maximum double buffer size.
|
Image |
getOffscreenBuffer(Component c,
int proposedWidth,
int proposedHeight)
Return the offscreen buffer that should be used as a double buffer with
the component
c . |
Image |
getVolatileOffscreenBuffer(Component c,
int proposedWidth,
int proposedHeight)
Return a volatile offscreen buffer that should be used as a
double buffer with the specified component
c . |
boolean |
isCompletelyDirty(JComponent aComponent)
Convenience method that returns true if aComponent will be completely
painted during the next paintDirtyRegions().
|
boolean |
isDoubleBufferingEnabled()
Returns true if this RepaintManager is double buffered.
|
void |
markCompletelyClean(JComponent aComponent)
Mark a component completely clean.
|
void |
markCompletelyDirty(JComponent aComponent)
Mark a component completely dirty.
|
void |
paintDirtyRegions()
Paint all of the components that have been marked dirty.
|
void |
removeInvalidComponent(JComponent component)
Remove a component from the list of invalid components.
|
static void |
setCurrentManager(RepaintManager aRepaintManager)
Set the RepaintManager that should be used for the calling
thread.
|
void |
setDoubleBufferingEnabled(boolean aFlag)
Enables or disables double buffering in this RepaintManager.
|
void |
setDoubleBufferMaximumSize(Dimension d)
Set the maximum double buffer size.
|
String |
toString()
Returns a string that displays and identifies this
object's properties.
|
void |
validateInvalidComponents()
Validate all of the components that have been marked invalid.
|
public RepaintManager()
public static RepaintManager currentManager(Component c)
c
- a Component -- unused in the default implementation, but could
be used by an overridden version to return a different RepaintManager
depending on the Componentpublic static RepaintManager currentManager(JComponent c)
Note: This method exists for backward binary compatibility with earlier
versions of the Swing library. It simply returns the result returned by
currentManager(Component)
.
c
- a JComponent -- unusedpublic static void setCurrentManager(RepaintManager aRepaintManager)
aRepaintManager
- the RepaintManager object to usepublic void addInvalidComponent(JComponent invalidComponent)
public void removeInvalidComponent(JComponent component)
public void addDirtyRegion(JComponent c, int x, int y, int w, int h)
c
- Component to repaint, null results in nothing happening.x
- X coordinate of the region to repainty
- Y coordinate of the region to repaintw
- Width of the region to repainth
- Height of the region to repaintJComponent.repaint(long, int, int, int, int)
public void addDirtyRegion(Window window, int x, int y, int w, int h)
window
to the list of Component
s that
need to be repainted.window
- Window to repaint, null results in nothing happening.x
- X coordinate of the region to repainty
- Y coordinate of the region to repaintw
- Width of the region to repainth
- Height of the region to repaintJFrame.repaint(long, int, int, int, int)
,
JWindow.repaint(long, int, int, int, int)
,
JDialog.repaint(long, int, int, int, int)
public void addDirtyRegion(Applet applet, int x, int y, int w, int h)
applet
to the list of Component
s that
need to be repainted.applet
- Applet to repaint, null results in nothing happening.x
- X coordinate of the region to repainty
- Y coordinate of the region to repaintw
- Width of the region to repainth
- Height of the region to repaintJApplet.repaint(long, int, int, int, int)
public Rectangle getDirtyRegion(JComponent aComponent)
public void markCompletelyDirty(JComponent aComponent)
public void markCompletelyClean(JComponent aComponent)
public boolean isCompletelyDirty(JComponent aComponent)
public void validateInvalidComponents()
public void paintDirtyRegions()
public String toString()
public Image getOffscreenBuffer(Component c, int proposedWidth, int proposedHeight)
c
.
By default there is a double buffer per RepaintManager.
The buffer might be smaller than (proposedWidth,proposedHeight)
This happens when the maximum double buffer size as been set for the receiving
repaint manager.public Image getVolatileOffscreenBuffer(Component c, int proposedWidth, int proposedHeight)
c
.
The image returned will be an instance of VolatileImage, or null
if a VolatileImage object could not be instantiated.
This buffer might be smaller than (proposedWidth,proposedHeight)
.
This happens when the maximum double buffer size has been set for this
repaint manager.VolatileImage
public void setDoubleBufferMaximumSize(Dimension d)
public Dimension getDoubleBufferMaximumSize()
public void setDoubleBufferingEnabled(boolean aFlag)
aFlag
- true to activate double bufferingisDoubleBufferingEnabled()
public boolean isDoubleBufferingEnabled()
false
to avoid unnecessary buffering in Swing.
On platforms where native double buffering is not supported,
the default value will be true
. Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2015, Oracle and/or its affiliates. All rights reserved.


Pomodoro Clock
set your timer please!!
minutes
start
Please take a break!!
minutes
seconds
break
Stop your timer
Stop


Ordering options:
by hierarchical clustering
by gene name and tissue name
by gene
by tissue
by log2 ratio


{% include meta.html %}
{{ site.name }}
Projects
UI kit
Soundscape
Lifehack video
3D model
Interactivity
About
About
CV
{% include svg-icons.html %}
{{ content }}


--- title: Build subtitle: STRAPLESS - BUILD layout: strapless_transparent fabricator: true build: true bodyClass: body_Build heroClass: hero_Build home_hero --- {{title}} In order to build a successful UI, we must first understand the user. During the UX Process, the UX roles empathise with the user and the stakeholder; Define, Ideate, Prototype, Test, Implement {{#each materials.build.items}} {{name}} {{/each}} {{#each materials.build.items}} {{> strapless-article this }} {{/each}}
In order to build a successful UI, we must first understand the user.
During the UX Process, the UX roles empathise with the user and the stakeholder; Define, Ideate, Prototype, Test, Implement


QuizJS by Azurixa
QuizJS is simple JS library to create Quizes.
Quiz start
Start quiz
Congratulations
You finished!
Good answers
/


{% extends "base/base.html" %} {% load crispy_forms_tags %} {% load staticfiles %} {% load humanize %} {% block css %} {% endblock %} {% block content %} {% include 'messages/message.html' %} {% include 'base/loader.html' %}
Currently, a set of items must be folder or compressed (.tar.gz or .zip) folder that conforms to the WordFish standard.
| Action | Name | Images | Text |
|---|---|---|---|
| {% if request.user == collection.owner %} {% else %} {% endif %} | {{ entity.uid }} | {{ entity.image_entity.count }} | {{ entity.text_entity.count }} |
This collection does not have any entities! Why don't you try searching for papers or uploading some?
{% endif %}


{{extend 'layout.html'}} {{if request.function=='index':}}
The "query" is a condition like "db.table1.field1=='value'". Something like "db.table1.field1==db.table2.field2" results in a SQL JOIN.
Use (...)&(...) for AND, (...)|(...) for OR, and ~(...) for NOT to build more complex queries.
"update" is an optional expression like "field1='newvalue'". You cannot update or delete the results of a JOIN


Comparison of conventional X-ray diffraction (XRD) patterns between ( a) bulk Ti 3Sn sample and ( b) Ti 3Sn powder during the cooling process. ( a) XRD peaks of bulk Ti 3Sn near hexagonal D0 19 phase (002), (201) and (203) crystal faces. ( b) XRD peaks of Ti 3Sn powder near hexagonal D0 19 phase (002), (201) and (203) crystal faces, respectively.


A personal space for devloping in the full stack. I'm avoiding Bootstrap and other styling helpers in an effort to learn SASS and improve my CSS knowledge overall. I vastly prefer dark-themed pages for reading content, my favorite color is purple, and I suffer from Deuteranomaly.
This page uses Heroku to run Node and serve up an AnglarJS app. Currently, this is just using Express to serve static content, but I plan on using Node for fun things such as spawning python processes to crunch data and solve puzzles.


This is a sample web interface that lets you create on-chain and lightning invoices to your Electrum wallet. You can use it with an electrum daemon running on a webserver. The lightning invoice will be replaced by an error message if your wallet is disconnected or does not have enough inbound liquidity to receive the requested amount. The on-chain invoice will not be displayed if the amount is too small to be received onchain.


{% extends "base/base.html" %} {% load bootstrap %} {% block page_title %}Update profile{% endblock %} {% block page_header %}Edit{% endblock %} {% block content %}
When you upload, submit, store, send or receive content to or through our Services, you give Tom Wiesing and Leonhard Kuboschek (and those we work with) a worldwide, non-revocable license to use, host, store, reproduce, modify, create derivative works (such as those resulting from adaptations or other changes we make so that your content works better with our Services), communicate, publish, publicly perform, publicly display and distribute such content. The rights you grant in this license are for the limited purpose of publishing the yearbook, in print as well as through digital media. This license continues even if you stop using our Services.
{% if user.profile.faceless or not user.profile.image %} Your picture will not be shown in the yearbook. {% else %} This picture will be shown in the yearbook: {% endif %}


public interface ResourceAdapter
| Modifier and Type | Method and Description |
|---|---|
void |
endpointActivation(MessageEndpointFactory endpointFactory,
ActivationSpec spec)
This is called during the activation of a message endpoint.
|
void |
endpointDeactivation(MessageEndpointFactory endpointFactory,
ActivationSpec spec)
This is called when a message endpoint is deactivated.
|
javax.transaction.xa.XAResource[] |
getXAResources(ActivationSpec[] specs)
This method is called by the application server during crash recovery.
|
void |
start(BootstrapContext ctx)
This is called when a resource adapter instance is bootstrapped.
|
void |
stop()
This is called when a resource adapter instance is undeployed or
during application server shutdown.
|
void start(BootstrapContext ctx) throws ResourceAdapterInternalException
During this method call a ResourceAdapter JavaBean is responsible for initializing the resource adapter instance. Any exception thrown during this method call causes the application server to abort the bootstrap procedure for this specific resource adapter instance.
ctx
- a bootstrap context containing references to
useful facilities that could be used by a resource adapter instance.ResourceAdapterInternalException
- indicates bootstrap failure.
The resource adapter instance is unusable and must be discarded.void stop()
During this method call, a ResourceAdapter JavaBean is responsible for performing an orderly shutdown of the resource adapter instance. Any exception thrown by this method call does not alter the processing of the application server shutdown or resource adapter undeployment that caused this method call. The application server may log the exception information for error reporting purposes.
void endpointActivation(MessageEndpointFactory endpointFactory, ActivationSpec spec) throws ResourceException
Endpoint activation is deemed successful only when this method completes successfully without throwing any exceptions.
endpointFactory
- a message endpoint factory instance.spec
- an activation spec JavaBean instance.NotSupportedException
- indicates message endpoint
activation rejection due to incorrect activation
setup information.ResourceException
void endpointDeactivation(MessageEndpointFactory endpointFactory, ActivationSpec spec)
endpointActivation
call.
This causes the resource adapter to stop delivering messages to the
message endpoint.
Any exception thrown by this method is ignored. After this method call, the endpoint is deemed inactive.
endpointFactory
- a message endpoint factory instance.spec
- an activation spec JavaBean instance.javax.transaction.xa.XAResource[] getXAResources(ActivationSpec[] specs) throws ResourceException
ActivationSpec
JavaBeans
and returns an array of XAResource
objects each of which
represents a unique resource manager.
The resource adapter may return null if it does not implement the
XAResource
interface. Otherwise, it must return an array
of XAResource
objects, each of which represents a unique
resource manager that was used by the endpoint applications.
The application server uses the XAResource
objects to
query each resource manager for a list of in-doubt transactions.
It then completes each pending transaction by sending the commit
decision to the participating resource managers.specs
- an array of ActivationSpec
JavaBeans each of
which corresponds to an deployed endpoint application that was
active prior to the system crash.XAResource
objects each of which
represents a unique resource manager.ResourceException
- generic exception if operation fails due to an
error condition.


{% extends 'base.html' %}
{% block content %}
The Kampla located in the south west region with over 200 members A great business platform with networking power.
Join HoodThe mombasa located in the eastern part a great ride place with over 120 members and car enthusiasts more of a business.
Join HoodThe cape town region has an exclusive region for everyone with small and large scale businness and with ober 320 members.
Join Hood


Size: {{photos.length}}
{{photo.title}}
Lat: {{photo.latitude}} Lon: {{photo.longitude}}
{{photo.tags}}
Search:
Sort by:
Alphabetical
Newest
Name
Job Title
Age
Grade
{{employee.name}}
{{employee.job}}
{{employee.age}}
{{employee.grade}}
Add the Team
Team title
{{team.teamname}}


{{ actors.name }}
{{ actors.title }}
Birthday: {{ actors.birthday | date: 'dd/MM/yyyy' }}
{{ actors.biography }}
Place Of Birth : {{ actors.place_of_birth ? actors.place_of_birth : ' - ' }}
Popularity : {{ actors.popularity ? actors.popularity : ' - ' }}
known For Department : {{ actors.known_for_department ? actors.known_for_department : ' - ' }}


This page is meant to be treated as a follow-up to this scaler comparison done with ImageMagick. I'm only going to talk about niche topics here, so just refer to that other page if you only want to read about scalers.
The mpv community has written several meme shaders you can use to upsample video in real time, and the rationale is that they can potentially achieve higher quality than the built-in methods. I still do not have a good way of
automating mpv tests and therefore I'll have to stick to a single test image, which is still going to be violet.png just because I'm familiarised with it. If this is your first time reading these posts, this is what violet.png looks like:
The small number of samples under test makes this very unscientific, but it is what it is.
The following shaders were "benchmarked":
I've also added orthogonal and polar lanczos to the mix just to have a reference point, but feel free to send me any other shaders you would like to get scored. For Anime4K I'm using the "C" mode which is defined asThe test image is downsampled with:
magick convert violet.png -colorspace rgb -filter box -resize 50% -colorspace srgb downscaled.png
It is then converted to grayscale with:
magick convert downscaled.png -colorspace gray downscaled.png
We need to convert them to grayscale because some of these shaders do not have RGB support.
The images were then upsampled back with:
mpv --no-config --vo=gpu-next --no-hidpi-window-scale --window-scale=2.0 --pause=yes --screenshot-format=png --sigmoid-upscaling --deband=no --dither-depth=no --screenshot-high-bit-depth=no --glsl-shader="path/to/meme/shader" downscaled.png
Unfortunately, for NEEDI3 we have to switch back to
| Shader/Filter | MAE | PSNR | SSIM | MS-SSIM | MAE (N) | PSNR (N) | SSIM (N) | MS-SSIM (N) | Mean | ||
| ravu-lite-ar-r4 | 3.46E-03 | 41.3618 | 0.9887 | 0.9987 | 0.9925 | 1.0000 | 0.9872 | 0.9260 | 0.9764 | ||
| ravu-zoom-ar-r3 | 3.44E-03 | 41.2143 | 0.9889 | 0.9987 | 1.0000 | 0.9762 | 1.0000 | 0.9258 | 0.9755 | ||
| ravu-lite-ar-r3 | 3.55E-03 | 41.0825 | 0.9883 | 0.9988 | 0.9614 | 0.9549 | 0.9557 | 0.9349 | 0.9517 | ||
| ravu-lite-r4 | 3.72E-03 | 41.2500 | 0.9876 | 0.9989 | 0.9002 | 0.9819 | 0.9088 | 0.9836 | 0.9437 | ||
| ravu-zoom-r3 | 3.79E-03 | 41.0404 | 0.9872 | 0.9990 | 0.8743 | 0.9481 | 0.8779 | 1.0000 | 0.9251 | ||
| FSRCNNX_x2_8-0-4-1 | 3.77E-03 | 40.9503 | 0.9882 | 0.9987 | 0.8803 | 0.9336 | 0.9531 | 0.9026 | 0.9174 | ||
| ravu-lite-r3 | 3.81E-03 | 40.9251 | 0.9870 | 0.9989 | 0.8649 | 0.9295 | 0.8666 | 0.9748 | 0.9089 | ||
| ravu-zoom-ar-r2 | 3.63E-03 | 40.5841 | 0.9877 | 0.9987 | 0.9295 | 0.8745 | 0.9165 | 0.9135 | 0.9085 | ||
| ravu-lite-ar-r2 | 3.73E-03 | 40.2182 | 0.9872 | 0.9988 | 0.8951 | 0.8154 | 0.8823 | 0.9427 | 0.8839 | ||
| ravu-zoom-r2 | 3.94E-03 | 40.4724 | 0.9866 | 0.9989 | 0.8192 | 0.8564 | 0.8370 | 0.9714 | 0.8710 | ||
| ravu-lite-r2 | 4.03E-03 | 40.0375 | 0.9856 | 0.9988 | 0.7873 | 0.7862 | 0.7694 | 0.9560 | 0.8247 | ||
| FSRCNNX_x2_16-0-4-1 | 4.03E-03 | 39.9168 | 0.9873 | 0.9984 | 0.7864 | 0.7667 | 0.8911 | 0.8212 | 0.8163 | ||
| EASU | 4.33E-03 | 38.8482 | 0.9841 | 0.9981 | 0.6785 | 0.5943 | 0.6664 | 0.7317 | 0.6677 | ||
| lanczos | 4.67E-03 | 38.6816 | 0.9826 | 0.9984 | 0.5566 | 0.5674 | 0.5631 | 0.8072 | 0.6236 | ||
| nnedi3-nns64-win8x4 | 4.41E-03 | 38.6337 | 0.9839 | 0.9973 | 0.6516 | 0.5596 | 0.6557 | 0.4618 | 0.5822 | ||
| nnedi3-nns32-win8x4 | 4.46E-03 | 38.5214 | 0.9835 | 0.9973 | 0.6342 | 0.5415 | 0.6289 | 0.4515 | 0.5640 | ||
| FSR | 5.10E-03 | 39.0008 | 0.9817 | 0.9981 | 0.4036 | 0.6189 | 0.5042 | 0.7157 | 0.5606 | ||
| polar_lanczos | 4.99E-03 | 37.9718 | 0.9806 | 0.9980 | 0.4435 | 0.4528 | 0.4237 | 0.6683 | 0.4971 | ||
| Anime4K_C_S | 5.60E-03 | 36.3773 | 0.9783 | 0.9972 | 0.2242 | 0.1954 | 0.2644 | 0.4196 | 0.2759 | ||
| Anime4K_C_L | 5.83E-03 | 35.9398 | 0.9767 | 0.9968 | 0.1417 | 0.1248 | 0.1561 | 0.2977 | 0.1801 | ||
| Anime4K_C_VL | 5.94E-03 | 35.6782 | 0.9766 | 0.9963 | 0.1015 | 0.0826 | 0.1499 | 0.1305 | 0.1161 | ||
| Anime4K_C_M | 6.23E-03 | 35.3010 | 0.9744 | 0.9962 | 0.0000 | 0.0217 | 0.0000 | 0.1077 | 0.0323 | ||
| Anime4K_C_UL | 6.15E-03 | 35.1667 | 0.9750 | 0.9959 | 0.0283 | 0.0000 | 0.0418 | 0.0000 | 0.0175 |
The funniest thing about these results is that, according to distortion metrics, Anime4K is actually worse at "recreating the ground truth" than simple resampling filters. The problem seems to be that the shader is too sharp, it does not only ring but also makes the lines thinner. This isn't necessarily bad depending on how blurry your source is, but my test image here isn't blurry at all.
The slower variant of FSRCNNX has also scored worse than its smaller sibling, presumably for the same reason. I don't think igv trained these networks with images that had been downsampled in linear light, so that's probably part of the problem.
The overly-sharp shaders would probably do much better on perceptual metrics, I'll evaluate whether adding a few of them to the benchmarking script makes sense on a later date.
EASU (which is FSR without RCAS) actually scores way better than FSR, and I think it's probably a good option if you're looking for an efficient shader.
It's nice to see that bjin came back from the dead with gold. The new ravu variants perform much better than their previous incarnations and they're also free of the half-pixel shift problem.
Ravu-lite-ar-r4 is the best luma-doubler according to the metrics, and it's probably a safe choice if you're looking for a doubler. If you're not only doubling though, ravu-zoom-ar-r3 might be a better option. You can also edit their trigger conditions or use auto-profiles.lua to switch between them as needed.
While doing these tests at 2x makes sense since we can use a box filter to downsample, most people aren't always doubling their content. Scaling "performance" at lower scaling factors, such as 1.5x or 1.33x, are usually more interesting because this corresponds to 720p->1080p and 1080p->1440p, respectively. This section is supposed to better represent a real world scenario when you don't have a 4K display or don't watch comically low-resolution content.
Unfortunately, some of my choices here are only explained in the following sections. You'll have to bear with me and trust this makes (some) sense, as the alternative would be placing the fractional upsampling section at the end of the page instead of here, its most logical position.
In short, the entire methodology stays the same with a few modifications:
| Shader/Filter | MAE | PSNR | SSIM | MS-SSIM | MAE (N) | PSNR (N) | SSIM (N) | MS-SSIM (N) | Mean | ||
| FSRCNNX_x2_8-0-4-1_catrom_pc | 2.82E-03 | 44.0656 | 0.9929 | 0.9992 | 0.9946 | 0.9702 | 0.9894 | 1.0000 | 0.9886 | ||
| FSRCNNX_x2_16-0-4-1_catrom_pc | 2.95E-03 | 44.1704 | 0.9930 | 0.9992 | 0.9194 | 1.0000 | 1.0000 | 0.9810 | 0.9751 | ||
| ravu-zoom-ar-r3 | 2.81E-03 | 43.8118 | 0.9924 | 0.9991 | 1.0000 | 0.8982 | 0.9189 | 0.9024 | 0.9299 | ||
| ravu-zoom-r3 | 2.96E-03 | 43.7155 | 0.9920 | 0.9992 | 0.9172 | 0.8708 | 0.8647 | 0.9980 | 0.9126 | ||
| ravu-lite-r4_catrom_pc | 3.05E-03 | 43.5282 | 0.9920 | 0.9992 | 0.8638 | 0.8176 | 0.8663 | 0.9633 | 0.8777 | ||
| ravu-zoom-ar-r2 | 2.89E-03 | 43.4334 | 0.9920 | 0.9991 | 0.9567 | 0.7907 | 0.8561 | 0.8626 | 0.8665 | ||
| ravu-lite-r3_catrom_pc | 3.10E-03 | 43.3658 | 0.9918 | 0.9991 | 0.8324 | 0.7715 | 0.8349 | 0.9386 | 0.8443 | ||
| ravu-zoom-r2 | 3.08E-03 | 43.1801 | 0.9915 | 0.9991 | 0.8459 | 0.7187 | 0.7818 | 0.8936 | 0.8100 | ||
| ravu-lite-r2_catrom_pc | 3.17E-03 | 43.0046 | 0.9914 | 0.9991 | 0.7926 | 0.6689 | 0.7780 | 0.8828 | 0.7806 | ||
| ravu-lite-ar-r4_catrom_pc | 3.12E-03 | 42.8731 | 0.9916 | 0.9989 | 0.8258 | 0.6316 | 0.7965 | 0.7103 | 0.7410 | ||
| ravu-lite-ar-r3_catrom_pc | 3.14E-03 | 42.7861 | 0.9915 | 0.9989 | 0.8096 | 0.6068 | 0.7802 | 0.7073 | 0.7260 | ||
| nnedi3-nns64-win8x4_catrom_pc | 3.21E-03 | 42.5336 | 0.9913 | 0.9989 | 0.7716 | 0.5351 | 0.7594 | 0.7025 | 0.6922 | ||
| nnedi3-nns32-win8x4_catrom_pc | 3.21E-03 | 42.5250 | 0.9913 | 0.9989 | 0.7688 | 0.5327 | 0.7542 | 0.7022 | 0.6895 | ||
| ravu-lite-ar-r2_catrom_pc | 3.19E-03 | 42.5039 | 0.9911 | 0.9989 | 0.7820 | 0.5267 | 0.7319 | 0.6841 | 0.6812 | ||
| lanczos | 3.44E-03 | 41.9800 | 0.9902 | 0.9989 | 0.6382 | 0.3779 | 0.5939 | 0.6798 | 0.5725 | ||
| EASU | 3.28E-03 | 41.7860 | 0.9902 | 0.9987 | 0.7328 | 0.3228 | 0.5998 | 0.5315 | 0.5467 | ||
| polar_lanczos | 3.52E-03 | 41.4071 | 0.9894 | 0.9988 | 0.5927 | 0.2152 | 0.4805 | 0.5951 | 0.4709 | ||
| FSR | 4.55E-03 | 40.6494 | 0.9861 | 0.9982 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
Unlike in the 2x test, the new ravu variants weren't capable of dethroning FSRCNNX this time. Which may sound a bit ironic considering ravu-zoom can output to the target resolution directly while FSRCNNX can't.
The numbers are all closer together at 1.5x, which shows that your choice of scaler becomes less relevant as you decrease the scaling factor.
It's a bit funny to see FSR get worse here, since a lower scaling factor corresponds to a higher quality preset in AMD's terms, but I think the problem is just that the shader is too sharp. EASU is on top of it again but it's lower than lanczos this time. If you're going to use EASU maybe configure it to only fire up at 2x or higher.
In my opinion using any of these shaders at 1.5x is probably unnecessary, since you can get good enough results with normal filters. If you really want to use a shader though, I'd probably stick to ravu-zoom since it can output to the target resolution directly.
Using shaders to upsample chroma is an old meme, as igv ported Shiandow's KrigBilateral to mpv years ago. KrigBilateral implements kringing interpolation, which is commonly used in geostatistics. You can read more about it here.
There's a different technique, usually called Joint Bilateral, that simply uses luma as an extra weighting factor. In short, chromatic information from pixels with similar luminosities is preferred. I've written a shader that implements this idea mostly to learn GLSL, but it ended up being quite useful as it's much faster than KrigBilateral while still keeping a nice lead over classic methods sometimes (depends on content).
I've actually also written another meme shader for this, basically taking inspiration from this paper. In short, Chroma from Luma prediction is a technique that applies linear regression to map missing chromaticities based on the known luminosities. This doesn't always work, and it's generally very unstable, but the shader employs a few tricks to make the artifacts less noticeable. In theory, kriging should be better than this as it also takes pixel distance into account, but I was curious to know whether a simple linear regression would work so I ended up writing the shaders anyway.
In any case, my goal here is to compare these chroma shaders against polar/orthogonal lanczos, which I'm using as reference points.
This test is a little different and it requires a slightly more elaborate process. The first problem with this is that, with real video content, we rarely get a 4:4:4 copy. This means that we generally don't have a reference point to work with, so we have to create one on our own.
I've semi-arbitrarily decided to use a downsampled screenshot from the 4k version of Kimi no Na wa. This is what the downscaled frame looks like:
In order to preserve the chroma planes, the downsampled screenshot was taken using this shader to avoid having to resample chroma.
Two versions of the image were created using FFmpeg:
ffmpeg -i reference.png -pix_fmt yuv444p10le -c:v libx265 -preset placebo -x265-params lossless=1 yourname444.mp4
ffmpeg -i reference.png -pix_fmt yuv420p10le -c:v libx265 -preset placebo -x265-params lossless=1 yourname420.mp4
The idea here was creating (nearly) lossless variants with and without chroma subsampling. Please note that this doesn't seem to preserve the primaries correctly so the output video doesn't match the input image entirely.
The "reference" image was obtained by screenshotting "yourname444.mp4" on mpv.
The images under test were obtained by screenshotting "yourname420.mp4" on mpv using the various chroma resampling shaders.
mpv options remains the same with the exception that we don't need
| Shader/Filter | MAE | PSNR | SSIM | MS-SSIM | MAE (N) | PSNR (N) | SSIM (N) | MS-SSIM (N) | Mean | ||
| cflmix | 0.0028 | 44.1411 | 0.9939 | 0.9987 | 0.9526 | 0.9920 | 1.0000 | 0.9634 | 0.9770 | ||
| krigbilateral | 0.0028 | 44.1645 | 0.9936 | 0.9988 | 0.9147 | 1.0000 | 0.9004 | 1.0000 | 0.9538 | ||
| cfl4 | 0.0028 | 43.5243 | 0.9934 | 0.9987 | 1.0000 | 0.7806 | 0.8529 | 0.9041 | 0.8844 | ||
| cfl12 | 0.0030 | 43.7869 | 0.9935 | 0.9986 | 0.7750 | 0.8706 | 0.8573 | 0.8368 | 0.8349 | ||
| cfl16 | 0.0032 | 43.2266 | 0.9927 | 0.9983 | 0.5281 | 0.6786 | 0.6234 | 0.6358 | 0.6165 | ||
| jointbilateral | 0.0032 | 42.6758 | 0.9917 | 0.9985 | 0.4722 | 0.4899 | 0.3501 | 0.7797 | 0.5230 | ||
| fastbilateral | 0.0032 | 42.5421 | 0.9917 | 0.9985 | 0.4843 | 0.4441 | 0.3468 | 0.7477 | 0.5057 | ||
| lanczos | 0.0034 | 42.0579 | 0.9918 | 0.9975 | 0.2756 | 0.2782 | 0.3664 | 0.0549 | 0.2438 | ||
| polar_lanczos | 0.0034 | 42.0058 | 0.9917 | 0.9975 | 0.2525 | 0.2603 | 0.3455 | 0.0384 | 0.2242 | ||
| bilinear | 0.0037 | 41.2460 | 0.9906 | 0.9975 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
KrigBilateral, the shader I expected to be the best performer here, actually loses to CfL_Prediction_mix. CfL employs a linear-regression to find the missing chromaticities based on the known luminosities, with a few other tricks to make this operation relatively stable, and as we can see it seems to work relatively well. Kringing is actually supposed to be more sophisticated and generally safer, but it doesn't seem to matter on real anime content, at least not for those distortion metrics.
For CfL, the 4-tap variant is the most aggressive one which means it's generally sharper, however, it's also the one that artifacts the most. The 12-tap and 16-tap variants are "safer", but they're also noticeably softer. The "mix" variant of CfL is just the combination of the 4-tap and 12-tap variants, in an attempt to produce a cleaner picture by mixing their distinct artifacts together.
CfL actually works alongside your
FastBilatearl and JointBilateral are faster alternatives that work reasonably well when the correlation between chroma and luma is good enough, but they'll usually produce soft/blurry results when you have different chromaticities alongside relatively homogeneous luminosities. All the sharpness comes from the luma-guidance as the spatial filters themselves are soft by design (triangle and gaussian, respectively). I would probably not use these over normal resampling filters unless you know your content is detailed enough to make them shine.
It's also worth mentioning that you should almost always call these chroma shaders after prescaling luma if you're using a luma prescaler (like FSRCNNX or RAVU), as this will allow the shaders to map chroma to the final resolution directly.
While the shaders do produce better numbers in general, they can also produce weird artifacts sometimes. A normal resampling filter is much more "stable" in the sense that you know what you'll get, even if they smear a little bit and are incapable of perfectly mapping chroma to luma "tightly".
To be honest, the best advice here is to skip these shaders (all of them) as they're unlikely to make a meaningful difference with real content when you're only doubling chroma. If you are using a luma doubler, however, then performance likely isn't an issue and at 4x the differences start to be somewhat noticeable.
Antiringing solutions is a topic that I hadn't covered in the previous iteration of this page, but now that we have more than a single option we can also compare them.
In short, antiringing filters attempt to remove overshoots generated by sharp resampling filters when they meet a sharp intensity delta. What is commonly referred to as ringing is simply consequential to the filter's impulse response.
The following image shows this very well:
The negative weights in the filter are there for it to be able to quickly respond to high-frequency transitions, but it makes the filter overshoot a little bit before reaching its final destination. The "intensity" of the ringing is directly related to the magnitude of the secondary lobes. The second lobe, which is almost always negative, is responsible for the overshooting in can see in this example, but filters with more lobes ring once per lobe, and the ringing can be "positive" as well (within the range set by the original pixels) with positive lobes. The "length" of the rings is directly related to the length of the lobes, which is why filters like polar lanczos have "longer" rings (the zero crossings don't fall exactly at the integers, but rather slightly after them).
The methodology here almost is equal to the one used for upsampling, with the only difference being that we have to include
AR is only really necessary when you're using sharp filters, it makes no sense alongside blurry filters because blurry filters don't ring hard enough for it to be noticeable. Polar lanczos is a relatively blurry filter, and it's probably not the best candidate to test this with, however, it's also the most popular polar choice so using something else probably wouldn't be very useful to a lot of people... There are a few sharp memes that are worth trying with AR though if you feel adventurous, but enerally speaking I think orthogonal lanczos and polar lanczos are pretty balanced.
It's also worth mentioning that mpv uses different AR techniques for orthogonal and polar filters, but I'll name them both "_ar" for simplicity.
I'm including my AR shaders in this comparison because I think they're very good at keeping everything but the overshoots intact, which does create some weird artifacts with sharp transitions sometimes, specially if you use them at ludicrous scaling factors, but the output is generally clean enough on real content.
| Filter | MAE | PSNR | SSIM | MS-SSIM | MAE (N) | PSNR (N) | SSIM (N) | MS-SSIM (N) | Mean | ||
| lanczos_pc4_100 | 4.55E-03 | 38.4763 | 0.9831 | 0.9985 | 1.0000 | 0.9818 | 1.0000 | 0.7774 | 0.9398 | ||
| lanczos_pc4_75 | 4.58E-03 | 38.4828 | 0.9830 | 0.9985 | 0.9376 | 0.9934 | 0.9676 | 0.8592 | 0.9395 | ||
| lanczos_pc4_50 | 4.65E-03 | 38.4633 | 0.9827 | 0.9986 | 0.7928 | 0.9584 | 0.8655 | 0.9314 | 0.8870 | ||
| lanczos_pc12_100 | 4.64E-03 | 38.4865 | 0.9827 | 0.9985 | 0.8127 | 1.0000 | 0.8646 | 0.8572 | 0.8837 | ||
| lanczos_pc12_75 | 4.66E-03 | 38.4782 | 0.9826 | 0.9986 | 0.7672 | 0.9850 | 0.8346 | 0.9075 | 0.8736 | ||
| lanczos_pc12_50 | 4.71E-03 | 38.4522 | 0.9824 | 0.9986 | 0.6723 | 0.9387 | 0.7577 | 0.9554 | 0.8310 | ||
| lanczos_ar_50 | 4.67E-03 | 38.3433 | 0.9826 | 0.9985 | 0.7602 | 0.7442 | 0.8129 | 0.8172 | 0.7836 | ||
| lanczos_ar_75 | 4.62E-03 | 38.2819 | 0.9827 | 0.9984 | 0.8564 | 0.6345 | 0.8472 | 0.6661 | 0.7511 | ||
| lanczos | 4.82E-03 | 38.3682 | 0.9819 | 0.9986 | 0.4568 | 0.7886 | 0.5388 | 1.0000 | 0.6961 | ||
| lanczos_ar_100 | 4.61E-03 | 38.1854 | 0.9826 | 0.9983 | 0.8767 | 0.4622 | 0.8150 | 0.4950 | 0.6622 | ||
| polar_lanczos_ar_75 | 4.73E-03 | 38.0348 | 0.9818 | 0.9982 | 0.6240 | 0.1933 | 0.5137 | 0.1963 | 0.3818 | ||
| polar_lanczos_pc4_100 | 4.76E-03 | 38.0367 | 0.9817 | 0.9982 | 0.5667 | 0.1966 | 0.4694 | 0.2895 | 0.3806 | ||
| polar_lanczos_pc4_75 | 4.80E-03 | 38.0387 | 0.9816 | 0.9983 | 0.4970 | 0.2003 | 0.4300 | 0.3567 | 0.3710 | ||
| polar_lanczos_ar_50 | 4.81E-03 | 38.0317 | 0.9816 | 0.9983 | 0.4771 | 0.1878 | 0.4312 | 0.3372 | 0.3583 | ||
| polar_lanczos_ar_100 | 4.73E-03 | 38.0045 | 0.9818 | 0.9981 | 0.6297 | 0.1392 | 0.5035 | 0.0000 | 0.3181 | ||
| polar_lanczos_pc12_100 | 4.85E-03 | 38.0394 | 0.9813 | 0.9983 | 0.3817 | 0.2015 | 0.3319 | 0.3539 | 0.3173 | ||
| polar_lanczos_pc4_50 | 4.87E-03 | 38.0185 | 0.9813 | 0.9983 | 0.3487 | 0.1642 | 0.3231 | 0.4145 | 0.3126 | ||
| polar_lanczos_pc12_75 | 4.88E-03 | 38.0308 | 0.9812 | 0.9983 | 0.3322 | 0.1861 | 0.2989 | 0.3935 | 0.3027 | ||
| polar_lanczos_pc12_50 | 4.93E-03 | 38.0061 | 0.9810 | 0.9983 | 0.2309 | 0.1421 | 0.2164 | 0.4286 | 0.2545 | ||
| polar_lanczos | 5.04E-03 | 37.9266 | 0.9804 | 0.9983 | 0.0000 | 0.0000 | 0.0000 | 0.4546 | 0.1137 |
Previously, this section talked about the different strengths and weaknesses of Pixel Clipper and libplacebo's AR, but that's not really neccessary anymore. Libplacebo's AR has been recently updated and it looks great now. It's actually shocking how similar the solutions look at 2x considering how different the mechanisms are.
The only caveat is that libplacebo's AR is still a bit blurrier at similar strength, so you probably have to dial it down a little bit to preserve sharpness (0.75 seems to be a good starting point).
mpv's native AR solution for orthogonal filters shouldn't blur anything though, and I believe Pixel Clipper is only scoring higher than it because mpv applies its antiring twice, once per orthogonal pass. This means that the second pass won't have access to the overshoots created by the first pass, which is theoretically a good thing but actually ends up hurting the filter's reconstruction quality. Pixel Clipper is only applied after scaling is done, so it's completely oblivious to the entire scaling process. It simply clamps the HR pixels to the intensity bounds set by the surrounding LR pixels.
I've personally started using Pixel Clipper with orthogonal filters recently but then again the difference isn't that big, the built-in solution works well enough.
As the table shows, the improvement AR brings is extremely minor, while it's a nice to have it's also entirely skippable. I'd argue most people would never notice the difference when using "balanced" filters such as ortho/polar lanczos, specially if the source is naturally noisy. Also, while ringing is obviously numerically bad, humans can sometimes even enjoy some minor ringing, as it makes things look perceptually sharper.
Pixel Clipper actually has a downsampling variant as well, which I believe is probably less broken than mpv's native
The following image will be used for downsampling AR tests:
My current method to evaluate downsampling filters is to concede that at 0.5x linear light box is as good as it gets, since in this case we're just averaging 4 pixels together. We can't use box itself for other scaling factors though, so the aim is to find a filter that produces a similar result but is also usable at any other arbitrary scaling factor.
To eliminate any differences caused by how differently mpv and ImageMagick perform linear light conversion, the box reference was also obtained using mpv.
The images were basically generated using the following commands:
mpv --no-config --vo=gpu-next --no-hidpi-window-scale --window-scale=0.5 --pause=yes --screenshot-format=png --linear-downscaling --correct-downscaling --deband=no --dither-depth=no --screenshot-high-bit-depth=no --dscale=filter --glsl-shader="Pixel Clipper_downscaling.glsl" higres.png
mpv --no-config --vo=gpu-next --no-hidpi-window-scale --window-scale=0.5 --pause=yes --screenshot-format=png --linear-downscaling --correct-downscaling --deband=no --dither-depth=no --screenshot-high-bit-depth=no --dscale=filter --scale-antiring=1 higres.png
Please note that you have to set
| Filter | MAE | PSNR | SSIM | MS-SSIM | MAE (N) | PSNR (N) | SSIM (N) | MS-SSIM (N) | Mean | ||
| lanczos_pc_100 | 2.73E-03 | 42.0482 | 0.9950 | 0.9994 | 1.0000 | 1.0000 | 1.0000 | 1.0000 | 1.0000 | ||
| lanczos_pc_75 | 3.04E-03 | 41.3289 | 0.9945 | 0.9994 | 0.8631 | 0.8774 | 0.9283 | 0.9444 | 0.9033 | ||
| lanczos_pc_50 | 3.35E-03 | 40.1205 | 0.9938 | 0.9993 | 0.7272 | 0.6716 | 0.8200 | 0.8176 | 0.7591 | ||
| polar_lanczos_ar_100 | 3.48E-03 | 39.8136 | 0.9924 | 0.9992 | 0.6681 | 0.6193 | 0.6168 | 0.7199 | 0.6560 | ||
| polar_lanczos_pc_100 | 3.63E-03 | 39.6853 | 0.9921 | 0.9992 | 0.6014 | 0.5974 | 0.5750 | 0.7178 | 0.6229 | ||
| polar_lanczos_ar_75 | 3.76E-03 | 39.3739 | 0.9920 | 0.9992 | 0.5451 | 0.5444 | 0.5596 | 0.7189 | 0.5920 | ||
| polar_lanczos_pc_75 | 4.00E-03 | 39.1424 | 0.9914 | 0.9992 | 0.4375 | 0.5049 | 0.4839 | 0.6504 | 0.5192 | ||
| polar_lanczos_ar_50 | 4.15E-03 | 38.4096 | 0.9910 | 0.9991 | 0.3725 | 0.3801 | 0.4261 | 0.5802 | 0.4397 | ||
| lanczos | 3.93E-03 | 37.7231 | 0.9917 | 0.9990 | 0.4672 | 0.2631 | 0.5215 | 0.4190 | 0.4177 | ||
| polar_lanczos_pc_50 | 4.35E-03 | 38.2089 | 0.9905 | 0.9991 | 0.2840 | 0.3459 | 0.3520 | 0.4952 | 0.3693 | ||
| polar_lanczos | 4.99E-03 | 36.1789 | 0.9881 | 0.9987 | 0.0000 | 0.0000 | 0.0000 | 0.0000 | 0.0000 |
The first thing we can see is that AR seems to be a net-positive in general, and the score differences we see here are much larger than their upsampling counterparts.
It's also good to see that libplacebo's AR seems to work even better when downsampling, as it can remove ringing without introducing any significant blur. This consolidates that there's little reason to use Pixel Clipper over Libplacebo's native AR if you're using polar filters.
It's also worth mentioning that downsampling AR only makes sense when you're using a sharp filter. Blurry filters such as mitchell do not benefit nearly as much from this (since there's almost no ringing to remove), and the remark that some mild ringing can be perceived as a positive thing by the human eye is also valid here. Personally I'd say you probably need some AR for anything sharper than catrom, but catrom itself is still perfectly usable without AR.
I want to make it clear though that you shouldn't take the results as gospel. Mathematical image quality metrics do not always correlate perfectly with how humans perceive image quality, and your personal preference is entirely subjective. You should take this page as what it is, a research that produces numbers, but you should not take these numbers for granted before understanding what they actually mean.


<%__('this is a sentence to be translated in the html file 6')%>
<%__('this is a sentence to be translated in the html file 2')%>
<%__('this is a sentence to be translated in the html file 3')%>
<%__('this is a sentence to be translated in the html file 4')%>
<%__('this is a sentence to be translated in the html file 5')%>
<%__('this is a sentence to be translated in the html file 5')%>
<%__('this is a sentence to be translated in the html file 5')%>
<%__('this is a sentence to be translated in the html file 5')%>


About
Who I am
I'm a software developer based in Barcelona ,Spain. I've been working as a developer/systems engineer for a big variety of companies, and I'm currently employed as a developer on one of the biggest fintech companies in the United Kingdom, with business units in a bunch of countries.
My period of scholarship should be the equivalent of the so called bachelors degree on Information Technology, which I didn't finish, but intend to do some day. Anyhow, you can contact me if you want a copy of my CV.
What I do
Most of the work I do is for Spain but sometimes I do work for the UK colleagues. I'm currently also doing some work on a SRE team that works for all the subsidiaries of the company.
What I’ve been doing
I've been working with web stacks mostly onmy career, but I have also hands-on experience on some embedded software solutions. I mostly worked with LAMP/LAPP stacks. I used PHP as my main field language but I've been also working with other languages too.
What I plan to do
Since most of my past career has been developed around the web, my interests are shifting towards distributed systems, and everything that involves a software ecosystem to be more heterogeneous. I strive to work like that in a mid/long term future. In a long term I would like to work as a contractor, either remotely or abroad.
My tech interests
Some of the concepts I'm currently learning from and applying at my current job are:
- SOLID principles
- DDD
- CQRS
- Event Sourcing
- Microservices
- Containers
- CI/CD
- Functional/concurrent programming
- Proper software testing
My intention with this space
Most of the content II'll be posting here is new to me,so I'll try to keep everything as a register of what I'm learning throughout time. In no way will be my intention to lecture anyone about anything,even less being pejorative about someone/something. I'll try to maintain this in a very unopinionated way 90% of the time, although sometimes it's inevitable :). I believe to keep anything written in this blog, as my own food for thought, and if it serves to you, the better. I'll try to adhere to this, and convert it in my own CoC when it comes to writing here :)
My other interests
I do other things that do not involve computers. Amongst any other common interests, I enjoy
- Music, drumming: I'm a drummer in a municipal jazz band near Barcelona. Sometimes I also do small gigs with cover bands as a drummer too.
- Light mountain hiking/hideouts
- Travelling


Class SemanticEncryption
Provides methods that perform key wrapping based on the encryption purpose and use in the Smartcrypt Protocol.
Inherited Members
Namespace: PKWARE.Smartcrypt.Protocol
Assembly: SmartcryptProtocol.dll
Syntax
public static class SemanticEncryption
Methods
DecryptGroupKey(ICryptoProvider, String, Byte[])
Decrypts a GroupKey.
Declaration
[Pure]
[NotNull]
public static byte[] DecryptGroupKey(this ICryptoProvider cryptoProvider, [NotNull] string data, [NotNull] byte[] privateKey)
Parameters
| Type | Name | Description |
|---|---|---|
| ICryptoProvider | cryptoProvider | The ICryptoProvider to use for cryptographic primitives. |
| String | data | The data to decrypt. |
| Byte[] | privateKey | The RSA private key of the identity for which the original data was encrypted. |
Returns
| Type | Description |
|---|---|
| Byte[] | The decrypted data. |
Exceptions
| Type | Condition |
|---|---|
| MetaClientException | With Category of CategoryUpgrade if the data are newer than understood by this software. With Category of CategoryInternal if the data are in an invalid format. |
See Also
DecryptHybrid(ICryptoProvider, String, Byte[])
Decrypts a HybridEncryption ciphertext.
Declaration
[Pure]
[NotNull]
public static byte[] DecryptHybrid(this ICryptoProvider cryptoProvider, [NotNull] string data, [NotNull] byte[] privateKey)
Parameters
| Type | Name | Description |
|---|---|---|
| ICryptoProvider | cryptoProvider | The ICryptoProvider to use for cryptographic primitives. |
| String | data | The data to decrypt. |
| Byte[] | privateKey | The RSA private key of the identity for which the original data was encrypted. |
Returns
| Type | Description |
|---|---|
| Byte[] | The decrypted data. |
Exceptions
| Type | Condition |
|---|---|
| MetaClientException | With Category of CategoryUpgrade if the data are newer than understood by this software. With Category of CategoryInternal if the data are in an invalid format. |
DecryptMasterKey(ICryptoProvider, String, Byte[])
Decrypts a MasterKey.
Declaration
[Pure]
[NotNull]
public static byte[] DecryptMasterKey(this ICryptoProvider cryptoProvider, [NotNull] string data, [NotNull] byte[] privateKey)
Parameters
| Type | Name | Description |
|---|---|---|
| ICryptoProvider | cryptoProvider | The ICryptoProvider to use for cryptographic primitives. |
| String | data | The data to decrypt. |
| Byte[] | privateKey | The RSA private key of the identity for which the original data was encrypted. |
Returns
| Type | Description |
|---|---|
| Byte[] | The decrypted data. |
Exceptions
| Type | Condition |
|---|---|
| MetaClientException | With Category of CategoryUpgrade if the data are newer than understood by this software. With Category of CategoryInternal if the data are in an invalid format. |
See Also
EncryptGroupKey(ICryptoProvider, Byte[], String)
Encrypts a GroupKey.
Declaration
[Pure]
[NotNull]
public static string EncryptGroupKey(this ICryptoProvider cryptoProvider, [NotNull] byte[] data, [NotNull] string recipientPublicKey)
Parameters
| Type | Name | Description |
|---|---|---|
| ICryptoProvider | cryptoProvider | The ICryptoProvider to use for cryptographic primitives. |
| Byte[] | data | The data to encrypt. |
| String | recipientPublicKey | The RSA public key of the recipient. |
Returns
| Type | Description |
|---|---|
| String | The encrypted data. |
Exceptions
| Type | Condition |
|---|---|
| MetaClientException | With Category of CategoryUpgrade if the data are newer than understood by this software. With Category of CategoryInternal if the data are in an invalid format. |
See Also
EncryptHybrid(ICryptoProvider, Byte[], String)
Encrypts using HybridEncryption.
Declaration
[Pure]
[NotNull]
public static string EncryptHybrid(this ICryptoProvider cryptoProvider, [NotNull] byte[] data, [NotNull] string recipientPublicKey)
Parameters
| Type | Name | Description |
|---|---|---|
| ICryptoProvider | cryptoProvider | The ICryptoProvider to use for cryptographic primitives. |
| Byte[] | data | The data to encrypt. |
| String | recipientPublicKey | The RSA public key of the recipient. |
Returns
| Type | Description |
|---|---|
| String | The encrypted data. |
Exceptions
| Type | Condition |
|---|---|
| MetaClientException | With Category of CategoryUpgrade if the data are newer than understood by this software. With Category of CategoryInternal if the data are in an invalid format. |
See Also
EncryptMasterKey(ICryptoProvider, Byte[], String)
Encrypts a MasterKey.
Declaration
[Pure]
[NotNull]
public static string EncryptMasterKey(this ICryptoProvider cryptoProvider, [NotNull] byte[] data, [NotNull] string recipientPublicKey)
Parameters
| Type | Name | Description |
|---|---|---|
| ICryptoProvider | cryptoProvider | The ICryptoProvider to use for cryptographic primitives. |
| Byte[] | data | The data to encrypt. |
| String | recipientPublicKey | The RSA public key of the recipient. |
Returns
| Type | Description |
|---|---|
| String | The encrypted data. |
Exceptions
| Type | Condition |
|---|---|
| MetaClientException | With Category of CategoryUpgrade if the data are newer than understood by this software. With Category of CategoryInternal if the data are in an invalid format. |


This is a fork based on style-loader. Similar to style-loader
, you can chain it after css-loader
to dynamically inject CSS into the document as style tags. However, since this is included as a dependency and used by default in vue-loader
, in most cases you don’t need to configure this loader yourself.
style-loader
When bundling with target: 'node'
, the styles in all rendered components are collected and exposed on the Vue render context object as context.styles
, which you can simply inline into your markup’s . If you are building a Vue SSR app, you probably should use this loader for CSS imported from JavaScript files too.
Does not support url mode and reference counting mode. Also removed singleton
and insertAt
query options. It always automatically pick the style insertion mechanism that makes most sense. If you need these capabilities you should probably use the original style-loader
instead.
Fixed the issue that root-relative URLs are interpreted against chrome:// urls and make source map URLs work for injected tags in Chrome.
MIT


Together we can rise up to a better nation
Ramciel Techcom South Sudan, was established by South Sudanese Students in various Indian Universities in 2019. It is designed to be a premier society of Information Technology and related areas. The society will be converted into a multipurpose company when there is enough capital to facilitate the requirements needed.
We offers trainings in Computer related courses, basic Engineering, and web development. The Web Development is offered in the most accurate and understandable way, we also offers other personal developmental courses such as project planning and business management
The Ramciel Techcom is a society made up of multiple individual, the website was built by some individual, however, that doesn't not eliminate other individual as we all know the fact that the society is made of different background in education. The computer scientist made it from crash till the accommplishment of the official site for the society.
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.
There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet. It uses a dictionary of over 200 Latin words, combined with a handful of model sentence structures, to generate Lorem Ipsum which looks reasonable. The generated Lorem Ipsum is therefore always free from repetition, injected humour, or non-characteristic words etc.


--- layout: post title: 'Eric Evans: What I''ve learned about DDD since the book - introduction' date: 2009-06-24 10:37:03.000000000 -06:00 type: post published: true status: publish categories: - Learning DDD - Library - Video tags: [] meta: _gcid: '152' _gcuser: Vladimir Gitlevich content_type: flashnode _bitly_trim: http://dddcommunity.org/?p=74 _edit_last: '3110' custom_permalink: library/evans_2009_2/ _dependencies: s:6:"a:0:{}"; _custom_background: a:5:{s:3:"url";s:0:"";s:16:"background-color";s:0:"";s:17:"background-repeat";s:6:"repeat";s:21:"background-attachment";s:6:"scroll";s:19:"background-position";s:8:"left top";} _intro_text: default _intro_custom_banner: a:1:{s:3:"url";s:0:"";} U_S_C_message: '' author: login: Vladimir Gitlevich email<EMAIL_ADDRESS>display_name: Vladimir Gitlevich first_name: Vladimir Gitlevich last_name: '' ---
This is the introductory part of the talk Eric Evans gave at a meeting of DDD-NYC group. Since the talk builds on what Eric wrote in the book, he felt it would be useful to remind the audience of what the book said. Watch this part if you need a brief DDD refresher.


The VIC uses two flip flops to generate the border around the display window: A main border flip flop and a vertical border flip flop. The main border flip flop controls the border display. If it is set, the VIC displays the color stored in register $d020, otherwise it displays the color that the priority multiplexer switches through from the graphics or sprite data sequencer. So the border overlays the text/bitmap graphics as well as the sprites. It has the highest display priority. The vertical border flip flop is for auxiliary control of the upper/lower border. If it is set, the main border flip flop cannot be reset. Apart from that, the vertical border flip flop controls the output of the graphics data sequencer. The sequencer only outputs data if the flip flop is not set, otherwise it displays the background color. This was probably done to prevent sprite-graphics collisions in the border area. There are 2×2 comparators belonging to each of the two flip flops. There comparators compare the X/Y position of the raster beam with one of two hardwired values (depending on the state of the CSEL/RSEL bits) to control the flip flops. The comparisons only match if the values are reached precisely. There is no comparison with an interval. The horizontal comparison values:
And the vertical ones:
The flip flops are switched according to the following rules:
So the Y coordinate is checked once or twice within each raster line: In cycle 63 and if the X coordinate reaches the left comparison value. By appropriate switching of the CSEL/RSEL bits you can prevent the comparison values from being reached and thus turn off the border partly or completely (see 3.14.1.). The DEN bit (Display Enable, register $d011, bit 4) serves for switching on and off the text/bitmap graphics. It is normally set. The bit affects two functions of the VIC: The Bad Lines and the vertical border unit.
So clearing the DEN bit will normally prevent Bad Lines (and thus c- and g-accesses) from occuring and make the whole screen display the border color. On a negative edge on the LP input, the current position of the raster beam is latched in the registers LPX ($d013) and LPY ($d014). LPX contains the upper 8 bits (of 9) of the X position and LPY the lower 8 bits (likewise of 9) of the Y position. So the horizontal resolution of the light pen is limited to 2 pixels. Only one negative edge on LP is recognized per frame. If multiple edges occur on LP, all following ones are ignored. The trigger is not released until the next vertical blanking interval. As the LP input of the VIC is connected to the keyboard matrix as are all lines of the joystick ports, it can also be controlled by software. This is done with bit 4 of port B of CIA A ($dc01/$dc03). This allows to determine the current X position of the raster beam by triggering an LP edge and reading from LPX afterwards (the VIC has no register that would allow reading the X position directly). This can e.g. be used to synchronize raster interrupt routines on exact cycles. The values you get from the LPX register can be calculated from the sprite coordinates of the timing diagrams in section 3.6.3. The reference point is the end of the cycle in which the LP line is triggered. E.g. if you trigger LP in cycle 20, you get the value $1e in LPX, corresponding to the sprite coordinate $03c (LPX contains the upper 8 bits of the 9 bit X coordinate). The VIC can also additionally trigger an interrupt on a negative edge on the LP pin (see next section), likewise only once per frame. The VIC has the possibility to generate interrupts for the processor when certain events occur. This is done with the IRQ output that is directly connected to the IRQ input of the 6510. The VIC interrupts are therefore maskable with the I flag in the processor status register. There are four interrupt sources in the VIC. Every source has a corresponding bit in the interrupt latch (register $d019) and a bit in the interrupt enable register ($d01a). When an interrupts occurs, the corresponding bit in the latch is set. To clear it, the processor has to write a "1" there "by hand". The VIC doesn't clear the latch on its own. If at least one latch bit and the belonging bit in the enable register is set, the IRQ line is held low and so the interrupt is triggered in the processor. So the four interrupt sources can be independently enabled and disabled with the enable bits. As the VIC - as described - doesn't clear the interrupt latch by itself, the processor has to do it before the I flag is cleared resp. before the processor returns from the interrupt routine. Otherwise the interrupt will be triggered again immediately (the IRQ input of the 6510 is state-sensitive). The following table describes the four interrupt sources and their bits in the latch and enable registers:
For the MBC and MMC interrupts, only the first collision will trigger an interrupt (i.e. if the collision registers $d01e resp. $d01f contained the value zero before the collision). To trigger further interrupts after a collision, the concerning register has to be cleared first by reading from it. The bit 7 in the latch $d019 reflects the inverted state of the IRQ output of the VIC. The VIC does five read accesses in every raster line for the refresh of the dynamic RAM. An 8 bit refresh counter (REF) is used to generate 256 DRAM row addresses. The counter is reset to $ff in raster line 0 and decremented by 1 after each refresh access. So the VIC will access addresses $3fff, $3ffe, $3ffd, $3ffc and $3ffb in line 0, addresses $3ffa, $3ff9, $3ff8, $3ff7 and $3ff6 in line 1 etc.
|


This is the home page or `Dashboard' for a logged in user, Account information is fully loaded before the user reaches the page. If a user cannot log in, they cannot reach this page. This page provides several direct shortcuts to some of the more frequently used CCP user actions, such as writing an sending a new contract, as well as a recent notification panel, which is updated frequently without reloading the page, and shows information such as when a new contract or messsage is received. The navigation bar at the top of the page provide a link back to the brands main website by clicking their on its logo on the far left, or sign out of the current user session, and delete all currently loaded user data from the server, by clicking the 'Sign out' button on the right. The breadrumbs directly below this show the user what page s/he is on and anytime they find themselves on a different page, they can retrace their steps, or learn quickly how the intended route back to that page. The menu on the left provides a similar functionality, but it is more comprehensive, as any CCP intened for users page can be accessed directly from this menu. Some of the item on the meny ('Utilities' and 'Accounts') are two tiered, and when clicking on these items. a sub menu appears below. All other menu items are linked directly to another CCP user page. The search form at the top of this menu searches for keywords across all of the functionality provided within these pages.


Item 1
This is the content for the first item. It can contain just about any markup.
Like this list!
Item 2
This is the description for Item 2.
Item 3
This is the description for Item 3.


|
lubyk
0.5
|
A circle shape. More...
#include <b2CircleShape.h>
Inherits b2Shape.
Public Member Functions | |
| b2CircleShape () | |
| b2Shape * | Clone (b2BlockAllocator *allocator) const |
| Implement b2Shape. | |
| int32 | GetChildCount () const |
| bool | TestPoint (const b2Transform &transform, const b2Vec2 &p) const |
| Implement b2Shape. | |
| bool | RayCast (b2RayCastOutput *output, const b2RayCastInput &input, const b2Transform &transform, int32 childIndex) const |
| Implement b2Shape. | |
| void | ComputeAABB (b2AABB *aabb, const b2Transform &transform, int32 childIndex) const |
| void | ComputeMass (b2MassData *massData, float32 density) const |
| int32 | GetSupport (const b2Vec2 &d) const |
| Get the supporting vertex index in the given direction. | |
| const b2Vec2 & | GetSupportVertex (const b2Vec2 &d) const |
| Get the supporting vertex in the given direction. | |
| int32 | GetVertexCount () const |
| Get the vertex count. | |
| const b2Vec2 & | GetVertex (int32 index) const |
| Get a vertex by index. Used by b2Distance. | |
Public Attributes | |
| b2Vec2 | m_p |
| Position. |
A circle shape.
Definition at line 25 of file b2CircleShape.h.
| b2CircleShape::b2CircleShape | ( | ) | [inline] |
Definition at line 65 of file b2CircleShape.h.
References b2Shape::e_circle, m_p, b2Shape::m_radius, b2Shape::m_type, and b2Vec2::SetZero().
| b2Shape* b2CircleShape::Clone | ( | b2BlockAllocator * | allocator | ) | const [virtual] |
| void b2CircleShape::ComputeAABB | ( | b2AABB * | aabb, |
| const b2Transform & | transform, | ||
| int32 | childIndex | ||
| ) | const [virtual] |
Implements b2Shape.
| void b2CircleShape::ComputeMass | ( | b2MassData * | massData, |
| float32 | density | ||
| ) | const [virtual] |
Implements b2Shape.
| int32 b2CircleShape::GetChildCount | ( | ) | const [virtual] |
Implements b2Shape.
Get the supporting vertex index in the given direction.
Definition at line 72 of file b2CircleShape.h.
References B2_NOT_USED.
Get the supporting vertex in the given direction.
Definition at line 78 of file b2CircleShape.h.
References B2_NOT_USED, and m_p.
Get a vertex by index. Used by b2Distance.
Definition at line 84 of file b2CircleShape.h.
References B2_NOT_USED, b2Assert, and m_p.
| int32 b2CircleShape::GetVertexCount | ( | ) | const [inline] |
Get the vertex count.
Definition at line 56 of file b2CircleShape.h.
| bool b2CircleShape::RayCast | ( | b2RayCastOutput * | output, |
| const b2RayCastInput & | input, | ||
| const b2Transform & | transform, | ||
| int32 | childIndex | ||
| ) | const [virtual] |
| bool b2CircleShape::TestPoint | ( | const b2Transform & | transform, |
| const b2Vec2 & | p | ||
| ) | const [virtual] |
Position.
Definition at line 62 of file b2CircleShape.h.
Referenced by b2CircleShape(), GetSupportVertex(), and GetVertex().


"I invite you to question if behavior you see in Ruby is right." @malafortune #rubyconf
11/10/2013, 11:35:41 AM
Favs: 0
Retweets: 0
link--- layout: tweet ---
"I invite you to question if behavior you see in Ruby is right." @malafortune #rubyconf
11/10/2013, 11:35:41 AM
Favs: 0
Retweets: 0
link


| do it | works locally | works remotely |
|
delete all local |
delete all remote |
|
set name local |
set name remote |
|
|
set child object local |
set child object remote |
|
|
set child array local |
set child arry remote |
|
|
set child primitive local |
set child primitive remote |
|
|
set child populated object local |
set child populated object remote |
|
|
set child local |
set child remote |
|
|
set recursive local |
set recursive remote |
|
|
child++ local |
child++ remote |
|
|
child-- local |
child-- remote |
|
|
set blank list local |
set blank list remote |
|
|
set list local |
set list remote |
|
|
overwrite local |
overwrite remote |
|
|
overwrite local in thread |
overwrite remote in thread |
|
|
pop local |
pop remote |
|
|
push local |
push remote |
|
|
array set local |
array set remote |
|
|
shift local |
shift remote |
|
|
object in array local |
object in array remote |
|
|
state.list=[{v:1}] local |
state.list=[{v:1}] remote |
|
|
grandchild++ local |
grandchild++ remote |
|
|
state.list=[{}] local |
state.list=[{}] remote |
|
|
state.list=[4,{v:1}] local |
state.list=[4,{v:1}] remote |


The mission of The London Django Meetup Group is to provide a fun, welcoming and professional environment for a diverse group of people.
Code of conduct: djangolondon.com/code-of-conduct
Tonight's meetup is kindly sponsored by:
Europe's largest music festival platform, and UK's 6th fastest
growing private tech start up.
Transforming the way music fans
discover, book tickets and travel packages for festivals around the
world.
Pollen is a marketplace for the best in shared experiences.
(Formerly Verve)
https://www.djangoproject.com/download/
All the video of the talks are available again!
https://skillsmatter.com/groups/10546-london-django-meetup-group
Video are being posted on the their website, some are already available, keep checking the website for more
https://us.pycon.org/2020/online/
New dates September 16-20
Refound in case participant's inability to participate
Refound in case of conference cancellation
https://2020.djangocon.eu/
September 25th - Copenhagen, Denmark 🇩🇰
https://djangoday.dk/
Dictionaries behind the scenes
by Gisela Rossi
Django Testing Quiz
by Adam Johnson
Prices for the quiz
We have 5 "HUMBLE BOOK BUNDLE: SOFTWARE DEVELOPMENT BY O'REILLY"
You have a chance to win one of 2 100% discount code for a JetBrains product (AppCode, PyCharm, WebStorm. etc)
Fill this form with your name and email, we will announce the winner later and send the licences via email.
https://forms.gle/ud8zj3jr6BJfcQUf9
(no need to copy this, we will paste into the chat)Please come and chat with us!
Website: https://djangolondon.com
Twitter: @djangolondon
Github: https://github.com/djangolondon/
Open Collective: https://opencollective.com/the-london-django-meetup-group/


Tales From the Dark Multiverse: Why Dove Plays a Big Role in Blackest Night
by Adreon PattersonTales from the Dark Multiverse: Blackest Night writer, Tim Seeley recently explained why Dove played such a significant role in the storyline.
During an interview with CBR, Seeley spoke on Dove's past within the DC Comics universe and how it influenced her position in the story. According to Seeley, Tales from the Dark Multiverse: Blackest Night was his chance to do a "correction" on Dove's canon, putting her into the spotlight even more.
"The part of the fun of these is, you can correct the things that bothered you," Seeley stated. "I thought she should be more important to the universe than she was in that particular story. So I got to play my version of events and do my quote -- unquote "correction" and put her in the forefront."
Click the button below to start this article in quick view.
Before the events of Blackest Night, Dawn Granger and her sister Holly were holding up the Hawk and Dove mantle. This was because the original Hawk, Hank Hall, had died in the pages of Justice Society of America.
"But for her, she's been through something pretty horrible...," he elaborated, speaking about Dove's position before Blackest Night. "Because she had to turn away from her partner, I think she feels as though she doesn't know what her place in this is."
Seeley added, "If she's supposed to be this great avatar, why was she the one who abandoned Hawk? I think that that's kind of her motivation is this redemption track, to feel like she earned being picked as Avatar of Order."
Since the conclusion of the original Blackest Night, Granger has appeared in DC's New 52 and more recently, DC's "Rebirth" line. Currently, she is also being portrayed by Minka Kelly in DC Universe's Titans.
Tales from the Dark Multiverse: Blackest Night #1 is on sale now from DC Comics.
https://schema.orgBreadcrumbListListItem1Homehttps://www.cbr.com/ListItem2Comicshttps://www.cbr.com/category/comics/ListItem3Comic Newshttps://www.cbr.com/category/comics/news/ListItem4Tales From the Dark Multiverse: Why Dove Plays a Big Role in Blackest Nighthttps://www.cbr.com/tales-from-the-dark-multiverse-doves-role/


The --backtest-data-source-file
switch refers to a JSON file created by the LEAN Engine. This holds all of the backtest data which is required for generating the report HTML. This data can be sourced from desktop or cloud backtests.
By default, LEAN saves the backtest result data to disk inside of your LEAN launcher folder: Lean/Launcher/bin/Debug/BasicTemplateAlgorithm.json
. You can access it like this from the Report executable:
./QuantConnect.Report.exe --backtest-data-source-file ../../../Launcher/bin/Debug/BasicTemplateAlgorithm.json ...
Backtest processed reports can be downloaded via API. The following example imports the QuantConnect API class and uses it to download the final HTML report. To access the API you will need to know your API User ID and Token, which can be obtained in the Account page.
Downloading Cloud Generated Backtest JSON Files:>>> from quantconnect.api import Api >>> from json import dump >>> api = Api(your-user-id, your-token) >>> data = api.read_backtest(project-id, backtest-id) >>> with open("./json/sample.json", 'w+') as fp: >>> json.dump(data['result'], fp, ensure_ascii=False)
You can manually download the backtest result file and place the file in the location configured in the config.json
file.
You can update your report description by clicking on the Project Description button in your project panel.


Select the text below then press a button to show the result in your web console.
Lorem ipsum <b>dolor</b> sit amet. Lorem ipsum dolor sit amet.


Start-up project: delivery of ’all-in-one’ gastronomical recipe kits.
Co-founder of an "all-in-one" gastronomical recipe kits delivery service for fine dining recipes. Building the company from 0 to 1: market research, financial analysis, product development, marketing strategy, pre-launch. The project was stopped after the Beta phase.
Initially a bamboo urban gardening solution project, Stemgarden is a project exchange platform that brings nature back to the city. The project will not lead to a commercial solution but will eventually be transformed into an online platform for sharing green projects for urban areas. The platform is still accessible online, www.stemgarden.co, but no longer updated.
The project was born during an entrepreneurial training course organised by Impulse Brussels. The initial idea was to propose an innovative hydroponic system, without electricity, built from a bamboo stick. The three-month training allowed us to mature the project on the financial, logistical and marketing aspects.


Match Play. Red leads 5-4 to 11. How should Red play 42?
pips Red=145 White=144
(CorrectAnswer= 0/0, ErrorScore= 0)
A nice easy one.
The safe play 13/9, 8/6 is just too safe. What will Red do next?
White’s board is non-threatening and has a blot, so the best play is clearly 13/11, 13/9.
Keep the soldiers on the field on battle doing something useful!
The safe play 13/9, 8/6 is just too safe. What will Red do next?
White’s board is non-threatening and has a blot, so the best play is clearly 13/11, 13/9.
Keep the soldiers on the field on battle doing something useful!
1. Cubeful 2-ply 13/11 13/9 Eq.: +0.013 0.500 0.096 0.002 - 0.500 0.080 0.002 2. Cubeful 2-ply 13/9 8/6 Eq.: -0.006 (-0.018) 0.497 0.076 0.001 - 0.503 0.071 0.001 3. Cubeful 2-ply 9/5 8/6 Eq.: -0.099 (-0.111) 0.466 0.086 0.002 - 0.534 0.079 0.002 4. Cubeful 2-ply 13/9 3/1 Eq.: -0.119 (-0.131) 0.464 0.088 0.002 - 0.536 0.089 0.002 5. Cubeful 2-ply 8/2 Eq.: -0.120 (-0.133) 0.460 0.092 0.002 - 0.540 0.086 0.002


WITNESS LIST Elections Committee April 8, 1997-2:00P HB 298 On: Melissa Guthrie (TX Comptrollers Office) Registering, but not testifying: For: Tony J. Sirvello III (Harris Cty Clk BevKauf) Against: Melissa Knippa (VP TASB) On: Ann McGeehan (Secy of State) HB 841 For: Frank Culbertson, Jr. (Astronauts) Rep. Mike Jackson (author) Tony J. Sirvello III (Harris Cty. EA) Registering, but not testifying: For: Steve McDonald (Tx Dem Pty) On: Ann McGeehan (Secy of State) HB 936 For: Representative Maxey (author) Suzy Woodford (Common Cause) Against: Bruce Sherbet (Dallas Cty EA) Elizabeth Christian (herself) James B. Ratliff (Mayor of Garland) Melissa Knippa (VP - TASB) Tony J. Sirvello III (Harris Cty EA -BevKauf) On: Melissa Guthrie (Tx Cmptrllr Pub Acct) Registering, but not testifying: On: Ann McGeehan (Secy of State) HB 1603 For: Hannah Riddering (Tx NOW) Rep. Ehrhardt (author) On: Ann McGeehan (Secy of State) Registering, but not testifying: For: Steve McDonald (Tx Dem Pty) HB 1918 Registering, but not testifying: For: Bruce Sherbet (Dallas Cty EA) On: Ann McGeehan (Secy of State) Tony J. Sirvello III (Harris Cty Clk -BevKauf) HB 2355 For: Jesse Romero (MALDEF) Representative Maxey (author) Against: Bruce Sherbet (Dallas Cty EA) Lester Van Pelt (Repub Pty Tx) On: Steve McDonald (Tx Dem Pty) HB 2712 For: Geoffrey Neale (Nat.Cmte. Lib. Pty) Kenneth Hardin (Nat. Law Pty) Rep. Keffer (author) Sandra Bonsell (Nat. Law Pty) Steven Klayman (himself) Thomas Holmes (Am. Const. Pty.) Against: Lester Van Pelt (Repub Pty of Tx) Steve McDonald (Tx Dem Pty) On: Ann McGeehan (Secy of State) Registering, but not testifying: For: Stephen Gardipee (Am. Const. Pty) HB 2784 Registering, but not testifying: On: Ann McGeehan (Secy of State) HB 2785 Registering, but not testifying: For: Steve McDonald (Secy of State) On: Ann McGeehan (Secy of State) HB 2971 Registering, but not testifying: On: Ann McGeehan (Secy of State) HB 3385 For: Representative Moreno (author) SB 82 For: Steve McDonald (Tx Dem Pty) Registering, but not testifying: For: Suzy Woodford (Common Cause) Tony J. Sirvello III (Harris Cty Clk -BevKauf)


Hello! Mary here, reporting in on the States of the Team. This sprint has been full of awesome developments, including the acquisition of materials and getting the lasers working. I’m going to focus on our progress towards having a fully working model and preparing to create the final model.
Our sketch model from the last sprint was a lazer mounted to a servo that used to demonstrate that the lazer could bounce off of the mirror and could be received by the photodiode. From this basic model, we took a break from the technical sketch model and looked at what the actual game experience would be. We created our second sketch model, a cardboard box with yarn crisscrossing across the inside. This served as a model for what we want the full sized product to be. The yarn represented each lazer beam, with some bouncing back and forth and some hitting once and terminating.
During this sprint we determined that the best number of lazers to use would be 4, with two of them moving on servos and two bouncing back and forth in the maze off of mirrors. This means that, total, there will be 10 beams, as the bouncing lazers will each create 4 beams from one lazer.
The next step that we made towards a working model this sprint was to create our LazerBox 2.0. This model built off of the two previous sketch models and combined them into a mini version of our final project. Taking the 4 lasers, we hooked them up to our breadboard and Arduino and placed them through one side of the box. We then attached mirrors to the other side to bounce two of the lasers and attached the retroreflective tape to bounce the beam directly back to the photodiode. We attached the lazer and photodiode together. This allowed the lazer to bounce directly back on itself due to retroreflective tape. In addition, there is also some diffusion of light and the photodiode on top of the lazer is able to detect that.
LazerBox 2.0 is essentially a small version of our final product, and now that we have this working, our next sprint can be spent working on building the full sized version and creating the user interface. Thanks to the wonderful Sara Hendren, we have a bunch of large sheets of cardboard to use for our walls and we just bought a fog machine that will run inside the maze in order to make the lazers visible.


New Patient Forms
Prior to your first office visit, please download, print, and fill out the following form and bring it with you. If you have any questions, feel free to reach us at<PHONE_NUMBER>.
Click on the icon below to access the forms:
What you can expect on your first visit:


Sigmund Freud and Carl Jung argued that a father is very important to a boy's development of identity. In his book Absent Fathers, Lost Sons[2] Canadian Jungian analyst Guy Corneau writes that the presence of the father's body during the son's developmental phases is integral in the son developing a positive sense of self as masculine. Corneau also argues that if the son does not develop positively towards the father's male body, then the son runs the risk of developing negatively towards all bodies. Jacques Lacan argued that in the son's mind, the father's body represents the law, and that the role of the father's body is to break the attachment the son feels to the mother and by extension his own. Freudian analysts claim that all sons feel they are in competition with their father and often feel in a battle against the father. This is well represented in Greek mythology as Chronos, the father of the gods, is in constant war with his children should they contradict him.[3] This dominant patriarchal attitude still has roots in society today as men are viewed to be heads of families. (Sigmund Freud referred to this as Oedipus complex.) Freudian psychologists claim that the risk the son runs is that in some cases it is more difficult to win the battle against the father than to lose the battle against the father. This is because a common result of winning the battle against the father is that the son suffers tremendous guilt.


| xgb.plot.multi.trees {xgboost} | R Documentation |
Visualization of the ensemble of trees as a single collective unit.
xgb.plot.multi.trees(model, feature_names = NULL, features_keep = 5, plot_width = NULL, plot_height = NULL, render = TRUE, ...)
model |
produced by the |
feature_names |
names of each feature as a |
features_keep |
number of features to keep in each position of the multi trees. |
plot_width |
width in pixels of the graph to produce |
plot_height |
height in pixels of the graph to produce |
render |
a logical flag for whether the graph should be rendered (see Value). |
... |
currently not used |
This function tries to capture the complexity of a gradient boosted tree model in a cohesive way by compressing an ensemble of trees into a single tree-graph representation. The goal is to improve the interpretability of a model generally seen as black box.
Note: this function is applicable to tree booster-based models only.
It takes advantage of the fact that the shape of a binary tree is only defined by its depth (therefore, in a boosting model, all trees have similar shape).
Moreover, the trees tend to reuse the same features.
The function projects each tree onto one, and keeps for each position the
features_keep
first features (based on the Gain per feature measure).
This function is inspired by this blog post: https://wellecks.wordpress.com/2015/02/21/peering-into-the-black-box-visualizing-lambdamart/
When render = TRUE
:
returns a rendered graph object which is an htmlwidget
of class grViz
.
Similar to ggplot objects, it needs to be printed to see it when not running from command line.
When render = FALSE
:
silently returns a graph object which is of DiagrammeR's class dgr_graph
.
This could be useful if one wants to modify some of the graph attributes
before rendering the graph with render_graph
.
data(agaricus.train, package='xgboost') bst <- xgboost(data = agaricus.train$data, label = agaricus.train$label, max_depth = 15, eta = 1, nthread = 2, nrounds = 30, objective = "binary:logistic", min_child_weight = 50, verbose = 0) p <- xgb.plot.multi.trees(model = bst, features_keep = 3) print(p) ## Not run: # Below is an example of how to save this plot to a file. # Note that for `export_graph` to work, the DiagrammeRsvg and rsvg packages must also be installed. library(DiagrammeR) gr <- xgb.plot.multi.trees(model=bst, features_keep = 3, render=FALSE) export_graph(gr, 'tree.pdf', width=1500, height=600) ## End(Not run)


Acer Aspire E 15 E5-575G-53VG Laptop, 15.6 Full HD (Intel Core i5, NVIDIA 940MX, 8GB DDR4, 256GB SSD, Windows 10)
Price: $549.99 & FREE Shipping
Technical Details
- 6th Generation Intel Core i5-6200U Processor (Up to 2.8GHz)
- 15.6-inch Full HD Display, NVIDIA GeForce 940MX with 2GB DDR5 VRAM
- 8GB DDR4 Memory, 256GB SSD
- Windows 10 Home; Backlit Keyboard
- Up to 12-hours Battery Life; 6-cell Li-Ion (2800 mAh) Battery


Removing the activity will also remove all its contained widgets.
Are you sure you want to proceed?
Provide a new name for the activity:


Fault Injection Filter¶
This simple example demonstrates Envoy’s fault injection capability using Envoy’s runtime support to control the feature.
Running the Sandboxes¶
The following documentation runs through the setup of both services.
Step 1: Install Docker
Ensure that you have a recent versions of docker
and docker-compose
.
A simple way to achieve this is via the Docker Desktop.
Step 2: Clone the Envoy repo and start all of our containers
If you have not cloned the Envoy repo, clone it with git clone git@github.com:envoyproxy/envoy
or git clone https://github.com/envoyproxy/envoy.git
Terminal 1
$ pwd
envoy/examples/fault-injection
$ docker-compose pull
$ docker-compose up --build -d
$ docker-compose ps
Name Command State Ports
------------------------------------------------------------------------------------------------------------------------------
fault-injection_backend_1 gunicorn -b <IP_ADDRESS>:80 htt Up <IP_ADDRESS>:8080->80/tcp
fault-injection_envoy_1 /docker-entrypoint.sh /usr Up 10000/tcp, <IP_ADDRESS>:9211->9211/tcp, <IP_ADDRESS>:9901->9901/tcp
Step 3: Start sending continuous stream of HTTP requests
Terminal 2
$ pwd
envoy/examples/fault-injection
$ docker-compose exec envoy bash
$ bash send_request.sh
The script above (send_request.sh
) sends a continuous stream of HTTP requests to Envoy, which in turn forwards the requests to the backend container. Fauilt injection is configured in Evoy but turned off (i.e. affects 0% of requests). Consequently, you should see a continuous sequence of HTTP 200 response codes.
Step 4: Test Envoy’s abort fault injection
Turn on abort fault injection via the runtime using the commands below.
Terminal 3
$ docker-compose exec envoy bash
$ bash enable_abort_fault_injection.sh
The script above enables HTTP aborts for 100% of requests. So, you should now see a continuous sequence of HTTP 503 responses for all requests.
To disable the abort injection:
Terminal 3
$ bash disable_abort_fault_injection.sh
Step 5: Test Envoy’s delay fault injection
Turn on delay fault injection via the runtime using the commands below.
Terminal 3
$ docker-compose exec envoy bash
$ bash enable_delay_fault_injection.sh
The script above will add a 3-second delay to 50% of HTTP requests. You should now see a continuous sequence of HTTP 200 responses for all requests, but half of the requests will take 3 seconds to complete.
To disable the delay injection:
Terminal 3
$ bash disable_delay_fault_injection.sh
Step 5: Check the current runtime filesystem
To see the current runtime filesystem overview:
Terminal 3
$ tree /srv/runtime


Lifestealer
Tips
- If you're TPing back to base and you have at least 150 mana (75 for Rage, 75 for
the TP) there are very few situations in which you shouldn't use Rage first before TPing.
- Learn how to choke-point jungle if you're going to jungle with him. Naix is one of the best to do it
with.
- Avoid initiating team fights with Open Wounds. This skill is your free Satanic. When you're about to
die, crack Pudge open like a coconut and drink his blood. The slow is useful in 1v1 or gank situations,
but the massive lifesteal is invaluable in team fights.
- Midasing a creep that has Open Wounds on it will heal you. Using Iron Talon on a creep that has Open
Wounds will also heal you.
- Controlling a creep while Infested won't break the creep's cover. This means that enemies won't be able
to kill one of their own summons/creeps even when you start walking it back to your fountain.
- You can Infest ancients at the 2nd level of Infest.
Counters
- OH MASTA, LOOK AT ALL THESE SUPPORTS KITING ME. Ghost Scepter, Force Staff, Blink Dagger and Shiva's
Guard are all great pickups against a Naix. As is a TP scroll if he hasn't gotten a Basher yet.
- If you have a lot of HP, stay away from him.  He'll gladly get kited by Luna if it means that he can paw at the nearby Centaur Warrunner a few
times to get up to half HP.
- You want to strongly avoid building a Heart against a Naix for the same reason. Feast will deal more
damage to you and heal him more if you have a lot of HP.
- If you see Naix with nothing in his inventory at 15 minutes or you already see a Sacred Relic, you better
start investing in some minus armor items like Desolator, Assault Cuirass, etc. The ancient infest+Radiance
burn strat is very corny, but difficult to deal with if you aren't prepared. Minus armoring his creep is the
best way to kill it.
- It's okay to stack stuns on Naix, mainly because Rage has no cast time. As a result, he'll probably be
able to get out of most situations unless you're secretly a bot.
- Every initiator becomes twice as fearsome when Naix is on the enemy team. Storm Spirit, Clockwerk,
Batrider, Wisp, Nature's Prophet, etc, are all Mk. IV Naix Bombers. Even other units like the Spirit
Bear, Beastmaster Hawk, Brood Spiders, Lycan Wolves, etc, all become things to fear.


A LIFE LESS ORDINARY A film review by David N. Butterworth Copyright 1997 David N. Butterworth
Rating: **1/2 (Maltin scale)
"In the old days, you just had to introduce a man and a woman and nature did the rest."
So laments Jackson (Delroy Lindo), an angelic bounty hunter of sorts who, along with co-operative O'Reilly (Holly Hunter), has been ordered back to earth by "Chief of Police" Gabriel (Dan Hedaya) to help unite an unlikely couple in "A Life Less Ordinary."
Robert (Ewan McGregor) is a janitor who has just lost his job to automation.  When Robert bursts into Dad's (Ian Holm) office demanding his job back, Celine provides for some spontaneous kidnapping material. Robert, a bit of a dreamer, hasn't thought this out very well, but he'll be damned if he'll be replaced by a bloody robot, and the chase is on!
Sounds like something from the Coen brothers you're thinking. Well, funny you should say that... "A Life Less Ordinary" contains a scene of a car parked by the side of a freshly-plowed field with our protagonist scrambling for his life in a ditch (see: "Blood Simple"). It's got a man being walked through a thicket of silver birches to an imminent, grisly end (see: "Miller's Crossing"). And it's got an attractive, slightly wacky couple being hounded by some not-of-this-earth malevolence (see: "Raising Arizona").
Could the casting of Coen alums Hunter and Hedaya simply be coincidental?
As it happens, the team that made "A Life Less Ordinary" isn't Joel and Ethan Coen but rather the British threesome responsible for the black comedy "Shallow Grave" and last year's transatlantic junkie hit, "Trainspotting" (both of which starred McGregor): producer Andrew MacDonald, writer John Hodge, and director Danny Boyle. For their first foray into the American mainstream, if you can call it that, what better way to pay homage to the Coens' wild and whacked-out style than to try to duplicate it?
For a good proportion of the film, they succeed.
The film is not as satisfying as it might be, however, due to some basic miscalculations. Diaz has already proven she can't sing (in "My Best Friend's Wedding"), and the remarkably similar "dream sequence" in a Karaoke bar just doesn't work. The soundtrack, so well synchronized in "Trainspotting," is all over the map here, with some songs actually drowning out the actors' dialog in places. Lindo and Hunter are oddly peripheral in this picture, with Hunter resembling a strung-out Sarah Jessica Parker, adding to her increasing roster of eccentric, unstable women you'd be afraid to take home to Ma. And what's with that cutesy claymation bit over the end credits?
In "A Life Less Ordinary," writer Hodge does comes up with some very funny scenarios, especially those involving the honest, na´ve Robert hopelessly attempting to pass himself off as a ruthless tough guy. His love for Celine might turn out as obvious as the trashy novel he plans to write, but that's a cracked American romance for you, even as envisioned by a trio of Brits.
-- David N. Butterworth<EMAIL_ADDRESS>The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Congrats with your secret Key2Myheart identity!
Thanks for taking part in The Key to my Heart! and welcome to the world of encrypted email, we hope that this is your first step towards learning how to keep your data to yourself.
We must warn you though of a few things:
- This key has been generated securely to the best of our capability.
- The computer used to generate this key, shredded the key immediately after generating it. We do not keep copies of your private key.
- A few seconds of your heartbeat sound have been recorded, but the amount of data is not enough to identify you.
- For usability reasons the key isn't password protected, but you can add a password any time you like.
- To use your key in a more secure way we recommend that you, first of all, protect the key with a password.
- You should consider this key as low security.
- If you are a journalist or activist and need to protect your sources, you may use this key to learn more about encrypted email, but we strongly suggest to not use this key for sensitive communications. Practice, learn more about encrypting your email and when you feel confident generate a new key for yourself.
- If you want to encrypt your email so that the Google's and the Facebook's of this world cannot target advertisements at you however, this key is more than enough.
So you got your new digital identity from our installation but now what? How do you use this thing?
If you are on a Mac computer
- Plug the USB bracelet into your computer
- Open the contents of the USB and confirm there is a folder in there named your keys
- Open the program GPG keychain
- Click on the File menu and choose Import...
- Find the folder that says Your keys
- Click on the file yoursecretkey.asc and click Open
The key has now been imported to your keychain. And if you use the same mail adres in Apple Mail as the one you told us, you should now be able to send signed mails and decrypt encrypted mails send to you that were encrypted with your public key.
If you are on a Windows computer
- Plug the USB bracelet into your computer
- Open the contents of the USB and confirm there is a folder in there named your keys
We are assuming you are using Thunderbird and Enigmail as explained in this tutorial, which you have already read and followed.
- In Thunderbird click the configuration button, then the Enigmail option, then Key Management.
- Click on the File menu and choose Import...
- Find the folder that says Your keys
- Click on the file yoursecretkey.asc and click Open
The key has now been imported to your keychain. And if you use the same mail adres in Thunderbird as the one you told us, you should now be able to send signed mails and decrypt encrypted mails send to you that were encrypted with your public key.


Field validation failed. Please correct fields inline and resubmit, or correct fields in file and reupload
| # |
Study title |
Sample ID |
Species |
Sample storage type |
Sample matrix |
Collection protocol |
Campus |
Building |
Room |
Freezer ID |
Shelf ID |
Box ID |
Parent type |
Parent ID |
Consent form information |
Tissue bank reference |
Hazard group |
Hazard description |
{% for sample in samples %}
{% endfor %}


OANDA presents
a Jerome Lecomte & K Duker production
Forex Hockey
Start
former OANDA CEO K Duker
Please rotate your device to portrait mode