Achilleas Athanasiou Fragkoulis
Data Scientist - Machine Learning Engineer
Hi there 👋
I’m a data scientist currently working at Rimo3. Trying to solve some of the tough challenges around software packaging, testing and deployment automation!
I’m passionate about:
- Reinforcement learning 🤖
- ML Engineering & ML Ops ☁🚀
- Experimentation 🔬
What I’m working on at the moment
Currently I am working on domain-specific applications of computer vision for object detection & recognition and building reinforcement learning agents that can intelligently interact with the contextual environment to automate repetitive human tasks in IT.
Profession Experience
I have professional experience in experimentation (Frequentist & Bayesian), both for multivariate (A/B/n) testing and Multi-Armed Bandit experiments, with a strong focus on testing of ML solutions to understand and measure user-facing impact.
I’ve been involved in developing and productionizing a large-scale experimentation platform on the cloud, along with a major tech-stack migration from on-premise to the cloud.
Volunteering
Additionally I’ve been involved in pro-bono projects with UCL’s Analytics for Social Impact Society making analytics & data-science accessible to charities for free.
While I’ve also delivered the Data Analytics for Managers course at Product School in 2019.
A few words about where I come from
I have a background in Experimental High Energy Particle Physics, having spent some time doing research with groups affiliated with DESY & CERN.
My professional experience is very mixed, with my first stint being involved in setting up a food & drink distribution company from the ground up - Ormos.
I’ve also worked in travel for Hotels.com (part of Expedia Group). And I’m currently working in IT Rimo3.
…and the fun tidbits
I spend most of my free time chasing wind and waves for kitesurfing or riding bicycles & crotch rockets!
For more information about me, see my CV


Welcome to the Time Off Request App demo!
You can explore this as an employee or a supervisor.
Employee
Supervisor
Angular seed app: v


{% extends "base.html" %} {% block content %}
Enter your email address and we will send you instructions on how to reset your password.


Download a two-factor authenticator app like Microsoft Authenticator for Windows Phone, Android and iOS or Google Authenticator for Android and iOS.
Scan the QR Code or enter this key {{authenticator.sharedKey}} into your two factor authenticator app. Spaces and casing do not matter.
Once you have scanned the QR code or input the key above, your two factor authentication app will provide you with a unique code. Enter the code in the confirmation box below.


15 gifts under $100 for everyone on your list
by Boing Boing's ShopWant to get an early jump on your holiday shopping and avoid the Black Friday in-store madness? We've got you covered. We tracked down 15 gifts priced under $100, running the gamut from housewares to high-tech audio. And the best part? You can take an extra 15% off the final price on any of them by using the Black Friday discount code BFSAVE15.
TripWipes Anti-Bacterial Wipes
Germophobes don't need to be shut-ins. This one-month supply of wipes come in easy-to-carry packs so that you can stay clean wherever your adventures take you.
MSRP: $17.00
Sale Price: $17.00
Price with BFSAVE15 code: $14.45
WRAPS Talk Wearable Headphones with Mic
Wired earbuds deliver great sound, but the wires themselves can be a hassle. WRAPS turns those wires into a fashionable asset: They're made from a tangle-free braided material that you can wrap into a wristband when not in use.
MSRP: $24.99
Sale Price: $16.99
Price with BFSAVE15 code: $14.44
GO-TOUGH Power Bank with LED Flashlight
Want to stay connected? This power bank packs a 5,000 mAh capacity that's good for over 600 charges. Want to go off the grid? It's also a waterproof LED flashlight equipped with a signal blinking function.
MSRP: $49.99
Sale Price: $39.99
Price with BFSAVE15 code: $33.99
AtomXS 3+ Hour Emergency Keychain Charger
Never lose power again with this ultra-portable charger. It's small enough to fit on any keychain, yet its 1,300 mAh battery can juice up your phone with over 3 hours worth of operating time.
MSRP: $49.99
Sale Price: $39.99
Price with BFSAVE15 code: $33.99
Portable 12V Handheld Auto Vacuum Cleaner
Know someone who spends more time inside their car than out of it? This super-portable cleaner is the perfect gift. It empties easily and the filter is reusable.
MSRP: $39.00
Sale Price: $25.99
Price with BFSAVE15 code: $22.09
HyperSonic True Wireless Headphones
Thanks to a wireless charging case, you can both listen and juice up on the go. And, with Bluetooth 5.0 connectivity and DL01 Immersive Sound Engine tech, the audio is clear for up to 8 hours of playtime.
MSRP: $119.99
Sale Price: $97.00
Price with BFSAVE15 code: $82.45
NetGear Arlo VMC3030-100NAR HD Security Camera (Refurbished)
This versatile cam is completely wireless, IP65-certified weatherproof and comes with 7 days of free cloud storage, so you can set it up wherever and however you need. It even has a 100-decibel smart siren to help you stop crimes as you see them.
MSRP: $159.99
Sale Price: $64.99
Price with BFSAVE15 code: $55.24
Atmotube PLUS Portable Indoor Air Quality Monitor
This compact monitor gives you total peace of mind — not just at home, but anywhere you suspect your lungs or allergies may be in danger. It measures conditions like humidity and temperature and can detect a wide range of volatile organic compounds in the air instantly and accurately.
MSRP: $99.00
Sale Price: $79.00
Price with BFSAVE15 code: $67.15
ModMic Business Attachable Noise-Cancelling Boom Microphone
This mic makes business calls simple with one-touch adjustment between mute and talk modes. The noise-canceling mic capsule means you're able to keep the conversation going in any work environment.
MSRP: $49.95
Sale Price: $34.95
Price with BFSAVE15 code: $29.71
Mighty Vibe Spotify Music Player
This handy player syncs up your music playlist each night at home, so during the day you can keep the beats going even when there's no connection. This one is ideal for wilderness marathons or long commutes.
MSRP: $84.99
Sale Price: $79.99
Price with BFSAVE15 code: $67.99
Airthereal MA10K-PRO Industrial Ozone Generator
This unit pumps out 10,000mg of ozone per hour, destroying pollutants and leaving the air clean and fresh-smelling. With an expected service life of 20,000 hours, you can keep your home environment safe for years.
MSRP: $120.00
Sale Price: $94.99
Price with BFSAVE15 code: $80.74
Foldable Smartphone Screen Enlarger
Got a friend or relative who struggles to read text on their phone? This compact screen and stand makes everything easier on the eyes and renders movies the way they were meant to be seen.
MSRP: $34.99
Sale Price: $16.99
Price with BFSAVE15 code: $14.44
Chefman 4-Cup Grind & Brew Coffee Maker
There's no substitute for coffee made from fresh ground beans. This combo grinder and brewer makes that taste easier to achieve than ever, and the 30-minute warmer lets you keep it at the perfect temperature until you're ready to sip.
MSRP: $99.99
Sale Price: $75.00
Price with BFSAVE15 code: $63.75
InstaSteam™: The World's First Electricity-Free Clothing Steamer
Even the most portable irons are a hassle to use, but these innovative pods let you steam the wrinkles out of anything, anywhere. Just open each container and its natural minerals put out enough steam for up to three garments.
MSRP: $24.95
Sale Price: $14.99
Price with BFSAVE15 code: $12.74
Got a sports fan to buy for? Give them an artful lowdown of their favorite home field with these detailed blueprints of venues like Wrigley Field, Fenway Park, Arrowhead Stadium or the Pebble Beach Golf Links.
MSRP: $60.00
Sale Price: $47.99
Price with BFSAVE15 code: $40.79
Don't wait for Black Friday—you can get these top-sellers at deep discounts today!


