The worker
Workers consist of the following elements:
- The worker daemon processes which are (currently) based on Resque and execute the actual work inside of a VirtualBox VM. These worker processes are managed through God.
- The VirtualBox VMs each of which is permanently assigned to a worker process through a unique port setting. These VMs are managed through Vagrant, a Ruby wrapper for VirtualBox which provides a commandline interface.
- The Chef cookbooks which are used to provision the VirtualBox VMs.
There are a few Thor tasks which can be used to perform maintenance tasks, but
you might need to update files, start workers and/or rebuild or provision VMs
manually. You can check for existing Thor tasks with thor -T
.
Vagrant
Vagrant is as a Ruby wrapper for VirtualBox and it has a command line interface which we use for VM management.
Our strategy for building VirtualBox VMs using Vagrant works as follows:
- Optionally reset all VirtualBox settings and VMs, stop all VirtualBox daemons.
- Download
lucid32.box
to~/travis-worker
unless it’s already there. - Import
lucid32.box
as a Vagrant box namedbase
. - Boot up and provision a Vagrant VM named “base” based on this box and using the cookbooks.
- Package (export) the provisioned “base” VM to a package named
base.box
stored in~/travis-worker
. - Import the
base.box
package as Vagrant boxesworker-1
,worker-2
, … - Boot up Vagrant VMs named
worker-1
,worker-2
, …
Warning: you do not want to reset VirtualBox with our Thor tasks if you are using VirtualBox (or Vagrant) for anything else than Travis worker development. The respective Thor tasks will always ask you though.
Cookbooks
The Chef cookbooks are used to provision the VirtualBox VMs. They are managed
in a separate repository and
cloned to vendor/cookbooks
.
VirtualBox
You can use the VirtualBox vboxmanage
command line interface to manage
VirtualBox VMs directly (i.e. without using the Vagrant interface). This is
sometimes useful for inspecting VM details. Find documentation about vboxmanage
here.
Sandboxing builds
In order to sandbox executing code from userland we use VirtualBox VM snapshots.
Doing so we will roll back everything to the virgin booted state that is the result of the provisioning. That means that even git clone’d code and downloaded rubygems will be gone after the rollback.
To be more precise here’s what happens:
- The worker gets a build job from the queue.
- It takes a snapshot from the virgin VM.
- It git-clones the repository, bundle-installs dependencies and runs the build.
- It then powers the VM off (equivalent of pulling the power plug).
- For each existing snapshot it first restores and then deletes it one by one. (This is to make sure that in case an uncaught exception has happened all snapshots are still restored and deleted).
- It restarts the VM.
- The worker is now ready to wait for the next build job.
Maintenance
Setting up a new worker box
Currently needs to be done manually. Automate this if you’d like to help!
The box should have a user travis
and the following things installed.
- Ubuntu Lucid32 2.6.32 (the exact kernel version matters!)
- VirtualBox 4.0.10r72479
- Git
- Ruby 1.9.2 (preferably using Rvm)
- Rake, Bundler, God, Vagrant
Install travis-worker
:
$ git clone
the travis-worker repository to~/travis-worker
$ cd ~/travis-worker
$ cp config/worker.example.yml config/worker.yml
$ bundle install
Now edit config/worker.yml
according to your requirements. You might also need
to create a file config/worker.[environment].yml
unless it is already there
for your environment. This (version controlled) file is merged with your (local)
config/worker.yml
file. The latter takes precedence so you can overwrite any
of the settings in your config/worker.yml
file.
You might want to pay special attention to:
- the Redis URL (this is the Redis instance used by the Travis application)
- the Travis application URL (you need to add your Travis username and token here)
- the number of workers (
vms
) that will be used (e.g. you might want 1 for VM/cookbook development and 5 for staging/production use). - the Chef cookbook recipies that will be provisioned to each VM.
That should be all. You can now build the VMs and then start the workers.
(Re-) Building the worker VMs
Before you start working on VMs you want to stop the workers in production and maybe staging! See below for instructions.
You might want to (re-) build all VMs in the following cases:
- You are setting up a new worker server box.
- There are significant changes to the cookbooks and you want to restart from scratch.
- For some reason VMs are broken or don’t boot and you want to rebuild them.
For (re-) building all worker VMs use the following Thor task:
$ thor travis:worker:vagrant:rebuild
Warning: you will be asked if you want to reset the VirtualBox environment (including all settings and all existing VMs).
Do not answer yes
here if you are using Vagrant/VirtualBox for anything else
than Travis worker development! If you are using Vagrant/VirtualBox exclusively
for Travis worker development then you can just always reset VirtualBox (i.e.
answer yes
) with this Thor task.

Adding more workers
If you have started out experimenting with just one worker and VM, are happy with things and want to increase the number of workers/VMs now then you can do that as follows:
- Edit
config/worker.yml
and set the number of VMs to the target number. - Add the additional Vagrant boxes by running
$ thor travis:worker:vagrant:import
. This will show you an error message for each of the existing boxes that can not be overwritten. You can simply ignore these messages. - Boot the additional VMs by running
$ vagrant up
.
Now $ vagrant status
should show you the same number of VMs as you’ve specified
in your config/worker.yml
and they should be all running.
You also need to update God with the new configuration and restart the worker processes:
$ god load .worker.god
Reprovisioning the worker VMs
Before you start working on VMs you want to stop the workers in production and maybe staging! See below for instructions.
With our stategy used for building VMs like described above there are two ways to provision cookbook changes to the worker VMs:
- Simply provision the worker VMs
- Provision the base VM, re-export it to base.box, remove all worker base boxes, re-add base.box as new worker base boxes, destroy all VMs, start new worker VMs. Automate this if you’d like to help!
The first approach provisions on each of your VMs, so if you have 5 VMs it will provision 5 times. The second approach only provisions on the base VM and then use this state as the base for the worker VMs.
Reprovisioning a VM even without any changes to the cookbooks will take some time because various things need to be checked inside of the VM to ensure the installation is in sync with the cookbooks.
With 5 VMs and no changes to the cookbooks provisioning might take something like 5-10 mins depending on the recipes used. If you are adding 2 more Rubies to 5 VMs though then this will run for about 100 mins (~10 mins per Ruby * 2 * 5) with the first approach, whereas the second approach would only take 20 mins.
Stop workers before working on VMs
Before you start working on VMs you want to stop the workers in production and maybe staging. Here’s how you can do that:
$ thor travis:worker:resque:stop # this will stop the workers but wait for current jobs to be finished (might take a little while)
$ ps aux | grep resque # check that all worker processes actually have quit (they should!)
... # work on the VMs
$ thor travis:worker:resque:start # start the workers
blog comments powered by Disqus


---
layout: post
title: ''
date: '2010-05-12T15:41:53-07:00'
tags:
tumblr_url: http://alexhwilliams.tumblr.com/post/593505779/check-out-the-awesomeness-of-this-1980s-video-of
---
Check out the awesomeness of this 1980s video of Elvis Costello singing Oliver’s Army.


Mitigation
The simplest way to mitigate this issue is to ensure that no computer accounts are members of admin groups. Make this policy and enforce it by regularly checking admin groups for computer accounts.
Scanning for this with PowerShell is pretty simple since all that needs to be done is to search for all groups with “admin” in the name (or similar customized to the environment) and flag any member that is objecttype = ‘computer’.
Here’s a quick PowerShell script (requires the Active Directory PowerShell module) that will look for “admin” groups and identify the groups with computer accounts as members.
Import-Module ActiveDirectory
$AdminGroupsWithComputersAsMembersCountHashTable = @{}
[array]$DomAdminGroups = get-adgroup -filter {Name -like “*admin*”}
[int]$DomAdminGroupsCount = $DomAdminGroups.Count
Write-Output “Scanning the $DomAdminGroupsCount Admin Groups in $ForestDomainItem for computer accounts as members”
ForEach ($DomAdminGroupsItem in $DomAdminGroups)
{
[array]$GroupContainsComputerMembers = Get-ADGroupMember $DomAdminGroupsItem.DistinguishedName -Recursive | Where {$_.objectClass -eq ‘computer’} $AdminGroupsWithComputersAsMembersCountHashTable.Set_Item($DomAdminGroupsItem.DistinguishedName,$GroupContainsComputerMembers.Count)
[int]$DomainAdminGroupsWithComputersCount = $DomainAdminGroupsWithComputersCount + $GroupContainsComputerMembersCount
}
Write-Output “$DomainAdminGroupsWithComputersCount Forest Admin groups contain computer accounts”
$AdminGroupsWithComputersAsMembersCountHashTable
As always, this script is provided “as is.”
PowerView, now integrated into PowerSploit, includes capability to help identify computers in admin groups:
Get-NetGroup -AdminCount | Get-NetGroupMember -Recurse | ?{$_.MemberName -like ‘*$’}


About Me
I have completed my Master's in Electrical and Computer Engineering. My most recent experience has been handling the technical issues. During this time, I formed some significant technical customer relationship.
My real strength is that I always want to learn new skills. On top of that, I am extremely passionate about sports. I always finds an inspiration in it.


