*** User 2017-05-03 15:08:01.110 ***
15:08:01.110 [info] Disabling blocking sync...
*** User 2017-05-03 15:08:01.113 ***
15:08:01.113 [info] Configured peer_service_manager partisan_default_peer_service_manager on node 'node-1@antoine-PC'
*** User 2017-05-03 15:08:02.471 ***
15:08:02.471 [info] Enabling membership...
*** User 2017-05-03 15:08:02.472 ***
15:08:02.472 [info] Disabling blocking sync...
*** User 2017-05-03 15:08:02.475 ***
15:08:02.475 [info] Configured peer_service_manager partisan_default_peer_service_manager on node 'node-2@antoine-PC'
*** User 2017-05-03 15:08:03.820 ***
15:08:03.820 [info] Enabling membership...
*** User 2017-05-03 15:08:03.821 ***
15:08:03.821 [info] Disabling blocking sync...
*** User 2017-05-03 15:08:03.825 ***
15:08:03.825 [info] Configured peer_service_manager partisan_default_peer_service_manager on node 'node-3@antoine-PC'
*** User 2017-05-03 15:08:03.988 ***
Joining node: 'node-3@antoine-PC' to 'runner@antoine-PC' at port 46236
*** User 2017-05-03 15:08:03.988 ***
Joining issued: 'node-3@antoine-PC' to 'runner@antoine-PC' at port 46236
*** User 2017-05-03 15:08:03.988 ***
Joining node: 'node-2@antoine-PC' to 'runner@antoine-PC' at port 45276
*** User 2017-05-03 15:08:03.988 ***
Joining issued: 'node-2@antoine-PC' to 'runner@antoine-PC' at port 45276
*** User 2017-05-03 15:08:03.988 ***
Joining node: 'node-1@antoine-PC' to 'runner@antoine-PC' at port 43923
*** User 2017-05-03 15:08:03.989 ***
Joining issued: 'node-1@antoine-PC' to 'runner@antoine-PC' at port 43923
*** User 2017-05-03 15:08:04.050 ***
Waiting for join to complete with manager: partisan_default_peer_service_manager
*** User 2017-05-03 15:08:04.050 ***
Finished.
*** CT 2017-05-03 15:08:04.050 *** COVER INFO
Adding nodes to cover test: ['runner@antoine-PC']
*** CT 2017-05-03 15:08:04.055 *** COVER INFO
Successfully added nodes to cover test: []
*** User 2017-05-03 15:08:04.055 ***
Case finished: sql_simple_uncontracted_latency_test
*** User 2017-05-03 15:08:11.080 ***
15:08:11.080 [info] Application lasp exited with reason: stopped
*** User 2017-05-03 15:08:11.080 ***
15:08:11.080 [info] Application partisan exited with reason: stopped
=== Ended at 2017-05-03 15:08:11
=== successfully completed test case
=== Returned value: ok
Test run history
| Top level test index


I'm George Ursachi, a student of computer science at Copenhagen School of Design and Technology, passionate about software development and creative coding.
An overview of my skills. Programming languages, frameworks, tools & technologies. It's all there!
Software development and creative coding skills in action. These are both group and independent projects I have worked on.
Learning is a lifelong venture. Here's the what, when and where of my education.
Are you looking for a software developer, or maybe a creative person for your project?


--- layout: page title: About header-img: "img/about-bg.png" ---
My dream has always been to become a software developer because I love building things, and I love logic. When I was young, I got my computer science degree, but I never did anything with it because I decided to open my own business. I worked on my own restaurant for a long time, but sold it and I'm ready for next adventure as full stack software engineer.


Maintenance Notice
### INCOMING PRIORITY ALERT ###
Hello CMDR,
The system your trying to access is currently offline for maintenance, we expect this system to come back online shortly.
In the mean time please feel free to stay up to date on our Discord, or you can take some time to browse our Codex here.
Thank you and god speed CMDR,
Canonn Research and Development Team
### END PRIORITY ALERT ###


|
Elektra
0.8.14
|
This plugin is a filter plugin that converts between different character encodings.
Consider a user insisting on a latin1
character encoding because of some old application. All other users already use, for example, UTF-8
. For these users, the configuration files are encoded in UTF-8
. So we need a solution for the user with latin1
to access the key database with proper encoding.
On the other hand, contemplate an XML file which requires a specific encoding. But the other key databases work well with the users encoding. So a quick fix for that backend is needed to feed that XML file with a different encoding.
Iconv plugin provides a solution for both scenarios. It converts between many available character encodings. With the plugin’s configuration the user can change the from and to encoding. The default values of the plugin configuration are: from
encoding will be determined at run time. to
encoding is UTF-8
.
Parameters:
to
is per default UTF-8, to have unicode configuration filesfrom
is per default the users localeNote that for writing the configuration from
and to
is swapped. A key database that requires a specific encoding can make use of it. To sum up, every user can select a different encoding, but the key databases are still properly encoded for anyone.
For example ~/.config/iconv.ini should be latin1, but all users have UTF-8 settings:
kdb mount iconv.ini /example/iconv ini iconv from=UTF-8,to=ISO-8859-1 file ~/.config/iconv.ini # iconv.ini: ISO-8859 text kdb get user/example/iconv/a # converts ISO-8859 to UTF-8 kdb set user/example/iconv/a öäß # converts UTF-8 to ISO-8859


Introduction>
User Default Parameters
register new Parameter
(current)
about
Add a new record or a correction for an existing one
New record or change request
New Entry
Correction
Name
fieldcatname
Name in global field catalog
ACH Component (OSS-Component)
SPA/GPA ID tpara
Description
Enter a description in english.
responsible name
responsible email
responsible userid (d/i-user)
responsible company
please enter text in image
Cancel
Submit


Panel #1 from Markup
This is a Panel that was marked up in the document.
End of Panel #1
Panel #1 from Markup
This is a Panel that was marked up in the document.
End of Panel #1


Rebecca "Becky" Brockman
PARDEVILLE/MADISON-The family of Rebecca E. "Becky" Brockman memorialize the life of their wife, mother, sister and friend following her passing on Saturday, Nov. 16, 2019.
Her family wishes to share the memory of Becky as a passionate mother and fierce advocate for her loved ones to be true to who they are.
Becky was born on Sept. 21, 1972, the child of Michael P. and Marylou (Steinmann) Weber. She was raised alongside her elder brother, Michael J. Weber. She graduated from Madison East High School in 1990 and went on to a 26-year career as a claims adjuster for American Family Insurance. She married Donald Brockman on July 17, 2004, at St. John's Lutheran Church in Portage.
Becky's greatest dedication was to her children—son, Jarrett Roethke, and daughter, Rylee Brockman—and always empowered them through love to reach their unique potentials.
Those who knew Becky will remember her for her incredible sense of humor and bright smile, which could be seen when she enjoyed her favorite activities: cooking, canning, camping and exploring garage sales.
Becky is survived by her parents, brother, husband and children; in addition to sister-in-law, Patti; parents-in-law, Kenneth and Carol Brockman; brothers-in-law, Steve (Camilla) Brockman and Keith (Carol) Brockman; sister-in-law, Julie (Mark) Tedford; and nieces and nephews, Ashley, Alex and Austin Weber, Ashley, Emily and Libby Tedford, Cailyn and Kenley Brockman, and Jacob and Hannah Brockman.
The family wishes to thank the doctors, nurses and staff of St. Mary's Hospital and UW Hospital and their TLC unit for all of their wonderful care and support given to Becky and her family.
A memorial gathering will be held at GUNDERSON EAST FUNERAL AND CREMATION CARE, 5203 Monona Dr., Madison, from 2 p.m. until 5 p.m. on Sunday, Nov. 24, 2019.
In lieu of flowers, memorials may be made to the family for daughter Rylee's continued education fund.
Online condolences may be made at www.gundersonfh.com
Gunderson East
Funeral & Cremation Care
5203 Monona Drive
(608) 221-54


--- layout: page description: "Things I want to remember and share with the world" pageclass: main --- {% assign thecycle = true %} {% for post in paginator.posts %} {% include post.html %} {% endfor %} {% if paginator.total_pages > 1 %}


Check at least one, or your search will not match any packages.
Restore all settings to their defaults.


|
My Project
|
#include <big_font.h>
Data Fields | |
| unsigned | tex_width |
| unsigned | tex_height |
| unsigned | tex_depth |
| unsigned char | tex_data [640][640] |
| float | size |
| float | height |
| float | linegap |
| float | ascender |
| float | descender |
| texture_glyph_t | glyphs [256] |
| unsigned | glyphs_count |
| float ascender |
| float descender |
| texture_glyph_t glyphs |
| unsigned glyphs_count |
| float height |
| float linegap |
| float size |
| unsigned char tex_data |
| unsigned tex_depth |
| unsigned tex_height |
| unsigned tex_width |