@import net.rouly.employability.models.Topic @import net.rouly.employability.web.application.model.OverlapStats @import net.rouly.employability.web.application.routes @(stats: OverlapStats, topics: List[Topic], plot: String, theta: Double, strict: Boolean) @relevantEntries(theta: Double, strict: Boolean) = @{ stats.entries.filter { entry => val cdr = entry.courseDescriptionProportion >= theta val jdr = entry.jobDescriptionProportion >= theta if (strict) cdr && jdr else cdr || jdr } } @application.layout.main(title = "Overlap") {
This table reports the percent proportion with which each topic is modeled in each corpus (job descriptions, course descriptions). Topics are ordered by ID. Only the most relevant topics (greater than @components.percent(theta) in both corpora) are shown. It is shown first in graphical form.
| topic id | job description count | job description proportion | course description count | course description proportion |
|---|---|---|---|---|
| @entry.topicId | @components.int(entry.jobDescriptionCount) | @components.percent(entry.jobDescriptionProportion) | @components.int(entry.courseDescriptionCount) | @components.percent(entry.courseDescriptionProportion) |
This table contains the same data but for a complete listing of all topics.
| topic id | job description count | job description proportion | course description count | course description proportion |
|---|---|---|---|---|
| @entry.topicId | @components.int(entry.jobDescriptionCount) | @components.percent(entry.jobDescriptionProportion) | @components.int(entry.courseDescriptionCount) | @components.percent(entry.courseDescriptionProportion) |


Jumanji
Four teenagers find themselves inside the Jumanji game. They will fight with a rhinoceros, black Mambo, and every step will be watched by an endless
series of traps and puzzles. To complete the game and stay alive, they will have to reincarnate in the characters of the game: timid and shy Spencer
turns into a brave and strong researcher, big Fridge — in Shorty, fashionista and beauty bettani — a Professor, and clumsy and awkward Martha becomes
fearless and agile Amazon. Friends will have to get used to a completely new and so unusual for themselves roles and find their way home.


Volume-based Monte Carlo Estimators¶
An integral part of Monte Carlo radiative transfer calculations consists of reconstructing macroscopic radiation field properties from the ensemble of packet interaction histories. TARDIS uses volume-based Monte Carlo estimators for this purpose. This concept was originally developed by [Lucy99a] and successively refined for example by [Lucy99b], [Lucy02] and [Lucy03].
Basic Principle¶
The basic principle underlying volume-based estimators is best illustrated at the example of reconstructing the mean radiation field energy density within a certain control volume (in most cases this will be a grid cell). A simple approach would involve explicitly counting the number of Monte Carlo packets which reside in the control volume at a certain time. Although being intuitive, this approach suffers heavily from Monte Carlo shot noise, in particular in situations in which only few (or even zero) packets reside in the control volume when performing the counting.
The volume-based estimator approach addresses this weakness. It considers a certain time interval \(\Delta t\) and accounts for all packets which at any point during the control interval resided in the control volume. Each packet then contributes to the total time and volume-averaged radiation field energy density according to its energy weighted by the time it spent in the control volume \(\delta t\) relative to the control interval \(\Delta t\):
This may be turned into the following estimator involving the trajectory segment lengths \(l_i\)
by exploiting \(l_i = \delta t_i c\). Compared to the simple counting approach, the volume-based estimator will yield non-zero results as long as at least one packet passed through the control volume. Additionally, as one packet may generally contribute multiple times to the estimator (e.g. if it is deflected by a scattering), these estimators typically suffer from less Monte Carlo noise than simple counting reconstruction schemes.
Volume-based Estimators in TARDIS¶
Within TARDIS, volume-based estimators are used to reconstruct the mean intensity and the mean frequency of the radiation field (see also [KerzendorfSim14]). An estimator for the former is easily formulated by using the fundamental relation \(J = \frac{c}{4\pi} E\) and the energy density estimator derived above:
An intensity weighted estimate for the mean frequency is obtained from
Note
Compared to the estimtors derived in the previous section, the ones presented here involve a relativistic factor, \(D_{\mu} = (1 - \beta \mu)\), which ensures the correct frame transformation behaviour of the estimators (to first order in \(v/c\)).
Using the estimators just derived the radiation temperature (which should be interpreted as a colour temperature) of the radiation field
may be derived. The normalization constants, involving Riemann’s zeta function, are a consequence from the definition of this colour temperature: this should be the temperature of a black body radiation field whose mean frequency is equal to the one reconstructed from the Monte Carlo simulation. With the temperature determined, the dilution factor, describing the deviation of the radiation field from a thermal field with the same colour temperature may be calculated
These two quantities, \(T_{\mathrm{R}}\) and \(W\) are vital for the calculation of the plasma state of the ejecta (see Plasma State Calulation).
Finally, TARDIS also reconstruct the mean intensity of the radiation field in the blue wing of each line transition \(l \rightarrow u\), which is used in the Macro Atom treatment and in the ionisation calculation.
The summation here only involves packets which passed through the Sobolev point (see Propagation) of the transition. For a derivation of this estimator, in particular, for a motivation of the expansion factor involving the time since explosion \(t_{\mathrm{exp}}\), we refer to [Lucy03], section 6.2.


Toggle navigation
HardMood
Admin
User Administration
Evaluation
Login
Logout
Evaluation
The result of the current evaluations.
Show Last 60 Days
Date
very unhappy
unhappy
neutral
happy
very happy


Dockerizing a Vue App
This tutorial looks at how to Dockerize a Vue app, built with the Vue CLI, using Docker along with Docker Compose and Docker Machine for both development and production. We’ll specifically focus on-
- Setting up a development environment with code hot-reloading
- Configuring a production-ready image using multistage builds
We will be using:
- Docker v18.09.2
- Vue CLI v3.7.0
- Node v12.2.0
Contents
Project Setup
Install the Vue CLI globally:
$ npm install -g<EMAIL_ADDRESS>Generate a new app, using the default preset:
$ vue create my-app --default
$ cd my-app
Docker
Add a Dockerfile to the project root:
# base image
FROM node:12.2.0-alpine
# set working directory
WORKDIR /app
# add `/app/node_modules/.bin` to $PATH
ENV PATH /app/node_modules/.bin:$PATH
# install and cache app dependencies
COPY package.json /app/package.json
RUN npm install
RUN npm install<EMAIL_ADDRESS>-g
# start app
CMD ["npm", "run", "serve"]
Add a .dockerignore as well:
node_modules
.git
.gitignore
This will speed up the Docker build process as our local dependencies and git repo will not be sent to the Docker daemon.
Build and tag the Docker image:
$ docker build -t my-app:dev .
Then, spin up the container once the build is done:
$ docker run -v ${PWD}:/app -v /app/node_modules -p 8081:8080 --rm my-app:dev
What’s happening here?
- The docker run command creates a new container instance, from the image we just created, and runs it.
-
-v ${PWD}:/app
mounts the code into the container at “/app”.{PWD}
may not work on Windows. See this Stack Overflow question for more info. - Since we want to use the container version of the “node_modules” folder, we configured another volume:
-v /app/node_modules
. You should now be able to remove the local “node_modules” flavor. -
-p 8081:8080
exposes port 8080 to other Docker containers on the same network (for inter-container communication) and port 8081 to the host.For more, review this Stack Overflow question.
- Finally,
--rm
removes the container and volumes after the container exits.
Open your browser to http://localhost:8081 and you should see the app. Try making a change to the App
component (src/App.vue) within your code editor. You should see the app hot-reload. Kill the server once done.
What happens when you add
-it
?$ docker run -it -v ${PWD}:/app -v /app/node_modules -p 8081:8080 --rm my-app:dev
Check your understanding and look this up on your own.
Want to use Docker Compose? Add a docker-compose.yml file to the project root:
version: '3.7'
services:
my-app:
container_name: my-app
build:
context: .
dockerfile: Dockerfile
volumes:
- '.:/app'
- '/app/node_modules'
ports:
- '8081:8080'
Take note of the volumes. Without the anonymous volume ('/app/node_modules'
), the node_modules directory would be overwritten by the mounting of the host directory at runtime. In other words, this would happen:
- Build - The
node_modules
directory is created in the image. - Run - The current directory is mounted into the container, overwriting the
node_modules
that were installed during the build.
Build the image and fire up the container:
$ docker-compose up -d --build
Ensure the app is running in the browser and test hot-reloading again. Bring down the container before moving on:
$ docker-compose stop
Windows Users: Having problems getting the volumes to work properly? Review the following resources:
You also may need to add
COMPOSE_CONVERT_WINDOWS_PATHS=1
to the environment portion of your Docker Compose file. Review the Declare default environment variables in file guide for more info.
Docker Machine
To get hot-reloading to work with Docker Machine and VirtualBox you’ll need to enable a polling mechanism via chokidar (which wraps fs.watch
, fs.watchFile
, and fsevents
).
Create a new Machine:
$ docker-machine create -d virtualbox my-app
$ docker-machine env my-app
$ eval $(docker-machine env my-app)
Grab the IP address:
$ docker-machine ip my-app
Then, build the images:
$ docker build -t my-app:dev .
And run the container:
$ docker run -it -v ${PWD}:/app -v /app/node_modules -p 8081:8080 --rm my-app:dev
Test the app again in the browser at http://DOCKER_MACHINE_IP:8081 (make sure to replace DOCKER_MACHINE_IP
with the actual IP address of the Docker Machine). Also, confirm that auto reload is not working. You can try with Docker Compose as well, but the result will be the same.
To get hot-reload working, we need to add an environment variable: CHOKIDAR_USEPOLLING=true
.
$ docker run -it -v ${PWD}:/app -v /app/node_modules -p 8081:8080 -e CHOKIDAR_USEPOLLING=true --rm my-app:dev
Test it out again. Then, kill the server and add the environment variable to the docker-compose.yml file:
version: '3.7'
services:
my-app:
container_name: my-app
build:
context: .
dockerfile: Dockerfile
volumes:
- '.:/app'
- '/app/node_modules'
ports:
- '8081:8080'
environment:
- CHOKIDAR_USEPOLLING=true
Production
Let’s create a separate Dockerfile for use in production called Dockerfile-prod:
# build environment
FROM node:12.2.0-alpine as build
WORKDIR /app
ENV PATH /app/node_modules/.bin:$PATH
COPY package.json /app/package.json
RUN npm install --silent
RUN npm install<EMAIL_ADDRESS>-g
COPY . /app
RUN npm run build
# production environment
FROM nginx:1.16.0-alpine
COPY --from=build /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
Here, we take advantage of the multistage build pattern to create a temporary image used for building the artifact – the production-ready Vue static files – that is then copied over to the production image. The temporary build image is discarded along with the original files and folders associated with the image. This produces a lean, production-ready image.
Check out the Builder pattern vs. Multi-stage builds in Docker blog post for more info on multistage builds.
Using the production Dockerfile, build and tag the Docker image:
$ docker build -f Dockerfile-prod -t my-app:prod .
Spin up the container:
$ docker run -it -p 80:80 --rm my-app:prod
Assuming you are still using the same Docker Machine, navigate to http://DOCKER_MACHINE_IP/ in your browser.
Test with a new Docker Compose file as well called docker-compose-prod.yml:
version: '3.7'
services:
my-app-prod:
container_name: my-app-prod
build:
context: .
dockerfile: Dockerfile-prod
ports:
- '80:80'
Fire up the container:
$ docker-compose -f docker-compose-prod.yml up -d --build
Test it out once more in your browser.
If you’re done, go ahead and destroy the Machine:
$ eval $(docker-machine env -u)
$ docker-machine rm my-app
Vue Router and Nginx
If you’re using Vue Router, then you’ll need to change the default Nginx config at build time:
RUN rm /etc/nginx/conf.d/default.conf
COPY nginx/nginx.conf /etc/nginx/conf.d
Add the changes to Dockerfile-prod:
# build environment
FROM node:12.2.0-alpine as build
WORKDIR /app
ENV PATH /app/node_modules/.bin:$PATH
COPY package.json /app/package.json
RUN npm install --silent
RUN npm install<EMAIL_ADDRESS>-g
COPY . /app
RUN npm run build
# production environment
FROM nginx:1.16.0-alpine
COPY --from=build /app/dist /usr/share/nginx/html
RUN rm /etc/nginx/conf.d/default.conf
COPY nginx/nginx.conf /etc/nginx/conf.d
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
Create the following folder along with a nginx.conf file:
└── nginx
└── nginx.conf
nginx.conf:
server {
listen 80;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
Cheers!


Do as I say ...
Last week we talked about evaluating a website for its accessibility using the Chrome's Lighthouse tool. After looking at the audit results we then discussed them and talked about potential improvements. Now it's time to put my money where my mouth is. Or more commonly known as "I guess I better practice what I preach."
Paging Dr. Freud
Analyzing my page feels a little like psychoanalysis. You look inside yourself and say, "Ok what needs to be fixed?" And that is never easy.
Being entirely honest with oneself is a good exercise. -Dr. Sigmund Freud
Since there's not time like the present let's strip off the armor and see what's beneath.
That's really not that bad and I'm rather impressed that I scored as high as I did. But let's take a look at what the audit says and suggests. I think this is going to help me understand how to give you guys better content in an accessible manner.
What needs to be fixed? And how am I going to fix it?
One thing that I'd like to do is get the contrast on point. As the audit points out that the low-contrast text is "difficult or impossible" for adaptive tools to be used effectively. I clicked on the link in the audit that says recommendations and this is where it took me.
Looks like I have some work to do here since I like how it looks with the grey color for the caption but just because I like it and I want to have a score above an 80, I'll have to make changes.
Next I will need to work on the names and labels. This is pretty big when you think about it. Names and lables identify what we're looking at.
Since I used a Bootstrap template there are a lot of little details that I have overlooked. I will need to go through and double check throughout the pages to see where else that names are not discernable. After all, I do want my reader to know where they are, where they're going and certainly where they were.
Final thoughts
I am pretty pleased that my page is at a 78 but going forward I'm going to see how close to a 90 I can get. And if you see something that could be improved upon, feel free to let me know!


class GaussVDSampler(StatisticalModelSamplerWithZeroMeanBaseClass):
Restricted Gaussian Sampler for VD-CMA VD-CMA: Linear Time/Space Comparison-based Natural Gradient Optimization The covariance matrix is limited as C = D * (I + v*v^t) * D, where D is a diagonal, v is a vector.
Reference
Youhei Akimoto, Anne Auger, and Nikolaus Hansen. Comparison-Based Natural Gradient Optimization in High Dimension. In Proc. of GECCO 2014, pp. 373 -- 380 (2014)
| Static Method | extend |
return correct options to run cma.fmin or initialize cma.CMAEvolutionStrategy using the GaussVDSampler AKA VD-CMA-ES |
| Method | __imul__ |
Undocumented |
| Method | __init__ |
pass dimension of the underlying sample space |
| Method | inverse |
return scalar correction alpha such that X and f fit to f(x) = (x-mean) (alpha * C)**-1 (x-mean) |
| Method | norm |
return Mahalanobis norm of x w.r.t. the statistical model |
| Method | parameters |
return dict with (default) parameters, e.g., c1 and cmu . |
| Method | parameters |
return dict with (default) parameters, e.g., c1 and cmu . |
| Method | sample |
return list of i.i.d. samples. |
| Method | to |
return associated linear transformation |
| Method | to |
return inverse of associated linear transformation |
| Method | transform |
transform x as implied from the distribution parameters |
| Method | transform |
Undocumented |
| Method | update |
vectors is a list of samples, weights a corrsponding list of learning rates |
| Instance Variable | dvec |
Undocumented |
| Instance Variable | N |
Undocumented |
| Instance Variable | norm |
Undocumented |
| Instance Variable | norm |
Undocumented |
| Instance Variable | pc |
Undocumented |
| Instance Variable | randn |
Undocumented |
| Instance Variable | vn |
Undocumented |
| Instance Variable | vnn |
Undocumented |
| Instance Variable | vvec |
Undocumented |
| Instance Variable | weights |
Undocumented |
| Property | condition |
Undocumented |
| Property | correlation |
Undocumented |
| Property | covariance |
Undocumented |
| Property | variances |
vector of coordinate-wise (marginal) variances |
| Static Method | _alpha |
Undocumented |
| Static Method | _ngv |
Undocumented |
| Static Method | _pvec |
Undocumented |
| Method | _get |
Undocumented |
| Method | _get |
Undocumented |
| Instance Variable | _debug |
Undocumented |
| Instance Variable | _mueff |
Undocumented |
| Instance Variable | _parameters |
Undocumented |
Inherited from StatisticalModelSamplerWithZeroMeanBaseClass
:
| Instance Variable | _lam |
Undocumented |
return correct options to run cma.fmin
or initialize
cma.CMAEvolutionStrategy
using the GaussVDSampler
AKA VD-CMA-ES
cma.interfaces.StatisticalModelSamplerWithZeroMeanBaseClass.inverse_hessian_scalar_correction
return scalar correction alpha such that X and f fit to f(x) = (x-mean) (alpha * C)**-1 (x-mean)
return list of i.i.d. samples.
| Parameters | |
| number | is the number of samples. |
| update | controls a possibly lazy update of the sampler. |
cma.interfaces.StatisticalModelSamplerWithZeroMeanBaseClass.to_linear_transformation_inverse
return inverse of associated linear transformation
def _ngv_ngd(dvec, vn, vnn, norm_v, norm_v2, alpha, avec, bsca, invavnn, pvec, qvec): ¶
Undocumented


28
1 When we were brought safely through, we learned that the island was called Malta.
2 The native people offered to us not just ordinary kindness, but they lit a fire and welcomed us all, because of the constant rain and cold.
3 But when Paul had gathered a bundle of sticks and placed them on the fire, a viper came out because of the heat, and fastened onto his hand.
4 When the native people saw the animal hanging from his hand, they said one to another, "This man certainly is a murderer who escaped from the sea, yet justice does not permit him to live."
5 But then he shook the animal into the fire and suffered no harm.
6 They were waiting for him to become inflamed with a fever or to suddenly drop dead. But after they watched him for a long time and saw that nothing was unusual with him, they changed their minds and said that he was a god.
7 Now in a nearby place there were lands belonging to the chief man of the island, a man named Publius. He welcomed us and kindly provided for us for three days.
8 It happened that the father of Publius had been made ill with a fever and dysentery. When Paul went to him, he prayed, placed his hands on him, and healed him.
9 After this happened, the rest of the people on the island who were sick also came and were healed.
10 The people also honored us with many honors. When we were preparing to sail, they gave us what we needed.
11 After three months, we set sail in an Alexandrian ship that had wintered at the island, whose figurehead was The Twin Brothers.
12 After we landed at the city of Syracuse, we stayed there three days.
13 From there we sailed and arrived at the city of Rhegium. After one day a south wind sprang up, and in two days we came to the city of Puteoli.
14 There we found some brothers and were invited to stay with them for seven days. In this way we came to Rome.
15 From there the brothers, after they heard about us, came to meet us as far as The Market of Appius and The Three Taverns. When Paul saw the brothers, he thanked God and took courage.
16 When we entered Rome, Paul was allowed to live by himself with the soldier who was guarding him.
17 Then it came about that after three days Paul called together those men who were the leaders among the Jews. When they had come together, he said to them, "Brothers, although I have done nothing wrong against the people or the customs of our forefathers, I was delivered as a prisoner from Jerusalem into the hands of the Romans.
18 After they questioned me, they wished to set me free, because there was no reason in me for a death penalty.
19 But when the Jews spoke against their desire, I was forced to appeal to Caesar, although it is not as if I were bringing any accusation against my nation.
20 Because of my appeal, then, I have asked to see you and to speak with you. It is because of what Israel is confident about that I am bound with this chain."
21 Then they said to him, "We neither received letters from Judea about you, nor did any of the brothers come and report or say anything bad about you.
22 But we want to hear from you what you think about this sect, because it is known by us that it is spoken against everywhere.
23 When they had set a day for him, more people came to him at his dwelling place. He presented the matter to them, and testified about the kingdom of God. He tried to persuade them about Jesus, both from the law of Moses and from the prophets, from morning until evening.
24 Some were convinced about the things which were said, while others did not believe.
25 When they did not agree with one another, they left after Paul had spoken this one word, "The Holy Spirit spoke well through Isaiah the prophet to your forefathers.
26 He said, 'Go to this people and say,
"By hearing you will hear, but not understand;
And seeing you will see, but will not perceive.
27 For the heart of this people has become dull,
Their ears have heard with difficulty,
They have shut their eyes;
Lest they might perceive with their eyes,
And hear with their ears,
And understand with their heart,
And turn again,
And I would heal them."'
28 Therefore, you should know that this salvation of God has been sent to the Gentiles, and they will listen."
29 8Acts 28:29 - the best ancient copies omit vs. 29, When he had said these things, the Jews departed, having a great dispute among themselves.
30 Paul lived for two whole years in his own rented house, and he welcomed all who came to him.
31 He was preaching the kingdom of God and was teaching the things about the Lord Jesus Christ with all boldness. No one stopped him.


--- number: 1 --- {% extends "../templates/pages/interview.html" %} {% block biography %}
Razvan is currently working as a Front-end Engineer at Funding Circle where he works on improving the quality and scalability of their front-end.
Loves everything CSS related and has an unhealthy obsession with using Sass as a programming language.
Big fan of a happy designer–developer relation.
Co-organiser of London Sass Meetup.
{% endblock %} {% block interview %}Hi Razvan, thank you for accepting to be the next interviewee for this project.
First of all, some introductions: I know you work at Funding Circle, here in London. What is your role in the company, in which team do you work?
Hi Cristiano! The pleasure is all mine! In a front-end world where JavaScript is the word on everyone's lips, CSS is often seen as an afterthought, so I'm really excited to see projects like this one.
Indeed, I work at Funding Circle. I am a Frontend Engineer there (since December 2014). We are a fairly small FE team (5 people) so we shift around in different teams. Right now I am working in the Investor team (taking care of the experience for the users that invest money using our platform), but I think it's fair to say that my self-assigned role in the company is to always remind everyone about the importance of CSS and good CSS architectures :)
So you are the “CSS guy” I understand. Are you the only one working on the CSS codebase, or are there other people getting their hands dirty with classes, selectors and properties? How do you split the work? Someone works on the CSS and someone else does the JS (where the HTML is everyone's land) or is more of a hybrid approach?
I ask because I see more and more the rise of a CSS developer figure, in many companies (mine included), thing that up to a few years ago was inconceivable.
The great thing about our front-end team is that all of us understand the importance of good, clean, reusable CSS. We all like to get our hands dirty, we all like to complain about CSS. We are all confident enough in both CSS and JS, so we don't split them. I am probably perceived as the "CSS guy" mostly because I was there for a bit longer and from day one I got that stamp. And talking about the CSS developer figure - I see that becoming more of a thing in the future, as CSS (alongside pre/post-processors) is more complex, while JavaScript is already a crazy train-ride.
So, a small front-end team, 5 people. Why the need for adopting BEM? Was not the simple "team communication" enough?
Great question.
I strongly believe that the way you architect your CSS is not related to the size of your team or the hype / trend at that moment. I think it is more related to the product that you are building. And talking about the product, a really important part on deciding that BEM is the way to go was played by our design team.
Sitting with the design team, looking at what we had in the past in Funding Circle, looking at what we want to build in the present and future, everything yelled: components.
And when it comes to components, I think BEM as a base methodology (with sprinkles from others) is the way to go.
And related somehow to the numbers of people working on the codebase, BEM is also quite easy to understand by non-front-end people. And considering that only in the UK we have around 80 back-end devs, using BEM to keep everything under control made sense.
You talked about CSS architecture. Last week I saw a tweet about the CSS Architecture being “organising stylesheets” which in some way is terribly right, but at the same time is drastically wrong, in the same way as “programming” is “writing lines of code”.
Are we over-engineering something that should - and could - be much much simpler? (at the end, is not even a programming language, is a presentational / declarative language)
Or actually there is a real problem to solve? And in that case, why is BEM the right solution in your case, in your opinion? What problem do you have with the back-end developers? :)
We are far from over-engineering. I can say that CSS is easy because it is declarative. But I can also say that CSS is hard because it is declarative. Styling a page with CSS is easy. Making a scalable, organised CSS architecture where a new joiner can come and understand where / how to use existing code is hard.
Great response :)
I was looking at the existing CSS codebase, written by various people in 5 years of crazy growth for our company. Because it wasn't started with scalability in mind we found it really difficult to maintain.
Mostly because there was no logic in including Sass partials in compiled stylesheets.
We now took the idea of BEM and components and decided to create small partials corresponding to each component.
The result of that is that you won't include that _clear.scss 30 times in your project because it's imported in files that are imported in a main file and everything makes sense now.
But "making sense of things" could not be achieved without BEM? With good practices, clean code, team communication and some documentation?
Importing 30 times _clear.scss is not inherently a problem of CSS or Sass, but of how people work. Could you have achieved a good "CSS architecture" without BEM, in your case?
You are right. BEM does not translate to "making sense of things". If it's a logical decision that can be understood and extended by anyone in your team just by reading the code / documentation, then it's the right decision.
In our case, BEM made sense because we wanted a modular approach for the platform and helped us integrate it easier with our always-work-in-progress pattern library. Being able to copy/paste an HTML structure with existing classes without the fear of uncontrolled bleeding / inheritance of styles was really important for us.
And, from the start we knew that only by adopting BEM wouldn't be enough. It would just solve the problem of nested selectors and brittle CSS.
One advice for anyone thinking about BEM: don't assume it will auto-magically solve your scalability issues. It is a good start, but there is a lot of work to be done. We had to bend the rules a bit and use ideas from other methodologies so that things are still under control.
You say “adopting BEM isn’t enough” and “bend the rules a bit and use ideas from other methodologies”. Can you be more specific? What part of BEM didn't work well (or well enough) for you? Or what BEM is missing, for example.
Well, as I was saying before, you need to structure your files well. We did a project where we used BEM but structured the partials according to the page that we were building (e.g. _about-us.scss) and importing it into the main stylesheet. I still cringe about that decision and it's still a hot topic in our front-end meetings. Then we switched to component partials and everything is much better now.
Then there's the good ol' saying "naming things is hard". When writing CSS I think I spend most of the time thinking on how to uniquely name my BEM blocks.
Also, I think the biggest disadvantage of BEM is that it was built for static components. So, when I say "we bent the rules" I mean: we had to adopt state classes from SMACSS. And a bit of OOCSS + ITCSS by creating prefix-named reusable utility classes (e.g. .u-center-text)
I'll come back to the components in a second, but before another question.
You were talking about “reading the code” which is one of the main issues I have with BEM (not only in the CSS/Sass/Less files, but also in the HTML files with the proliferation of class-names that make my eyes cry)
I mean, this is real code from a real website:

Anyway, about reading the code: did it already happen to you to refactor your own code, maybe written 6 months before? How did it go?
And someone else’s code structured using BEM? Went well in the same way?
The question is: is it easy to read and work with BEM code that you have not written, or that you have written but you don't remember anymore how and why you have built in such way?
My opinion is that if you don't cringe over the code you wrote 6 months ago and say "what was I thinking?", you're doing it wrong.
Ahahahh :)
We did refactor a lot of HTML / CSS from the code that we wrote less than a year ago and it went decent. The main reason for refactoring is because we chose the wrong name for a component.
Regarding the BEM class names, I wish I had a smart answer to give you, but in all honesty, they are ugly. But we will never have the perfect solution.
And looking at your example, I think that is a perfect demonstration of how BEM is not suited for all projects.
Sometimes you have to look at the design patterns in a different way. And if you have so many variations of a single element, maybe it's time to have a chat with your design team.
OK, but then when you work with components, why the simple namespacing is not enough? What value BEM adds, in your experience?
I mean, if you have a component, let's say a breadcrumb, why do you need:
.breadcrumbs {…} .breadcrumbs__wrap {…} .breadcrumbs__step {…} .breadcrumbs__title {…}
plus all the modifiers, when you could simply use
.breadcrumbs { .wrap {…} .step {…} .title {…} }
If you have a component "breadcrumbs" no one is going to create a second component or override its properties, with or without BEM, without clearly doing something wrong.
I mean, in Javascript the developers have learnt, the hard way, that you don't write variables and functions in the global scope
Why don't we “CSS developers” can do and learn the same, and stop polluting the global scope? why can't we just namespace, in the same way as in JS you use closures?
What BEM adds in your experience?
I've asked myself in the past the exact same thing. If we look at components individually, yeah, it makes no sense to use BEM.
But if we look at a real-life project, if you want to scale and reuse code, you might end up with components INSIDE components.
Take this example:

This is my sidebar

Title of a component inside another component

In this case ".sidebar .title" will bleed into your ".article .title"
Ok, makes sense
You could, of course do some specificity magic and avoid this, but then you end up either with an ugly CSS or with CSS that is tightly connected to your HTML structure, making both of them brittle.
But are "title", "sidebar" and "article" actually components? in Atomic Design they are more at the "templates" or "pages" level
So maybe we could find a different way to assign the style, maybe less based on “where they are in the DOM”, and more on “what they look like”
Anyway, there is no clear simple solution for that, it’s years we are struggling with it :)
I have another question, that interests me a lot
One of the strength point of BEM in my opinion is that, whoever will join your team, be it a newcomer or a junior developer, he/she will probably know BEM (at least in its own basic rules, and whatever happens, he will always be able to find resources on BEM online, on stackoverflow, on Google, etc.)
As compared to “having our own special naming conventions” that probably will require some time to understand and master
Did it already happen to you to have a newcomer or a junior developer joining the team? how did it go, how it was his impact with BEM?
Before answering your question, I want to add something to what you've said "it’s years we are struggling with it".
Sure
That is the beauty of front-end development and that will always be the case. We've come a long way and we're not even close to what can be achieved. We started with using
 to create faux columns, we continued with quirky floats / clears, now we're moving to flex while looking forward to grids. I think BEM is one of those things. We're gonna look at BEM in a few years and say "how could we work that way? Now it's so much easier with <insert solution>."