- paint(Graphics) - Method in class game2D.GameWorld
-
Draws each frame of the game.
- paint(Graphics) - Method in class game2D.ui.HighScoreWindow
-
Overriden method to allow painting of high score list
- paint(Graphics) - Method in class game2D.ui.NameInputWindow
-
Overriden method to allow painting of user input window
- paint(Graphics) - Method in class rainbowReef.ReefWorld
-
Paint background and objects in the game.
- paintComponent(Graphics) - Method in class game2D.ui.HelpWindow
-
paintComponent() method is overwritten to allow painting of background image.
- paintComponent(Graphics) - Method in class game2D.ui.StartMenu
-
- play(String) - Static method in class game2D.GameSounds
-
Creates a new thread to start playing the sound file.
- playClip(String) - Static method in class game2D.GameSounds
-
Play the sound clip.
- player - Variable in class game2D.controllers.InputController
-
- player - Variable in class game2D.ui.HighScoreWindow.PlayerScore
-
- playerBackgroundCollision() - Method in class game2D.GameWorld
-
Detects collision between player and background objects.
- playerEnemyCollision() - Method in class game2D.GameWorld
-
Detects collision between player and enemy objects.
- playerName - Variable in class game2D.ui.NameInputWindow
-
- playerNameInput() - Method in class game2D.GameWorld
-
Window for player name input after game ends
- playerNameInput() - Method in class rainbowReef.ReefWorld
-
display window to accept player name input
- playerPlayerCollision() - Method in class game2D.GameWorld
-
Detects collision between two players.
- playerPowerUpCollision() - Method in class game2D.GameWorld
-
Detects collision between player and PowerUp objects.
- players - Static variable in class game2D.GameWorld
-
- PlayerScore(String, int) - Constructor for class game2D.ui.HighScoreWindow.PlayerScore
-
- playerScore - Variable in class game2D.ui.NameInputWindow
-
- playerScore - Variable in class rainbowReef.ReefWorld
-
- PlayerShip - Class in game2D.objects
-
PlayerShips are game players with input controls.
- PlayerShip(Point, Point, int, int, BufferedImage, String) - Constructor for class game2D.objects.PlayerShip
-
Constructs a player with default 3 lives, 100 health, 100 strength
- playLoop(String) - Static method in class game2D.GameSounds
-
Play the given sound file in continuous loops.
- Pop - Class in rainbowReef
-
Pop is the bouncing starfish.
- Pop(Point, Point2D.Double) - Constructor for class rainbowReef.Pop
-
Constructs a new instance of pop
- POP_WIDTH - Variable in class rainbowReef.PopMotion
-
- popCollision(GameObject) - Method in class rainbowReef.Pop
-
Detects if pop collides with another game object (wall, block, katch, bigleg) and gets the intersect rectangle to calculate pop bounce direction.
- popList - Static variable in class rainbowReef.ReefWorld
-
- popLoc - Variable in class rainbowReef.PopMotion
-
location of pop in double precision
- PopMotion - Class in rainbowReef
-
PopMotion controls motion of pop.
- PopMotion(MoveableObject) - Constructor for class rainbowReef.PopMotion
-
- popSpeed - Variable in class rainbowReef.PopMotion
-
speed of pop in double precision
- position - Variable in class rainbowReef.ReefLevel
-
- PowerUp - Class in game2D.objects
-
PowerUp holds an (upgraded) weapon to give to player.
- PowerUp(Point, Point, Weapon) - Constructor for class game2D.objects.PowerUp
-
- powerUps - Static variable in class game2D.GameWorld
-


Lecture: Variables
What is a Variable?
A good analogy is a labeled box. Outside is the label, inside is something, and it could be anything!
(Stolen from Khan Academy)
Officially:
A variable is a container. It has both a name and a value. You
declare a new variable with the var
keyword, and assign it
(aka give it) a value with the =
sign.
var variableOne = 1
var variableTwo = "Two"
var bensFavLanguage = "JavaScript"
console.log("Ben's favorite language is: " + bensFavLanguage)
In JavaScript the value of a variable can change, but the name cannot. However, you can assign variables with values from other variables.
var bensFavLanguage = "JavaScript"
var studentsFavLanguage = "French"
console.log("Student's favorite language was " + studentsFavLanguage)
// It was French!
// .... after this lecture ....
studentsFavLanguage = bensFavLanguage
console.log("Student's favorite language was " + studentsFavLanguage)
// Now it's JavaScript!
Other fun facts and features of variables:
- Variables can be used and reused as many times as you want
- Variables can hold different kinds of data (Integers, Strings, and more!)
- The name of a variable is very important for you and others reading your code.
- The name of a variable can contain letters, numbers, underscores, or dashes. However it cannot START with a number or a dash (but it can start with an underscore).


Premium Private Investigators (PPI) is a registered company that provides experienced and specialized personnel on “Criminal and Civil cases” promptly gathering and analyzing evidence for greater competence in administration of Justice along Court proceedings, arbitration, litigation, and restitutions; fostering smart partnerships with Clients based on Corporate, Commercial, Claims and Property Investigations. We also set clear expectations and celebrate great performance on Security & Loss Prevention Services (S&LPS)
Our values are guided along our ‘Code of Ethics’ enshrining a “Vision” of Cherished Justice.
,
• Vision; we are inspired by our Vision being the Benchmark of employing holistic investigation strategies, believing such ethical and professional undertaking facilitate much needed Justice.
• Cherish; we cherish for investigation processes which fundamentally acknowledges in togetherness determining how best we can make a difference on prescribed operational tasks and assignments.
• Justice; we do believe Justice delayed is Justice denied as we consistently sharpen and strengthen our professional and technological capabilities; achieving client confidents.
Our smart and swift responds ; translate Client frustrations to Legal Motivations; as we are hereby noticed for the right reasons; allowing our reputation, credibility, and professional standing speak for our Great Work; consistently attaining levels where we are called upon for opinion, comment, and endorsement.
Being “Service Provider” of choice, we always seek build our professional relationships with the corporate world and intellectuals along bilateral alignments designed to foster pro-active services among
• Premium Private Investigators deploys a team/pool of professional investigators who elaborately utilize the methods, tools and skills we call experience and innovation.
• We showcase a culture of consistent effectiveness through utilizing plenty of common sense, methodology, and professionalism at our disposal.
• We never allow events to negatively surprise our clients.
• Sense of belonging is a shared experience within our operations; displaying effective communication mechanisms which upholds proper feedback systems
• Our systems and procedures never expose clients at risk of exposure during investigations;
• We never compromise our reputation and standards at any cost; guided along corporate business ethics.
We are committed “Service Providers”; ensuring successful and enduring investigation processes, in a way that drives pride, trust and commitment; consistently being investigation partner of choice with achievements coming from highly skilled professionals operating with integrity; as they fulfill client’s journey to success..
More effective than most investigation aggencies.
Improving response rate to there quicker.
Amount of time it takes to get to the scene.
we use the most effeciant way to get more case solved per day and we make sure we increase the amount of case solved.
We showcase a culture of consistent effectiveness through utilizing plenty of common sense, methodology, and professionalism at our disposal.
We never allow events to negatively surprise our clients.
Sense of belonging is a shared experience within our operations; displaying effective communication mechanisms which upholds proper feedback systems
Our systems and procedures never expose clients at risk of exposure during investigations
We never compromise our reputation and standards at any cost; guided along corporate business ethics.
Vision: we are inspired by our Vision being the Benchmark of employing holistic investigation strategies, believing such ethical and professional undertaking facilitate much needed Justice.
Cherish: we cherish for investigation processes which fundamentally acknowledges in togetherness determining how best we can make a difference on prescribed operational tasks and assignments.
Justice: we do believe Justice delayed is Justice denied as we consistently sharpen and strengthen our professional and technological capabilities; achieving client confidents.
We also set clear expectations and celebrate great performance on Property Investigations and disputes.
Consistently demonstrating ethical service consistent to safety and corporate discipline within our operations
These interrelated operational structures were put in place to enhance impact and effectiveness within our Framework, facilitating objectivity of our interventions, remedies, and mitigations within the same process.
The biggest threat of any business today comes from
within. Billions of Rands are lost every year to
employee frauds and theft. People who make the business
to grow are the same people who are capable of bringing
it down to liquidation.
Corporate White collar crime refers to financially motivated
crime committed within business and government structures, mostly
by the most unsuspecting personnel. Such catastrophic liabilities/epidemics
to the corporate world feature gross dishonesty dominating financial
crimes of embezzlement, securities, violation of fiduciary rules, bribery,
corruption, extortion, corporate fraud, money laundering, deception, Exchange
Control among other fraudulent acts. Rapid interventions and investigations are
required to swiftly break the “causal chain” and etiology of such criminal acts;
also as a need of cultural shift of disregard to corporate discipline.
Unfortunately Claims Investigations are needed because although many claims are legitimate, there are some that are not. Statistically these illegitimate claims conservatively cost 80 billion Rands annually across all line of insurances. Premium Investigators works with Insurance Companies, Attorneys, and Individual Clients in collaborative partnerships towards investigation of fraudulent claims. Such claims include:
E. Insurance Claims
F. Intellectual Claims
G. Liability Claims
H. Medical Malpractice Claims
I. Product Liability Claims
J. Motor Vehicle Accident Claims
K. Slip and Fall Claims
L. Disability Claims
M. Workers’ Compensation Claims
Fraud is a general term used to describe an act of deceit by an individual or group. The act of deceit can come in many different forms, for example Insurance fraud investigator provides evidence which expose those who make claims in order to get insurance money. Workers compensation fraud investigator seek to expose workers who claim compensation for non-existent injuries or for injuries that occurred outside the kplace or during off hours. The task of the Investigator is to investigate the claim and present the findings so that the client can make informed and reasonable decision based on facts.
Herein we shall deal with investigation of titles required for various purposes including
but not restricted to sale, but also for lease, sublease, and mortgage. For the purpose of
brevity,the reference of sale shall also mean to include purposes of lease, sublease, and license mortgage where
applicable.
Title is a legal term; it means the ownership right to property. Title of property is the prime concern of
everyone at the time of purchasing a property. Every property has a title. Title is the evidence of the right of ownership
or the ground of right of ownership.
N. Investigation of title is very essential since the ownership of property is required to be complete, fair &
free from any doubt, risks, & interests
O. Ensure an investigation is much needed so that a purchaser can take all necessary steps at the time of
acquiring property to obtain a good and clear title of the land.
The investigation of title is a step towards an agreement of sale. An agreement of sale has three main steps
preceding the completion of a transaction of sale; they are:-
• Settlement of the terms of the deal between the parties particularly relating to the consideration & the
property to be transferred.
• Preparation and execution of the agreement
• Investigation of title of the transfer of property
The object of investigations of title is to ascertain the ownership and title of given property, in most cases
immovable in nature. The attributes of ownership are:-
• Right to have and to get possession
• Right to prevent interference by others
• Power of alienation
• Liberty of using the object according to owner’s will
• Liberty of enjoying the fruits and to avail of the object owned
• Liberty of changing its form and even destroying it
What and why Investigation?
Actual possession implies a right to retain it until the contrary is proved and to that extent possession is
presumed to the owner. Investigation of the title starts with the present owner’s original title deed which will
always be the title to the property.
• Checking the Seller’s title should tell the buyer whether the seller has the legal right to sell the property
• It should also inform the buyer of any other interests that affect the property and may have a detrimental
effect on the buyer’s ability to use the property.
• The results of these searches/investigations should inform the buyer whether any one of a number of potential
legal risks affect or are likely to affect the property. Examples of these risks include whether the land is
potentially contaminated or whether there are planning restrictions affecting any development on the land, or the
manner in which the land may be used.
• Apart from the buyer’s object perception, several other parties are interested on results of establishing a
legitimate and bona-fide “title” i.e. Financial Institutions, Insurance Companies, Local Authority and of course
immediate family members who directly or indirectly suffer the consequences of a fraudulent transaction.
Landlord/tenant disputes
P. Rental deposit disputes
Q. Changing locks
R. Forced entry and obstruction
S. Damage to property
T. Demolitions and conversions
U. Evictions
V. Issuing maintenance receipts
W. Utility Services
Security & Loss Prevention Services (S&LPS) provides clients with investigations,
surveillance, managed security services that focus on eliminating the types of less
that impact viability and profitability.
You can trust S&LPS) to
X. Maintain an ongoing quality control program ensuring tangible results and benefits
Y. Generate increased long-term profits through reduction of shrink
Z. Seamlessly provide all Loss prevention and Security capabilities
AA. Maintain a law key, professional, and confidential presence
BB. Work co-operating with an organization’s personnel, achieving maximum results
CC. Commit to unmatched levels of in-house training that leads directly to the best
apprehension and loss recovery results in the industry
To maximize any loss-recovery, we fully investigate, present, and negotiate your Claim
with your insurance company on your behalf.
William Mare Mumbire - (+27)655655423
437 KNOBWOOD AVENUE, THATCHFIELD CENTURION, PRETORIA, 0109
premiuminvestigators056@gmail.com