Moving from Wordpress to Jekyll
I have been using Wordpress for many years. It produces good looking websites and is easy to install and maintain. Unfortunately, it isn’t easy at all to backup the website, and the interface is all web-based meaning it is difficult to create scripts which update the website. I will be switching them over at some point and moved the old domain to a spare http://uxa.apl.mybluehost.me/.
Most programmers use github which offers Github Pages for website hosting. The advantages over Wordpress plus hosting are:
- It is free.
- Websites can be edited with a normal text editor.
- It is hosted by Github so version control etc is integrated.
- A local copy is available so scripts to automate updating the website etc are simple and changes can be made while offline.
- It is easy to make backups.
- Latex rendering is easy.
- Markdown makes code blocks easier.
I managed to move phwl.org to Github under MacOS using the steps below.
Install Jekyll
- Install ruby, rbenv, bundler and jekyll (I used homebrew) https://jekyllrb.com/docs/installation/macos/
Install minimal-mistakes-jekyll theme
- Jekyll is not compatible with the stupid Dropbox directory name
'Dropbox\ \(Sydney\ Uni\)/'
, and I don’t think there is a way to change it. To get around this I put my website directory outside of Dropbox and made a symbolic link (inside Dropbox) so it would be backed up - Make a copy of https://github.com/mmistakes/mm-github-pages-starter, edit the _config.yml
bundle
bundle update
- To use the local server, type
bundle exec jekyll serve --incremental
and browse tolocalhost:4000
.
Convert website
- Use the Wordpress exporter to export old website in xml format (tried the Jekyll converter plugin but that doesn’t work for large websites). This just gives the content, without attachments etc. Then
- Use exitwp to convert Wordpress to Jekyll
- Copy all the images and documents from the Wordpress site (
wp-content
directory) usingftp
. I usedFileZilla
from the App store for this. - Copy the _posts directory from
exitwp
into the Jekyll website. - Copy wp-content files into
assets/images
on the Jekyll website. - To make publically available, type
bundle exec jekyll build
and then push the files up to Github (the repository is https://github.com/phwl/phwl.github.io)
Fix _posts
and _pages
- This took the most time. The main changes I needed to do was to fix the headers: remove the old
link
header, add a teaser image (blank one if unneeded). Then I edited the image insertion code, which involved the extensive use of Python scripts to do global replacements like
import fileinput
import re
for line in fileinput.input(sys.argv[1], inplace=1, backup='.bak'):
line = re.sub(r'\[!.*\((.+)\).*\]\(.*\)', r'[![](\1){: .align-center}](\1)', line.rstrip())
print(line)
- I later added links to the original image with this script.
import fileinput
import re
for line in fileinput.input(inplace=1, backup='.bak'):
line = re.sub('!\[(.*)\]\((.*)\)\{: .align-center\}',r'[![\1](\2){: .align-center}](\2)', line.rstrip())
print(line)
- and then changed them yet again to use the include form
{% include figure image_path="/assets/images/2019/10/IMG_1268.jpg" caption="Shenzhen" %}
- I also used wide pages https://mmistakes.github.io/minimal-mistakes/markup-text-readability-wide-page/
Customise website
- Since I wanted teaser images appearing on the front page, I put a copy of https://github.com/justinrummel/jr.com-mm/blob/jr-branch/_includes/archive-single.html in
_includes/archive-single.html
- To use a custom domain https://help.github.com/en/articles/managing-a-custom-domain-for-your-github-pages-site
- To use single pages without sidebar https://github.com/mmistakes/minimal-mistakes/issues/1322#issuecomment-521386064
- To change home to a grid layout I changed home.html so the loop is in a grid wrapper

{% for post in paginator.posts %}
{% include archive-single.html type="grid" %}
{% endfor %}

- Make figures linked to the image

{% if include.caption %}

{{ include.caption | markdownify | remove: "
" | remove: "
" }}

{% endif %}

- To enable \(\LaTeX\) rendering with mathjax (if it didn’t work the LaTeX symbol would not have appeared), I created a file in
_includes/latex.html
with
{% if page.use_math %}

{% endif %}
This is similar to the approach in https://haixing-hu.github.io/programming/2013/09/20/how-to-use-mathjax-in-jekyll-generated-github-pages/.
Google analytics
Go to https://analytics.google.com/analytics/web/ -> Admin and create an account for website. Get the tracking ID from Admin -> Tracking Info -> Tracking Code and put it in _config.yml
# Analytics
analytics:
provider : google-gtag # false (default), "google", "google-universal", "custom"
google:
tracking_id : "UA-155095246-1"
anonymize_ip : false # true, false (default)
Reports will appear at https://analytics.google.com/analytics/web/#/report/visitors-overview.
Links
I found the following sites helpful:
- https://www.alexdglover.com/the-move-to-jekyll/
- http://www.seanbuscay.com/blog/jekyll-teaser-pager-and-read-more/
- https://stackoverflow.com/questions/25463865/in-jekyll-how-do-i-grab-a-posts-first-image
- https://www.vgemba.net/blog/Blog-Migration-Part-1-Setup/
- https://github.com/merlos/jekyll-auto-image
- http://lanyon.getpoole.com/
- http://drjekyllthemes.github.io/
- https://gykovacsblog.wordpress.com/tag/jekyll-scholar/
- https://www.aravindiyer.com/tech/how-i-made-my-website-with-jekyll/#
- https://github.com/alshedivat/al-folio
- https://haixing-hu.github.io/programming/2013/09/20/how-to-use-mathjax-in-jekyll-generated-github-pages/
- http://jekyllbootstrap.com/lessons/jekyll-introduction.html


torchvision.models¶
The models subpackage contains definitions of models for addressing different tasks, including: image classification, pixelwise semantic segmentation, object detection, instance segmentation, person keypoint detection and video classification.
Classification¶
The models subpackage contains definitions for the following model architectures for image classification:
Inception v3
ShuffleNet v2
MobileNet v2
You can construct a model with random weights by calling its constructor:
import torchvision.models as models
resnet18 = models.resnet18()
alexnet = models.alexnet()
vgg16 = models.vgg16()
squeezenet = models.squeezenet1_0()
densenet = models.densenet161()
inception = models.inception_v3()
googlenet = models.googlenet()
shufflenet = models.shufflenet_v2_x1_0()
mobilenet = models.mobilenet_v2()
resnext50_32x4d = models.resnext50_32x4d()
wide_resnet50_2 = models.wide_resnet50_2()
mnasnet = models.mnasnet1_0()
We provide pre-trained models, using the PyTorch torch.utils.model_zoo
.
These can be constructed by passing pretrained=True
:
import torchvision.models as models
resnet18 = models.resnet18(pretrained=True)
alexnet = models.alexnet(pretrained=True)
squeezenet = models.squeezenet1_0(pretrained=True)
vgg16 = models.vgg16(pretrained=True)
densenet = models.densenet161(pretrained=True)
inception = models.inception_v3(pretrained=True)
googlenet = models.googlenet(pretrained=True)
shufflenet = models.shufflenet_v2_x1_0(pretrained=True)
mobilenet = models.mobilenet_v2(pretrained=True)
resnext50_32x4d = models.resnext50_32x4d(pretrained=True)
wide_resnet50_2 = models.wide_resnet50_2(pretrained=True)
mnasnet = models.mnasnet1_0(pretrained=True)
Instancing a pre-trained model will download its weights to a cache directory.
This directory can be set using the TORCH_MODEL_ZOO environment variable. See
torch.utils.model_zoo.load_url()
for details.
Some models use modules which have different training and evaluation
behavior, such as batch normalization. To switch between these modes, use
model.train()
or model.eval()
as appropriate. See
train()
or eval()
for details.
All pre-trained models expect input images normalized in the same way,
i.e. mini-batches of 3-channel RGB images of shape (3 x H x W),
where H and W are expected to be at least 224.
The images have to be loaded in to a range of [0, 1] and then normalized
using mean = [0.485, 0.456, 0.406]
and std = [0.229, 0.224, 0.225]
.
You can use the following transform to normalize:
normalize = transforms.Normalize(mean=[0.485, 0.456, 0.406],
std=[0.229, 0.224, 0.225])
An example of such normalization can be found in the imagenet example here
The process for obtaining the values of mean and std is roughly equivalent to:
import torch
from torchvision import datasets, transforms as T
transform = T.Compose([T.Resize(256), T.CenterCrop(224), T.ToTensor()])
dataset = datasets.ImageNet(".", split="train", transform=transform)
means = []
stds = []
for img in subset(dataset):
means.append(torch.mean(img))
stds.append(torch.std(img))
mean = torch.mean(torch.tensor(means))
std = torch.mean(torch.tensor(stds))
Unfortunately, the concrete subset that was used is lost. For more information see this discussion or these experiments.
ImageNet 1-crop error rates (224x224)
Network |
Top-1 error |
Top-5 error |
|---|---|---|
AlexNet |
43.45 |
20.91 |
VGG-11 |
30.98 |
11.37 |
VGG-13 |
30.07 |
10.75 |
VGG-16 |
28.41 |
9.62 |
VGG-19 |
27.62 |
9.12 |
VGG-11 with batch normalization |
29.62 |
10.19 |
VGG-13 with batch normalization |
28.45 |
9.63 |
VGG-16 with batch normalization |
26.63 |
8.50 |
VGG-19 with batch normalization |
25.76 |
8.15 |
ResNet-18 |
30.24 |
10.92 |
ResNet-34 |
26.70 |
8.58 |
ResNet-50 |
23.85 |
7.13 |
ResNet-101 |
22.63 |
6.44 |
ResNet-152 |
21.69 |
5.94 |
SqueezeNet 1.0 |
41.90 |
19.58 |
SqueezeNet 1.1 |
41.81 |
19.38 |
Densenet-121 |
25.35 |
7.83 |
Densenet-169 |
24.00 |
7.00 |
Densenet-201 |
22.80 |
6.43 |
Densenet-161 |
22.35 |
6.20 |
Inception v3 |
22.55 |
6.44 |
GoogleNet |
30.22 |
10.47 |
ShuffleNet V2 |
30.64 |
11.68 |
MobileNet V2 |
28.12 |
9.71 |
ResNeXt-50-32x4d |
22.38 |
6.30 |
ResNeXt-101-32x8d |
20.69 |
5.47 |
Wide ResNet-50-2 |
21.49 |
5.91 |
Wide ResNet-101-2 |
21.16 |
5.72 |
MNASNet 1.0 |
26.49 |
8.456 |
Alexnet¶
-
torchvision.models.
alexnet
(pretrained=False, progress=True, **kwargs)[source]¶ AlexNet model architecture from the “One weird trick…” paper.
VGG¶
-
torchvision.models.
vgg11
(pretrained=False, progress=True, **kwargs)[source]¶ VGG 11-layer model (configuration “A”) from “Very Deep Convolutional Networks For Large-Scale Image Recognition”
-
torchvision.models.
vgg11_bn
(pretrained=False, progress=True, **kwargs)[source]¶ VGG 11-layer model (configuration “A”) with batch normalization “Very Deep Convolutional Networks For Large-Scale Image Recognition”
-
torchvision.models.
vgg13
(pretrained=False, progress=True, **kwargs)[source]¶ VGG 13-layer model (configuration “B”) “Very Deep Convolutional Networks For Large-Scale Image Recognition”
-
torchvision.models.
vgg13_bn
(pretrained=False, progress=True, **kwargs)[source]¶ VGG 13-layer model (configuration “B”) with batch normalization “Very Deep Convolutional Networks For Large-Scale Image Recognition”
-
torchvision.models.
vgg16
(pretrained=False, progress=True, **kwargs)[source]¶ VGG 16-layer model (configuration “D”) “Very Deep Convolutional Networks For Large-Scale Image Recognition”
-
torchvision.models.
vgg16_bn
(pretrained=False, progress=True, **kwargs)[source]¶ VGG 16-layer model (configuration “D”) with batch normalization “Very Deep Convolutional Networks For Large-Scale Image Recognition”
-
torchvision.models.
vgg19
(pretrained=False, progress=True, **kwargs)[source]¶ VGG 19-layer model (configuration “E”) “Very Deep Convolutional Networks For Large-Scale Image Recognition”
-
torchvision.models.
vgg19_bn
(pretrained=False, progress=True, **kwargs)[source]¶ VGG 19-layer model (configuration ‘E’) with batch normalization “Very Deep Convolutional Networks For Large-Scale Image Recognition”
ResNet¶
-
torchvision.models.
resnet18
(pretrained=False, progress=True, **kwargs)[source]¶ ResNet-18 model from “Deep Residual Learning for Image Recognition”
-
torchvision.models.
resnet34
(pretrained=False, progress=True, **kwargs)[source]¶ ResNet-34 model from “Deep Residual Learning for Image Recognition”
-
torchvision.models.
resnet50
(pretrained=False, progress=True, **kwargs)[source]¶ ResNet-50 model from “Deep Residual Learning for Image Recognition”
-
torchvision.models.
resnet101
(pretrained=False, progress=True, **kwargs)[source]¶ ResNet-101 model from “Deep Residual Learning for Image Recognition”
-
torchvision.models.
resnet152
(pretrained=False, progress=True, **kwargs)[source]¶ ResNet-152 model from “Deep Residual Learning for Image Recognition”
SqueezeNet¶
-
torchvision.models.
squeezenet1_0
(pretrained=False, progress=True, **kwargs)[source]¶ SqueezeNet model architecture from the “SqueezeNet: AlexNet-level accuracy with 50x fewer parameters and <0.5MB model size” paper.
-
torchvision.models.
squeezenet1_1
(pretrained=False, progress=True, **kwargs)[source]¶ SqueezeNet 1.1 model from the official SqueezeNet repo. SqueezeNet 1.1 has 2.4x less computation and slightly fewer parameters than SqueezeNet 1.0, without sacrificing accuracy.
DenseNet¶
-
torchvision.models.
densenet121
(pretrained=False, progress=True, **kwargs)[source]¶ Densenet-121 model from “Densely Connected Convolutional Networks”
-
torchvision.models.
densenet169
(pretrained=False, progress=True, **kwargs)[source]¶ Densenet-169 model from “Densely Connected Convolutional Networks”
-
torchvision.models.
densenet161
(pretrained=False, progress=True, **kwargs)[source]¶ Densenet-161 model from “Densely Connected Convolutional Networks”
-
torchvision.models.
densenet201
(pretrained=False, progress=True, **kwargs)[source]¶ Densenet-201 model from “Densely Connected Convolutional Networks”
Inception v3¶
-
torchvision.models.
inception_v3
(pretrained=False, progress=True, **kwargs)[source]¶ Inception v3 model architecture from “Rethinking the Inception Architecture for Computer Vision”.
Note
Important: In contrast to the other models the inception_v3 expects tensors with a size of N x 3 x 299 x 299, so ensure your images are sized accordingly.
- Parameters
pretrained (bool) – If True, returns a model pre-trained on ImageNet
progress (bool) – If True, displays a progress bar of the download to stderr
aux_logits (bool) – If True, add an auxiliary branch that can improve training. Default: True
transform_input (bool) – If True, preprocesses the input according to the method with which it was trained on ImageNet. Default: False
Note
This requires scipy to be installed
GoogLeNet¶
-
torchvision.models.
googlenet
(pretrained=False, progress=True, **kwargs)[source]¶ GoogLeNet (Inception v1) model architecture from “Going Deeper with Convolutions”.
- Parameters
pretrained (bool) – If True, returns a model pre-trained on ImageNet
progress (bool) – If True, displays a progress bar of the download to stderr
aux_logits (bool) – If True, adds two auxiliary branches that can improve training. Default: False when pretrained is True otherwise True
transform_input (bool) – If True, preprocesses the input according to the method with which it was trained on ImageNet. Default: False
Note
This requires scipy to be installed
ShuffleNet v2¶
-
torchvision.models.
shufflenet_v2_x0_5
(pretrained=False, progress=True, **kwargs)[source]¶ Constructs a ShuffleNetV2 with 0.5x output channels, as described in “ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design”.
-
torchvision.models.
shufflenet_v2_x1_0
(pretrained=False, progress=True, **kwargs)[source]¶ Constructs a ShuffleNetV2 with 1.0x output channels, as described in “ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design”.
-
torchvision.models.
shufflenet_v2_x1_5
(pretrained=False, progress=True, **kwargs)[source]¶ Constructs a ShuffleNetV2 with 1.5x output channels, as described in “ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design”.
-
torchvision.models.
shufflenet_v2_x2_0
(pretrained=False, progress=True, **kwargs)[source]¶ Constructs a ShuffleNetV2 with 2.0x output channels, as described in “ShuffleNet V2: Practical Guidelines for Efficient CNN Architecture Design”.
MobileNet v2¶
-
torchvision.models.
mobilenet_v2
(pretrained=False, progress=True, **kwargs)[source]¶ Constructs a MobileNetV2 architecture from “MobileNetV2: Inverted Residuals and Linear Bottlenecks”.
ResNext¶
-
torchvision.models.
resnext50_32x4d
(pretrained=False, progress=True, **kwargs)[source]¶ ResNeXt-50 32x4d model from “Aggregated Residual Transformation for Deep Neural Networks”
-
torchvision.models.
resnext101_32x8d
(pretrained=False, progress=True, **kwargs)[source]¶ ResNeXt-101 32x8d model from “Aggregated Residual Transformation for Deep Neural Networks”
Wide ResNet¶
-
torchvision.models.
wide_resnet50_2
(pretrained=False, progress=True, **kwargs)[source]¶ Wide ResNet-50-2 model from “Wide Residual Networks”
The model is the same as ResNet except for the bottleneck number of channels which is twice larger in every block. The number of channels in outer 1x1 convolutions is the same, e.g. last block in ResNet-50 has 2048-512-2048 channels, and in Wide ResNet-50-2 has 2048-1024-2048.
-
torchvision.models.
wide_resnet101_2
(pretrained=False, progress=True, **kwargs)[source]¶ Wide ResNet-101-2 model from “Wide Residual Networks”
The model is the same as ResNet except for the bottleneck number of channels which is twice larger in every block. The number of channels in outer 1x1 convolutions is the same, e.g. last block in ResNet-50 has 2048-512-2048 channels, and in Wide ResNet-50-2 has 2048-1024-2048.
MNASNet¶
-
torchvision.models.
mnasnet0_5
(pretrained=False, progress=True, **kwargs)[source]¶ MNASNet with depth multiplier of 0.5 from “MnasNet: Platform-Aware Neural Architecture Search for Mobile”. :param pretrained: If True, returns a model pre-trained on ImageNet :type pretrained: bool :param progress: If True, displays a progress bar of the download to stderr :type progress: bool
-
torchvision.models.
mnasnet0_75
(pretrained=False, progress=True, **kwargs)[source]¶ MNASNet with depth multiplier of 0.75 from “MnasNet: Platform-Aware Neural Architecture Search for Mobile”. :param pretrained: If True, returns a model pre-trained on ImageNet :type pretrained: bool :param progress: If True, displays a progress bar of the download to stderr :type progress: bool
-
torchvision.models.
mnasnet1_0
(pretrained=False, progress=True, **kwargs)[source]¶ MNASNet with depth multiplier of 1.0 from “MnasNet: Platform-Aware Neural Architecture Search for Mobile”. :param pretrained: If True, returns a model pre-trained on ImageNet :type pretrained: bool :param progress: If True, displays a progress bar of the download to stderr :type progress: bool
-
torchvision.models.
mnasnet1_3
(pretrained=False, progress=True, **kwargs)[source]¶ MNASNet with depth multiplier of 1.3 from “MnasNet: Platform-Aware Neural Architecture Search for Mobile”. :param pretrained: If True, returns a model pre-trained on ImageNet :type pretrained: bool :param progress: If True, displays a progress bar of the download to stderr :type progress: bool
Semantic Segmentation¶
The models subpackage contains definitions for the following model architectures for semantic segmentation:
As with image classification models, all pre-trained models expect input images normalized in the same way.
The images have to be loaded in to a range of [0, 1]
and then normalized using
mean = [0.485, 0.456, 0.406]
and std = [0.229, 0.224, 0.225]
.
They have been trained on images resized such that their minimum size is 520.
The pre-trained models have been trained on a subset of COCO train2017, on the 20 categories that are
present in the Pascal VOC dataset. You can see more information on how the subset has been selected in
references/segmentation/coco_utils.py
. The classes that the pre-trained model outputs are the following,
in order:
['__background__', 'aeroplane', 'bicycle', 'bird', 'boat', 'bottle', 'bus', 'car', 'cat', 'chair', 'cow', 'diningtable', 'dog', 'horse', 'motorbike', 'person', 'pottedplant', 'sheep', 'sofa', 'train', 'tvmonitor']
The accuracies of the pre-trained models evaluated on COCO val2017 are as follows
Network |
mean IoU |
global pixelwise acc |
|---|---|---|
FCN ResNet50 |
60.5 |
91.4 |
FCN ResNet101 |
63.7 |
91.9 |
DeepLabV3 ResNet50 |
66.4 |
92.4 |
DeepLabV3 ResNet101 |
67.4 |
92.4 |
Fully Convolutional Networks¶
-
torchvision.models.segmentation.
fcn_resnet50
(pretrained=False, progress=True, num_classes=21, aux_loss=None, **kwargs)[source]¶ Constructs a Fully-Convolutional Network model with a ResNet-50 backbone.
DeepLabV3¶
-
torchvision.models.segmentation.
deeplabv3_resnet50
(pretrained=False, progress=True, num_classes=21, aux_loss=None, **kwargs)[source]¶ Constructs a DeepLabV3 model with a ResNet-50 backbone.
Object Detection, Instance Segmentation and Person Keypoint Detection¶
The models subpackage contains definitions for the following model architectures for detection:
The pre-trained models for detection, instance segmentation and keypoint detection are initialized with the classification models in torchvision.
The models expect a list of Tensor[C, H, W]
, in the range 0-1
.
The models internally resize the images so that they have a minimum size
of 800
. This option can be changed by passing the option min_size
to the constructor of the models.
For object detection and instance segmentation, the pre-trained models return the predictions of the following classes:
COCO_INSTANCE_CATEGORY_NAMES = [ '__background__', 'person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', 'traffic light', 'fire hydrant', 'N/A', 'stop sign', 'parking meter', 'bench', 'bird', 'cat', 'dog', 'horse', 'sheep', 'cow', 'elephant', 'bear', 'zebra', 'giraffe', 'N/A', 'backpack', 'umbrella', 'N/A', 'N/A', 'handbag', 'tie', 'suitcase', 'frisbee', 'skis', 'snowboard', 'sports ball', 'kite', 'baseball bat', 'baseball glove', 'skateboard', 'surfboard', 'tennis racket', 'bottle', 'N/A', 'wine glass', 'cup', 'fork', 'knife', 'spoon', 'bowl', 'banana', 'apple', 'sandwich', 'orange', 'broccoli', 'carrot', 'hot dog', 'pizza', 'donut', 'cake', 'chair', 'couch', 'potted plant', 'bed', 'N/A', 'dining table', 'N/A', 'N/A', 'toilet', 'N/A', 'tv', 'laptop', 'mouse', 'remote', 'keyboard', 'cell phone', 'microwave', 'oven', 'toaster', 'sink', 'refrigerator', 'N/A', 'book', 'clock', 'vase', 'scissors', 'teddy bear', 'hair drier', 'toothbrush' ]
Here are the summary of the accuracies for the models trained on the instances set of COCO train2017 and evaluated on COCO val2017.
Network |
box AP |
mask AP |
keypoint AP |
|---|---|---|---|
Faster R-CNN ResNet-50 FPN |
37.0 |
||
RetinaNet ResNet-50 FPN |
36.4 |
||
Mask R-CNN ResNet-50 FPN |
37.9 |
34.6 |
For person keypoint detection, the accuracies for the pre-trained models are as follows
Network |
box AP |
mask AP |
keypoint AP |
|---|---|---|---|
Keypoint R-CNN ResNet-50 FPN |
54.6 |
65.0 |
For person keypoint detection, the pre-trained model return the keypoints in the following order:
COCO_PERSON_KEYPOINT_NAMES = [ 'nose', 'left_eye', 'right_eye', 'left_ear', 'right_ear', 'left_shoulder', 'right_shoulder', 'left_elbow', 'right_elbow', 'left_wrist', 'right_wrist', 'left_hip', 'right_hip', 'left_knee', 'right_knee', 'left_ankle', 'right_ankle' ]
Runtime characteristics¶
The implementations of the models for object detection, instance segmentation and keypoint detection are efficient.
In the following table, we use 8 V100 GPUs, with CUDA 10.0 and CUDNN 7.4 to report the results. During training, we use a batch size of 2 per GPU, and during testing a batch size of 1 is used.
For test time, we report the time for the model evaluation and postprocessing (including mask pasting in image), but not the time for computing the precision-recall.
Network |
train time (s / it) |
test time (s / it) |
memory (GB) |
|---|---|---|---|
Faster R-CNN ResNet-50 FPN |
0.2288 |
0.0590 |
5.2 |
RetinaNet ResNet-50 FPN |
0.2514 |
0.0939 |
4.1 |
Mask R-CNN ResNet-50 FPN |
0.2728 |
0.0903 |
5.4 |
Keypoint R-CNN ResNet-50 FPN |
0.3789 |
0.1242 |
6.8 |
Faster R-CNN¶
-
torchvision.models.detection.
fasterrcnn_resnet50_fpn
(pretrained=False, progress=True, num_classes=91, pretrained_backbone=True, trainable_backbone_layers=3, **kwargs)[source]¶ Constructs a Faster R-CNN model with a ResNet-50-FPN backbone.
The input to the model is expected to be a list of tensors, each of shape
[C, H, W]
, one for each image, and should be in0-1
range. Different images can have different sizes.The behavior of the model changes depending if it is in training or evaluation mode.
During training, the model expects both the input tensors, as well as a targets (list of dictionary), containing:
boxes (
FloatTensor[N, 4]
): the ground-truth boxes in[x1, y1, x2, y2]
format, with values ofx
between0
andW
and values ofy
between0
andH
labels (
Int64Tensor[N]
): the class label for each ground-truth box
The model returns a
Dict[Tensor]
during training, containing the classification and regression losses for both the RPN and the R-CNN.During inference, the model requires only the input tensors, and returns the post-processed predictions as a
List[Dict[Tensor]]
, one for each input image. The fields of theDict
are as follows:boxes (
FloatTensor[N, 4]
): the predicted boxes in[x1, y1, x2, y2]
format, with values ofx
between0
andW
and values ofy
between0
andH
labels (
Int64Tensor[N]
): the predicted labels for each imagescores (
Tensor[N]
): the scores or each prediction
Faster R-CNN is exportable to ONNX for a fixed batch size with inputs images of fixed size.
Example:
>>> model = torchvision.models.detection.fasterrcnn_resnet50_fpn(pretrained=True) >>> # For training >>> images, boxes = torch.rand(4, 3, 600, 1200), torch.rand(4, 11, 4) >>> labels = torch.randint(1, 91, (4, 11)) >>> images = list(image for image in images) >>> targets = [] >>> for i in range(len(images)): >>> d = {} >>> d['boxes'] = boxes[i] >>> d['labels'] = labels[i] >>> targets.append(d) >>> output = model(images, targets) >>> # For inference >>> model.eval() >>> x = [torch.rand(3, 300, 400), torch.rand(3, 500, 400)] >>> predictions = model(x) >>> >>> # optionally, if you want to export the model to ONNX: >>> torch.onnx.export(model, x, "faster_rcnn.onnx", opset_version = 11)
- Parameters
pretrained (bool) – If True, returns a model pre-trained on COCO train2017
progress (bool) – If True, displays a progress bar of the download to stderr
pretrained_backbone (bool) – If True, returns a model with backbone pre-trained on Imagenet
num_classes (int) – number of output classes of the model (including the background)
trainable_backbone_layers (int) – number of trainable (not frozen) resnet layers starting from final block. Valid values are between 0 and 5, with 5 meaning all backbone layers are trainable.
RetinaNet¶
-
torchvision.models.detection.
retinanet_resnet50_fpn
(pretrained=False, progress=True, num_classes=91, pretrained_backbone=True, **kwargs)[source]¶ Constructs a RetinaNet model with a ResNet-50-FPN backbone.
The input to the model is expected to be a list of tensors, each of shape
[C, H, W]
, one for each image, and should be in0-1
range. Different images can have different sizes.The behavior of the model changes depending if it is in training or evaluation mode.
During training, the model expects both the input tensors, as well as a targets (list of dictionary), containing:
boxes (
FloatTensor[N, 4]
): the ground-truth boxes in[x1, y1, x2, y2]
format, with values between0
andH
and0
andW
labels (
Int64Tensor[N]
): the class label for each ground-truth box
The model returns a
Dict[Tensor]
during training, containing the classification and regression losses.During inference, the model requires only the input tensors, and returns the post-processed predictions as a
List[Dict[Tensor]]
, one for each input image. The fields of theDict
are as follows:boxes (
FloatTensor[N, 4]
): the predicted boxes in[x1, y1, x2, y2]
format, with values between0
andH
and0
andW
labels (
Int64Tensor[N]
): the predicted labels for each imagescores (
Tensor[N]
): the scores or each prediction
Example:
>>> model = torchvision.models.detection.retinanet_resnet50_fpn(pretrained=True) >>> model.eval() >>> x = [torch.rand(3, 300, 400), torch.rand(3, 500, 400)] >>> predictions = model(x)
Mask R-CNN¶
-
torchvision.models.detection.
maskrcnn_resnet50_fpn
(pretrained=False, progress=True, num_classes=91, pretrained_backbone=True, trainable_backbone_layers=3, **kwargs)[source]¶ Constructs a Mask R-CNN model with a ResNet-50-FPN backbone.
The input to the model is expected to be a list of tensors, each of shape
[C, H, W]
, one for each image, and should be in0-1
range. Different images can have different sizes.The behavior of the model changes depending if it is in training or evaluation mode.
During training, the model expects both the input tensors, as well as a targets (list of dictionary), containing:
boxes (
FloatTensor[N, 4]
): the ground-truth boxes in[x1, y1, x2, y2]
format, with values ofx
between0
andW
and values ofy
between0
andH
labels (
Int64Tensor[N]
): the class label for each ground-truth boxmasks (
UInt8Tensor[N, H, W]
): the segmentation binary masks for each instance
The model returns a
Dict[Tensor]
during training, containing the classification and regression losses for both the RPN and the R-CNN, and the mask loss.During inference, the model requires only the input tensors, and returns the post-processed predictions as a
List[Dict[Tensor]]
, one for each input image. The fields of theDict
are as follows:boxes (
FloatTensor[N, 4]
): the predicted boxes in[x1, y1, x2, y2]
format, with values ofx
between0
andW
and values ofy
between0
andH
labels (
Int64Tensor[N]
): the predicted labels for each imagescores (
Tensor[N]
): the scores or each predictionmasks (
UInt8Tensor[N, 1, H, W]
): the predicted masks for each instance, in0-1
range. In order to obtain the final segmentation masks, the soft masks can be thresholded, generally with a value of 0.5 (mask >= 0.5
)
Mask R-CNN is exportable to ONNX for a fixed batch size with inputs images of fixed size.
Example:
>>> model = torchvision.models.detection.maskrcnn_resnet50_fpn(pretrained=True) >>> model.eval() >>> x = [torch.rand(3, 300, 400), torch.rand(3, 500, 400)] >>> predictions = model(x) >>> >>> # optionally, if you want to export the model to ONNX: >>> torch.onnx.export(model, x, "mask_rcnn.onnx", opset_version = 11)
- Parameters
pretrained (bool) – If True, returns a model pre-trained on COCO train2017
progress (bool) – If True, displays a progress bar of the download to stderr
pretrained_backbone (bool) – If True, returns a model with backbone pre-trained on Imagenet
num_classes (int) – number of output classes of the model (including the background)
trainable_backbone_layers (int) – number of trainable (not frozen) resnet layers starting from final block. Valid values are between 0 and 5, with 5 meaning all backbone layers are trainable.
Keypoint R-CNN¶
-
torchvision.models.detection.
keypointrcnn_resnet50_fpn
(pretrained=False, progress=True, num_classes=2, num_keypoints=17, pretrained_backbone=True, trainable_backbone_layers=3, **kwargs)[source]¶ Constructs a Keypoint R-CNN model with a ResNet-50-FPN backbone.
The input to the model is expected to be a list of tensors, each of shape
[C, H, W]
, one for each image, and should be in0-1
range. Different images can have different sizes.The behavior of the model changes depending if it is in training or evaluation mode.
During training, the model expects both the input tensors, as well as a targets (list of dictionary), containing:
boxes (
FloatTensor[N, 4]
): the ground-truth boxes in[x1, y1, x2, y2]
format, with values ofx
between0
andW
and values ofy
between0
andH
labels (
Int64Tensor[N]
): the class label for each ground-truth boxkeypoints (
FloatTensor[N, K, 3]
): theK
keypoints location for each of theN
instances, in the format[x, y, visibility]
, wherevisibility=0
means that the keypoint is not visible.
The model returns a
Dict[Tensor]
during training, containing the classification and regression losses for both the RPN and the R-CNN, and the keypoint loss.During inference, the model requires only the input tensors, and returns the post-processed predictions as a
List[Dict[Tensor]]
, one for each input image. The fields of theDict
are as follows:boxes (
FloatTensor[N, 4]
): the predicted boxes in[x1, y1, x2, y2]
format, with values ofx
between0
andW
and values ofy
between0
andH
labels (
Int64Tensor[N]
): the predicted labels for each imagescores (
Tensor[N]
): the scores or each predictionkeypoints (
FloatTensor[N, K, 3]
): the locations of the predicted keypoints, in[x, y, v]
format.
Keypoint R-CNN is exportable to ONNX for a fixed batch size with inputs images of fixed size.
Example:
>>> model = torchvision.models.detection.keypointrcnn_resnet50_fpn(pretrained=True) >>> model.eval() >>> x = [torch.rand(3, 300, 400), torch.rand(3, 500, 400)] >>> predictions = model(x) >>> >>> # optionally, if you want to export the model to ONNX: >>> torch.onnx.export(model, x, "keypoint_rcnn.onnx", opset_version = 11)
- Parameters
pretrained (bool) – If True, returns a model pre-trained on COCO train2017
progress (bool) – If True, displays a progress bar of the download to stderr
pretrained_backbone (bool) – If True, returns a model with backbone pre-trained on Imagenet
num_classes (int) – number of output classes of the model (including the background)
trainable_backbone_layers (int) – number of trainable (not frozen) resnet layers starting from final block. Valid values are between 0 and 5, with 5 meaning all backbone layers are trainable.
Video classification¶
We provide models for action recognition pre-trained on Kinetics-400.
They have all been trained with the scripts provided in references/video_classification
.
All pre-trained models expect input images normalized in the same way,
i.e. mini-batches of 3-channel RGB videos of shape (3 x T x H x W),
where H and W are expected to be 112, and T is a number of video frames in a clip.
The images have to be loaded in to a range of [0, 1] and then normalized
using mean = [0.43216, 0.394666, 0.37645]
and std = [0.22803, 0.22145, 0.216989]
.
Note
The normalization parameters are different from the image classification ones, and correspond to the mean and std from Kinetics-400.
Note
For now, normalization code can be found in references/video_classification/transforms.py
,
see the Normalize
function there. Note that it differs from standard normalization for
images because it assumes the video is 4d.
Kinetics 1-crop accuracies for clip length 16 (16x112x112)
Network |
Clip acc@1 |
Clip acc@5 |
|---|---|---|
ResNet 3D 18 |
52.75 |
75.45 |
ResNet MC 18 |
53.90 |
76.29 |
ResNet (2+1)D |
57.50 |
78.81 |
ResNet 3D¶
-
torchvision.models.video.
r3d_18
(pretrained=False, progress=True, **kwargs)[source]¶ Construct 18 layer Resnet3D model as in https://arxiv.org/abs/1711.11248
ResNet Mixed Convolution¶
-
torchvision.models.video.
mc3_18
(pretrained=False, progress=True, **kwargs)[source]¶ Constructor for 18 layer Mixed Convolution network as in https://arxiv.org/abs/1711.11248
ResNet (2+1)D¶
-
torchvision.models.video.
r2plus1d_18
(pretrained=False, progress=True, **kwargs)[source]¶ Constructor for the 18 layer deep R(2+1)D network as in https://arxiv.org/abs/1711.11248


Click here to see hello world generated by servlet.
Sophomore at USC Viterbi School of Engineering studying Computer Science and Business Administration.
1 out of 9 teams to win Xpring’s Sustainability Award at the HackSC hackathon. Developed along with 3 others an award-winning web game to spread awareness of the suffering wildlife during the Australian wildfires.
Created along with 2 others: Visionary Voters, a web application to motivate young people to vote. We used a map API and zip-code locator to find one’s district representative


The following applications were coded in C# using the .NET framework via Visual Studio.
Matrix calculator I made as a custom project in my .Net class at NIU. (473)
This program calculates the reduced row echelon form of an augmented matrix.
Link to project
Stores user info for website of choise in an encrypted text file.
To access the primary interface the user must enter a master password.
Master Password = 'BlueDog87'
Compressed Project Folder
Form with a chart that can be changed to multiple chart types.
The form features buttons that allow the input of values from the user, at random or from files.
If the user opts to select from a file a modal dialog is opened to select the desired input file.
Compressed Project Folder
Connects to a SQL database and creates tables from input files.
Data can be queried from the input of a comamnd from the user.
Supported Commands will start with 'SELECT COUNT', 'SELECT' or 'INSERT'.
Compressed Project Folder


{% if countries_impressions_data or locale_impressions_data %} {% endif %}
| Campaign | Actions | # of Tiles | # of Locales | Last Modified | {% for campaign in mozilla_campaign_meta_data %}
|---|---|---|---|---|
| {{campaign.name}} | Show compiled data Select a specific tile | {{campaign.tiles}} | {{campaign.locales}} | {{campaign.ago}} |
| Tile ID | Title | Target URL | Locale | Campaign Start Date | {% for tile in campaign.tiles %}|
|---|---|---|---|---|---|
| {{tile.0}} | {{tile.1}} | {{tile.2}} | {{tile.3}} | {{tile.4}} |
Yahoo-specific filtering:
Click Overviews > Yahoo Categories for an aggregate analysis by category.
Shortcuts to specific campaigns:
| Tile ID | Target URL | Locale | Campaign Start Date | {% for tile in creative %}|
|---|---|---|---|---|
| {{tile.id}} | {{tile.target_url}} | {{tile.locale}} | {{tile.created_at}} |
{{error.message.0}}
{{error.message.1}}{{error.contact}}
| Total | Average | |
|---|---|---|
| Imps | ||
| Clicks | ||
| CTR | ||
| Blocks | ||
| Pins |
| Country | {% elif locale_impressions_data %}Locale | {% else %}Date | {% endif %}Impressions | Clicks | CTR | Pins | Blocks | Engagement | EGrade |
|---|---|---|---|---|---|---|---|---|---|
| {{day.0}} | {{day.1|thousands}} | {{day.2|thousands}} | {{day.3}} | {{day.4|thousands}} | {{day.5|thousands}} | {{day.6}} | {{day.7}} | ||
| {{day.0}} | {{day.1|thousands}} | {{day.2|thousands}} | {{day.3}} | {{day.4|thousands}} | {{day.5|thousands}} | {{day.6}} | {{day.7}} | ||
| {{day.0}} | {{day.1|thousands}} | {{day.2|thousands}} | {{day.3}} | {{day.4|thousands}} | {{day.5|thousands}} | {{day.6}} | {{day.7}} |
| {{attribute.0}} | {% if attribute.0 == 'target_url' %}{{attribute.1}} | {% else %}{{attribute.1}} | {% endif %}


cat claws not retracting
How to Trim a Cat's Nails - YouTube
May 19, 2010 . If your cat is not cooperative for nail clipping, it is recommended to clip a few . Step 2- In order to visualize your cat's nails, you will need to retract each nail by . How To Trim Your Cat's Clawsby utahactor 2,604 views · 3:02 .
http://www.youtube.com/watch?v=Jgtpkfgjytg
Declawing Savannah Cats
Note the strong ligaments and tendons which give power to extend and retract the claws. This is unique in cats. Without this your cat would not be able to .
http://www.savannah-cats.net/declaw.htm
Which cat cannot retract their claws
The Cheetah can't retract its claws . What is the only cat in the world that cannot retract its claws? Cheetahs. They can not retract their claws. This is so they have .
http://wiki.answers.com/Q/Which_cat_cannot_retract_their_claws
Things You'll Need
- Certified copies of public records evidence in your case
Instructions
-
-
1
Ingrown Claws in Cats | eHow.com
Upon examining the cat's paws, you will notice the ingrown claw as the cat will not be able to comfortably retract it and the area around it may appear damaged, .
http://www.ehow.com/info_8191362_ingrown-claws-cats.htmlQuestions/Answers - Soft Claws
Frequently asked questions about Soft Claws nail caps for cats. . Again, most cats do not even notice they are wearing them after the first 30 minutes. A good tip is to feed your . Can cats still extend and retract their claws with the Soft Claws?
http://www.softclaws.com/cat_questions_and_answers.html -
2
Nail Injuries in Dogs and Cats | Suite101
Jun 11, 2008 . In addition, in an animal who cannot retract his claws, long nails will . Cracking along the cat's or dog's nailis also not an uncommon injury and .
http://suite101.com/article/nail-injuries-in-pets-a56721Growing Old Gracefully - Caring For Older Cats
An older cat's claws become more brittle and may not fully retract as the muscles become less efficient. A scratching post is still recommended, although an older .
http://www.messybeast.com/Oldcat.htm -
-
3
Know Your Cat - Trimming your cat's claws
There are also times when claw trimming is good for the cat; and not just as a . a genetic trait which prevents a claw from being retracted, and many other cats .
http://www.knowyourcat.info/info/trimclaw.htmClaw Caps Not Really Any Better Than Declawing | Pictures of Cats
May 25, 2012 . Rubber caps that (if properly applied) do not in any way interfere with the claws being retracted are as bad as cutting out living pieces of the cat .
http://pictures-of-cats.org/claw-caps-not-really-any-better-than-declawing.html -
4
Nurturing Your Senior Cat - Part 3 - The Comfort Factor
In addition, cats sometimes lose the ability to retract their claws. . Brushing your elderly cat not only will help keep his coat free of mats, but it will also help .
http://cats.about.com/cs/geriatriccats/a/seniorchthree.htmYour Cat's Claws and other pet resources - FamilyEducation.com
Learn the correct way to trim your cat's claws. . When the cat is relaxed, walking, or playing gently, the sharp claw is retracted into a sheath. When the cat needs a . If you have a kitten you intend to show, do not have him declawed. Show cats .
http://life.familyeducation.com/cats/animal-care/45697.html
-
1
References
Resources
- Photo Credit Justice image by MVit from timeline on ida b the book


A networked, multiplayer platformer made by Anthony Delgado and Ryan Hartzell for our senior project at Cal Poly State University in San Luis Obispo, CA. We were advised and guided by Christian Eckhardt.
California Polytechnic State University, San Luis Obispo, 2018.
The game has server and client components. One server can support multiple clients. The clients connect to the server using an IP address. This is modified in the client code within the main loop. After the server is started, clients can connect to it. The first client to connect to the server is designated the host. Once all players have entered, the game starts when the host presses .
The game was written using the OpenGL API. We also used GLFW and GLM.
The networking for this game was based on the Winsock API. The base implementation was provided by Christian Eckhardt and was modified for use in the game. The network is used to communicate player positions, falling block position, camera position, and game status.


|
|
waveform |
|
|
|
|
from |
|
|
|
|
to |
|
|
|
|
curve |
|
|
|
|
bias | ||
|
|
duty |
|
|
|
|
from | ||
|
|
to | ||
|
|
curve |
|
|
|
|
bias | ||
| volume | |||
|
|
max sound duration | ||
|
|
note held time | ||
|
|
attack time | ||
|
|
decay time | ||
|
|
sustain level | ||
|
|
compression |
|
|
|
|
from | ||
|
|
to | ||
|
|
curve |
|
|
|
|
bias | ||
|
|
harmonics |
|
|
|
|
from | ||
|
|
to | ||
|
|
curve |
|
|
|
|
bias | ||
|
|
harmonics falloff |
|
|
|
|
from | ||
|
|
to | ||
|
|
curve |
|
|
|
|
bias | ||
|
|
vibrato depth |
|
|
|
|
from | ||
|
|
to | ||
|
|
curve |
|
|
|
|
bias | ||
|
|
vibrato speed |
|
|
|
|
from | ||
|
|
to | ||
|
|
curve |
|
|
|
|
bias | ||
|
|
frequency |
|
|
|
|
from | ||
|
|
to | ||
|
|
curve |
|
|
|
|
bias | ||
|
|
pitch-jump repeat speed |
|
|
|
|
from | ||
|
|
to | ||
|
|
curve |
|
|
|
|
bias | ||
|
|
pitch-jump amount 1 | ||
|
|
pitch-jump onset 1 | ||
|
|
pitch-jump amount 2 | ||
|
|
pitch-jump onset 2 | ||
|
|
phaser |
|
|
|
|
from | ||
|
|
to |
|
|
|
|
curve |
|
|
|
|
bias |
|
|
|
|
low-pass filter cutoff |
|
|
|
|
from | ||
|
|
to | ||
|
|
curve |
|
|
|
|
bias | ||
|
|
low-pass filter resonance |
|
|
|
|
from | ||
|
|
to | ||
|
|
curve |
|
|
|
|
bias | ||
|
|
high-pass filter cutoff |
|
|
|
|
from | ||
|
|
to | ||
|
|
curve |
|
|
|
|
bias | ||
|
|
Bit-Crush |
|
|
|
|
from | ||
|
|
to | ||
|
|
curve |
|
|
|
|
bias |


With the CSS transform property you can use the following 3D transformation methods. Below are some examples:
01. CSS rotateX():
Hello, I am Box !!
02. CSS rotateY():
03. CSS rotateZ():


1. get children function call
2. set child iframe background red and call child test() function
set iframe background red and child test()


{% block title %}BASE{%endblock title %}
{% block style %}
{% endblock style %}
{% if user.is_authenticated %}
Hello, Welcome {{ user.username }}. You have full access to the Website!
Logout?
{% else %}
Sorry, you're not logged in and don't have full access to the website!.


| file_info {fs} | R Documentation |
Compared to [file.info]
the full results of a stat(2)
system call are
returned and some columns are returned as S3 classes to make manipulation
more natural. On systems which do not support all metadata (such as Windows)
default values are used.
file_info(path, fail = TRUE, follow = FALSE) file_size(path, fail = TRUE)
path |
A character vector of one or more paths. |
fail |
Should the call fail (the default) or warn if a file cannot be accessed. |
follow |
If |
A data.frame with metadata for each file. Columns returned are as follows.
path |
The input path, as a |
type |
The file type, as a factor of file types. |
size |
The file size, as a |
permissions |
The file permissions, as a |
modification_time |
The time of last data modification, as a POSIXct datetime. |
user |
The file owner name - as a character vector. |
group |
The file group name - as a character vector. |
device_id |
The file device id - as a numeric vector. |
hard_links |
The number of hard links to the file - as a numeric vector. |
special_device_id |
The special device id of the file - as a numeric vector. |
inode |
The inode of the file - as a numeric vector. |
block_size |
The optimal block for the file - as a numeric vector. |
blocks |
The number of blocks allocated for the file - as a numeric vector. |
flags |
The user defined flags for the file - as an integer vector. |
generation |
The generation number for the file - as a numeric vector. |
access_time |
The time of last access - as a POSIXct datetime. |
change_time |
The time of last file status change - as a POSIXct datetime. |
birth_time |
The time when the inode was created - as a POSIXct datetime. |
dir_info()
to display file information for files in a given
directory.
write.csv(mtcars, "mtcars.csv") file_info("mtcars.csv") # Files in the working directory modified more than 20 days ago files <- file_info(dir_ls()) files$path[difftime(Sys.time(), files$modification_time, units = "days") > 20] # Cleanup file_delete("mtcars.csv")


WebGLBatch Class
A WebGLBatch Enables a group of sprites to be drawn using the same settings. if a group of sprites all have the same baseTexture and blendMode then they can be grouped into a batch. All the sprites in a batch can then be drawn in one go by the GPU which is hugely efficient. ALL sprites in the webGL renderer are added to a batch even if the batch only contains one sprite. Batching is handled automatically by the webGL renderer. A good tip is: the smaller the number of batchs there are, the faster the webGL renderer will run.
Item Index
Methods
Methods
init
-
sprite
inits the batch's texture and blend mode based if the supplied sprite
Parameters:
-
sprite
Spritethe first sprite to be added to the batch. Only sprites with the same base texture and blend mode will be allowed to be added to this batch
insertAfter
-
sprite
-
previousSprite
inserts a sprite after the specified sprite
insertBefore
-
sprite
-
nextSprite
inserts a sprite before the specified sprite
Parameters:
-
sprite
Spritethe sprite to be added
-
nextSprite
NextSpritethe first sprite will be inserted before this sprite
merge
-
batch
Merges two batchs together
Parameters:
-
batch
WebGLBatchthe batch that will be merged
refresh
()
Refresh's all the data in the batch and sync's it with the webGL buffers
remove
-
sprite
removes a sprite from the batch
Parameters:
-
sprite
Spritethe sprite to be removed
render
()
Draws the batch to the frame buffer
split
-
sprite
Splits the batch into two with the specified sprite being the start of the new batch.
Parameters:
-
sprite
Spritethe sprite that indicates where the batch should be split
Returns:
update
()
Updates all the relevant geometry and uploads the data to the GPU


--- layout: posts title: Unboxing Cluster Heatmaps author: Sophie Engle icon: fas fa-thumbs-up ---
I am delighted to announce our paper "Unboxing Cluster Heatmaps" has been accepted to the 6th Symposium on Biological Data Visualization. This work was a fantastic collaboration between the Visualization and Graphics Lab at the University of San Francisco and the Pollard Group at the Gladstone Institutes and University of California San Francisco. Congratulations to everyone involved!


Experience
FULLSTACK DEVELOPER
Ram Technologies | 2017 - Present
Overview
Technologies Used: React, Python, Django, Ansible, Selenium, Scrapy.
I built and maintain an internal service using React and Django for managing data on a catalog of 60,000+ active items in multiple marketplaces. The service uses natural language processing tools and a Scrapy/Selenium based web scraper to research competitors and track market movements.
Highlights
- Created data-rich dashboards using React and Django Rest Framework.
- Scraped product information from the web using Scrapy and Selenium.
- Rewrote PHP E-Commerce site in Django, cutting load times by 300%.
- Created a Kubernetes cluster using Ansible on bare metal.
Open Source
GATSBY FRAMEWORK
I’m a contributor to Gatsby, a framework for JAMstack websites. I reproduce issues, help new developers, and contribute new starters and themes. Currently, I am building static E-Commerce websites using Gatsby and webhooks, to replace older SSR frameworks like Magento.
madelyn.eriksen()
www.madelyneriksen.com is my blog for writing about React, Python, and general software development on Linux. The site itself is built using React and Gatsby, using SASS for styling.
OTHER OSS PROJECTS
- A CLI tool named “Flatware” for generating boilerplate code quickly.
- A weekly class for non-technical coworkers interested in learning Python.
- Python project templates with support for Docker, Pytest, and more.
- Many more weekend projects/experiments on Github, @madelyneriksen.


--- layout: post title: Writing Good System Overviews ---
Over the years at Nuna, our data platforms have grown from small pipelines which served simple analytics, to large, polyglot pipelines which can help patients receive personalized doctor recommendations. As we’ve scaled, our inline documentation and README’s for specific libraries have been helpful, but haven’t been sufficient to help new hires understand how our whole system fits together. In order to help our “Newnas” get up to speed faster, we’ve written a different type of documentation: a system overview, detailing how the whole system comes together.
No matter how well you’ve architected your system, at the end of the day, it’s all just text. For someone to be productive in your system, they need a mental model of how the system works in order to translate the text they’re reading into higher level concepts. That’s where system overviews come in.
System overviews are documents designed to create a mental map of how a system works. When done well, they help provide the context new hires need to start delivering code quickly and with confidence. When neglected, or written poorly, system overviews can cause confusion for new members on the team as they work to understand the cause of an issue.
Building these mental maps may seem hard, but it only requires three key steps.
The first step in designing a mental map of the system is to create a visual model. Create a block diagram where the major components are blocks and the relationships between them are expressed as arrows. This diagram helps developers build a baseline understanding of the system and begins to demystify, and contextualize, the terms their teammates’ use when talking about their work.
It can be tempting to over-specify the details of this block diagram, but it’s best to strive for brevity and clarity rather than completeness. It’s more helpful to have a concise, rather than cluttered, diagram. You’ll be able to better express the additional details in the next component of the system overview.
The block diagram introduces a rough mental model of how the system interacts, but doesn’t provide the supporting detail explaining how each piece operates. Understanding these details is essential to achieving a greater awareness of how the system functions.
This documentation doesn’t need to be an exhaustive description, but it should answer some key questions about each component. These include:
The answers to these questions should be brief (2 paragraphs is a sweet spot) and allow people to look at any class and start to understand roughly what it does and how it fits into the system. Including these write-ups in your system overview helps others have a better idea of where their bugs may be hiding, or where to incorporate a new feature.
Close your system overview by creating a worked example to show step-by-step how the pieces in your system solve a problem. This last step helps to cement your readers’ understanding of the system, and turn theory into practice.
Good examples contain a few key traits:
FooCleaneror
BarProcessor. Names like Foo and Bar are convenient, but they don’t help to build a plausible mental model. A contrived, but relatable, example is much better.
Once you’ve completed these three steps — designing a block diagram, writing descriptions of each block, and creating a worked example — your system overview is in a good place. That’s not to say that our work is done; we still need to keep your system overview up-to-date as the system changes.
New users to your system are the best monitors of existing documentation, so have them review it as part of their ramp-up. After they’ve read it, have them explain what they learned and ask questions. Afterwards, revisit the system overview, and add any necessary detail to clarify any pieces that may be out of date.
Our system overviews are constantly evolving, but they’ve proven valuable in helping to establish a high-level perspective of how our systems work. While they require some time up-front to write, that investment has more than paid off in terms of easier onboarding as our systems become more complex. A system overview is never done, but we’ll keep evolving them as we update our systems and find new ways to improve patients’ quality of care.
Note: This initially appeared on the Nuna Blog I'm just cross-posting it here


Brazil (1985) * * 1/2 A movie review by Serdar Yegulalp Copyright 1998 by Serdar Yegulalp
I admire a movie like BRAZIL for what it tries to do, but as I've said many times before, I can only review what's on the screen. BRAZIL is a cluttered, jumbled, overlong and underfocused movie that has many moments of inspiration -- and little else.
The story takes place in a dystopian future where everything is mechanized and yet somehow nothing works. Terrorism is commonplace. Sam Lowry (played with mousy insouciance by Jonathan Pryce) is one of the worker-ants in the big machine, and fantasizes about epic struggles to save a dreamlike beauty from the clutches of an evil techno-samurai. By plot complications too weird to reveal here, he gets involved with a terrorist cell (who alternate between blowing things up and repairing them) and is eventually branded an enemy of the state, but not before enduring a whole slew of near-psychotic adventures. In the abstract, it sounds great, but on screen, it doesn't come together.
What's wrong here? The set design is astonishing and inspired -- there's one tracking shot inside a really, REALLY big room that may almost be worth the cost of the ticket alone -- the actors do fine jobs, and there are many flashes of brilliantly ugly wit (as when a criminal is persuaded to give himself up so his credit rating won't be too badly slashed). But... some larger sense of an overall design is missing. There's no sense that Gilliam has something really cogent to say about a world like this, or even about Lowry's place in it, other than the usual platitudes about the Individual vs. the State.
Terry Gilliam makes movies that are crammed with ambitious, eye-attacking power, but are also frequently confused or meandering. In BRAZIL, Gilliam is less concerned with a coherent plot than with an overall mood, a sense of rushing madness and overarching, indomitable paranoia. And sure, he achieves it. Trouble is, a movie like this could have used a more focused story to make it really stick, instead of just making it a series of good-looking but splattery meditations on the same vague subject.
-----== Posted via Deja News, The Leader in Internet Discussion ==----- http://www.dejanews.com/rg_mkgrp.xp Create Your Own Free Member Forum
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


Quest
Posted: Thu Jun 04, 2009 5:57 am
I took the quest to slay dragons and on my way i wanted to see just what the quest was so i pressed the quest for additional information only to notice that the quest deleted itself and my only wand of starlight disappeared (expecting it back because of lack of info).
Note: Every deleting action should have a confirm button, also maybe add a different line of keying to delete a quest than a normal mouse click which would be the logic behaviour of any player when they want info on the quest.
Note: Every deleting action should have a confirm button, also maybe add a different line of keying to delete a quest than a normal mouse click which would be the logic behaviour of any player when they want info on the quest.


What is this ?
It's a website where you can write the different components(HTML, CSS and JavaScript) and view live the result of the changes on the same page. Read More
The Coders :
Piyush Raj- Beautified, Tweaked & Fixed Bugs (A just-turned 17 yr old punk !)


I'm a second generation Vietnamese-American; my family has a varied history that's been lost since the Vietnam war, but my parents came to the US in the 80s. I'm completely entrenched in American culture, and only until recently have begun to take pride being a Vietnamese person.
My passion is reading. I love to read all sorts of stories, in many formats but mostly as novels or comic books/graphic novels. I love how descriptive comic books can be despite being a visual format, and in many genres. For kids, for adults, for men, for women, and anyone inbetween.
Fun fact: I like to sew and cosplay. I have a small collection of wigs, but these days, I like to sew my own clothes and accessories. It has a personal touch to it that buying something cannot give you.


Payment QR code generator
{{range $err := .Errors}}
{{$err}}
{{end}}
Format:
Short Payment Descriptor (CZ, SK)
EPC / SEPA (EU)
IBAN:
BIC:
Amount:
Message:
Recipient name:
Generate QR code
{{if .Image}}
QR content:
{{.Content}}
{{end}}
Short Payment Descriptor is a format used in Czech Republic and Slovak Republic.
EPC QR code is a format used in some EU countries (Germany, Austria, Belgium, Finland and The Netherlands).


Hello! :) Your ad was published and is available at {{job_url}} ---Edit it: {{job_edit_url}} Deactivate it: {{job_deactivate_url}} ---Thank you for using our service! The {{site_name}} Team


Forsaken
2011
NOVEL - Literary Horror // 421 pages.
A Hollow Dream - Season One
2012
NOVEL - Literary Horror // 120 pages.
A Hollow Dream - Season Two
2014
NOVEL - Horror // Dark Fantasy // 428 pages.
A Feast of Infinite Rot
2014
Novella - Horror // Dark Fantasy // 110 pages.


Why would you care about some homogeneous coordinates, whatever they are? Well, if you work with geometry: 3D-graphics, image processing, physical simulation, the answer is obvious. Knowing the mathematics behind your framework allows you to write more efficient code.
But even if you don’t work with geometry at all, you still might benefit from learning the concept of homogeneous coordinates. This is the one rare example of mathematical magic when a small complication benefits in enormous simplification. One little obscurity pays off in terms of unification and homogenization.
I think, learning this particular piece of geometry is a valuable experience in its own right. And you know how it works. More experience, higher level, better loot.
In our usual Cartesian coordinate system, a point on a plane is set by a pair of numbers (xc, yc). Here is a plot you can choose a point on. Just click or tap anywhere you want.
Now in homogeneous coordinates a point on a plane is set by a tuple of 3 numbers (xh, yh, wh).
This is a bit unusual, but if a point is taken from the Cartesian space, you can transform a homogeneous tuple into Cartesian pair as simple as this:
xc = xh / wh
yc = yh / wh
It's not that there is only one way to transform a point from Cartesian to homogeneous coordinates. You can pick any (almost) value for wh and it would still work.
Here is a coordinate transformer. It will transform your point into homogeneous coordinates for the (almost) every wh you propose.
But it wouldn't work for all the possible numbers. There is one and only one exception.
Usually, Cartesian coordinates are just the first two numbers of homogeneous coordinates divided by the third. So if the third is 1, then homogeneous coordinates are basically the same as Cartesian. But the smaller wh gets, the further the point in Cartesian coordinates “travels” from the null. Here's the plot you can experiment with by sliding the point along it's affine axis.
That’s all rather simple until one moment. What if the fourth coordinate is 0 after all?
Intuition tells, that it should be further from the beginning of the coordinates than every other point. Every other point in Euclidean space that is. Homogeneous coordinates indeed denote points not only in Euclidean (or, more general, affine space) but in the projective space that includes and expands the affine one.
Points from the projective space may reside in the Euclidean space or may go infinitely far from any point of it. If wh is 0 then it's the latter. If not, then whatever wh is, it's the former.
From the pragmatic point of view, this lets us, for instance, compose a 3D-scene in a manner that every object that can be reached would fit in affine space with the coordinates (x, y, z, 1), and all the objects that can never be reached will belong to its projective extension (x, y, z, 0).
So if you do work with 3D graphics, you might notice that it is quite common to write 3D points as a tuple of 4 numbers. The usual question here is: “what does that fourth coordinate stand for?” And the usual answer is: “Just set it to 1 and pray you wouldn’t break anything!” Well, now you know what the fourth coordinate actually stands for.
It is also common to refer points from projective extension as a general direction and not a specific point in Euclidean space. A ray that starts at null and has no length, has no end, only the direction. You might even have heard about it being called a vector as opposed to a point. This is not technically correct as, of course, any point is a vector in a corresponding vector space. But this still might be a useful naming convention if you are not a raging fan of vector algebra.
Living in a projective space gives you more options. You can denote points that are unheard of in the Euclidean space. But that’s not all it is good for. In fact, we are only starting to get into the benefits.
There are two kinds of projection in Euclidean space: central and parallel. Central projection is what makes the perspective, so things closer to a viewer seem bigger, and that’s what we use in video games to render a 3D scene into a flat picture on a screen. The parallel projection preserves proportions, so that’s what we usually use in CAD systems to show bolts and nuts on drawings.
In projective space, they are the same. You see, in affine space, you can set a center for a central projection very-very far away from the scene you want to render. This will make disproportion very small. But in projective space, you can hurl a center infinitely far — further away than any point in affine space at all, and the disproportion will disappear completely.
So bear in mind, if you want to make a game about zombies who happen to be CAD engineers, you don’t have to implement both kinds of projections. Just set the projection's central point to (x, y, z, 0), and this will automatically turn it into the parallel one.
I remember my first year in college when we were studying quadric surfaces and one of the exercises, allegedly made up to help us learn their classification, was to make an album. It was 17 sheets of paper with different graphics and formulas sewed together only to be briefly examined by the professor and thrown away a day after. You might imagine we were not fond of this activity.
Now in projective space, this exercise would have been much more environmentally friendly. This is because in homogeneous coordinates all the algebraic surfaces are homogeneous too. This means that every piece of a polynomial that defines the surface has the same degree. It may contain different variables with different degrees of their own, but they all magically add up to the very same degree for every element in the sum.
And this means only one drawing with one formula to be drawn and thrown away instead of 17. That should sum up to a couple of dead trees over the years.
Geometric transformations are something that happens to a point. They are basically functions (x', y') = f(x, y). If you want to apply a transformation to some object, most of the time you would have to represent it with points and then apply a transformation to each and every one of them.
Sometimes this gets computationally heavy. For instance, transforming 3 000 x 4 000 pixels image would require 12 000 000 transformations. So looking for the fastest way to apply a transformation does make sense pragmatically.
Some of the most common transformations are called translation;
rotation;
and scale.
These can be generalized by the affine transformation that can do a translation, and a rotation, and a scale simultaneously:
As you can see, the affine transformation is quite powerful, but it has its noticeable constraint. It preserves parallelism, which limits it in a way. If you want to do something like perspective or projection, you would have to go for the projective transformation that looks like this:
The formula for projective transformations in Cartesian coordinates looks like this:
x' = (Ax + By + C) / (ax + by +c)
y' = (Dx + Ey + F) / (ax + by +c)
It is a simple geometric transformation just like all the others we have seen before. It also works for one point at a time. It preserves the degree of curves and surfaces so every straight line will get transformed into the straight line, and each plane into a plane. Since all the 2-nd degree surfaces are the same surface, it will also preserve the degree, but not the classification from the affine space so that ellipsoid may become paraboloid or hyperboloid.
It also generalizes the affine transformation that has this simple formula:
x' = (Ax + By + C)
y' = (Dx + Ey + F)
As you can see, it's just a special case of projective transformation when a = 0, b = 0, and c = 1.
And the affine transformation in its turn generalizes translation, rotation and scale. Translation is:
x' = x + C (A = 1, B = 0)
y' = y + F (D = 0, E = 1)
Rotation:
x' = sin(r) x + cos(r) y (A = sin(r), B = cos(r), C = 0)
y' = cos(r) x - sin(r) y (D = cos(r), E = -sin(r), F = 0)
And scale:
x' = Ax (B = 0, C = 0)
y' = Ey (D = 0, F = 0)
They are all just special cases of a projective transformation.
Now please bear with me, we are entering the matrix territory.
What's going to happen if we multiply a square matrix on a point in homogeneous coordinates?
| [ | A D a B E b C F c |
][ | x y w |
] | = | [ | Ax + By + Cw Dx + Ey + Fw ax + by + cw |
] |
Let's pretend the point we took came from Cartesian coordinates so wh = 1. Now we see that:
x' = Ax + By + C
y' = Dx + Ey + F
w' = ax + by + c
And let's say we want to get back to the Cartesian coordinates with this as well. So let's make our w' = 1. We can do this by dividing everything to the current w'.
x' = (Ax + By + C) / (ax + by + c)
y' = (Dx + Ey + F) / (ax + by + c)
w' = 1
Doesn't it look familiar? Well, of course, it does! It's the projective transformation. Or the affine. Or it could be the translation, or rotation, or scale. They all can be written as a single matrix multiplication.
But that's not yet all. Matrices are composable. You can compose your own translation + rotation + another translation + scale + projection — and it all will still fit into a single matrix!
| Matrix: | [ |
1 0 0 |
0 1 0 |
0 0 1 |
] |
This is particularly important because whatever you do: animation, image processing, physics simulation, you always want to do as little computation as possible. Composability allows you to squeeze a series of transformations into a single matrix multiplication which is very super-scalar friendly. With matrices you would benefit from vectorization both on CPU and GPU. Ultra-fast transformations everywhere!
This is not the case if you want to do series of transformation with the formulas from the affine space. Which is, of course, also possible.
As you can see, you can save quite a lot of time processing millions of points with one single matrix instead of applying all the transformations separately. And you can also save lines of code by unifying all the transformations. But this is not the whole point yet.
Usually, we lose performance not because of some small computational inefficiencies but because of all the needless layering. And the layering occurs because programmers don’t always understand and don’t always trust the beauty of the plain mathematics.
I hope this page reveals a bit of it. I hope it makes it a little more trustworthy.
| Home | Github |


To change your password, please enter these fields.
Current Password
New Password
Confirm New Password


Experienced full stack developer with focus on web applications leveraging MEAN & LAMP Stack.
Working as a senior developer in Mobile Agriculture team under Telenor Pakistan (Digital Division) on Connected Agriculture Platform Punjab (CAPP).
My contributions so far in the project
Hired for technical assistance on an ongoing project to existing dev team. My role was specific to product maintainance, troubleshooting of production level issues and setting up architechture for any upcoming features in existing product.
HT Decisions provides offshore development services to clients in Europe specially Denmark.
For a year, I worked as a senior developer on an inbound marketing tool iPrezentr, for a danish client company [eHealth Nordic Apps]. Tool stack is based on MEAN stack mainly along with small components in React JS. I lead the team of two developers over a tenure of almost one year comprised of a back-end and a front-end developer.
I also worked as a senior developer with client on a real-time web personalization tool called Monoloop
and handling complete
UI end based on PHP laravel stack with MonogoDB. My responsibilities are to maintain, develop existing &
new
features in tool UI, aligning all the integration possibilities within the main modules.
Technology Stack:
Lead web developer for Real-time Broadcast Monitoring and Information Exploitation System. Also worked as
lead developer
in development of several windows application for visual verification, monitoring and advertisement
cropping.
Technology Stack
Worked as web & desktop application optimization developer Assisted in requirement analysis for addition of new features in deployed solution.
Payroll Module
Academia Module
Finance Module
My responsibilities include core application development, testing, deployment and resolving support queries.
Computer Research (Private) Ltd. established in 1989, over the years has proved services excellence in Software, Hardware and Networking domains of Telecommunication Industry. I provided development support for day to day ORACLE database and GUI related issues in an sms management product 'Stub Collection System' deployed at PTA, Islamabad.


person
favorite
shopping_cart
First Name
Last Name
Username
Email
Password
Re-enter Password
CREATE AN ACCOUNT
or already have an account?
Login here.


Ukraine Navy chief: Russians turn boats seized near Kerch Strait into wreck
The ships are to arrive at their destination in about 16 hours.
Commander of the Ukrainian Navy Ihor Voronchenko has said the naval boats seized by Russia near the Kerch Strait and later returned to Ukraine are in terrible condition and cannot sail on their own.
"The towing is underway, the speed is very low. They cannot sail on their own – Russians have turned them into a wreck. Even the ceiling lights, sockets and toilet bowls have been plucked from there. So now we will show the entire world the Russians' barbaric attitude," he told Ukrainian TV Channel 4.
According to Voronchenko, the ships are now approaching the Ukrainian territorial waters. They are expected to arrive at their destination in about 16 hours.
UNIAN memo. On the morning of November 25, 2018, Russia blocked the passage to the Kerch Strait for the Ukrainian tugboat "Yany Kapu" and two armored naval boats "Berdyansk" and "Nikopol," which were on a scheduled re-deployment from the Black Sea port of Odesa to the Azov Sea port of Mariupol. All 24 crew members on board were captured and charged with "illegal border crossing" under Part 3 of Article 322 of the Criminal Code of Russia (imprisonment for up to six years). Later the Ukrainian sailors were freed and returned to Ukraine in a major prisoner swap between Ukraine and Russia on September 7, 2019.
The ITLOS on May 25 ordered Russia to immediately release the three vessels and return them under Ukrainian control.
Ukrainian Foreign Minister Vadym Prystaiko said on October 11 that "there is interaction" between Russia and Ukraine and the process of returning the ships captured by Russia was "at the final stage."
On November 17, Russia began moving the Ukrainian naval boats from the Genmol water area in Russian-occupied Kerch before their handover to Ukraine.
The vessels are now on their way to the Ukrainian port city of Odesa. Their speed is 12.5 km per hour.


[3.0/Olympus] Discussion
Forum rules
Discussion of general topics related to the new release and its place in the world. Don't discuss new features, report bugs, ask for support, et cetera. Don't use this to spam for other boards or attack those boards!
Discussion of general topics related to the new release and its place in the world. Don't discuss new features, report bugs, ask for support, et cetera. Don't use this to spam for other boards or attack those boards!
-
-
Announcements
- Replies
- Views
- Last post
-
-
-
Area51 Rules & Regulations
by naderman » Tue Feb 03, 2009 1:44 am » in General Development Discussion - 0 Replies
- 159980 Views
-
Last post by naderman
Tue Feb 03, 2009 1:44 am
-
-
-
Topics
- Replies
- Views
- Last post
-
-
- 0 Replies
- 25209 Views
-
Last post by ToonArmy
Sun Feb 15, 2009 11:05 pm
-
- 1 Replies
- 5054 Views
-
Last post by JimA
Wed Apr 11, 2018 10:29 am
-
- 7 Replies
- 31616 Views
-
Last post by RMcGirr83
Sun Feb 28, 2016 12:49 pm
-
- 5 Replies
- 19038 Views
-
Last post by Elsensee
Tue May 05, 2015 9:13 pm
-
- 21 Replies
- 44768 Views
-
Last post by bantu
Thu Jan 29, 2015 10:49 pm
-
- 8 Replies
- 18211 Views
-
Last post by bantu
Sun Jan 25, 2015 5:49 pm
-
- 3 Replies
- 14247 Views
-
Last post by Pony99CA
Tue Dec 09, 2014 3:27 am
-
- 4 Replies
- 19733 Views
-
Last post by Nicofuma
Mon May 26, 2014 11:42 pm
-
- 46 Replies
- 78368 Views
-
Last post by Dragosvr92
Wed May 21, 2014 9:55 pm
-
- 12 Replies
- 39471 Views
-
Last post by bibin
Tue May 13, 2014 6:55 am
-
- 1 Replies
- 16214 Views
-
Last post by brunoais
Wed Apr 30, 2014 9:35 am
-
- 14 Replies
- 42850 Views
-
Last post by PeTiT
Thu Apr 03, 2014 11:29 am
-
- 6 Replies
- 30569 Views
-
Last post by spello
Thu Feb 20, 2014 11:44 pm
-
- 2 Replies
- 17286 Views
-
Last post by Master_Cylinder
Tue Feb 11, 2014 2:54 am
-
- 29 Replies
- 55193 Views
-
Last post by imkingdavid
Tue Dec 31, 2013 10:11 am
-
- 1 Replies
- 19027 Views
-
Last post by bonelifer
Tue Dec 10, 2013 10:52 pm
-
- 22 Replies
- 40136 Views
-
Last post by RMcGirr83
Tue Nov 19, 2013 11:07 am
-
- 53 Replies
- 82532 Views
-
Last post by Master_Cylinder
Tue Oct 15, 2013 11:38 pm
-
- 18 Replies
- 30633 Views
-
Last post by Meis2M
Fri Sep 27, 2013 11:40 am
-
- 3 Replies
- 16770 Views
-
Last post by Danielx64
Tue Aug 06, 2013 2:52 am


JS9 Image Filters
The
Image Filter plugin allows you to apply image processing
techniques directly to the displayed image without changing the
underlying raw data. The web has an overwhelming
amount of information about image processing. A good technical
article concerning the use of image filters with Javascript and the
HTML5 canvas is available at:
http://www.html5rocks.com/en/tutorials/canvas/imagefilters/
Note that the standard JS9 colormaps, scale, contrast and bias
selections are applied to the raw data to regenerate the RGB
image. Thus, if you use an image processing technique and then change
colormap, contrast, bias, or scale, you will undo the applied image
processing. This is a good way to reset the displayed image.
Several image processing filters and convolutions are available, many of
which allow you to adjust a parameter using either a slider or by
typing a value into the text box:
- blur(val): blur the image using a pseudo-Gaussian convolution
- brighten(val): add constant value to each pixel to change the brightness
- darken(val): darken by applying the kernel
[ 0, 0, 0, 0, val, 0, 0, 0, 0],
- duotone(0|1|2): remove a color by setting it to
the average of the other two, e.g. red=(green+blue)/2, where the input
values are: 0 = red, 1 = green, 2 = blue
- edge(): detect edges using the kernel
[ -1, -1, -1, -1, 8, -1, -1, -1, -1 ]
- emboss(val): produce embossing effect using the kernel
[-18, -9, 9, -9, 100 - val, 9, 0, 9, 18 ]
- gamma(val): apply the nonlinear gamma operation, used to code and
decode luminance values in video or still image systems:
out = pow(in, val)
- invert(): the RGB channels of the image are inverted
- lighten(val): lighten the image by applying the kernel
[ 0, 0, 0, 0, val, 0, 0, 0, 0 ],
- luminance():convert to greyscale using the CIE luminance:
0.2126*r + 0.7152*g + 0.0722*b
[255-r, 255-g, 255-b, a]
- median(): noise reduction technique that replaces each pixel with
the median of neighboring pixels
- noise(val): add random noise:
pixel = pixel + Math.floor((Math.random()*(val)
- pixelate(val):make image look coarser by creating a square tiling
effect of the specified size
- scatter(val): scatters the colors of a pixel in its
neighborhood, akin to viewing through brittle cracked glass
- sepia(val): image takes on shades of brown, like an antique
photograph
- sharpen(val): sharpen the image using the kernel
[ 0, -3, 0, -3, val, -3, 0, -3, 0 ]
- sobel(): use the Sobel operator to create an image that
emphasizes the edges
- solarize(val): which image is wholly or partially reversed in
tone. Dark areas appear light or light areas appear dark.
Filters are cumulative: if you apply a filter and then apply a second filter,
the latter changes the current RGB color values that were modified by the
first filter.
You can undo the effects of the current filter by clicking the
undo [filter] button. This reverts the image to the colors used
in the previous filter. The undo operation is applied to the
current filter, allowing you to unwind the filters back to the
original image colors. You can, of course, unset all filters at once
by changing the colormap, contrast, bias, or scale.


"User has move to new location" tables
relocated_maps
This parameter specifies optional tables with contact information for users,
hosts or domains that no longer exist. See Relocated
Mapping for details.
By default, this feature is disabled.
Sensible possible value: hash:/etc/postfix/relocated


Hack emulator
Run ▶
Stop ⏸
0
Cycles
Opcodes
Per milli seconds
Assemble code (e.g. Copy and insert
Pong
)


Windows 10 x64 (19041.450)
_MI_LARGE_PAGE_LISTS_CHANGING
+0x000 Next : Ptr64
_MI_LARGE_PAGE_LISTS_CHANGING
+0x008 Gate :
_KGATE


Know about us
Care to come on time?
We attempt to solve the problem of bringing students in NMIMS School of Design at proper time to ensure optimum utility of time and enable punctuality.
Our MVP
The door will buzz (sound) when a student comes late to the class.
Target Audience
Students, professors and officials of educational instituions.
Location
Class rooms of schools / colleges.


Measurement and Optimization
Incorporating measurement and optimization tools
Using optimizely for A/B testing
Using services like optimizely helps determine different buying statistics depending on changing different aspects of your website.
Harnessing Google analytics to better understand site visitors
Google analytics is a powerful tool used to determine the circumstances that brought users to your website. Things like time language and location can be used to understand where people are coming from to your site.
Employing heat mapping tools to measure and monitor page usage
Heat mapping tools provide a guide to where users are most clicking on your website. This is valuable information used to better understand monitor, and tailor websites to your users likings.
Applying Moz for larger scale sites
Moz is a suite of SEO products needed to identify trouble spots in your website. The Moz suite has many tools used to determine where your site ranks among others using different aspects of your web page.


Aren't you excited to know the day on which you were born? and have you ever heard about the Akan names from the Ghanian culture? Frequently in Ghana, children are given their first name as a 'day name' which corresponds to the day in the week they were born This app will help you know the day on which you were born on and your Akan name corresponding to your day and your gender. Aren't you excited to know it?
Do you want to know your akan name?
You just have to enter your birthday date and your gender.


Enter a description about your department and major here.
The virtual advisor is intended to provide detailed information about your major and department. This included degree requirements, recommended courses, and more. It should serve as a first resource to answer any questions you have about planning your courses.
This page includes a detailed list of the required courses to earn a (MAJOR) degree.
This page includes a comprehenive list of the courses offered in the (DEPARTMENT), with information such as course number, description, and professor.
This page includes a schedule that should serve as an example - one way to meet the degree requirements and structure your courses.


The Browsergame version of the legendary Ball Point Game.
Please enter the name of the game you want to join or create!
the url of your game room will be:
with proximity chat:
What is the Ball Point Game?
The Ball Point Game is a real life group exercise to explore the basics of Agility.
Players experience the concepts of iterative work, continuous improvement and self-organization
with the help of a fun ball game.
What is the Remote Ball Point Game?
Like the name suggests, the remote ball point game provides the possibility to play the game online
with distributed teams.
The game itself simply provides the setup as often given in trainings: a meeting room, balls, a
timer
and flipcharts with some explanations.
Like in a real life scenario a trainer should facilitate and debrief the game to connect the
experiences
of the players with the theory about Agility.
We are using Cookies to anonymously analyse the traffic on the website.


{% extends "base_participant.html" %} {% block content %}
Please remember your personal ID Code below. It will be required if you need to continue this session after closing it, or if you want to withdraw your responses from research in the future.
Please comment on your highest frequency emotion(s).
Please comment on your highest intensity emotion(s).


Issues Aren't Always Bad
I often encounter people whether at my office or at other places of employment that are distraught after getting an earful from a manager from some problem arising. The problem usually isn’t in their control, and therefore they don’t understand why they get heat for this. Most managers though do actually understand when issues come up, however what they don’t appreciate is late notice, lack of problem solving, and dictating what should be done next.
Managers typically want individuals to take control of a situation and work towards resolving it.
One thing you can do to ease the backlash that may occur for issues coming up is to communicate proactively as things develop/occur or lack there of. Keep in mind this should relate well to your managers style, some managers only want details when they absolutely have to have them. In that case you’ll want to gradually give your manager a heads up, but not burden him with too much information. I would venture to say however that most managers appreciate details, details are great to give them insight into how things are going and allow them to feel engaged at a lower level.
So assume you’ve communicated regularly to your manager, this still does not prevent any issues from happening, but rather reduces the shock when something does. At this point a manager still does not want a fact stated that there’s a problem. In every case I’ve encountered the manager wants you to take ownership of the issue, meaning to give some options. Once the problem has arisen you should instantly start looking for ways to solve it. Often time these ways are not within your power to make the final decision, though you do have a great deal of control in presenting the case to a manager.
Finally if you want brownie points, take less credit for any of the work you’ve done and give your manager more. If you’ve communicated early, laid out various options for how to resolve the issue with pros and cons of each you’ve done what you can. This should make it very easy on your manager to simple say, go with Option B, and follow back up with me on Monday. At this point if you give your manager most of the credit for helping the issue, it will only come back to you. While this is potentially the least critical of the three points, it can often pay off equally as much.
This is easier to do as you pay attention to issues and start to become pro-active. Taking ownership may not be in your job title or description, but it will definitely get you less earfuls from managers, and likely move you through the ranks faster.