You're so right :)
To answer your question: yes, we did have 3 new joiners in our team since we started using BEM regularly. All of them were already familiar with it, so it went very smooth. And I'm very happy to say that we improved the way we write our CSS since they joined.
Also, as you've said, being able to Google something is invaluable :)
Ok, let's go back to the components.
Atomic Design (think Brad Frost and all that has come out of this idea) and Modular Design (think Alla Kholmatova and all her experiences at FutureLearn) on one side.
Web Components and the “React revolution” on the other side (like it or not, it changed a lot in the way we look at the front-end today)
In the middle the rise of style guides, pattern libraries, design systems, etc. (there's been even an entire conference dedicated to these topics)
If we look at BEM, on one side it makes total sense for a framework or a component library, where everyone can pick and use a component and you don't know (and don't have control) where and how he/she will use it.
But on the other side, as you also said before, at a component level BEM loses its own reason of being.
If then you add the way in which CSS Modules are integrated within React (and I expect other frameworks will start to do the same) all the reasons that led to BEM, all the inheritance and leaking problems that we have, they all appear to be magically solved. Is this the case, do you think? Or simply we have not yet discovered where the downsides of this approach are?
As I was saying before, we're gonna look back at BEM and cringe. BEM will cease to exist when it will not be needed anymore.
And CSS modules might be the way to go in the near future. But I hope that the solution to the inheritance problem in CSS will come from CSS.
It might be the unpopular opinion of the day, but I think JS should be kept away from CSS. If today we need to involve JS to fix CSS, then we still need BEM, as we want to build apps that are not JS dependent.
I am pretty sure a lot will come in the very near future, about CSS and JS.
Anyway, my last question is the same I asked to Christoph Reinartz last week: to BEM or not to BEM?
If someone should start a large-scale greenfield project today, would you advice her/him to use BEM? or yourself, would you still choose BEM?
There is no black or white answer. I would say: BEM if it makes sense. Take a step back, look at your project as a whole, understand the design language, find the patterns and then take an informed decision, not a trendy one.
Great answer, again :)
One very last question: you are one of the organisers of London Sass meetup, one of my favourite events here in London. When will be the next appointment? Any time soon?
First of all, I never got to thank you for all the great advices you gave us for this meetup. So... Thank you!
Organising this meetup is very important for us and we noticed that the community is really interested in it, as this is kind of a missing piece in the whole London frontend meet-ups puzzle.
We are looking for speakers for the next one (if anyone is interested, tweet us at @LDN_Sass or you'll end up with me rambling about Sass for an hour :D), we also are looking into finding more venues where we can host it (again, @LDN_Sass if you have a venue).
The next one should be in June / July most likely in our offices at Funding Circle, so stay tuned!
Ahahah
Thanks you for your time. It's a sunny Sunday here in London, so you would be probably in a park or along Southbank at this time, sipping Pimm's or enjoying the nice weather. So thank you again Razvan, I really enjoyed our conversation.


Liew urges Singapore to show mercy on Malaysian facing execution
KUALA LUMPUR, Nov 20 — Malaysia is urging Singapore to show mercy on a Malaysian citizen who is scheduled to be executed on Friday (November 22) for drug trafficking.
In a statement today, Minister in the Prime Minister’s Department Datuk Liew Vui Keong said the person was convicted and sentenced to death by the Singapore High Court in March 2017 for trafficking in about 16 grammes of heroin. His plea for clemency was subsequently rejected in early July 2019.
He highlighted the fact that Malaysia imposes a strict moratorium on all executions in this country for crimes committed for drug trafficking pending a comprehensive review, in line with established international standards.
“It is therefore heart-wrenching to see a fellow citizen to be executed for circumstances entirely uncompelling, given the close proximity of our countries,” he said.
To eradicate drug trafficking, Liew said, it is the kingpins and true masters of the trade who must face the full brunt of the law.
“Although drug mules commit an offence, it is one that warrants no more than a term of imprisonment,” he said, contending that it is unjust and disproportionate for drug mules to be sent to the gallows.
“Justice must be tempered with mercy, and I implore Singapore to do so,” Liew concluded. — Bernama


Interface: Putchar
interface Putchar Interface to be implemented by any low-level component that
provides character output for libc-based printf in TinyOS. The
component providing this interface should be wired to PutcharC from
$(TOSDIR)/lib/printf.
- Note:
-
On some platforms inclusion of may define putchar
as a macro. Any need for this should be eliminated by the
implementation in PutcharP.nc, so "#undef putchar" prior to your
use of this identifier when implementing this interface.
- Author:
-
Peter A. Bigot<EMAIL_ADDRESS>Commands
command int putchar(int c)
Commands - Details
putchar
command int putchar(int c)


1. Determine what this Javascript code will print out (without running it):
x = 1;
var a = 5;
var b = 10;
var c = function(a, b, c) {
var x = 10;
document.write(x);
document.write(a);
var f = function(a, b, c) {
b = a;
document.write(b);
b = c;
var x = 5;
}
f(a,b,c);
document.write(b);
}
c(8,9,10);
document.write(b);
document.write(x);
}
Answer:
10 8 8 9 10 1
*Note: There will be no space in actual output,
I have intentionally placed spaces for reading clarity.
2. What is the difference between a method and function?
Answer:
- A function is a piece of code that is called by name. It can be passed data to operate on (i.e. the parameters)
and can optionally return data (the return value).
All data that is passed to a function is explicitly passed.
Example: function a(){...} etc
- A method is a piece of code that is called by a name that is associated with an object. In most respects it is identical to a function except for two key differences:
- A method is implicitly passed the object on which it was called.
- A method is able to operate on data that is contained within the class (remembering that an object is an instance of a class - the class is the definition, the object is an instance of that data).
- JavaScript methods are the actions that can be performed on objects.
- A JavaScript method is a property containing a function definition.
 What does 'this' refer to when used in a Java method?
Answer:Note: Topic we are studying is Java Script, while question
context is 'Java Method',that seems to be related to Core Java.
Context is confusing, that is why, I wrote both asnwers. What ever you
are looking for.
Core Java
- From Core java point of view, 'this' refers Global class variables/methods.
In following example constructor of 'A' refers its own global variable 'a=1',
Instead of local variable 'a=2'. So, s.o.p output will be '1'.
Example: class A{int a=1; A(){int a=2; s.o.p(this.a);}}
Java Script Method
- In javascript 'this' refers the inner most scope, in case of method example given below.
this.count refers, inner most value of count '1'. Not the outer count value '0'.
Example:
<script>
var count=0;
var b = (function(){
count=1;
var testVar= {
c:function(){
alert(this.count);
},
d:this.count
};
alert(testVar.d);
});
</script>
4. What does 'this' refer to when used in a JavaScript method?
Answer:
- 'this' in JavaScript method refers outer most, script level scope.
in following given example alert this.count refers, value '0'. Not
the internal value '1'.
Example:
<script>
var count=0;
var test=function a(){
var count=1;
alert(this.count);
}
</script>
5. What does 'this' refer to when used in a JavaScript function?
Answer:
- 'this' in JavaScript function refers outer most, script level scope.
in following given example alert this.count refers, value '0'. Not
the internal value '1'.
Example:
<script>
var count=0;
function a(){
var count=1;
alert(this.count);
}
</script>
6. What is a free variable in JavaScript?
Answer:
- Variables defined outside of functions/methods. In above script examples
variable 'count' defined outside of function/method is a free variable.
- free variable: A variable referred to by a function that is not one of its parameters or local variables.
7. Create an object that has properties with name = "fred" and major="music" and a property that is a function
that takes 2 numbers and returns the smallest of the two, or the square of the two if they are equal.
Answer:
<script>
var personDetails =function(){
var person = {
name:"fred",
major="music",
smallest:function(a,b){return (a<b?a:b);}
};
return person;
}
</script>


Provides functions to perform the fitting of an adaptive mixture of Student-t distributions to a target density through its kernel function as described in Ardia et al. (2009) <doi:10.18637/jss.v029.i03>. The mixture approximation can then be used as the importance density in importance sampling or as the candidate density in the Metropolis-Hastings algorithm to obtain quantities of interest for the target density itself.
| Version: | 2.1.3 |
| Depends: | mvtnorm |
| Suggests: | coda |
| Published: | 2017-02-05 |
| Author: | David Ardia [aut, cre], Lennart Hoogerheide [ctb], Herman van Dijk [ctb] |
| Maintainer: | David Ardia <david.ardia.ch at gmail.com> |
| BugReports: | https://github.com/ArdiaD/AdMit/issues |
| License: | GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| Copyright: | see file COPYRIGHTS |
| URL: | https://github.com/ArdiaD/AdMit |
| NeedsCompilation: | yes |
| Citation: | AdMit citation info |
| Materials: | README NEWS |
| In views: | Bayesian, Cluster, Distributions |
| CRAN checks: | AdMit results |
| Reference manual: | AdMit.pdf |
| Vignettes: |
Adaptive Mixture of Student-t Distributions for Efficient Simulation |
| Package source: | AdMit_2.1.3.tar.gz |
| Windows binaries: | r-devel: AdMit_2.1.3.zip, r-release: AdMit_2.1.3.zip, r-oldrel: AdMit_2.1.3.zip |
| OS X binaries: | r-release: AdMit_2.1.3.tgz, r-oldrel: AdMit_2.1.3.tgz |
| Old sources: | AdMit archive |
| Reverse suggests: | MitISEM |
Please use the canonical form https://CRAN.R-project.org/package=AdMit to link to this page.