Our Resume
989 6th avenue, seattle, wa 10098
234-456-5432
<EMAIL_ADDRESS>Qualifications Summary
4 years experience
excellent customer service
great drink knowledge
Relevant Skills
mixology
salesmanship
customer service
Education
graduated high school


The goal of a startup is to figure out the right thing to build the thing customers want and will pay for as quickly as possible. In other words, the Lean Startup is a new way of looking at the development of innovative new products that emphasizes fast iteration and customer insight, a huge vision, and great ambition, all at the same time.
The goal of a startup is to figure out the right thing to build the thing customers want and will pay for as quickly as possible. In other words, the Lean Startup is a new way of looking at the development of innovative new products that emphasizes fast iteration and customer insight, a huge vision, and great ambition, all at the same time.
The goal of a startup is to figure out the right thing to build the thing customers want and will pay for as quickly as possible. In other words, the Lean Startup is a new way of looking at the development of innovative new products that emphasizes fast iteration and customer insight, a huge vision, and great ambition, all at the same time.
The goal of a startup is to figure out the right thing to build the thing customers want and will pay for as quickly as possible. In other words, the Lean Startup is a new way of looking at the development of innovative new products.
The goal of a startup is to figure out the right thing to build the thing customers want and will pay for as quickly as possible. In other words, the Lean Startup is a new way of looking at the development of innovative new products.
The goal of a startup is to figure out the right thing to build the thing customers want and will pay for as quickly as possible. In other words, the Lean Startup is a new way of looking at the development of innovative new products.
The goal of a startup is to figure out the right thing to build the thing customers want and will pay for as quickly as possible. In other words, the Lean Startup is a new way of looking at the development of innovative new products.
©MALIN 2015


User Profile
Full Name:
Email address:
Contact Number:
Company Name:
Designation:
Specilization:
Attachment:
Browse…
Reset
Submit
Thank you!
Your message has been successfully sent.


| Trees | Index | Help |
|
|---|
| Module xmlsec :: Class PtrList |
|
| Method Summary | |
|---|---|
Creates new list object. | |
__getattr__(self,
name)
| |
__setattr__(self,
name,
value)
| |
Adds item to the end of the list. | |
Copies list items to dst list using duplicateItem method of the list klass. | |
Prints debug information about list to the output. | |
Prints debug information about list to the output in XML format. | |
Destroys list. | |
Creates a new copy of list and all its items. | |
Remove all items from list (if any). | |
Cleans up the list initialized with initialize method. | |
Gets item from the list. | |
Returns lists's name. | |
Gets list size. | |
Initializes the list of given klass. | |
Returns 1 if list is not None and list.id is not None or 0 otherwise. | |
Destroys list item at the position pos and sets it value to None. | |
Sets the value of list item at position pos. |
| Method Details |
|---|
__init__(self,
id=None,
_obj=None)
|
add(self, item)Adds item to the end of the list. item : the item. Returns : 0 on success or a negative value if an error occurs. |
copy(self, dst)Copies list items to dst list using duplicateItem method of the list klass. If duplicateItem method is None then we just copy pointers to items. dst : the destination list. Returns : 0 on success or a negative value if an error occurs. |
debugDump(self, output)Prints debug information about list to the output. output : the output FILE. |
debugXmlDump(self, output)Prints debug information about list to the output in XML format. output : the output FILE. |
destroy(self)Destroys list. |
duplicate(self)Creates a new copy of list and all its items. Returns : newly list or None if an error occurs. |
empty(self)Remove all items from list (if any). |
finalize(self)Cleans up the list initialized with initialize method. |
getItem(self, pos)Gets item from the list. pos : the item position. Returns : the list item at position pos or None if pos is greater than the number of items in the list or an error occurs. |
getName(self)Returns lists's name. |
getSize(self)Gets list size. Returns : the number of itmes in list. |
initialize(self, id)Initializes the list of given klass. Caller is responsible for cleaning up by calling finalize method. id : the list klass. Returns : 0 on success or a negative value if an error occurs. |
isValid(self)Returns 1 if list is not None and list.id is not None or 0 otherwise. |
remove(self, pos)Destroys list item at the position pos and sets it value to None. pos : the position. Returns : 0 on success or a negative value if an error occurs. |
set(self, item, pos)Sets the value of list item at position pos. The old value is destroyed. item : the item. pos : the pos. Returns : 0 on success or a negative value if an error occurs. |
| Trees | Index | Help |
|
|---|
| Generated by Epydoc 2.1 on Sun Jan 1 18:42:41 2006 | http://epydoc.sf.net |


Former England rugby captain Dylan Hartley announces retirement aged 33
Hartley is the second most-capped England player of all-time and captained the Red Rose to a Grand Slam victory after being named skipper in 2016
by Aaron Flanagan, https://www.mirror.co.uk/authors/aaron-flanagan/Dylan Hartley has called time on his rugby career aged 33.
The former England captain has been forced into the decision after being unable to recover from a troublesome knee injury.
Hartley missed the entire calendar year's action with his club, the Northampton Saints, and also missed out on a place in the Rugby World Cup squad as a result.
The second-rower is England's second most capped player of all-time, having pulled on the Red Rose jersey 97 times - captaining the nation on 30 occasions, including a Grand Slam-winning campaign.
“I am extremely proud of my journey, both with Saints and representing England, but now is the right time to hang up my playing boots,” said Hartley.
“The last few months have been difficult for me both mentally and physically as I’ve come to terms with the fact that I am no longer able to compete, but I have to thank all the staff at Saints who have all invested so much time in helping me with my rehabilitation, in particular strength and conditioning coach Eamonn Hyland.
“I have loved my journey in rugby. I came to England as a teenager hoping to get a few games of rugby and to see the world. I could have never predicted that one day I’d play 14 years for such a special club and go on to represent and captain England."
He continued: “My career wasn’t perfect, but I wouldn’t have had it any other way. I’m privileged to have experienced some amazing highs while there have also been some personal lows, all of which are powerful experiences that will stay with me forever.
"The final chapter of my career was supposed to go a different way, but that is the nature of professional sport."
England head coach Eddie Jones has paid tribute to Hartley, who he handed captaincy to in 2016.
“Dylan has had a significant international career playing for his country having played 97 Tests, and was a tough, enduring character for us,” he said.
“He was a foundation captain and we owe him a lot for his contribution to the making of this team. We will be forever indebted to him for his dedication and commitment to the team and his love of English rugby.”


--- layout: post title: ! 'i-ADHoRe: Detect Synteny Regions' categories: - Bioinformatics - Genomics - Software tags: - Comparative Genomics - Evolution - Software - Synteny published: true comments: true ---
i-ADHoRe is a highly sensitive software tool to detect degenerated homology relations within and between different genomes.
The i-ADHoRe algorithm is based on the initial ADHoRe algorithm. After detecting initial pairs of colinear segments using the basic ADHoRe algorithm, these pairs are aligned to each other to form a profile that combines their gene order and content information. This profile is then used to detect additional homologous segments that show conserved gene order and content when compared to the profile rather than individual segments. If such an additional segment is discovered, it is included in the profile as well and the search is repeated until no additional segments can be found. All results are outputted in tab delimited text files.
Simillion, C., Janssens, K., Sterck, L., Van de Peer, Y. (2008) i-ADHoRe 2.0: An improved tool to detect degenerated genomic homology using genomic profiles. Bioinformatics 24, 127-8. doi


1. Open your Settings
2. Select your "Wifi network -> (i) -> Configure Proxy -> Automatic"
3. Enter at the "URL" section "http://ffapple.com"
4. Disconnect from your Wifi Network and re-connect
5. Clear Safari History cache
You should now be able to download tutubox :).
1. Download DNSCloak and disable the ffapple proxy
2. Download this Text File and save it to your iPhone
3. Open DNSCloak.
4. Tab on the 3 lines in the left corner
5. In DNSCloak Settings turn on "Connect on Demand"
6. Scroll in DNSCloak settings a bit down and tab on "Blacklist and Whitelist"..
7. Then turn on "Enable Blacklist", a file menu will open and select the earlier downloaded file. (if you already enabled this options just tab on "Pick Blacklist File..")
8. Go back to the main page and Select the DNSServer "a-and-a".
9. Now open settings. Got to and turn on "General -> VPN -> DNSCloak -> (i) -> Connect on Demand"
10. Clear Safari History Cache.
You should now be able to download tutubox :).
Were having mutilple certs for the download since one may not work for you ;)


Three dead in Colombia protests, says defence minister
BOGOTA, Nov 22 — Three people were killed during nationwide demonstrations in Colombia as part of a general strike protesting against the policies of President Ivan Duque’s right-wing government, the defence minister said today.
Carlos Holmes Trujillo told reporters that the deaths had taken place during disturbances in the western Valle del Cauca department.
“Over the last few hours, the authorities have confirmed the death of two people during clashes in Buenaventura and of another in Candelaria, municipalities in Valle del Cauca,” the minister said.
Hundreds of thousands of Colombians took to the streets in the capital Bogota and other cities yesterday to protest Duque’s economic, social and security policies.
There were reports of arrests and clashes as trade unions, students, opposition parties and the South American country’s indigenous organisations took to the streets.
In a statement late yesterday, Duque announced that he had heard the protesters’ demands, but did not respond to their request for direct dialogue.
“Today, Colombians spoke. We hear them. Social dialogue has been a main principle of this government and we need to deepen it with all sectors of society,” he said.
The protests come amid social upheaval across South America, as a wave of unrest over the past two months has battered governments in Chile, Bolivia and Ecuador.
The popularity of Duque’s right-wing government — a key US ally — has been on the wane since his election 18 months ago, as it deals with hosting 1.4 million refugees from neighbouring Venezuela’s economic meltdown as well as the complex fallout of a 2016 peace deal with FARC rebels and rampant drug trafficking. — AFP