Ban appeal form
Why were you banned?
Why do you feel you should be unbanned?
What will you do to avoid being banned in the future?
Enter Discord Code:
Join the Ban Appeals Discord to get the Discord code:
Join the Ban Appeals Discord
Do NOT leave the Discord! Doing so will cancel your ban appeal!
Submit


--- layout: post title: HP To Unveil Cloud Identity Services for OpenStack date: '2012-02-04T19:57:50-08:00' tags: tumblr_url: http://alexhwilliams.tumblr.com/post/17071864466/hp-to-unveil-cloud-identity-services-for-openstack ---
http://bit.ly/x10lat


Welcome to your Dashboard Coach ....
Home
Players
Scouts
Create Account
Player1
Player2
Player3
Player4
Player5
Player6
Player7
Player8
Player9
Two Points
Three Points
Foul
Freethrow
Steal
Block
Assist
Rebound


Home
ASCII Character codes checker
Text is too large and has been split in chunks of 10000.
Next Occurrence


Plan 1
Free
Sign Up
Plan 2
2€
per month
Sign Up
Plan 3
3.75€
per month
Sign Up
Feature 1
Feature 2
Feature 3
A responsive pricing table that shows the comparison between the different plans even on small devices.


NKDPostnetBarcode Class Reference
| Inherits from | NKDBarcode : NSObject |
|---|---|
| Declared in | NKDPostnetBarcode.h NKDPostnetBarcode.m |
Overview
@class NKDPostnetBarcode
This is a two of five barcode that uses the height of the bars, rather than the width, to encode numeric data
– initWithContent:printsCaption:
Overridden method that sets values for this barcode according to USPS specifications
- (id)initWithContent:(NSString *)inContent printsCaption:(BOOL)inPrints
Parameters
inContent |
The content to be encoded |
|---|---|
inPrints |
Ignored; PostNet never uses a caption. |
Return Value
Initialized barcode encoding content using PostNet encoding
Discussion
@method initWithContent:printsCaption
We are using a bar width of .015" and a gap space of .030" - this spacing is within the US Postal Service’s specs and since the gap space is exactly twice the bar width, we can represent the gap with two zeros and represent all bars as one one. The real logic for this barcode is in the barTop method, which makes it a somewhat unusual subclass of NKDBarcode.
This constructor also calculates the checkdigit; Check digit is a mandatory part of PostNet.
Declared In
NKDPostnetBarcode.h
– printsCaption
Overridden because PostNet NEVER uses a caption
- (BOOL)printsCaption
Return Value
NO
Discussion
@method printsCaption
Declared In
NKDPostnetBarcode.h
– initiator
Initiator in PostNet is a single tall bar plus a gap of twice the bar width.
- (NSString *)initiator
Return Value
“100”
Discussion
@method initiator
Declared In
NKDPostnetBarcode.h
– terminator
Terminating character in PostNet is a single tall bar.
- (NSString *)terminator
Return Value
“1”
Discussion
@method terminator
Declared In
NKDPostnetBarcode.h
– _encodeChar:
Simple routine to return five bars separated by double-width gaps
- (NSString *)_encodeChar:(char)inChar
Return Value
“100100100100100”
Discussion
@method _encodeChar:
All postnet characters are five equally spaced bars of the same width; the encoding is in the bar heights, so the real work of this subclass is done in the barTop: method
Declared In
NKDPostnetBarcode.h
– barTop:
Returns the location of the top of a specified bar (assuming origin at lower left)
- (float)barTop:(int)index
Return Value
TALL_BAR or SHORT_BAR corresponding to the top of the specified bar
Discussion
@method barTop:
This method calls out to _heightForDigit:andBar: to find out if a given bar should be a tall bar or short bar. The top value for tall and short bars are defined constants TALL_BAR and SHORT_BAR
Declared In
NKDPostnetBarcode.h
– _heightForDigit:andBar:
Private method used by the overridden _encodeChar, to determine whether to use a tall or short bar at a given bar for a particular numeric character
- (float)_heightForDigit:(int)index andBar:(int)bar
Parameters
index |
Integer that specifies the index (0-4 because it’s a 2 of 5 code) within an encoded character |
|---|---|
bar |
Index within content of the character we’re asking about |
Return Value
Either TALL_BAR or SHORT_BAR.
Discussion
@method _heightForDigit:andBar:
Declared In
NKDPostnetBarcode.h
– generateChecksum
Generates a simple check digit that is modulus 10 algorithm - add up all the digits, and then however many you need to add to that sum to make it evenly divisible by 10 is the check digit character
- (void)generateChecksum
Discussion
@method generateChecksum
Declared In
NKDPostnetBarcode.h
– isContentValid
Validates that this barcode supports the data it is encoding.
- (BOOL)isContentValid
Discussion
@method isContentValid
This method checks the actual content string to make sure that this encoding scheme can encode the data it contains. For example, numeric-only schemes should return false if a string with one or more letters is passed. If there is a checksum used for the content. that can also be checked here. Don’t override if validation isn’t desired or required.
Declared In
NKDBarcode.h


{% extends "base.html" %} {% import "bootstrap/wtf.html" as wtf %} {% import "training/macros.html" as macro %} {% block title %}traipor - your {{ model }} plans{% endblock %} {% block page_content %}


AMATH Solver
by Prapat Suriyaphol
The supported operators are plus (+), minus (-), multiply (*) and divide (/).
Blank piece is not supported.
An example of input is
1122238+-=
The solution can take time about 5-10 seconds depending on the number of pieces. Please be patient.
I recommend not to put more than 9 pieces as shown in the example.
Please enter your pieces for AMATH solver
your question is {{question}}
your solutions are
{% for item in solution %} {{item}}
{% endfor %}


Business Branding & GraphicsDesigning
Make your business a brand
Smart business branding is critical today to stand out from the competition. You have to be distinct, or you’ll get lost in a sea of companies out there.
Success with branding in marketing and sales comes down to excelling in all three major areas:
- Standing out from the competitors
- Targeting the right audience
- Communicating your story consistently
We provice below mentioned business supportive services,
- Graphics Designing
- Logo Designing
- Advertising
- Business Marketing
Business Marketing
There are many many social media platforms where you can market your brand,
- Google Business
- Linkedin etc.
Apart from Social media marketing there is other way to reach your target audiance personally, which is E-mail marketing. In this marketing personalized mail is sent to specific targeted audiance about your products, recent developemnt in business, new product launches etc. so that, they will get to know your products and show their interest.
We will help your business to manage all this and support the growth of your business,


WITNESS LIST State Health Care Expenditures, Select Committee April 8, 2003-4:00P HB 1256 For: Fuller, Jake (Border Health Caucus - South Texas) Against: Yoder, M.D., Eric (AmeriGroup Texas Inc., and Texas Association of Health Plans) HB 1868 For: Bujanda, Miryam (Methodist Healthcare Ministries) Dunkelberg, Anne (Center for Public Policy Priorities) HB 2607 For: Cullen, Jim (Self and Hays Educators Association; Texas State Teachers Association Local Chapter - Hays CISD) Felthauser, Karen P. (TSTA Support Personnel) New Haschke, Donna (Texas State Teachers Association) Owens, Felecia (Self) Starling, Daniele R. (Hays Educators Association (HEA) / TSTA / Teacher) HB 2705 For: Bujanda, Miryam (Methodist Healthcare Ministries) HB 3122 For: Lee, Donald (Texas Conference of Urban Counties) On: Berndt, Trey (Health and Human Services Commission) HB 3484 For: Elrod, Susanne (Texas Center for Disability Studies) Schwartz, Jonas (Advocacy, Inc.) SB 240 For: Dunkelberg, Anne (Center for Public Policy Priorities) On: Berndt, Trey (Health and Human Services Commission)


Year 2014 Performances- 30 kilometers Road
CAN Women 1:47:13.3 (1) Krista Duchene (ON) 09 Jan 1977 30 Mar 2014 Hamilton ON/CAN
Last Updated on 02 Apr 2014


Here is the value of aString from the app controller: {{ app.aString }}
Here is the value of aConstant from the app controller: {{ app.aConstant }}
The example common directive is applied to this paragraph (check the console).
The example common filter is used on aString here: {{ app.aString | commonFilter }}
Shall we display the submodule?
Here is the list of items loaded from the API and resolved in example-module.js
The currently loaded item is {{ example.item.title }}


Few minutes of blood donation process can be changed into lifetime to someone.
To the young and healthy it’s no loss. To sick it’s hope of life.


HOODLUM (1997) A film review by Nick Schaden Copyright 1997 Nick Schaden
At one moment in "Hoodlum" Laurence Fishburne holds a switchblade to a gangster's throat. About to finish him off, Fishburne pauses. A tear rolls from his face. Whether you think Fishburne's emotions are appropriate or not, you can see that Fishburne is trying - trying with all his might to captivate the audience. This intensity that "Hoodlum" pushes throughout makes for a high quality and sometimes stunning movie.
"Hoodlum" is set in the 1930s during the era of the Great Depression. For much of the impoverished, working for and betting on an underground lottery, nicknamed "numbers" is the only way to bring food to the table. Mobster Dutch Schultz (Tim Roth) had decided to increase his numbers boundary to Harlem, which would throw many blacks out of jobs into the streets. The main force which runs numbers in Harlem is determined to stop Schultz's plight. Bumpy Johnson (Laurence Fishburne), a leader of the Harlem force, decides to take Schultz head on - which results in betrayal, deals, and war between the mobsters and the Harlem force.
We've seen this kind of plot before ("The Untouchables") and none of the audience is surprised when plenty of bloodshed results. Instead what makes the movie so good is the intensity, the effort shown by the actors and screenplay to make the movie work. Shoot-outs are shot with strong visual intensity and little or no music, illustrating the horrors of war between the mobsters and Harlem. The emotional scenes have good cinematography and many times booming music for the viewer to really feel the characters' emotions. To boot, the movie doesn't try for too many subplots and thus keeps the movie simple yet clear to the viewer. Finally, Laurence Fishburne's acting is superb, I loved many of the small emotional touches he imprints in "Hoodlum".
The movie still falls short in a few areas. Tim Roth, a great actor of our time, at certain points can get old spewing "f" words as though he's reenacting that famous coffee shop scene from Pulp Fiction again and again. While Vanessa Williams acts much better in this movie than in the dreadful Eraser, at times of extreme emotion she stumbles. Finally, the movie seemed a bit too long - I enjoyed the movie but certain scenes seemed to continue longer than necessary.
While "Hoodlum" can't measure near the greatness of Martin Scorcese's mobster movies ("Casino", "Goodfellas") it's still a strong film and was definitely worth my $5.50 admission.
Nick's rating: +3 (Recommended)
*** Movies rated from -4 (worst) to +4 (best), 0 = average movie ***
-- Nick Schaden Send your comments to<EMAIL_ADDRESS>Check out all of Nick's reviews at: http://uslink.net/~cpunut/movies.html
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