PlanGrid is a construction blueprints and project management software.
It was acquired recently by Autodesk and is now under the Autodesk Construction Cloud.
I spent two 4-month internships at PlanGrid. The first was as a frontend engineer, and the last as a backend engineer. Both internships were spent with the Photos team, which is responsible for serving photo-related features including a photo gallery and photos API.
Sep. 2020 - Dec. 2020
Here, I worked primarily on the Photos backend service (Python) and Postgres databases. I dabbled in some cross-team work which involved Node JS backends and tried my hand at the Kotlin service that powers PlanGrid's mobile client platforms.
I built a self-synchronization (red badging) solution to provide a cohesive photos experience across platforms and clients. This involved efficiently computing sync state during CUD operations and then flagging out-of-date clients. Before, clients would have to poll a sync state endpoint to see if they were up to date. With this change, a decreased reliance on manual state polling was enabled.
Additionally, I wrote solutions for visibility rules and role-based permissions for Photos. Whereas photos were initially visible to everyone on a project, they are now shown only to users with the relevant role and permissions.
In this role, I also performed backfills and data migrations, as well as practiced test-driven development.
Jan. 2020 - Apr. 2020
During this time, I worked mainly with React and Apollo Server, and added features like 360-photo viewing and cloud upload support PlanGrid's web photo gallery.
One of my main projects was to make photo reporting a better experience by adding support for customization and filtering. The reports were templated with React, and report processing took place in a Python service.
I also resolved a leading customer request by adding blueprint-based photo reporting to the Sheets feature of PlanGrid. This allowed project users to print out an informative report of the photos attached to their construction sheets.


1
Sam
will watch
television
in
the
evening.
2
He
will hide
under
the
bed
while
playing.
3
We
shall pack
our
bags
tomorrow.
4
Mr. Green
will fly
to
London
next
week.
5
Mom
will go
to
the
market
soon.
6
The
team
will win
the
game
easily.
7
The
maid
will cook
lunch
when
mom
is
at
office.
8
Many
people
will arrive
early
for
the
party.
9
I
shall complete
my
project
today.
10
By
next
year,
Jenny
will play
the
piano
well.


{% verbatim %}
When the training process is finished, we can merge the batch normalization with the convolution or fully connected layer. Doing so will give us a forward acceleration.
For more details about batch normalization，see here
We demonstrate a demo of Mobilenet.
./demo/mobilenet_with_bn.py
./demo/models/mobilenet_flowers102.tar.gz
./demo/mobilenet_without_bn.py
SOURCE_MODEL_NAME
and DEST_MODEL_NAME
in do_merge.sh
sh do_merge.sh
./demo/verify.py
and Run python ./demo/verify.py