THE POSEIDON ADVENTURE A film review by Andrew Hicks Copyright 1996 Andrew Hicks / Fatboy Productions
(1972) *1/2 (out of four)
The crown jewel of 1970's Irwin Allen disaster movies, THE POSEIDON ADVENTURE features an all-star cast including Gene Hackman and Ernest Borgnine spouting some of the most laughable dramatic dialogue in movie history while trapped on a cruise ship. The story begins on the U.S.S. Poseidon's big New Year's cruise, where we are introduced to the ensemble of people who will soon be the only passengers left alive.
Let's see, there's the New Age preacher (Hackman) who advises people to "pray to that part of God within yourself." There's the ex-cop (Borgnine) who busted a hooker (Stella Stevens) six times -- then married her. There's the hippie singer ("There's got to be a morning after...") who turns to the company of a lonely man (Red Buttons) once her brother is killed. And to round out the group: the elderly couple (Jack Albertson and Shelley Winters) who live aboard the ship, the beautiful teenage girl and her brother who are sailing alone and adventurous Scotsman Roddy McDowall.
We get to know these people a little too well in the first thirty minutes of THE POSEIDON ADVENTURE, before straight- faced ship captain Leslie Nielson looks in horror at the giant tidal wave headed right for the ship. Everyone's in the giant ballroom at the time, shortly past midnight of the new year, when the ship turns first on its side, then completely upside down. The second- in-command wants everyone to wait in the ballroom until help arrives, but rebel Hackman leads his small band of followers on a quest to the top of the ship.
In this case, because the ship is overturned, the top is the bottom. Or is the bottom the top? Either way, we get to see a lot of bottoms because the two beautiful women in the crew are both conveniently wearing hot pants during the scenes where the camera shoots upwards while they climb up ladders and -- in the ballroom scene -- Christmas trees. Thus begins an hour or more of hushed trips down long corridors, through burning rooms, etc. while the ship slowly fills with water behind them.
It's a race against the clock which is only mildly interesting. THE POSEIDON ADVENTURE works more as a Bad Movie To Laugh At, with all the melodrama that comes in-between the non-thrilling action scenes. The one note in Borgnine's one-note performance is to be a cranky old man that argues with Hackman every step of the way while Buttons and the hippie fall in love (although since there isn't a sex scene, we never find out if his buttons really are Red) and Albertson and Winters wonder if they'll live to see their grandson's birth.
Shelley Winters provides the most hilarious scene in the movie in a scene toward the end, where water has flooded the next two rooms of the ship and Hackman is preparing to dive under with a rope for the rest of them to pull along. Winters, who has been the whiny fat woman throughout the movie (Stevens even not-so- affectionately calls her "fatass" in one scene), finally finds her purpose. "I was the underwater swimming champ of New York three years running when I was seventeen," she brags, and before Hackman can even ask her how she could be seventeen for three years, she's swimming through the water, her skirt billowing up around her hips, showing off her cellulite (or do you call it Shellulite?) ridden thighs. It's not so much funny as innately disgusting, which pretty much sums up THE POSEIDON ADVENTURE as a whole.
--
Visit the Movie Critic at LARGE homepage at http://www.missouri.edu/~c667778/movies.html Serving America For Over 1/50 of a Century!
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


statement_timeout
Values (Default in Bold)
0 (turns off limitation), x milliseconds
Description
Aborts any statement that takes over the specified number of milliseconds.
The statement_timeout value is the maximum amount of time a query can run before Amazon Redshift terminates it. This time includes planning, queueing in WLM, and execution time. Compare this time to WLM timeout (max_execution_time) and a QMR (query_execution_time), which include only execution time.
If WLM timeout (max_execution_time) is also specified as part of a WLM configuration, the lower of statement_timeout and max_execution_time is used. For more information, see WLM Timeout.
Example
Because the following query takes longer than 1 millisecond, it times out and is cancelled.
set statement_timeout to 1; select * from listing where listid>5000; ERROR: Query (150) cancelled on user's request


The recruiting process employed by major technology companies can often seem like a black box. In a pretty untraditional type of talk for a JavaScript conference, I will dive deep into exactly how the process works at Facebook in order to give you an idea of what to expect and how to prepare if you ever decide to apply for a major technology company.
Never Underestimate the power of a t-shirt as currency in the tech industry.
Are you passionate about your work?
Open Source, published work, social media, meetups, be somewhere!


3. Rented properties – who is responsible for the bill?
Find out if landlords or tenants are responsible for paying council tax.
Tenants who have a tenancy agreement of six months or longer
Tenants are responsible for the council tax bill whilst they are living in the property.
If they leave the property unoccupied before their contract runs out, they will remain liable for the bill until their tenancy agreement comes to an end, or another tenant begins a new contract.
The landlord will become responsible for the bill if the property remains unoccupied after the contract runs out, until there is a new tenant.
Rolling tenancies
If the tenant has moved onto a rolling tenancy, they will continue to be responsible for the council tax bill whilst still living in the property.
The tenant may remain liable for the council tax bill after they move out. This will be the case if they move out before the end of their agreed period of notice and there was wording in their original fixed-term contract that stated they would remain liable for the bill until this date. This is known as a ‘contractual periodic tenancy’.
If the end of the agreed period of notice has been reached and no new tenancy agreement has begun, the landlord will become responsible for the bill, until there is a new tenant.
Tenants who have a tenancy agreement of less than six months
Tenants are only responsible for the council tax bill whilst they are living in the property. This means that if they move out before the end of the contract the landlord will become responsible for paying the council tax bill until a new tenancy agreement begins.
If the rented property is not the tenant’s main residence - what is a main residence?, the landlord is responsible for the council tax bill for the duration of their tenancy agreement.
If a property is unoccupied and unfurnished for seven days or less no council tax will be payable for this period.
Houses in multiple occupation
The owners of houses in multiple occupation (HMOs) are responsible for paying the council tax bill.


Galenus is an organization conceived to address and bridge the gap between IT and the healthcare industry. We aim to simplify the communication between doctor and patient. Not only that we provide our patients useful information for their health but we also facilitate their access to practicing healthcare professionals.Our specialty is Ear, Nose and Throat (to be continued)
Our site is compatible with the latest version of the most known internet browsers
You can make an appointment to an excellent doctor in just seconds
For any additional information please contact us and we will make it work. Register as a user and you can make appointments and chat with your favourite doctor
Latest treatments for the most common and more than unpleasant symptoms are a just click away.
You can use our services on your mobile phone too
You can contact one of your doctors online. The treatment could be provided instantly.


Undergraduate student at Delhi technological University
A
Tech geek,Coder,Developer,Music Producer,writer,Designer and Much
More!
Namaste ! I am Devesh a second year Student of Delhi Technological University pursuing Btech majors in Mathematics and Computing.A tech geek who is in with Coding,Developing and creating crazy stuff.Feel free to look around and if you like it get in touch.
Get Started!
Coding and Development
C++
Java
python
Nodejs
Android studio
Mysql
See My projects on
github or my profile at
hackerrank.
F L studio, MMP,
Virtual Dj(Music production)
Adobe Photoshop,
illustrator(Image editing)
Adobe after effect(Video Editing)
Listen to my Music on
Youtube
It's not hard to write when your hand is led by your heart.
My
writings and my poster design are Available on
Devweb-Imageportal..
Though i am beginner to web developement,i somehow managed to develop this website.You have to make your websites with love these days!
Ready to start your next project with me? That's
great!Meet,Discuss or just say Hello.
Send me an email and I
will get back to you as soon as possible!


Hive is located in downtown Portland accross the waterfront left of Water Avenue Coffee
We have street parking as well as parking spaces avaliable accross the street
The Max line crosses 17th st and Alder and the bus stops are across every third block
Hive has bike racks in the garage for your convenience
1145 W 18th St., Portland, OR 97364
1-855-593-9675


|
Panda3D
|
This class defines the abstract interface to sending datagrams to any target, whether it be into a file or across the net. More...
Public Member Functions | |
| bool | copyDatagram (SubfileInfo result, const Filename filename) |
| Copies the file data from the entire indicated file (via the vfs) as the next datagram. More... | |
| bool | copyDatagram (SubfileInfo result, const SubfileInfo source) |
| Copies the file data from the range of the indicated file (outside of the vfs) as the next datagram. More... | |
| flush () | |
| const FileReference | getFile () |
| Returns the FileReference that provides the target for these datagrams, if any, or NULL if the datagrams do not written to a file on disk. More... | |
| const Filename | getFilename () |
| Returns the filename that provides the target for these datagrams, if any, or empty string if the datagrams do not get written to a file on disk. More... | |
| Streamoff | getFilePos () |
| Returns the current file position within the data stream, if any, or 0 if the file position is not meaningful or cannot be determined. More... | |
| bool | isError () |
| bool | putDatagram (const Datagram data) |
Public Attributes | |
| const FileReference | file |
| Returns the FileReference that provides the target for these datagrams, if any, or NULL if the datagrams do not written to a file on disk. More... | |
| Streamoff | file_pos |
| Returns the current file position within the data stream, if any, or 0 if the file position is not meaningful or cannot be determined. More... | |
| const Filename | filename |
| Returns the filename that provides the target for these datagrams, if any, or empty string if the datagrams do not get written to a file on disk. More... | |
This class defines the abstract interface to sending datagrams to any target, whether it be into a file or across the net.
| bool copyDatagram | ( | SubfileInfo | result, |
| const Filename | filename | ||
| ) |
Copies the file data from the entire indicated file (via the vfs) as the next datagram.
This is intended to support potentially very large datagrams.
Returns true on success, false on failure or if this method is unimplemented. On true, fills "result" with the information that references the copied file, if possible.
| bool copyDatagram | ( | SubfileInfo | result, |
| const SubfileInfo | source | ||
| ) |
Copies the file data from the range of the indicated file (outside of the vfs) as the next datagram.
This is intended to support potentially very large datagrams.
Returns true on success, false on failure or if this method is unimplemented. On true, fills "result" with the information that references the copied file, if possible.
| flush | ( | ) |
| const FileReference getFile | ( | ) |
Returns the FileReference that provides the target for these datagrams, if any, or NULL if the datagrams do not written to a file on disk.
| const Filename getFilename | ( | ) |
Returns the filename that provides the target for these datagrams, if any, or empty string if the datagrams do not get written to a file on disk.
| Streamoff getFilePos | ( | ) |
Returns the current file position within the data stream, if any, or 0 if the file position is not meaningful or cannot be determined.
For DatagramSinks that return a meaningful file position, this will be pointing to the first byte following the datagram returned after a call to put_datagram().
| bool isError | ( | ) |
| bool putDatagram | ( | const Datagram | data | ) |
| const FileReference file |
Returns the FileReference that provides the target for these datagrams, if any, or NULL if the datagrams do not written to a file on disk.
| Streamoff file_pos |
Returns the current file position within the data stream, if any, or 0 if the file position is not meaningful or cannot be determined.
For DatagramSinks that return a meaningful file position, this will be pointing to the first byte following the datagram returned after a call to put_datagram().
| const Filename filename |
Returns the filename that provides the target for these datagrams, if any, or empty string if the datagrams do not get written to a file on disk.


Zomboat
Massive Multiplayer Online Zombie Infection Game
The apocalypse is here! Civilization is failing! The cities are burning! Zombies have taken over! Your last hope is a voyage on the last freighter leaving L.A for Hawaii. Thankfully you knew the captain of the ship. Unfortunately for you, one of your fellow passengers has been infected. You are about to board ... THE ZOMBOAT! Take on one of over twenty random characters with one of several random skill sets and tools for survival. You might be a medic capable of spawning health packs, or a grizzled ex-cop with his taser, or the retired track star who can still run faster than everyone else! Who will be the zombie? Will you make it to Hawaii? Will you be saved there or drift at sea forever?
The Game
Zomboat is a massive multiplayer online zombie infection game made with Unity C# and the happyfuntimes library at the Global Game Jam 2017. The cool part about using happyfuntimes was that the amount of people that could play our game was basically limitless, as all players had to do was connect to the game url with a computer, laptop, tablet, or smartphone. At the game jam, we had over twenty people playing our game at a time!
The premise of the game, to put it simply, was somewhat like a game of tag. Players spawn in on the zomboat as a character with a different class of skills (runner, policeman, medic, etc.), or in one special person's case, as the zombie. The goal of that zombie was to infect all of the people on the boat within the given time limit, by touching or "tagging" them. Each of those infected became a zombie, and could also infect more humans. The humans' goal was to have at least one survivor (to make it to Hawaii, of course).
Our Global Game Jam submission page can be found here.
The Team
The Lessons
This was my first time at a Global Game Jam, and so one of the things that I learned was basic skills for game jams, such as how to budget time in a 48-hour development life-cycle, how to work with people of other disciplines (artists, sound designers, etc.) in a short period of time, etc.
Additionally, I got to work with Craig Morrison, the Design Department Manager for World of Warcraft. It was immeasurably valuable to be able to work with an industry professional and see how he leads a design process. Some of the skills that he taught us about design are things that I still think about today when making games. Later in the next school year, I was able to take his Game Design course at UC Irvine, which proved to be one of my favorite courses of all time.
In terms of programming, there wasn't anything particular that I learned, besides how to develop in game jam environment. I worked on designing and implementing the character classes, importing and placing the art assets, gameplay logic, etc.


A low-molecular-weight (approx. 10 kD) protein occurring in the cytoplasm of kidney cortex and liver. It is rich in cysteinyl residues and contains no aromatic amino acids. Metallothionein shows high affinity for bivalent heavy metals. (mesh:D008668)
| Synonym | Reference | Specificity |
| Metallothionein | Exact | |
| metallothionein | Exact | |
| MT | Exact |
| Identifier | Name | Relation |
| HGNC:23681 | MT1P1 | isa |
| HGNC:7401 | MT1IP | isa |
| HGNC:7398 | MT1F | isa |
| HGNC:7395 | MT1CP | isa |
| HGNC:7406 | MT2A | isa |
| HGNC:14924 | MT1JP | isa |
| HGNC:7397 | MT1E | isa |
| HGNC:14961 | MT1A | isa |
| HGNC:7408 | MT3 | isa |
| HGNC:14925 | MT1B | isa |
| HGNC:7405 | MT1X | isa |
| HGNC:7396 | MT1DP | isa |
| HGNC:18705 | MT4 | isa |
| HGNC:31864 | MT1HL1 | isa |
| HGNC:7400 | MT1H | isa |
| HGNC:7399 | MT1G | isa |
| HGNC:7404 | MT1L | isa |
| HGNC:7403 | MT1M | isa |
| HGNC:7445 | MT1P3 | isa |


This plugin adds functionality to Openfire that allows an administrator to add custom extensions to the response to Service Discovery requests made at Multi-User Chat rooms.
Copy mucextinfo.jar into the plugins directory of your Openfire installation. The plugin will then be automatically deployed. To upgrade to a new version, copy the new mucextinfo.jar file over the existing file.
When the plugin is installed, a new page will appear on the admin console. It can be found on the "Group Chat" tab, in the "Room Administration" menu. After selecting a room, The "Room Options" menu item will expand with various configuration pages for the room. This plugin adds a page to that section, named "Service Discovery Ext." Use this page to manage to add custom information to the response on Service Discover requests for MUC rooms.


Web Designer- Developer - Graphic Artist
Hi! I'm Mark Glenn A. Labarento, 21 years old. Originally from Pangasinan but studied in Nueva Ecija University Science and Technology. I graduated last April 2018, taken up Bachelor of Science in Information Technology major in Database Application Programming.
I actually know how to build standalone systems with basic Create, Read, Update and Delete (CRUD) operations but I do also creating User Interfaces (UI). Now I create website and Digital art work.


Hello and Welcome,
My name is Riley Peel. I'm an amateur developer looking to go pro.
I'm particulary interested in web and mobile development, but I'm always keen to learn new skills. You can take
a look at some of my recent work on the projects page. Feel free to send me an email at<EMAIL_ADDRESS>If you would
like to check out my code or learn more about there are links to my github and linkedin at the top of the page.
Cheers,
Riley