IN THE DARK/Jonathan Richards
A.I. (ARTIFICIAL INTELLIGENCE) Written and Directed by Steven Spielberg With Haley Joel Osment, Jude Law UA North, De Vargas PG-13 145 min
The first warning signal flashes on the screen with the opening credit: "an Amblin/Stanley Kubrick production." Amblin, of course, means Steven Spielberg, and the promise of this collaboration is about as reassuring as a duet between Perry Como and Yoko Ono.
Spielberg is about sentiment, Kubrick was about detachment. When you combine those two approaches, what do you get? A robot with emotions. A machine ingeniously constructed and programmed to simulate the responses associated with human feelings. You get David (Haley Joel Osment), a mechanical device with the look of an eleven-year-old boy and a capacity to love and yearn for love in return.
This project, based on a Brian Aldiss short story called "Supertoys Last All Summer Long", lay on Kubrick's drawing board for years, and he had conferred at length with Spielberg about it. After Kubrick's sudden death in 1999, his friend picked up the baton. His desire to create an homage to Kubrick is understandable, but the movie that came out of it is often labored, schizophrenic, self-indulgent, derivative, hackneyed, and long.
The story begins against rolling ocean and a Ben Kingsley voice-over informing us that this is the time after global warming has melted the polar caps and submerged much of the world. Livable land is now at a premium, most of the world's poorer population has been drowned, there is strict governmental control over reproduction, and robots have taken over the menial work. The scene shifts to the lab of Dr. Hobby (William Hurt), who explains the history of robots to his colleagues in a painfully expository lecture. When he broaches his plan to build a mecha (mechanical device) that can love, he's interrupted for a Meaningful Question: "If we create a mecha that can love, can we get humans to love it in return?"
This is the central issue of A.I., and it's a straw man. Humans can love anything, animate or inanimate. We love our cars, we love stuffed animals, we love all sorts of things that have neither a heart, nor a brain, nor courage. Stripped down, A.I.'s premise amounts to this: love is the most essential of emotions, it is mechanically reproducible, and the computerized version is purer and more dependable than the human kind.
After a number of years (leapt, thankfully, at a single bound) Hobby creates his prototype loving mecha, and it is brought home unannounced by Henry Swinton (Sam Robards) to his wife Monica (Frances O'Connor) as a replacement for their son Martin (Jake Thomas), who lies frozen in a very Kubrick-like cryogenics chamber with an incurable disease for which a cure will probably never (hah!) be found.
 For reasons passing understanding David is accepted in the Swinton home, programmed to love Monica (but not Henry), and provided with a best friend, the comatose Martin's Supertoy Teddy bear (voiced by Jack Angel) who presumably comes from the shelves of some futuristic Toys R Us but is smarter than the cutting-edge David, and wiser indeed than anybody else in the movie.
 And when malevolent circumstances conspire to get David thrown out of paradise (if the chilly Swinton household can be so described), Teddy goes with him, a steadfast Jiminy Cricket to his lost Pinocchio, comforting and guiding him in his quest to find the Blue Fairy and be turned into a real live boy so he can go back home to Mommy and bask in her love.
The most interesting character in the movie is Jude Law as Gigolo Joe, a robotic sex toy who befriends David and accompanies him on his search for the Blue Fairy. "She will make you a real boy," he promises leeringly, "for I will make her a real woman!" But the performance the movie depends on is Osment's; and while there's no denying this kid's acting talent, we've seen his trademark scrunched-up face and manic intensity before and it's beginning to suffer from exposure and advancing age.
A.I.'s 2 hour saga winds through three acts: home, the quest, and a resolution two millennia in the future. Along the way it dazzles us with special effects and technical accomplishments, but they perform their wonders in the service of a story that is so full of shallow trickery, and so cluttered with elements hijacked wantonly from other movies ranging from The Wizard of Oz to Planet of the Apes with side trips through most of the Kubrick and Spielberg canons, that it abuses our patience and betrays the promise of true intelligence that made it the most anticipated movie of the summer.
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


What Is Calm¶
Overview¶
Calm provides advanced application-level orchestration that transforms how IT teams manage applications and support the business. Fully integrated into the Nutanix platform, Calm delivers a powerful, common management framework that can be simultaneously leveraged by multiple IT teams to rapidly create and deliver applications.
By approaching applications as complete entities, not just virtual machines (VMs), Calm automates how applications are created, consumed and governed. Calm delivers simple, repeatable and automated management of applications across a variety of environments, including private and public clouds.
How Does Nutanix Solve This Problem¶
Delivering the Enterprise Cloud Vision¶
Application Automation
- App-centric orchestration and lifecycle management
- Policy-based governance
- Self-Service provisioning
Delivering the Enterprise Cloud Vision: Multi-Cloud¶
Multi-Cloud Management
- Abstract applications from cloud infrastructure
- Deploy and manage applications on any cloud
- Visibility and control of public cloud consumption
Calm: Application Lifecycle Automation¶
Blueprints Capture All Elements of the Application¶
Make Sense of Complexity in a Visual Way¶
- Capture organizational knowledge
- Streamline provisioning and lifecycle tasks
- Easy to understand dependencies
Blueprints Are Flexible and Open¶
- Utilize existing Bash or Powershell scripts
- Call any external service using REST API
Blueprints Are Used for Lifecycle Management¶
- Automate routine application management operations
- Reduce errors, delays and downtime
Calm: Self-Service and Governance¶
Nutanix Marketplace Empowers Self-Service¶
- One-Click App Provisioning
- Pre-integrated blueprints
- Self-service based on user role and group
Deploy in One-Click¶
End-to-End Audits and Governance¶
Calm: Hybrid Cloud Management¶
Hybrid Cloud Management¶
Deploy across Clouds Based on Need¶
- Cloud destination is configured once, then used with any blueprint
Automate. Empower. Relax¶
Takeaways¶
Calms Native Capabilities:
- Application Lifecycle Management: Fully automate the provisioning, scaling, and deletion of both traditional multi-tiered applications and modern distributed services using pre-integrated blueprints that make management of applications in private and public clouds extremely simple.
- Customizable Blueprints: Simplify the set-up and management of custom enterprise applications by incorporating all elements of each app, including relevant VMs, configurations and related binaries, into an easy-to-use-blueprint that is managed by the infrastructure team. IT teams can eliminate the hours and days currently devoted to routine application management.
- Nutanix Marketplace: Blueprints can be published directly to end users through the Nutanix Marketplace, giving application owners and developers the ability to request IT services that can then be instantly provisioned.
- Governance: Calm maintains control with role-based governance that limits user operations based on permissions. Additionally, all activities and changes are centrally logged for end-to-end traceability, aiding security teams with key compliance initiatives.
- Hybrid Cloud Management: Automate the provisioning of Hybrid Cloud architectures, scaling both multi-tiered and distributed applications across different cloud environments, including AWS. Calm shows the overall utilization and true cost of your public cloud consumption at a glance so that decisions are based on business needs and budget requirements.


Most data is available at the same time as in backtesting, with the exception of daily data which is often delayed by 4-8 hours (4am - 8am).
US Equities universe selection data is processed at 7-8am ET.


Preparation time
30 mins to 1 hour
Cooking time
1 to 2 hours
Serves
Serves 10-12
Dietary
Sicilian lemon extract and lemon zest add extra zing to this delicious soft fruit cake, topped with blackberries, raspberries and blackberry cream.
For the cake, butter and line three 18cm/7in cake tins with greaseproof paper. Preheat the oven to 180C/350F/Gas 4.
Beat the sugar and butter in a bowl until light and fluffy, then mix in the eggs, one at a time.
Add the flour and the rest of the ingredients, mixing well with a large metal spoon.
Divide the mixture among the three tins and bake for 30-40 minutes, or until the cakes are golden-brown and firm to the touch. Remove from the oven, cool for 10 minutes in the tin and then turn out and cool completely.
For the frosting, blend the blackberries in a food processor or blender until smooth. Stir in blackberry compôte, to taste.
Beat the mascarpone in a bowl until smooth, add the cream and the icing sugar.
Mix in the blackberries with a spoon, taste and add more sugar to taste if necessary.
For the decoration, whisk the double cream until soft peaks form when the whisk is removed from the bowl. Stir in the icing sugar. Transfer the cream into a piping bag.
Assemble the cake by smoothing a layer of the frosting on one cake disc, top with some of the soft fruit, top with another disc of cake, more fruit and then the final disc.
Spread the remaining frosting all around the cake and arrange more fruit on top. Top with milk chocolate and white chocolate flakes. Pipe the cream around the top of the cake.


| Opcode | Instruction | Op/En | 64-Bit Mode | Compat/Leg Mode | Description |
|---|---|---|---|---|---|
| 0F FF /r | UD01 r32, r/m32 | RM | Valid | Valid | Raise invalid opcode exception. |
| 0F B9 /r | UD1 r32, r/m32 | RM | Valid | Valid | Raise invalid opcode exception. |
| 0F 0B | UD2 | ZO | Valid | Valid | Raise invalid opcode exception. |
1. Some older processors decode the UD0 instruction without a ModR/M byte. As a result, those processors would deliver an invalid-opcode exception instead of a fault on instruction fetch when the instruction with a ModR/M byte (and any implied bytes) would cross a page or segment boundary.
| Op/En | Operand 1 | Operand 2 | Operand 3 | Operand 4 |
| ZO | NA | NA | NA | NA |
| RM | ModRM:reg (r) | ModRM:r/m (r) | NA | NA |
Generates an invalid opcode exception. This instruction is provided for software testing to explicitly generate an invalid opcode exception. The opcodes for this instruction are reserved for this purpose.
Other than raising the invalid opcode exception, this instruction has no effect on processor state or memory.
Even though it is the execution of the UD instruction that causes the invalid opcode exception, the instruction pointer saved by delivery of the exception references the UD instruction (and not the following instruction).
This instruction’s operation is the same in non-64-bit modes and 64-bit mode.
#UD (* Generates invalid opcode exception *);
None.
#UD Raises an invalid opcode exception in all operating modes.


FERN GULLY...THE LAST RAINFOREST A film review by Ken Johnson Copyright 1992 Ken Johnson
75 min., G, Animated/Fantasy, 1992 Director: Bill Kroyer Voices of: Tim Curry, Robin Williams, Christian Slater, Samantha Mathis, Richard "Cheech" Marin, Tommy Chong, Tone-Loc
In Fern Gully fairies fly around helping the plants grow. One fairy (voice of Samantha Mathis) gets curious about humans. She learns from Batty, a bat, (voice of Robin Williams) that there are humans nearby. She goes to see what they are like and, by mistake, ends up shrinking one. She brings him back to Fern Gully so his size can be fixed. Another fairy (voice of Christian Slater) gets jealous of the human getting all of Mathis's affections. The fairies find out from the human that other humans are going to be cutting down Fern Gully. They find out that evil Hexxus (voice of Tim Curry) is behind the cutting down of Fern Gully and try to stop Curry.
FERN GULLY...THE LAST RAINFOREST is a very good film with *important* messages behind it. One message is that our forests are important and should be protected. The other message is that testings on animals in labs is bad for the animals and shouldn't be done. I highly suggest that you go see this film, and if you have children you can bring them along too. They may miss the messages, but will enjoy the animation and the story. I give FERN GULLY...THE LAST RAINFOREST a five on a scale of zero to five. FERN GULLY is rated G which means it contains nothing objectionable.
The animation is well done. It is not nearly as good as what the Disney studios do, but I liked it better than what the Don Bluth studios do. Fern Gully is really colorful and looks like a very nice place. The land of the humans and the forest that has been leveled looked very dreary and sad. The tree-cutting machines, although they look quite comical, are drawn looking sinister with dark tinted colors.
The voice talent is from a good set of known actors/actresses. Tim Curry (THE ROCKY HORROR PICTURE SHOW) plays the evil monster of smog, smoke, etc., that is out to level Fern Gully. Tim Curry seems to be on a roll with voices recently. He was a voice on the premiere of the television show "Capitol Critters", which I think is now extinct, the premiere of the television show "Fish Police", which I also think is extinct now, and an episode of "Dinosaurs". Robin Williams (HOOK) does the comical bat who has been used for too many human lab experiments. Christian Slater (PUMP UP THE VOLUME) is a macho, but jealous, fairy. Samantha Mathis (PUMP UP THE VOLUME) is the fairy of Slater's interests. Tone-Loc (THE ADVENTURES OF FORD FAIRLANE and a rapper) does the lizard that shows up early in the film. Richard "Cheech" Marin and Tommy Chong (a.k.a. the drug comedy team Cheech & Chong) do a drugless routine as Stump and Roots.
The music is okay, but not as good as the recent BEAUTY AND THE BEAST and THE LITTLE MERMAID. It does have a rock beat to it. At least the people who do the singing can sing (don't laugh, I have seen some musicals in which no one in the cast can sing). The movie is rather short (only an hour and a quarter in length), which is too bad because I really enjoyed the movie and wish that it had lasted longer.
Ken J<EMAIL_ADDRESS>.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


7 Data exploration
Exploration is about making discoveries. You’ll need a strong sense of curiosity coupled with technical skill if you want to be able to make sense of the data. This chapter will give you the tools to take dirty, unprocessed data and clean it up, discover interesting trends using graphs and summary statistics, and communicate your results to a business audience.
About 10 - 15% of your grade will be based on data exploration. Every version of Exam PA such as December 2018, June 2019, and December 2019 have all had questions about data exploration. Putting in extra practice in this area is garanteed to give you a better score because it will free up time that you can use elsewhere.
The syllabus divides this into three learning objectives, which can make the topic intimidating. Data Visualization, Data Types and Exploration, and Data Issues and Resolutions, but you will always be doing these things together and so this chapter will cover all three at once.
Exploratory Data Analysis (EDA) is usually the first phase of an analytics project. This is as much of an art as it is a science because everyone has their own style. If you ask two actuaries perform EDA on the same data set, they will likely use different methods. These can be broken down into phases.
From the language on the December 2020 Syllabus, these are
Import:
- Evaluate the quality of appropriate data sources for a problem.
- Identify the regulations, standards, and ethics surrounding predictive modeling and data
Tidy:
- Identify structured, unstructured, and semi-structured data.
- Identify the types of variables and terminology used in predictive modeling.
- Understand basic methods of handling missing data.
- Implement effective data design with respect to time frame, sampling, and granularity.
Transform:
- Identify opportunities to create features from the basic data that may add value.
- Identify outliers and other data issues.
- Handle non-linear relationships via transformations.
Visualize:
- Apply univariate and bivariate data exploration techniques.
- Understand the key principles of constructing graphs.
- Create a variety of graphs using the ggplot2 package.
Model:
- Fit and interpret models
Communicate:
- Write the report
7.1 How to make graphs in R
Let’s create a histogram of the claims. The first step is to create a blank canvas that holds the columns that are needed. The library to make this is called ggplot2.
The aesthetic
argument, aes
, means that the variable shown will the the claims.
If we look at p
, we see that it is nothing but white space with axis for count
and income
.
7.1.1 Add a plot
We add a histogram
Different plots are called “geoms” for “geometric objects”. Geometry = Geo (space) + meter (measure), and graphs measure data. For instance, instead of creating a histogram, we can draw a gamma distribution with stat_density
.
Create an xy plot by adding and x
and a y
argument to aesthetic
.
7.2 The different graph types
Only four types of graphs are used for data exploration. You will only need to understand how to interpret them. The SOA will provide you with code needed to create them. There will not be enough time for you to make your own graphs.
7.2.1 Histogram
The histogram is used when you want to look at the probability distribution of a continuous variable.
The template code in your Rmd file will look like this. Just change “variable” to the name without quotes of the variable and then copy and paste.
7.2.2 Box plot
The boxplot compactly displays the distribution of a continuous variable. It visualises five summary statistics (the median, two hinges and two whiskers), and all “outlying” points individually.
7.2.3 Scatterplot
The point geom is used to create scatterplots. The scatterplot is most useful for displaying the relationship between two continuous variables. It can be used to compare one continuous and one categorical variable, or two categorical variables.
7.2.4 Bar charts
There are two types of bar charts: geom_bar() (Univariate) and geom_col() (Bivatiate). geom_bar() makes the height of the bar proportional to the number of cases in each group (or if the weight aesthetic is supplied, the sum of the weights). If you want the heights of the bars to represent values in the data, use geom_col() instead. geom_bar() uses stat_count() by default: it counts the number of cases at each x position.
7.3 How to save time with dplyr
You may have noticed that writing code for data manipulation can be slow. Fortunately, there is a faster, 100%-legal, way of doing data manipulation that has worked for hundreds of exam candidates (the author included) who have taken Exam PA.
Up to this point we have been using old R libraries. By making use of newer R libraries we can save ourselves time. These will all be provided for you at Prometric within the tidyverse library.
7.3.1 Data manipulation chaining
Pipes allow for data manipulations to be chained with visualizations. The possibilities are nearly limitless.
library(tidyverse)
iris %>%
select_if(is.numeric) %>%
gather(feature,value) %>%
ggplot(aes(value)) +
geom_histogram() +
facet_wrap(vars(feature))
Suggested reading of R for Data Science (https://r4ds.had.co.nz/index.html):
| Chapter | Topic |
|---|---|
| 9 | Introduction |
| 10 | Tibbles |
| 12 | Tidy data |
| 15 | Factors |
| 17 | Introduction |
| 18 | Pipes |
| 19 | Functions |
| 20 | Vectors |
7.4 How to explore the data
Let’s look at the health insurance data set. This contains information on patients along with their annual health care costs.
The descriptions of the columns are below.
age
: Age of the individualsex
: Sexbmi
: Body Mass Indexchildren
: Number of childrensmoker
: Is this person a smoker?region
: Regioncharges
: Annual health care costs.
head()
shows the top n rows. head(20)
shows the top 20 rows.

Using a pipe is an alternative way of doing this.
Shortcut: Use CTRL
+ SHFT
+ M
to create pipes %>%
The glimpse
function is similar to str()
.
## Observations: 1,338
## Variables: 7
## $ age <dbl> 19, 18, 28, 33, 32, 31, 46, 37, 37, 60, 25, 62, 23, 56, 27...
## $ sex <chr> "female", "male", "male", "male", "male", "female", "femal...
## $ bmi <dbl> 27.900, 33.770, 33.000, 22.705, 28.880, 25.740, 33.440, 27...
## $ children <dbl> 0, 1, 3, 0, 0, 0, 1, 3, 2, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0...
## $ smoker <chr> "yes", "no", "no", "no", "no", "no", "no", "no", "no", "no...
## $ region <chr> "southwest", "southeast", "southeast", "northwest", "north...
## $ charges <dbl> 16884.924, 1725.552, 4449.462, 21984.471, 3866.855, 3756.6...
One of the most useful data science tools is counting things. The function count()
gives the number of records by a categorical feature.
## # A tibble: 6 x 2
## children n
## <dbl> <int>
## 1 0 574
## 2 1 324
## 3 2 240
## 4 3 157
## 5 4 25
## 6 5 18
Two categories can be counted at once. This creates a table with all combinations of region
and sex
and shows the number of records in each category.
## # A tibble: 8 x 3
## region sex n
## <chr> <chr> <int>
## 1 northeast female 161
## 2 northeast male 163
## 3 northwest female 164
## 4 northwest male 161
## 5 southeast female 175
## 6 southeast male 189
## 7 southwest female 162
## 8 southwest male 163
The summary()
function is shows a statistical summary. One caveat is that each column needs to be in it’s appropriate type. For example, smoker
, region
, and sex
are all listed as characters when if they were factors, summary
would give you count info.
With incorrect data types
## age sex bmi children
## Min. :18.00 Length:1338 Min. :15.96 Min. :0.000
## 1st Qu.:27.00 Class :character 1st Qu.:26.30 1st Qu.:0.000
## Median :39.00 Mode :character Median :30.40 Median :1.000
## Mean :39.21 Mean :30.66 Mean :1.095
## 3rd Qu.:51.00 3rd Qu.:34.69 3rd Qu.:2.000
## Max. :64.00 Max. :53.13 Max. :5.000
## smoker region charges
## Length:1338 Length:1338 Min. : 1122
## Class :character Class :character 1st Qu.: 4740
## Mode :character Mode :character Median : 9382
## Mean :13270
## 3rd Qu.:16640
## Max. :63770
With correct data types
This tells you that there are 324 patients in the northeast, 325 in the northwest, 364 in the southeast, and so fourth.
health_insurance <- health_insurance %>%
mutate_if(is.character, as.factor)
health_insurance %>%
summary()
## age sex bmi children smoker
## Min. :18.00 female:662 Min. :15.96 Min. :0.000 no :1064
## 1st Qu.:27.00 male :676 1st Qu.:26.30 1st Qu.:0.000 yes: 274
## Median :39.00 Median :30.40 Median :1.000
## Mean :39.21 Mean :30.66 Mean :1.095
## 3rd Qu.:51.00 3rd Qu.:34.69 3rd Qu.:2.000
## Max. :64.00 Max. :53.13 Max. :5.000
## region charges
## northeast:324 Min. : 1122
## northwest:325 1st Qu.: 4740
## southeast:364 Median : 9382
## southwest:325 Mean :13270
## 3rd Qu.:16640
## Max. :63770
Shortcut: This “mutate_if” trick can save you time from having to copy and paste from the SOA’s template code and convert each variable to a factor individually
7.5 How to transform the data
Transforming, manipulating, querying, and wrangling are synonyms in data terminology.
R syntax is designed to be similar to SQL. They begin with a SELECT
, use GROUP BY
to aggregate, and have a WHERE
to remove records. Unlike SQL, the ordering of these does not matter. SELECT
can come after a WHERE
.
R to SQL translation
select() -> SELECT
mutate() -> user-defined columns
summarize() -> aggregated columns
left_join() -> LEFT JOIN
filter() -> WHERE
group_by() -> GROUP BY
filter() -> HAVING
arrange() -> ORDER BY
## # A tibble: 6 x 2
## age region
## <dbl> <fct>
## 1 19 southwest
## 2 18 southeast
## 3 28 southeast
## 4 33 northwest
## 5 32 northwest
## 6 31 southeast
Let’s look at only those in the southeast region. Instead of WHERE
, use filter
.
## # A tibble: 6 x 2
## age region
## <dbl> <fct>
## 1 18 southeast
## 2 28 southeast
## 3 31 southeast
## 4 46 southeast
## 5 62 southeast
## 6 56 southeast
The SQL translation is
Instead of ORDER BY
, use arrange
. Unlike SQL, the order does not matter and ORDER BY
doesn’t need to be last.
## # A tibble: 6 x 2
## age region
## <dbl> <fct>
## 1 18 southeast
## 2 18 southeast
## 3 18 northeast
## 4 18 northeast
## 5 18 northeast
## 6 18 southeast
The group_by
comes before the aggregation, unlike in SQL where the GROUP BY
comes last.
## # A tibble: 4 x 2
## region avg_age
## <fct> <dbl>
## 1 northeast 39.3
## 2 northwest 39.2
## 3 southeast 38.9
## 4 southwest 39.5
In SQL, this would be
Just like in SQL, many different aggregate functions can be used such as SUM
, MEAN
, MIN
, MAX
, and so forth.
health_insurance %>%
group_by(region) %>%
summarise(avg_age = mean(age),
max_age = max(age),
median_charges = median(charges),
bmi_std_dev = sd(bmi))
## # A tibble: 4 x 5
## region avg_age max_age median_charges bmi_std_dev
## <fct> <dbl> <dbl> <dbl> <dbl>
## 1 northeast 39.3 64 10058. 5.94
## 2 northwest 39.2 64 8966. 5.14
## 3 southeast 38.9 64 9294. 6.48
## 4 southwest 39.5 64 8799. 5.69
To create new columns, the mutate
function is used. For example, if we wanted a column of the person’s annual charges divided by their age
health_insurance %>%
mutate(charges_over_age = charges/age) %>%
select(age, charges, charges_over_age) %>%
head(5)
## # A tibble: 5 x 3
## age charges charges_over_age
## <dbl> <dbl> <dbl>
## 1 19 16885. 889.
## 2 18 1726. 95.9
## 3 28 4449. 159.
## 4 33 21984. 666.
## 5 32 3867. 121.
We can create as many new columns as we want.
 For example, we can create a column which is 0
when age < 50
, 1
when 50 <= age <= 70
, and 2
when age > 70
.
health_insurance %>%
mutate(age_bucket = case_when(age < 50 ~ 0,
age <= 70 ~ 1,
age > 70 ~ 2)) %>%
select(age, age_bucket)
## # A tibble: 1,338 x 2
## age age_bucket
## <dbl> <dbl>
## 1 19 0
## 2 18 0
## 3 28 0
## 4 33 0
## 5 32 0
## 6 31 0
## 7 46 0
## 8 37 0
## 9 37 0
## 10 60 1
## # ... with 1,328 more rows
SQL translation:
7.6 Example: SOA PA 12/12/19, Task 1
This chapter is based on the first task of the December 2019 Exam PA.
Already enrolled? Watch the full video.
TASK 1 (12 points)
Examine each variable and make appropriate adjustments.
Examine each predictor variable other than cap_gain both on its own and with respect to value_flag. Make appropriate adjustments. Do not make any adjustments to the cap_gain variable at this time.
There should be no further variable adjustments unless specifically requested.
As a reminder, all data for this book can be accessed from the package ExamPAData
. In the real exam, you will read the file from the Prometric computer.
Because the data is already loaded, simply use the below code to access the data.
To save keystrokes, give the data a short name such as df
for “data frame”.
7.6.1 Garbage in; garbage out 🗑
This is a common saying when working with predictive models. No matter how complex the model, if the data is bad then the entire result will be bad. For this exam, master the art of data manipulation and everything becomes easier!
Begin by looking at a summary.
## age education_num marital_status occupation
## Min. :17.00 Min. : 1.00 Divorced : 6633 Group 1 : 7237
## 1st Qu.:28.00 1st Qu.: 9.00 Married-AF-spouse : 37 Group 2 :10123
## Median :37.00 Median :10.00 Married-civ-spouse :22379 Group 3 :13971
## Mean :38.64 Mean :10.08 Married-spouse-absent: 628 Group 4 : 2444
## 3rd Qu.:48.00 3rd Qu.:12.00 Never-married :16117 Group 5 :12258
## Max. :90.00 Max. :16.00 Separated : 1530 Group NA: 2809
## Widowed : 1518
## cap_gain hours_per_week score value_flag
## Min. : 0 Min. : 1.00 Min. :43.94 High:11687
## 1st Qu.: 0 1st Qu.:40.00 1st Qu.:57.50 Low :37155
## Median : 0 Median :40.00 Median :60.24
## Mean : 1079 Mean :40.42 Mean :60.23
## 3rd Qu.: 0 3rd Qu.:45.00 3rd Qu.:62.95
## Max. :99999 Max. :99.00 Max. :76.53
##
## Classes 'spec_tbl_df', 'tbl_df', 'tbl' and 'data.frame': 48842 obs. of 8 variables:
## $ age : num 39 50 38 53 28 37 49 52 31 42 ...
## $ education_num : num 13 13 9 7 13 14 5 9 14 13 ...
## $ marital_status: Factor w/ 7 levels "Divorced","Married-AF-spouse",..: 5 3 1 3 3 3 4 3 5 3 ...
## $ occupation : Factor w/ 6 levels "Group 1","Group 2",..: 2 5 1 1 5 5 1 5 5 5 ...
## $ cap_gain : num 2174 0 0 0 0 ...
## $ hours_per_week: num 40 13 40 40 40 40 16 45 50 40 ...
## $ score : num 59 55.8 62.8 60.1 53.3 ...
## $ value_flag : Factor w/ 2 levels "High","Low": 2 2 2 2 2 2 2 1 1 1 ...
7.6.2 Be a detective 🔎
Sherlock Holmes is famous for saying “You see, Watson, but you do not observe!”
Just like detectives, actuaries need to collect data and make observations. Each exam has a few “anomalies” in the data which they expect candidates to mention. These could be
- Any value that doesn’t match the Data Dictionary in the Project Statement
- Variables that have
NA
values - Variables that have a lot of factor levels
- Incorrect data types
- Factors that are read as characters or vice versa
- Numeric variables that are factor/character
- Extreme values (Numeric values are too high or low)
You’ll get very good at spotting these with practice. Just from looking at the above summary
, we can observe the following:
Observations
- The data consists of 48,842 obs. of 8 variables.
- The lowest
age
is 17 but the Project Statement says to only include records withage
>= 25. - The
cap_gain
distribution is right skewed because the median (0) is less than the mean (1079) but the Project Statement said not to transform this. Otherwise I would apply a log transform. education_num
takes integer values between 1 and 16. There are a lot of values that are low.- There are missing values when
occupation
isgroup NA
, which means that the person’s occupation is unknown. - The amount that people work per work,
hours_per_week
, varies by a lot. The lowest is 1 hour and the highest is 99. Most people work 40 hours per week.
Study Tip: Never apply a log transform to the target variable. Only the predictor variables get logs taken. At this stage we simply note if it is right-skewed or not.
The SOA’s solution recommends leaving comments in your Rmd file. This helps to give you partial credit on questions that you may answer incorrectly.
Good comments
#I observe that there are no missing values other than those indicated by Group NA for occupation.
#I removed the code provided by my assistant. It is embedded in later chunks as needed.
#I excluded people under the age of 25
df <- df[df$age >= 25,]
#I convert the target to 0-1.
df$value_flag <- ifelse(df$value_flag == "High",1,0)
Useless comments
7.6.3 A picture is worth a thousand words 📷
What’s your favorite type of graph? Mine is a radar chart This is a graphical method of displaying multivariate data in the form of a two-dimensional chart of three or more quantitative variables represented on axes staring from the same point.
Isn’t this pretty?
Don’t waste time trying to make the graphs perfect!
Only change code that you need to change. The SOA is trying to help you save time by giving you templates. That being said, if you can do it faster on your own, then do it your own way.
This is the code template that they give you. You only need to change the “variable” names.
# This code makes a histogram for a continuous variable.
ggplot(df, aes(x = variable)) +
geom_histogram(bins = 30) +
labs(x = "variable") +
theme(axis.text.x = element_text(angle = 90, hjust = 1))
# This code makes a bar chart for a factor variable.
ggplot(df, aes(x = variable)) +
geom_bar() +
labs(x = "variable") +
theme(axis.text.x = element_text(angle = 90, hjust = 1))
Okay, that wasn’t 100% true. It’s common for the code to require small changes. For instance, the histogram that they give you has bins that are too narrow forage
, which causes these spikes to show up in the graph.
The best candidates altered the code to create more appropriate plots and summary tables.
# This code makes a histogram for a continuous variable.
ggplot(df, aes(x = age)) +
geom_histogram(bins = 30) + #not the right number of bins
labs(x = "age") +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
ggtitle("Bad: Default histogram with spikes")
#Histograms of continuous variables
ggplot(df, aes(x = age)) +
geom_histogram(breaks = seq(24.5,99.5, by = 5)) + #make bins wider and set range
labs(x = "Age") +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
ggtitle("Good: After adjusting the breaks")
How do you know when a variable should a factor and when it should be numeric?
7.6.4 Factor or numeric ❓
Which variables should be converted to factors and which should be numeric?
Questions of this sort have come up twice. On Hospital Readmissions, there was a Length of Stay variable that was numeric, but had only a few values and so some candidates treated it as a factor. The education_num
variable here is also numeric but only has 16 unique values. So should this be a numeric or a factor?
##
## 1 2 3 4 5 6 7 8 9 10 11 12 13
## 68 231 446 877<PHONE_NUMBER> 382 13320 7812 1862 1411 7298
## 14 15 16
## 2621 834 593
Ask yourself this question: is there a way of comparing two values of the variable together?
- If yes, then use numeric
- If no, then use a factor
For exmaple, we can say that education_num = 2
is less than education_num = 4
, which means that there’s a natural order. This is also known as an ordinal.
If the factor is say, color
, which can be red
, blue
, or green
, then there is no way of comparing values together. Is red
greater than blue
? This question has no meaning.
ggplot(df, aes(x = education_num)) +
geom_histogram(bins = 30) +
labs(x = "Education") +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
ggtitle("Default number of bins (30)")
ggplot(df, aes(x = education_num)) +
geom_histogram(bins = 16) +
labs(x = "Education") +
theme(axis.text.x = element_text(angle = 90, hjust = 1)) +
ggtitle("Set number of bins to number of factor levels (16) ")
We could also use a bar plot.
Lastly, read the Project Statement carefully and only do what it tells you to do.
Candidates were not required to make a plot for cap_gain. This solution has the plot made here rather than in Task 6.
7.6.5 73.6% of statistics are false 🤯
Really? No, but statistics can help you see patterns that data visualization by itself can miss. Along with the ggplot codes, there will be code to look at summary statistics. Here’s a refresher on what these statistics mean (no pun intended).
- Mean: The average. This gets skewed by outliers easily. If the mean is greater than the median, then the distribution is right skewed.
- Median: The “middle” value. This is an average that reduces the impact of outliers.
- Variance: The amount by which each observation differs from the mean.
- Standard Deviation: The square root of the variance.
- n(): The number of observations. Always take note of groups that don’t have many observations.
# This code provides, for each level of a factor variable, the number for which value_flag is zero, the number for which it is one, the total number of observations, and the proportion of ones.
# Note that the variable name should not be enclosed in quotation marks.
df %>%
group_by(variable) %>%
dplyr::summarise(
zeros = sum(value_flag == 0),
ones = sum(value_flag == 1),
n = n(),
proportion = mean(value_flag)
)
Factors levels should be simplified. If a group has only a few observations then there will be problems with the model. In our data, take a look at the marital_status
column. Do you observe anything unusual?
##
## Divorced Married-AF-spouse Married-civ-spouse
## 6498 31 21661
## Married-spouse-absent Never-married Separated
## 573 8697 1438
## Widowed
## 1512
Only 31 records have Married-AF-spouse
. This is because the sample size n = 31
is too small. In modeling jargon, this is “statistical insignificant” and will cause the p-value on marital_status
to be large. You can fix this in a few different ways
- Delete these records (Not recommended)
- Group these records together with
Married-spouse
(Simplest method)
Let’s use the second method.
First, look at the levels of the factor variable.
## [1] "Divorced" "Married-AF-spouse" "Married-civ-spouse"
## [4] "Married-spouse-absent" "Never-married" "Separated"
## [7] "Widowed"
Now look at the profitability across marital status. For Married-AF-spouse
and Married-civ-spouse
the proportion of high profit customers is high, but for Married-spouse-absent
it is low. Even though these are all “married”, it would be a bad idea to combine them because the profitability is so different.
#Proportion of ones by category of factor variable
df %>%
group_by(marital_status) %>%
dplyr::summarise(
zeros = sum(value_flag == 0),
ones = sum(value_flag == 1),
n = n(),
proportion = mean(value_flag)
)
## # A tibble: 7 x 5
## marital_status zeros ones n proportion
## <fct> <int> <int> <int> <dbl>
## 1 Divorced 5829 669 6498 0.103
## 2 Married-AF-spouse 19 12 31 0.387
## 3 Married-civ-spouse 11727 9934 21661 0.459
## 4 Married-spouse-absent 515 58 573 0.101
## 5 Never-married 8000 697 8697 0.0801
## 6 Separated 1342 96 1438 0.0668
## 7 Widowed 1384 128 1512 0.0847
Then create a vector that has the simpler levels that you want. The order needs to be the same.
The function mapvalues
takes in three arguments. You can read about this by typing ?mapvalues
into the console.
x
: the factor or vector to modify
from
: a vector of the items to replace
to
: a vector of replacement values
Then map the old values to the simpler values.
#Combine the two marital status levels
var.levels <- levels(df$marital_status)
df$marital_status <- mapvalues(x = df$marital_status,
from = var.levels,
to = simple_levels)
Now, when you look at the marital_status
levels, you will see the simpler levels.
## [1] "Divorced" "Married-spouse" "Married-spuouse-absent"
## [4] "Neber-married" "Separated" "Widowed"
You can also check that the number of records is what you expect.
##
## Divorced Married-spouse Married-spuouse-absent
## 6498 21692 573
## Neber-married Separated Widowed
## 8697 1438 1512
7.7 Exercises
Run this code on your computer to answer these exercises.
The data actuary_salaries
contains the salaries of actuaries collected from the DW Simpson survey. Use this data to answer the exercises below.
## Observations: 138
## Variables: 6
## $ industry <chr> "Casualty", "Casualty", "Casualty", "Casualty", "Casual...
## $ exams <chr> "1 Exam", "2 Exams", "3 Exams", "4 Exams", "1 Exam", "2...
## $ experience <dbl> 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, 5, 5...
## $ salary <chr> "48 - 65", "50 - 71", "54 - 77", "58 - 82", "54 - 72", ...
## $ salary_low <dbl> 48, 50, 54, 58, 54, 57, 62, 63, 65, 70, 72, 85, 55, 58,...
## $ salary_high <chr> "65", "71", "77", "82", "72", "81", "87", "91", "95", "...
- How many industries are represented?
- The
salary_high
column is a character type when it should be numeric. Change this column to numeric. - What are the highest and lowest salaries for an actuary in Health with 5 exams passed?
- Create a new column called
salary_mid
which has the middle of thesalary_low
andsalary_high
columns. - When grouping by industry, what is the highest
salary_mid
? What aboutsalary_high
? What is the lowestsalary_low
? - There is a mistake when
salary_low == 11
. Find and fix this mistake, and then rerun the code from the previous task. - Create a new column, called
n_exams
, which is an integer. Use 7 for ASA/ACAS and 10 for FSA/FCAS. Use the code below as a starting point and fill in the_
spaces - Create a column called
social_life
, which is equal ton_exams
/experience
. What is the average (mean)social_life
by industry? Bonus question: what is wrong with using this as a statistical measure?
actuary_salaries <- actuary_salaries %>%
mutate(n_exams = case_when(exams == "FSA" ~ _,
exams == "ASA" ~ _,
exams == "FCAS" ~ _,
exams == "ACAS" ~ _,
TRUE ~ as.numeric(substr(exams,_,_))))
- Create a column called
social_life
, which is equal ton_exams
/experience
. What is the average (mean)social_life
by industry? Bonus question: what is wrong with using this as a statistical measure?
7.8 Answers to exercises
Answers to these exercises, along with a video tutorial, are available at ExamPA.net.


daydream-controller.js
CONNECT
acc scale:
gyro scale:
(Hold home key for 1 second to recenter)
Source
-
Daydream View


This is a tool that converts the Dashlane exported file (Unsecured archive (readable) in CSV format), to an 1Password compatible file (which can be imported). I hope this helps people who are switching from Dashlane to 1Password. If you experience an issue, please open an issue on the GitHub project page.
To be clear, your file will !! never ever !! touch a server, this is all being done on the client side in your browser. You can look at the code on: https://github.com/vblinden/dashlane-to-1password.
Upload your Dashlane exported file (CSV format) with the file uploader to your right, and it will automatically generate and download the 1Password compatible file.
Upload your "Unsecured archive (readable) in CSV format" file exported from Dashlane here.


So this is one of the things I actually started running this blog for. I want to collect all written/watched/seen stuff related to software development, IT in general or simply something interesting in one place and post it weekly in sort of digest.
Since I’m doing this strictly for myself there will be no language or technology specific stuff, but just anything I’ve read or seen during week and found interesting for myself. And since its first issue I’ll add couple of items which I’ve found little bit more than a week ago. Also all articles are in English if other not specified in braces after link.
So lets start.
Articles on software development stuff
Articles on other interesting topics
Videos
Almost all that stuff can be found also on my twitter there I’ll post it just as found.


GuardMyPi
Protecting your berries from unauthorised tampering!
Public Member Functions
|
Public Attributes
|
List of all members
HumanDetector Class Reference
Public Member Functions
int
loadcascade
()
Mat
detect
(Mat ReferenceFrame)
int
loadcascade
()
void
detect
(Mat ReferenceFrame)
int
loadcascade
()
void
detect
(Mat ReferenceFrame)
void
configure_network
()
void
detect
(Mat img)
Public Attributes
CascadeClassifier
human_cascade
Mat
GrayFrame
int
flag
= 0
CascadeClassifier
hua_cascade
std::string
model
= "yolov2-tiny.weights"
std::string
config
= "yolov2-tiny.cfg"
Net
network
= readNet(model, config,"Darknet")
int
human_flag
int
pet_flag
Generated by
1.8.13


This project will be a professional portfolio website with a focus on front-end web development more than just a description of your work, but showing it is my work. This site will be designed for a professional audience where I can demonstrate what I am capable of as a full stack developer targeting user experience. I want my welcome to be extremely inviting including a photo of the city I reside placing my name as a full stack developer.
In this section I will write confidently about myself, including fun facts that demonstrate my unique personality. Providing the user with resources that are valuable, targeting my community here in Albuquerque NM and how web development has changed my life. I will provide my interest and hobbies, my passion for technology and how it led me to apply for an immersive bootcamp here at CNM. I will include a photo of myself to add personality to my site plus it will remind people that they're hiring an actual human and not just a faceless developer behind a computer screen. I will include all languages learned in the bootcamp and displayed through my work provided to review.
I want this to be an a simple user friendly, demonstrating to the user I know how to code and being able to prove I am capable of pulling off absolultey anything a client requests. I want to be able to create a beautiful and impressive website without making it cluttered and complicated. I want to take advantage of my homepage leaving a first impression immediately making clear to the user who I am and what exactly I do and capable of doing. I want to be able to showcase my work Ive currently done as a developer and showcase team work stating I am capable of working as a team player contributions to each project diving deeper than surface level representing the technology used.
The main goal of my portfolio is to land jobs giving interested parties any way to efficiently and effectively get in touch with me. I will include a designated contact page directly in my main navigation menu. I will include a generic simple user friendly contact form where name of contact, email address and phone number will be inserted. If my visitor or customer needs helps, I will make sure my contact will be intuitive and easy to use. Allowing the user I will get back to them as as possible.


{% extends "index.html" %} {% block openid_head %} {% endblock openid_head %} {% block content %}
This is an identity page for {{ username }}


I am a front end developer who believes in learning unlearning and relearning.I demonstrate
skills
needed to create responsive and flexible web applications regardless of the platform.I
am competent and
skilled in tasks that a developer typically performs and can Help you with coding and
prototyping that fits into your app-design process.


@layout("/common/_container.html"){
The Mandarin consonant sounds in this section are not new; you learned them in Section 1 and Section 3. The important new vowel sounds covered here are based on the basic u sound which you learned in Section 11, but there are some areas that need special attention. The new sounds of this section are uai, uan, un, uang, and ueng.
The uai sound is exactly what you would expect from combining the basic u sound and the ai sound (see Section 1). It sounds basically identical to the English word "why." In this section uai doesn’t combine with any consonants. In this form, it is written wai.
The uan sound, too, is exactly what you would expect from combining the basic u sound and the an sound (see Section 1). It sounds like the English word "wand" without the final "d" sound. When this sound appears by itself it is written wan. It also combines with other consonants, making the syllables duan, tuan, nuan, luan, zuan, cuan, and suan. (For more combinations with uan, see Section 13 and Section 14).
Here the learner should note that in the syllables juan, quan, and xuan, the letters "uan" do not follow the rules of pronunciation outlined above. For more information, see Section 16.
For the sound un, the "u" is just not the basic u sound plus an "n" sound. There is actually an extra "uh" sound in there. So the pinyin syllable dun is not pronounced like the English word "dune." It is also not pronounced like "done." It is pronounced like the English word "do" followed immediately by "un" (as in "uncool"). So dun is pronounced something like "doo-un." (Make sure you pronounce it as one syllable.) When the un sound stands alone as a syllable, it is written wen. This same Mandarin un pronounciation also applies to the following syllables: tun, lun, zun, cun, and sun.
Here the learner should note that in the syllables jun, qun, and xun, the letters "uan" do not follow the rules of pronunciation outlined above. For more information, see Section 16.
Both uang and ueng are pronounced as you might expect. The sound uang is pronounced by combining the basic u sound with the ang sound (Section 1')?>). The sound ueng is pronounced by combining the basic u sound with the eng sound (Section 5). When it forms a syllable all by itself, the uang sound is written wang. To see it in combination with other consonants, see Section 13 and Section 14. When the ueng sound forms a syllable all by itself, it is written weng. It does not ever combine with any consonants, so you will actually never see the letters "ueng" written in proper pinyin.
Listen to the sounds of this section and try repeating them by clicking on the syllables below:
| uai | uan | un | uang | ueng | |
| wai |
wan |
wen |
wang |
||
| b | |||||
| p | |||||
| m | |||||
| f | |||||
| d | duan |
dun |
|||
| t | tuan |
tun |
|||
| n | nuan |
||||
| l | luan |
lun |
|||
| z | zuan |
zun |
|||
| c | cuan |
cun |
|||
| s | suan |
Linguist\'s Note:
The following are the IPA symbols for this section\'s pinyin consonant sounds:
| Mandarin: | uai | [uaɪ] | |
| Mandarin: | uan | [uan] | |
| Mandarin: | un | [uən] | |
| Mandarin: | uang | [uɑŋ] | |
| Mandarin: | ueng | [uɤŋ] |


How to play: Arrows move, spacebar shoot. Player object falls thru ground sometimes, don't worry about it. Shoot targets and roam around.


THIS FUND ACCRUED LEGITEMATELY TO US AS COMMISSION FROM FOREIGN CONTRACTS,THROUGH OUR PRIVATE CONNECTIONS.THE FUND IS PRESENTLY WAITING TO BE REMMITTED BY THE APEX BANK TO ANY FOREIGN BANK ACCOUNT PRESENTED BY US FOR THIS REMITTANCE. HOWEVER,BY VIRTURE OF OUR POSITIONS AS CIVIL SERVANTS IN OUR COUNTRY,WE CAN NOT ACQUIRE THIS MONEY IN OUR NAMES,BECAUSE AS HIGH PLACED CIVIL SERVANTS,WE ARE NOT ALLOWED BY THE CIVIL SERVICE CODE OF CONDUCT TO OWN FOREIGN BANK ACCOUNTS OUTSIDE OUR SHORES. ON THE OTHER HAND,IT IS NOT SAFE FOR US TO KEEP THE MONEY HERE DUE TO OUR UNSTABLE POLITICAL ENVIROMENT. WHAT I REQUEST IS A HONEST FOREIGN PARTNER IN WHOSE ACCOUNT WE WILL TRANSFER THE SUM OF $8,200,000.00 US DOLLARS FOR MUTUAL BENEFIT AND FURTHER INVESTMENT PROJECTS IN YOUR COUNTRY. ON SMOOTH CONCLUSION OF THIS TRANSACTION,YOU WILL BE ENTITLED TO YOUR OWN SHARE OF THE TOTAL SUM AS GRATIFICATION. WE HAVE AGREED THAT 30% OF THIS MONEY WILL BE FOR YOU AS OUR FOREIGN PARTNER,IN RESPECT TO THE PROVISION OF A FOREIGN BANK ACCOUNT FOR THE TRANSFER, AND 70% WOULD BE FOR ME AND MY COLLEAGUES. THEREAFTER I AND MY COLLEAGUES WILL VISIT YOUR COUNTRY FOR DISBURSEMENT AND FURTHER INVESTMENT PROJECTS,HENCE THE REASON FOR REQUESTING YOUR SINCERE CO_OPERATION IN WORKING TOGETHER AS PARTNERS AND RECEIVE THE FUND IN YOUR ACCOUNT WITH TOTAL TRUST. FOR FURTHER INFORMATION PLEASE CONTACT ME IMMEDIATELY THROUGH MY CONFIDENTIAL E_MAIL ADDRESS(dr<EMAIL_ADDRESS>) STATING YOUR WISH IN THIS URGENT MATTER. WAITING FOR YOUR REPLY MESSAGE. RESPECTFULLY, DR.IDRISSA SEKK E-MAIL; dr.idrissasekk@yahoo.fr


Let we start producing some images, displayed in Figure 1, os a small simplicial complex and of its skeletons. Notice that the + character operates the join of lists (of HPC values).
from lar2psm import *
⟨2D model examples 3c ⟩
explode = EXPLODE(1.5,1.5,1.5)
VIEW(explode(MKPOLS(model0d)))
VIEW(explode(MKPOLS(model1d)))
VIEW(explode(MKPOLS(model2d)))
VIEW(explode(MKPOLS(model2d) + MKPOLS(model1d) + MKPOLS(model0d)))
◇
Macro referenced in 4b.


---
layout: post
title: ''
date: '2011-07-22T21:58:28-07:00'
tags:
tumblr_url: http://alexhwilliams.tumblr.com/post/7959029628/making-butter-chicken-tomorrow-indian-butter
---
Making butter chicken tomorrow.
Indian Butter Chicken ( Murgh Makhani ) (by sanjeevkapoorkhazana)