--- layout: default ---
QuantumDB currently tracks the database schema in a linear manner historically. Each version has at most one parent version, and at most one child version.This means that every operation you apply on an existing database schema version, produces a new identifiable version of the database schema.
QuantumDB, like a lot of other schema evolution tools, allows the user to define their changes in sets of operations which belong to each other and need to be executed together in a particular sequence. Although each operation in a changeset will yield a new version of the database schema, each change set can be identified by the final resulting version of that change set.
Below you can see an example changelog with 5 versions in total, 2 change sets each containing 2 operations. The first change set can be identified as ed9eb9be2e, whereas the second change set can be identified as cc92b7b121.
In addition we also allow the user to specify an author, and a description for each change set for auditing and debugging purposes.
Using the following code we can define these changelog entries.
changelog.addChangeSet("Michael de Jong",
"Track the time the user was last seen.",
addColumn("users", "last_seen", timestamp(true)),
createIndex("users", false, "last_seen"));
changelog.addChangeSet("Michael de Jong",
"Track when users are created and updated.",
addColumn("users", "created_at", timestamp(true), "NOW()", Hint.NOT_NULL),
addColumn("users", "updated_at", timestamp(true)));
QuantumDB currently supports the following schema operations:
SchemaOperations.addColumn("users", "admin", PostgresTypes.bool(), "false", Hint.NOT_NULL);
This code will create a new admin
column in the users
table, of type
boolean
, which defaults to the false
value, and cannot hold NULL
values. It's not required to set a default value. You can specify zero, one, or multiple hints of the
following types AUTO_INCREMENT
, NOT_NULL
, IDENTITY
.
SchemaOperations.addForeignKey("messages", "sender_id")
.named("message_sender_id_fk")
.onDelete(Action.CASCADE)
.referencing("users", "id");
This code will create a new foreign key called message_sender_id_fk
on the
messages
table, which references the id
column of the users
table
and which will cascade deletes to the messages
table when an entry in the
users
table is deleted. Although this example only uses one column (sender_id
)
which references one other column (id
), you can also specify composite foreign key constraints
by stating multiple column names.
SchemaOperations.alterColumn("users", "admin")
.rename("superuser")
.addHint(Hint.NOT_NULL)
.modifyDefaultExpression("false");
Using the ALTER COLUMN
operation you can alter the name, data type, default
value/expression, and add and remove hints, all in one go.
SchemaOperations.copyTable("users", "customers");
This will create a structural copy of the users
table, and name it customers
.
Please note that this operation does not copy the contents of the original table to the new table.
For that you'll have to use a DataOperation.
SchemaOperations.createIndex("users", true, "email");
This example will create a new index on the email
column of the users
table.
In this particular case an index which enforces that every value in the email
column must
be unique. If you wish to allow duplicate entries, you'll need to pass false
instead of
true
. You can create indices based on multiple columns as well by specifying multiple
column names.
SchemaOperations.createTable("users")
.with("id", PostgresTypes.bigint(), Hint.IDENTITY, Hint.AUTO_INCREMENT)
.with("first_name", PostgresTypes.text(), Hint.NOT_NULL)
.with("last_name", PostgresTypes.text(), Hint.NOT_NULL));
This example will create a new users
table with three columns id
,
first_name
, and last_name
.
SchemaOperations.dropColumn("users", "last_name");
This example code drops an existing column from a table. In this particular case it will drop the
last_name
column from the users
table.
SchemaOperations.dropForeignKey("users", "user_referral_fk");
This example code drops an existing foreign key constraint, named user_referral_fk
from
the users
table.
SchemaOperations.dropIndex("users", "email");
This example code drops an existing index, based on the email
column from
the users
table.
SchemaOperations.dropTable("users");
This example code drops the existing users
table from the database.
Note that this operation is essentially "free" provided that the table is still in use by an older version of the database schema. When the last database schema still using this table is dropped, this table will be actually dropped from the database.
SchemaOperations.renameTable("users", "customers");
This operation renames an existing users
table to customers
.
It's worth noting that this operation is essentially "free", as the current version of QuantumDB doesn't actually change the database structure at all. The rename is handled by adding an alias to QuantumDB's table mapping, pointing to the same physical table as the original. The quantumdb-driver will use this table mapping to ensure your queries are addressed to the same physical table even though you're using the new table name in your queries.
If you mix a "rename table" operation with any other "non-free" operation on the same table, this operation will no longer be "free" and require the creation of a ghost table during the migration.
QuantumDB currently supports simple data operations during the migration. These types of operations are useful (if not necessary) to perform certain migrations. Here's an example:
SchemaOperations.execute("INSERT INTO users" +
"(first_name, last_name) VALUES ('Michael', 'de Jong');");
The command-line interface can perform various tasks and migrations for you. These can be performed by executing commands in the following manner:
$ quantumdb <command> [<parameters...>]
The command-line interface can also list all supported commands by executing the help command:
$ quantumdb help ==> Available commands: > init: Initializes and prepares the database for use with QuantumDB. > changelog: Lists changes recorded in the changelog. > status: Display currently available versions of the database schema. > fork: Forks an existing database schema, and applies a set of operations to the fork. > nuke: Drops everything in the database. > drop: Drops the specified version of the database schema. > query: Execute a query on a specific version of the database schema.
When you start using QuantumDB for the first time in a new PostgreSQL database you'll need to
initialize QuantumDB first. This is done with the init
command. After executing this command:
$ quantumdb init <url> <catalog> <user> [<password>]QuantumDB will scan the database and create tables used to track changes, and store the changelog in the database.
$ quantumdb init jdbc:postgresql://localhost:5432 quantumdb quantumdb quantumdb
==> Scanning database...
> Vendor: PostgreSQL 9.6.1
> Found: 0 tables
> Found: 0 foreign keys
> Found: 0 sequences
==> Persisting current state to database...
==> Database is operating at version(s):
> 8fb3b4e71a: Initial state of the database.
When calling the changelog
command, QuantumDB will retrieve the currently known changelog
from the database and display it.
$ quantumdb changelog ==> Initial state of the database. - QuantumDB > 8fb3b4e71a (active) ==> Track the time the user was last seen. - Michael de Jong > cf3323a79b - AddColumn > ed9eb9be2e - CreateIndex ==> Track when users are created and updated. - Michael de Jong > 72ae28b49a - AddColumn > cc92b7b121 - AddColumn
When calling the status
command, QuantumDB will display the currently active versions of
the changelog. In other words the versions of the changelog that can be used to query the database.
$ quantumdb status
==> Database is operating at version(s):
> 8fb3b4e71a: Initial state of the database.
Entering a Mixed-State (ie. multiple versions of the database schema being active), can be done by
executing the fork
command. This effectively means QuantumDB will try to find a migration
path from a currently active database schema version to the new version, and execute it.
$ quantumdb fork ed9eb9be2e
==> Scanning database...
==> Forking database from: 8fb3b4e71a to: ed9eb9be2e...
==> Database is operating at version(s):
> 8fb3b4e71a: Initial state of the database.
> ed9eb9be2e: Create a users table.
Executing the nuke
command will drop everything inside the database. This
not only includes the QuantumDB meta-info tables, but also your own tables. Note that this command does
not return any confirmation text. This command has been specifically added for testing purposes.
It's not recommended to use this command in production!
$ quantumdb nuke
When you're in Mixed-State, you can move back to a Single-State by dropping everything but one version
of the database schema. This can be done with the drop
command, which will drop everything
inside the database that's associated with the specified database schema version (and not used by
another active database schema version.
$ quantumdb drop 8fb3b4e71a
==> Database is operating at version(s):
> ed9eb9be2e: Track the time the user was last seen.
query
is another debugging command that can be used. The query
will execute
a specified query based on a specified version of the database schema.
$ quantumdb query 8fb3b4e71a "SELECT * FROM users;"


laten API Documentation
Class Hierarchy
object
laten.configregistry.Configuration
-
Sivan's "micro-orm"
laten.engine.EngineApi
-
The rule engine class, exposing the engine API. Everything needed to do content validation should be put in this class as per the existing code.


The cartography
package is a great alternative to make
maps with R. This post explains how to build a customized
choropleth map using it, with
explanation and reproducible code.
The cartography
package is a very good alternative to
the other tools presented in the
gallery for building maps.
It notably allows to:
# Cartography Library
library(cartography)
library(sp)
# Upload data attached with the package.
data(nuts2006)
# Now we have a spdf file (shape file) called nuts2.spdf with shape of european regions.
# We also have a dataframe with information concerning every region.Both object have a first column "id" that makes the link between them.
head(nuts2.df)
# Annual growth per region
nuts2.df$cagr <- 100 * (((nuts2.df$pop2008/nuts2.df$pop1999)^(1/9)) - 1)
# Build a color palette
cols <- carto.pal(pal1 = "green.pal", n1 = 2, pal2 = "red.pal", n2 = 4)
# plot backgroud shapes (sea and world)
plot(nuts0.spdf, border = NA, col = NA, bg = "#A6CAE0")
plot(world.spdf, col = "#E3DEBF", border = NA, add = TRUE)
# Add annual growth
choroLayer(spdf = nuts2.spdf, df = nuts2.df, var = "cagr",
breaks = c(-2.43, -1, 0, 0.5, 1, 2, 3.1), col = cols,
border = "grey40", lwd = 0.5, legend.pos = "right",
legend.title.txt = "taux de croissance\nannuel moyen",
legend.values.rnd = 2, add = TRUE)
# Add borders
plot(nuts0.spdf, border = "grey20", lwd = 0.75, add = TRUE)
# Add titles, legend ...
layoutLayer(title = "Growth rate in Europe",
author = "cartography", sources = "Eurostat, 2008",
frame = TRUE, col = NA, scale = NULL, coltitle = "black",
south = TRUE)


Coverage Summary for Class: StandardMarble (it.polimi.ingsw.model.marketTray)
| Class | Class, % | Method, % | Line, % |
|---|---|---|---|
| StandardMarble | 100% (1/1) | 100% (3/3) | 55,6% (5/9) |
1 package it.polimi.ingsw.model.marketTray; 2 3 import it.polimi.ingsw.commons.ColorMarble; 4 import it.polimi.ingsw.commons.ResourceType; 5 6 /** 7 * This class represents a marble that could be gray, blue, purple or yellow. What makes a standard marble different from a white one is 8 * the fact that it cannot change the resource associated itself and different from a red one is that resource associated can be stored 9 * only in warehouse's depots. 10 */ 11 public class StandardMarble extends Marble { 12 13 /** 14 * Immutable attribute representing resource associated to te marble 15 */ 16 private final ResourceType type; 17 18 /** 19 * Constructor that initializes a standard marble with its color and resource. 20 */ 21 public StandardMarble(ColorMarble colorMarble, ResourceType type) { 22 this.colorMarble = colorMarble; 23 this.type = type; 24 } 25 26 /** 27 * Returns resource associated to the standard marble and it's used while adding resources to player's depots or extradepots. 28 */ 29 public ResourceType addResources() { 30 return type; 31 } 32 33 @Override 34 public boolean equals(Object o) { 35 if (this == o) return true; 36 if (o == null || getClass() != o.getClass()) return false; 37 if (!super.equals(o)) return false; 38 StandardMarble that = (StandardMarble) o; 39 return type == that.type; 40 } 41 42 }


-
Studying Computer Science
Wrocław University of Science and Technology
Faculty of ElectronicsBachelor of Engineering programme, Oct 2015 - Feb 2020 (due to a year off)
-
Without professional experience
- Worked on a number of minor university and personal projects
-
Can code in several languages
-
Competent in
- C++
- HTML
- CSS
- JavaScript
- Java
-
Familiar with
- PHP
- C
- C#
- Shell
- Assembly
- SQL
-
Want to learn
- Python
- Go
-
-
Acquainted with version control and build systems
- Proficient with Git
- Familiar with CMake and Maven
-
With a collaboration-oriented approach
- Aiming to write clean, self-documenting code
- Familiar with the most common design patterns
- Prepared to work with code review
-
Mindful of software versatility aspects
- Internationalization
- Code reusability
- Platform independence


To begin with, this post is dedicated to a certain reader of the blog who, when asked for suggestions for improvement, complained that all our reviews are way to positive.
At the behest of a close friend who had also never tried the place, my first lunch in Philadelphia after three years was at a place creatively called Currito Burrito, right on the??Drexel University??campus by the residence halls. This was housed in a new food court structure that had come up after I left the city. Oh, the excitement.
??
Curbing my natural instincts to go to Subway — primarily because Subway in the US kicks Subway in the UAE’s behind by a mile and a half — I went for the “new Burrito place that is really good.”
Some considerations later, I went for what they called a Mediterranean Burrito, comprising rice, a Black Bean hummus and some other condiments. I wasn’t overtly impressed with the look and feel, or the way he was actually making my burrito at all. And the burrito, right, let me say it was the worst burrito I’ve had, and that graciously includes??my own home-made version.??
??
I don’t really know what else to say except to avoid the place, and particularly the Mediterranean option. The burrito was dry, the rice was…is stuffy an appropriate word? And the flavors just did not work.
??


Blog Post 3: EQ vs IQ
What is Emotional Intelligence
EQ is the understanding and acknowledgment of your own mind. It directly relates to your emotions, and your understanding, management and use of them. A higher EQ means that you can understand and define the emotions you are feeling, and to know and execute what you need to do to solve that problem (if it needs to be solved!).
EQ can be described as a collection of skills, and everyone can learn and grow in and it is useful in various parts of life.
How is it different to IQ
IQ is the measure of someone’s ability to solve logical problems, how efficiently they solve them and the understanding of abstract ideas. Often, it is measured by testing one’s reasoning, long-term, and short-term memory.
The difference between EQ and IQ can be described using an analogy of a journey, a hike perhaps. Let’s call IQ Ian, and EQ Emma.
During the hike, Ian is much more concerned about where they are going and how they are going to get there. How long is it going to take, is there enough food/water, how the track is, does the plan need to be updated.
While Emma cares much more about how everyone is feeling, are there anyone that is exhausted, how is everyone connecting with each other, does anyone need anything. How am I feeling about this hike, am I enjoying myself or is there something keeping me from that?
While not a perfect analogy, I hope it highlights how IQ strengths lie in solving problems that come up, where EQ helps one work well with themselves and others around them. I also hope it demonstrates how these skills work together in a person and the benefit that it brings.
Why is it important?
In the world that we live in, we do not live alone with ourselves, we are social beings that thrive of relations with others, being able to feel heard and understood and understanding others. This is idea is all-encompassing in our lives, not just with family/friends but also at the workplace.
So being in a workplace is not just about efficiently you can complete tasks given to you, but also your journey to getting that work done. How did you feel throughout that time, how did you make your teammates feel, how well did you communicate and understand in a team context? These are all extremely important aspects to thrive and enjoy your workplace!
To summarize...
EQ helps you to understand yourself and to help you work better with yourself as well as others! While everyone can have different levels of EQ, we can all learn to grow in our ability to understand others and ourselves. But as with all things, there must be balance, true healthy happy living is more than just having a high EQ!


You Can Set Up A
WordPress Dev Environment
on
Windows
WordCamp Bawlmer
Oct 14, 2017
You may be familiar with ...
Goals For This Session
- Create environment on a Windows 10 box with ...
- Familiar Windows UI
- Robust toolset
- Easily duplicated
- Low cost
- Includes features:
- Local build & testing
- Smart file editing
- FTP connection to host server
- Version Control & Deployment
This is What I Have On My Desktop
- Local by Flywheel - LAMP stack
- Visual Studio Code - editor
- FileZilla FTP
- Git - version control
- WP Migrate DB - deployment
Who am I and why am I up here?
- 40+ years in IT
- Beginning with software and now returning to it
- Freelance web developer and business owner
- Started with Microsoft -
Why change now?
Today's Development Environment
Editor Preference - Visual Studio Code
- Free
- Open Source
- Runs Everywhere
FTP Client - Really?
- Yes - I insist!
- FileZilla - Just get it
- No editing files using the dashboard editor
define('DISALLOW_FILE_EDIT',true);
Add to
wp-config.php
above the
/* That's all, stop editing! */
line.
Local By Flywheel (LBF)
- Quick Windows Install
- Uses .NET, VirtualBox, Docker
- Includes database utility, SSL cert authentication, Email handler
- Installs additional support utilities
Creating A New WordPress Site with Local
- "Live" Demo
- Build new site
- See environment tools
- Access WP Admin
- See new site
Demo: Adding New Site on Local
Local Dev Environment Exists on Windows
What does it look like and what do I do with it?
WordPress Lives on Windows
New WP Site folder structure on C:\
Editor - Visual Studio Code
Code Editing / Development
- Right Click LBF Admin "Show Folder"
- Open Local Project Folder VSC
- Edit Source - PHP, CSS, JS
- Create files/folders
- Drag/drop files & folders
- Intellisense - Code aware - syntax highlighting, auto-complete
VSC - Open website project folder
VSC - Browse to theme folder
Complete file structure open for editing.
Test Changes
- Edit & Save files
- Browser Refresh
- Repeat ad nauseam
A Little Deployment Anyone?
Basic Assumptions:
- New WordPress Installation Exists on Host
- WP Migrate DB Installed and Activated
on local and remote sites
- Migrate DB Pro handles handshake
- Authenticates connection
- Uploads DB to staging / live server
- Performs Search & Replace on db
- Upload wp-content folder via FTP
Deployment Magic with
WP Migrate DB
Dull FTP Upload of WP-CONTENT
- FileZilla
- SFTP/FTP connection to remote site
- Drag WP-CONTENT from local to remote
Sigh
Lather · Rinse · Repeat
Time For A Little Control
- Git Version Control
- Create a local repository
- Add your project folder
Remainder of Git process
left as an exercise for the viewer after a quick "live" demo
Git Integrated with Visual Studio Code Demo
- Init repo from VSC
- Stage all changes - all files
- Use a .gitignore to limit files under control
- Theme / Child theme
- Custom plugins
Demo: Git with Visual Studio Code
It Is Happening
Even if it sounds quiet at your local WordPress technical gathering ...
Wrapping It Up
You CAN setup a nice WordPress dev environment on Windows
- Local Server: Local by Flywheel
- Editor: Visual Studio Code
- FTP Client: FileZilla
- Source Control: Integrated Git
- Deployment: WP Migrate DB


A programmatic interface to 'openfisheries.org'. This package is part of the 'rOpenSci' suite (http://ropensci.org).
| Version: | 0.2 |
| Depends: | R (≥ 2.15) |
| Imports: | httr, data.table, assertthat, ggplot2, rjson |
| Published: | 2016-02-19 |
| Author: | Karthik Ram [aut, cre], Carl Boettiger [aut], Andrew Dyck [aut] |
| Maintainer: | Karthik Ram <karthik.ram at gmail.com> |
| BugReports: | http://www.github.com/ropensci/rfisheries/issues/new |
| License: | MIT + file LICENSE |
| URL: | http://www.github.com/ropensci/rfisheries |
| NeedsCompilation: | no |
| Materials: | README NEWS |
| CRAN checks: | rfisheries results |
| Reference manual: | rfisheries.pdf |
| Package source: | rfisheries_0.2.tar.gz |
| Windows binaries: | r-devel: rfisheries_0.2.zip, r-release: rfisheries_0.2.zip, r-oldrel: rfisheries_0.2.zip |
| OS X binaries: | r-release: rfisheries_0.2.tgz, r-oldrel: rfisheries_0.2.tgz |
| Old sources: | rfisheries archive |
Please use the canonical form https://CRAN.R-project.org/package=rfisheries to link to this page.


${appName} can send emails in your name if you configure your email server and account. ${appName} does not provide you an email service, you have to
own an email account
which will be used directly.
Emails are sent by connecting and passing the email to the SMTP server of your email provider. Most email providers publish their SMTP server parameters in
their help. You have to ask your email provider if you don't know or you can't find the SMTP server parameters in their help.
Your email provider may not grant you SMTP access in which case you will not be able to send emails via that email account.
| Email provider | SMTP host | SMTP port | Secure connection? | SMTP user |
|---|---|---|---|---|
| GMail | smtp.gmail.com | 587 | Yes | Your full email address |
| Hotmail / Windows Live | smtp.live.com | 587 | Yes | Your full email address |


Previous Score:
Some text some message..
play_arrow
close
help_outline
Let's
P
L
A
Y
Snake
Top Scores


Creation of 50 identical Ramen Yo-Yo's through CNC machining, injection molding and thermoforming. Responsible for yo-yo body and thermoformed molds as well as serving as team leader.
In MIT's 2.008: Design and Manufacturing II, my team made a ramen-themed yoyo. As part of the team, I was really excited about the project which eventually allowed me to gain a leadership role in the team. Because I had previous machining experience, I helped lead the team towards a finished product. I devoted a lot of time to this class and helped out my teammates make their molds as well as guide them throughout the design. I scheduled weekly meetings to discuss our ideas and check up on everyone's work and reviewed their drawings. At the end of the semester we had a very successful yoyo which won 1st place in overall ratings.
Exploded view of the final yo-yo design. It is comprised of a red snap ring, egg with yolk, fish cake, seaweed, body, spacers and center stud. Machining of the first half of the yo-yo body mold in the CNC lathe. Pouring real ramen noodles into a cup to test the epoxy that we planned one using for the yo-yo. My team during one of the production runs of the yo-yo body. The yo-yo halves waiting to be cured after the epoxy was poured. 50 identical ramen yo-yo's!“Do not pray for an easy life, pray for the strength to endure a difficult one.”
— Bruce Lee


Tuesday — November 5, 2019 APPS Vulnerability in Asus Wi-Fi software put users at risk of fraud and robbery by Mix 3 hours ago 28
TECH Remember that scary AI text-generator that was too dangerous to release? It’s out now by Tristan Greene 2 hours ago 14
Learn all the SEO steps for landing at the top of Google search results at 90% off TNW Deals . 2 hours ago
Alphabet is investigating Google's handling of recent sexual harassment claims Cara Curtis . 5 hours ago
LogRocket $15M SERIES B SaaS Battery Ventures LogRocket lands $15M Series B, announces new tool to track customer metrics on TechCrunch
Reonomy $60M SERIES D Real Estate Citi Ventures, +3 Reonomy Raises $60M in Series D Funding on FinSMEs
snapdocs $25M SERIES B Real Estate, +2 Sequoia Capital, +2 Snapdocs Secures $25M To Make Real Estate Closings Less Tedious on Crunchbase News
Ursa Space Syste... $15M SERIES B Information Techonolgy RREVentures, +2 Ursa raises $15 million to glean insights from satellite radar data on VentureBeat
Apps > MOST POPULAR Alphabet is investigating Google's handling of recent sexual harassment claims Cara Curtis . 5 hours ago LATEST How to opt out of Revolut's data sharing policies Adobe will soon allow you to live-stream your painting skills directly from its apps New Adobe tool can detect if a face has been photoshopped Twitter makes it easy to follow specific topics rather than users Firefox will automatically block website notifications in 2020 How to enable dark mode on WhatsApp Web
Gears > MOST POPULAR Motorola's Moto G8 is good Nahir Lopez . 5 hours ago LATEST Google is purposefully crippling things :( Motorola's Moto G8 could show up with the new RAZR CHEAP: Forget the Samsung T5, get this beefy 1TB Intel SSD for just $92 Microsoft's much-improved HoloLens 2 is now shipping for $3,500 CHEAP: $100 off Bose's noise-canceling QC 35 II headphones? Hell yeah Tesla's 'Blade Runner' pickup truck will be revealed November 21
Tech > MOST POPULAR DNA testing startup exposes customer info in data breach (Updated) Ravie Lakshmana . 4 hours ago LATEST Amazon's roadmap for Alexa is spoooopy Scammers favor malicious URLs over attachments in email phishing attacks A new experiment may help us figure out what 'dark energy' actually is Pardon the Intrusion #4: Smart malware? The EU is coming after big tech again — this time for political ads DNA testing startup exposes customer info in data breach (Updated)
Creative > MOST POPULAR Giphy debuts Arcade, a platform for making and playing 'microgames' Rachel Kaser . 15 hours ago LATEST Microsoft's new font for devs is very aesthetically pleasing (and free) How to build a production and recording studio that fits in a backpack Watch: Disney’s new anti-vibration tech maps CGI movements onto actual robots Chinese vertical dramas made for phone viewing show the future of mobile video Sorry, but you can’t copyright a meme A peek at legendary architect John Storyk's design process
Podium > MOST POPULAR A brief overview of what’s fueling the autonomous last-mile Howard Chahu . 2 days ago LATEST Why the future of fintech is ‘networked learning’ 5 ways to tell deepfakes from reality (for now) The funding round cycle is hurting your startup — here’s what you can do about it Creating quality content comes down to one thing: Relevance What owning an alpaca farm has taught me about running a tech startup Developers: Understand the business logic of your next project before you start coding
Insights > MOST POPULAR Silk Road drug dealer laundered $19M in profits with Bitcoin Yessi Bello Perez . 12 hours ago LATEST Cryptocurrency scares FBI lol Blockchain devs looking for work are spoiled for choice right now A new experiment may help us figure out what 'dark energy' actually is Pardon the Intrusion #4: Smart malware? The EU is coming after big tech again — this time for political ads DNA testing startup exposes customer info in data breach (Updated)
Launch > MOST POPULAR PSA: Amazon Fresh grocery deliveries are now free for US Prime members Pepito Perez . 16 hours ago LATEST Serj Tankian will help build a social network for Armenia Google Assistant gets its own phone number in India Pam and Angela from The Office are re-watching the show for their new podcast Bethesda wants you to test its game streaming tech with DOOM on iOS this year Mozilla rolls out new automated crypto-jacking filtering in Firefox Google announces Stadia, its cross-platform game streaming service
Distract > MOST POPULAR Internet Archive makes it easy to read books cited on Wikipedia Rachel Kaser . 8 hours ago LATEST Sony pulls the plug on PlayStation Vue Facebook wants to get into healthcare. What could possibly go wrong? The science behind why no one laughs at our jokes This hellish Helvetica font is perfect for Halloween Caffeine signs rapper Offset as it enters competition with Mixer & Twitch Caffeine signs rapper Offset as it enters competition with Mixer & Twitch


This sample describes how you can implement billing system on your application. Please click each buttons.
At the first time, call "initialization". Please note that this sample application is only implemented to be able to test "DUMMY" server. If you want to use "DEV" or "PRD" server, please replace your information issued by DPI Portal in this sample. (appId, securityKey)


{% extends "base.html" %} T{% block content %}
Developer VMs are assigned a lease duration of 1 month. When the lease period expires, the machine will be reclaimed by the recycling process. If you wish to keep this VM longer, you must extend the lease duration using this provided button.
Should you finish with this VM before its lease expires, we request that you terminate it early. Use the provided button to return the bits to the recycler.


{% extends 'base.html' %} {% block content %} The Crucible Project Profile Logout
{{blogpost.description}}
{{ comment.author.username }} commented on this blog saying, "{{ comment.content }}
No Comments


$state
ui.router.state
$state
service is responsible for representing states as well as transitioning
between them. It also provides interfaces to ask for current state or even states
you're coming from.
Returns the state configuration object for any specific state or all states.
| Param | Type | Details |
|---|---|---|
| stateOrName (optional) | stringobject | (absolute or relative) If provided, will only get the config for the requested state. If not provided, returns an array of ALL state configs. |
| context (optional) | stringobject | When stateOrName is a relative state reference, the state will be retrieved relative to context. |
| Object|Array | State configuration object or array of all objects. |
Convenience method for transitioning to a new state. $state.go
calls
$state.transitionTo
internally but automatically sets options to
{ location: true, inherit: true, relative: $state.$current, notify: true }
.
This allows you to easily use an absolute or relative to path and specify
only the parameters you'd like to update (while letting unspecified parameters
inherit from the currently active ancestor states).
| Param | Type | Details |
|---|---|---|
| to | string | Absolute state name or relative state path. Some examples:
|
| params (optional) | object | A map of the parameters that will be sent to the state, will populate $stateParams. Any parameters that are not specified will be inherited from currently defined parameters. This allows, for example, going to a sibling state that shares parameters specified in a parent state. Parameter inheritance only works between common ancestor states, I.e. transitioning to a sibling will get you the parameters for all parents, transitioning to a child will get you all current parameters, etc. |
| options (optional) | object | Options object. The options are:
|
| promise | A promise representing the state of the new transition. Possible success values:
|
var app = angular.module('app', ['ui.router']); app.controller('ctrl', function ($scope, $state) { $scope.changeState = function () { $state.go('contact.detail'); }; });
A url generation method that returns the compiled url for the given state populated with the given params.
| Param | Type | Details |
|---|---|---|
| stateOrName | stringobject | The state name or state object you'd like to generate a url from. |
| params (optional) | object | An object of parameter values to fill the state's required parameters. |
| options (optional) | object | Options object. The options are:
|
| string | compiled state url |
expect($state.href("about.person", { person: "bob" })).toEqual("/about/bob");
A method to determine if the current active state is equal to or is the child of the state stateName. If any params are passed then they will be tested for a match as well. Not all the parameters need to be passed, just the ones you'd like to test for equality.
| Param | Type | Details |
|---|---|---|
| stateOrName | string | A partial name, relative name, or glob pattern to be searched for within the current state name. |
| params (optional) | object | A param object, e.g. |
| options (optional) | object | An options object. The options are:
|
| boolean | Returns true if it does include the state |
Partial and relative names
$state.$current.name = 'contacts.details.item'; // Using partial names $state.includes("contacts"); // returns true $state.includes("contacts.details"); // returns true $state.includes("contacts.details.item"); // returns true $state.includes("contacts.list"); // returns false $state.includes("about"); // returns false // Using relative names (. and ^), typically from a template // E.g. from the 'contacts.details' template
Item

Basic globbing patterns
$state.$current.name = 'contacts.details.item.url'; $state.includes("*.details.*.*"); // returns true $state.includes("*.details.**"); // returns true $state.includes("**.item.**"); // returns true $state.includes("*.details.item.url"); // returns true $state.includes("*.details.*.url"); // returns true $state.includes("*.details.*"); // returns false $state.includes("item.**"); // returns false
Similar to $state.includes, but only checks for the full state name. If params is supplied then it will be tested for strict equality against the current active params object, so all params must match with none missing and no extras.
| Param | Type | Details |
|---|---|---|
| stateOrName | stringobject | The state name (absolute or relative) or state object you'd like to check. |
| params (optional) | object | A param object, e.g. |
| options (optional) | object | An options object. The options are:
|
| boolean | Returns true if it is the state. |
$state.$current.name = 'contacts.details.item'; // absolute name $state.is('contact.details.item'); // returns true $state.is(contactDetailItemStateObject); // returns true // relative name (. and ^), typically from a template // E.g. from the 'contacts.details' template
Item

A method that force reloads the current state. All resolves are re-resolved, controllers reinstantiated, and events re-fired.
| Param | Type | Details |
|---|---|---|
| state (optional) | string=object |
|
| promise | A promise representing the state of the new transition. See $state.go. |
//assuming app application consists of 3 states: 'contacts', 'contacts.detail', 'contacts.detail.item' //and current state is 'contacts.detail.item' var app angular.module('app', ['ui.router']); app.controller('ctrl', function ($scope, $state) { $scope.reload = function(){ //will reload 'contact.detail' and 'contact.detail.item' states $state.reload('contact.detail'); } });
reload()
is just an alias for:
$state.transitionTo($state.current, $stateParams, { reload: true, inherit: false, notify: true });
Low-level method for transitioning to a new state. $state.go
uses transitionTo
internally. $state.go
is recommended in most situations.
| Param | Type | Details |
|---|---|---|
| to | string | State name. |
| toParams (optional) | object | A map of the parameters that will be sent to the state, will populate $stateParams. |
| options (optional) | object | Options object. The options are:
|
| promise | A promise representing the state of the new transition. See $state.go. |
var app = angular.module('app', ['ui.router']); app.controller('ctrl', function ($scope, $state) { $scope.changeState = function () { $state.transitionTo('contact.detail'); }; });
A param object, e.g. {sectionId: section.id)}, that you'd like to test against the current active state.
A reference to the state's config object. However you passed it in. Useful for accessing custom data.
Currently pending transition. A promise that'll resolve or reject.
Fired when an error occurs during transition. It's important to note that if you have any errors in your resolve functions (javascript errors, non-existent services, etc) they will not throw traditionally. You must listen for this $stateChangeError event to catch ALL errors.
| Param | Type | Details |
|---|---|---|
| event | Object | Event object. |
| toState | State | The state being transitioned to. |
| toParams | Object | The params supplied to the |
| fromState | State | The current state, pre-transition. |
| fromParams | Object | The params supplied to the |
| error | Error | The resolve error object. |
Fired when the state transition begins. You can use event.preventDefault()
to prevent the transition from happening and then the transition promise will be
rejected with a 'transition prevented'
value.
| Param | Type | Details |
|---|---|---|
| event | Object | Event object. |
| toState | State | The state being transitioned to. |
| toParams | Object | The params supplied to the |
| fromState | State | The current state, pre-transition. |
| fromParams | Object | The params supplied to the |
$rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams){ event.preventDefault(); // transitionTo() promise will be rejected with // a 'transition prevented' error })
Fired once the state transition is complete.
| Param | Type | Details |
|---|---|---|
| event | Object | Event object. |
| toState | State | The state being transitioned to. |
| toParams | Object | The params supplied to the |
| fromState | State | The current state, pre-transition. |
| fromParams | Object | The params supplied to the |
Fired when a requested state cannot be found using the provided state name during transition.
The event is broadcast allowing any handlers a single chance to deal with the error (usually by
lazy-loading the unfound state). A special unfoundState
object is passed to the listener handler,
you can see its three properties in the example. You can use event.preventDefault()
to abort the
transition and the promise returned from go
will be rejected with a 'transition aborted'
value.
| Param | Type | Details |
|---|---|---|
| event | Object | Event object. |
| unfoundState | Object | Unfound State information. Contains: |
| fromState | State | Current state object. |
| fromParams | Object | Current state params. |
// somewhere, assume lazy.state has not been defined $state.go("lazy.state", {a:1, b:2}, {inherit:false}); // somewhere else $scope.$on('$stateNotFound', function(event, unfoundState, fromState, fromParams){ console.log(unfoundState.to); // "lazy.state" console.log(unfoundState.toParams); // {a:1, b:2} console.log(unfoundState.options); // {inherit:false} + default options })


Oxygenated Volatile Organic Compounds Elucidation of Atmospheric Sources
EPA Grant Number: R825257Title: Oxygenated Volatile Organic Compounds Elucidation of Atmospheric Sources
Investigators: Zika, Rod G.
Institution: University of Miami
Current Institution: University of Miami
EPA Project Officer: Shapiro, Paul
Project Period: October 21, 1996 through October 20, 1999
Project Amount: $481,115
RFA: Air Quality (1996) RFA Text | Recipients Lists
Research Category: Air Quality and Air Toxics , Air
Description:
A considerable portion of the burden of volatile organic compounds (VOCs) in the rural and urban troposphere is comprised of a range of oxygenated VOCs, primarily carbonyls and alcohols. The importance of these compounds is evident from their participation in photochemical oxidant formation and their ability to serve as markers for atmospheric oxidation processes of both natural and anthropogenic VOCs. During the Summer of 1995, a comprehensive measurement campaign at a rural site in Tennessee was completed as part of the 1995 SOS Nashville intensive study. An intercomparison of a variety of measurement techniques was made for a similar set of oxygenated compounds. This preliminary campaign served as an ideal situation to identify many of the problems inherent with the measurement of oxygenated compounds and probably represents one of the only multi-institutional, multi-method ambient air intercomparisons for a variety of oxygenated compounds.As a result of this intercomparison, and observations made over the past several years, the objectives of this project are to resolve several important issues regarding the accurate measurement of oxygenated compounds. Rapid analysis techniques involving gas chromatography with mass spectrometric detection and more robust standardization techniques are needed to accomplish these objectives. The first phase of this approach involves an extensive series of laboratory experiments to develop and test the analytical methodology. The second and subsequent phases of the approach will utilize these improved techniques to conduct field studies on the dynamics of these compounds on rapid timescales. Studies are planned at established field sites where long term monitoring for other associated parameters (i.e.,O3 , NOx, CO, etc.) are being measured. One site being considered is at Shenandoah National Park, Virginia. The photochemistry of this site has been extensively studied in the past and is currently being sampled for VOCs on a long-time interval basis.
This program will result in guidelines for more confident determination of oxygenated compounds in the atmosphere and thus better constraint on the chemical climatologies of these compounds. The information gained and methodology developed through this research will be applied in future field programs. As in the past, the research group will participate in open dialog and information exchange with other researchers resulting in a community wide improvement in the understanding of the cycling and the analysis of oxygenated volatile organic compounds.


 He is a charming, clever, fast learner who
can talk about anything and learn anything! Hihihi, don't believe
so, maybe you don't know him yet? Well nothing to worry, just
check @aestroix on Instagram :)


MOSCOW ARRESTS SUSPECTS BUT CAN'T LINK ANY TO FATAL BOMBING
Still, Putin said Russia would carry on the military campaign
``to its completion'' and ``finish off terrorists in their own
den.''
Overnight, combined Russian security forces said they had
scoured 160 subway stations and underground passageways using
bomb-sniffing dogs to ensure that the capital's public transit
system with its extensive maze of interconnecting tunnels was clear
of explosives. At Moscow's Kazansky railway station police
reportedly found nearly nine pounds of TNT as well as seven
detonators, which were not hooked up to the explosives.
Wednesday morning, Muscovites were back underground as usual,
with thousands of them passing through the reopened, though charred
passageways beneath Pushkin Square, where vendors picked through
the debris in their shops.
``Of course we will go back to work here,'' said one middle-aged
woman sorting through the lingerie in her darkened kiosk. ``And of
course we are scared,'' she added.
The low granite walls along the exits from the underground
passageways had already become memorial altars, where friends,
relatives and passersby laid carnations and lilies to express their
sympathy for those who died. Russian television reported Wednesday
night that Putin, too, visited the square and laid flowers.
Police officials said they were working with three witnesses who
saw two men bargaining at a leather goods shop in the tunnel and
who dashed for an exit leaving a satchel behind that exploded
moments after the salesgirl summoned a security officer to inspect
the bag.
Putin, speaking at the Kremlin, struck a note of calm
resolution, admonishing Russians that terrorism was an
``international illness'' for which the only cure was ``political
will,'' the ``vigilance of the people'' and effective law
enforcement.
Terrorists, he said, ``count on bloodshed, sensation, panic and
hysteria.'' And he warned that ``disorganization and disorder would
make the best possible gift for them.''


--- layout: simple ---
Developed a tool which could search similar customer's review via Lucene and item recommendation system. Implemented a Java project to perform word processing and a keyword Search Engine with Lucene. Utilized Neural Collaborative Filtering based on history order to improved personalized item recommendation.
View GithubThe ASC Student Supercomputer Challenge has quickly become the world’s largest supercomputing hackathon since first launched in 2012. In 2019, I participant in ASC19 and wined 2nd prize as team tech leader. In 2020, our team wined the 1st prize. Tasks: Design, build, tune & optimize the fastest HPC systems. Run benchmarks and real scientific applications with code optimization. Keep the vigil of 3,000 Watt power cap.
View EventIn this project, I use Nginx plus RTMP/HLS to implement the video streaming. This system could support video upload, video real-time streaming and document exchange. I also did some work in data analysis work. Implemented a network quality monitor using PyQt5.
View GithubAWS project. Implemented user authentication to frontend apps for protecting REST API against unauthenticated access, integrate complete user sign up & sign in flow into web app, iOS or Android app; Creating REST API using AWS API Gateway and AWS Lambda and store data in database; Deploying web app in a serverless manner and speed up the delivery of static web app assets.
View EventStudied UVA CS6888 program analysis and its application. Topics include dynamic and static program analysis techniques, such as automated test generation, fault localization and debugging, model inferencing, and type checking. Learnt testing tool: AFL (american fuzzy lop), klee(symbolic execution engine), Daikon,Cppcheck(static C/C++ code analysis) and etc
Visit GithubStudied UVA ECE6782 Digital Image Processing. Topics: Analyzes the basic concepts of image formation and image analysis: imaging geometries, sampling, filtering, edge detection, Hough transforms, region extraction and representation, extracting and modeling three-dimension objects.
View GithubIn this internship, I worked in the algorithm team of 8, responsible for data preprocessing, model development and result evaluation.
Contributitons: 1. Initiated Python scripts to extract and clean 3,110,400 radar data and visualize data under Linux. 2. Led migration of data from MySQL to NoSQL (MongoDB) database for faster I/O and better scaling. 3. Trained and adjusted Machine Learning models from different AI Challenge on Meteorology and applied optimal parameters to overcome overfitting, reaching the final accuracy of 83%..
In this internship, I worked in the web application team of 3, responsible for designing a java web application and revised it while communicating with clients. I built a Spring MVC based POS system for customers to place order and the client to manage orders & discounts. Utilized Hibernate 5 to give better support to database operations and developed a Spring Web flow to support item order operation.
Contributions: 1. Developed a Java web application Point of Sale (POS) system for clients based on Spring MVC(dependency injection, inversion of control, etc), Tomcat 8, MySQL. 2. Utilized Hibernate 5 to give better support to database operations and developed a Spring Web Flow to support item order operation. 3. Implemented a user-friendly interactive web page utilizing jQuery EasyUI and AJAX technology (HTML, CSS, JavaScript).


|
Nanjing Venture Technology Co,. Ltd. (NVT), founded in a long-history and cultural city Nanjing, the ancient capital of six dynasties, locates in the centre of Yangtze River Delta. Having absorbed the essence of the city culture, we keep developing with over ten years experience on international cooperation in modern high-tech times.
Now we have an elite team with the members graduated from first-class universities. We are professional and keep moving in the area of water purification, shipbuilding, and electronics, etc. Cooperating with the companies from Holland, Belgium and other European countries, NVT constantly refreshes the record of its development.
NVT has good cooperative relationship with China CDC, National Center for Rural Water Supply Technical Guidance (briefed as NCRWSTG), Health Departments of each province, Chinese large-scale shipyards and electronics manufactories. We always get high praises from all of our business partners.
Our faith ---- Creatable cooperation, constant development;
Our aim ---- Steady progress, realistic innovation.
We believe in a better future together with all of our business partners.
|
Our Office:
|
|
|
|
|


BY EDWIN JAHIEL.
THE ANNIVERSARY PARTY (2001) *** Written and directed by Jennifer Jason Leigh and Alan Cumming.Photography, John Bailey. Editing, Carol Littleton and Suzanne Spangler. Music, Michael Penn. Cast: Alan Cumming (Joe Therrian), Jennifer Jason Leigh (Sally Therrian), John Benjamin Hickey (Jerry Adams), Parker Posey (Judy Adams), Phoebe Cates (Sophia Gold), Kevin Kline (Cal Gold), Owen Kline (Jack Gold), Greta Kline (Evie Gold), Mina Badie (Monica Rose), Jane Adams (Clair Forsyth), John C.Reilly (Mac Forsyth), Jennifer Beals (Gina Taylor), Gwyneth Paltrow (Skye Davidson), Denis O'Hare (Ryan Rose), Levi Panes (Michael Panes) and Karen Kilgariff (Karen).Produced by Joanne Sellar, Alan Cumming, Jennifer Jason Leigh. A Fine Line release.115 minutes. Rated R.
Leigh and Cumming are a married couple. He is a Brit bisexual writer, she is an actress whose career is menaced. They have recently gotten back together after one year's separation. And to celebrate their sixth wedding anniversary, they invite several friends (or "friends"?)--all in showbiz in one way or another, plus, for "political" reasons, next-door neighbors whom they have never seen but with whom they have been having a fight about a too-barking dog. The party is at the couple's modern, to-die-for home in the Hollywood Hills.
Leigh is on my list of best performers. This movie confirms it.  Once again we have motley people in a limited space. But, as in Lawrence Kasdan's "The Big Chill," the participants are not too motley, since the hosts and most of the guests are, and play, Hollywoodian professionals.
In the course of the evening, an above-average number of extant, new or possible relationships, of home as well as "trade" problems, are touched upon and/or catalyzed as relatively sane or quirky or fairly sane people interract. Much of this is due to the lessening of inhibitions courtesy of the drug Ecstasy.
The film has documentary authenticity. When the performances (acting, dialogue, behavior, etc.) do ring false, they are in fact "real-life false" since showbiz people almost always act no matter who, what or where they are. Conclusion: we get faithfulness off-stage, in private lives. Their roles in this movie may or may not reflect personal experience, but even when they don't, they come from a milieu that the thespians, witers, directors, etc. are most familiar with.
It makes no difference to the audiences that certain parts or passages are improvised, or else pretend to be. The bottom line is convincing realism. If something looks or sounds phony, it is because it is that in life, when cameras are not running.
The movie has nothing that's radically fresh or unusual, just as most people --including film-persons-- seldom offer anything new. But what you see and hear is very well done --notably its satires.
Unlike some other movies I have seen recentlly and that were shot in digital video with murky results, the video here is pretty close to the traditional celluloid. It could even fool you into non-awareness of the digital process.
-- "le mauvais gout mene au crime" (Stendhal)
Movie reviews by Edwin Jahiel are at : http://www.prairienet.org/ejahiel
========== X-RAMR-ID: 29142 X-Language: en X-RT-ReviewID: 243340 X-RT-TitleID: 1108225 X-RT-SourceID: 140 X-RT-AuthorID: 2445 X-RT-RatingText: 3/4
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


USA made residential and commercial circulation pumps, valves, circuit setters and other accessories to save you and your customer water, energy and money!
From a 1/40th hp cartridge circulator all the way to a 100 hp frame mounted centrifugal assembly, Taco has a pump to fit your application! Taco has a wide rand of mixing valves, let RRR help you select one that meets your specific needs
One of the oldest submersible pump lines on the market offers a wide range of sump, effluent, sewage ejectors, fountain, grinder and specialty pumps.
RRR stocks over 50 different Barnes pumps at all times ranging from a 1/3 hp sump pump to a 5hp sewage ejector and everything in between.
If we don't stock it, we can get it or we'll have an alternate pump selection to solve your application needs.
The best around underground! AK Industries is one of the best basin manufactures in the country with fibergalss & poly basins of all shapes and sizes. AK also offers lids in structural foam, fiberglass, steel, and aluminum plus epoxy and glavanization coatings are availale.
RRR stocks 18" x 30" poly basins all the way up to 60" x120" fibergalss basins as well as some 60" diameter basins! RRR is one of the few places in the entire USA that stocks H20 traffic rated lids!
The best in the business when it comes to controls, floats, and alarms. SJE can customize a panel to any application. RRR stocks simplex and duplex panels in both single and three phase, as well as high water alarms and many models of floats of different lengths and capabilities.
More DetailsBoosterpaQ is the leader in the domestic pressure boosting systems. Systems with extensive customization are available as well as a standardized "quick-ship" series of systems that are available for immediate delivery from the factory.
The Multi-B systems use end suction centrifugal pumps and are abailable with two or three pump systems with 1.5hp to 7.5hp pumps.
The MPCE systems use vertical multi-stage pumps and are abailable with two through six pumps per system with a wide selection of 2hp to 50hp pumps.
CRE Plus systems are single pump systems with verticle multi-stage pumps ranging from 1/2hp to 30hp.
Multi-E systems are the answer to high demand flow and pressure systems on a budget.
VC Systems & Controls, INC. has been manufactuing domestic water booster systems and other puping packages since 1984. VC Systems is an industry leader in quality products and support throughout the nation.
Our packages are designed to offer the customer the most serviceable, longest lasting equipment on the market. Our specialty is variable speed domestic water booster systems for all commercial applications.


Federer and Zverev smash tennis record in Mexico
by OmnisportRoger Federer and Alexander Zverev shattered the world record for attendance at a tennis match.
A crowd of 42,217 watched an exhibition match between Federer and Zverev at Plaza de Toros Mexico – the world's largest bullring – in Mexico City on Saturday.
Serena Williams and Kim Clijsters had previously set the record in their exhibition contest in 2010, which attracted 35,681 fans in Brussels.
But that figure was topped as 20-time grand slam champion Federer defeated Zverev 3-6 6-4 6-2 in the "The Greatest Match".
Afterwards, Federer tweeted: "I will never forget this magical evening in Mexico City with @AlexZverev 42,517 people came, We broke this record together! Viva Mexico."


The All New 2017 Volvo S90 is Here
Please join us for the official launch of the All New Volvo S90.
This is a great opportunity to meet and greet with Volvo Officials, see the new vehicle in person, and test drive the most innovative luxury sedan of the year!
For this special event only.
A $1000 Discount will be applied to your next purchase at Ramsey Volvo.
$1000 off offer valid only on 2017 Volvo S90 vehicles. May not be combined with any other offers. Not responsible for typographical errors.
|
|


Dreapet
Big Thyred
History A long long time ago, there was very a famous adventurer named Big Thyred.  Big Thyred investigated the cave only to become infected by a disease within the cave called Horrible Fear. The disease transformed him into a hideous monster, whom we now call Big Muscle. There's virtually nothing left of that brave adventurer but bits and pieces, or so the story goes�
| Big Thyred is accessible from the Flaris continent. |
Dungeon Particularities
| All Masquerpets are aggravated. This is an Instance Dungeon so only Party and or Guild members will be present. |
| Entrance Fee |
| The fee for this dungeon is stated below |
|
Unique Items Present
Big Thyred does not contain item uniquely found here. |
|
Available
|
| Quest Items Found Here |
| Coming Soon |
| Certain rules apply: |
When you are ready to enter speak to
(Dradpet Manager) Himadel
|
Monsters Present
|
This dungeon is for level 20 ~ 29 Masquerpets. This is a party dungeon so masquerpets hit hard and have a lot of hp. There are no special rewards for this dungeon. |
|
Krren Dacid
History A long time ago, there was a very famous adventurer, Krren Dacid. One day, he found an interesting place to adventure� It was a huge temple in the sky. Krren investigated the temple only to become infected by a disease within the cave called Horrible Fear. The disease transformed him into a hideous monster, whom we now call Krrr. There's virtually nothing left of that brave adventurer but bits and pieces, or so they say�
| Krren Dacid is accessible from the Flaris continent. |
Dungeon Particularities
| All Masquerpets are aggravated. This is an Instance Dungeon so only Party and or Guild members will be present. |
| Entrance Fee |
| The fee for this dungeon is stated below |
|
Unique Items Present
Krren Dacid does not contain item uniquely found here. |
|
Available
|
| Quest Items Found Here |
| Coming Soon |
| Certain rules apply: |
When you are ready to enter speak to
(Dradpet Manager) Gornus
|
Monsters Present
|
This dungeon is for level 30 ~ 39 Masquerpets. This is a party dungeon so masquerpets hit hard and have a lot of hp. There are no special rewards for this dungeon. |
|
Moot Arvan
History A long time ago, there was a very famous adventurer, Moot Arvan. One day, he found an interesting place to adventure... It was a strange, wet marsh. Moot explored the marsh only to become infested with a disease called Unpleasant Fear. The disease transformed him into a hideous monster known as Mushmoot! There's virtually nothing left of that brave adventurer but bits and pieces, or so they say�
| Moot Arvan is accessible from the Flaris continent. |
Dungeon Particularities
| All Masquerpets are aggravated. This is an Instance Dungeon so only Party and or Guild members will be present. |
| Entrance Fee |
| The fee for this dungeon is stated below |
|
Unique Items Present
Moot Arvan does not contain item uniquely found here. |
|
Available
|
| Quest Items Found Here |
| Coming Soon |
| Certain rules apply: |
When you are ready to enter speak to
(Dradpet Manager) Kanane
|
Monsters Present
|
This dungeon is for level 40 ~ 49 Masquerpets. This is a party dungeon so masquerpets hit hard and have a lot of hp. There are no special rewards for this dungeon. |
|


Methods
betterPerformance()
return the better of two performance strings
normalizeEventCode()
Trim and uppercase
normalizeGender()
Takes common gender expressions and returns `m` or `f`
perfToFloat()
convert a performance (time or distance) to seconds or metres


[§587D-7] Status of child. For purposes of proceedings under this chapter and adoption proceedings, a newborn child left at a hospital, fire station, or police station, or with emergency services personnel under section 587D‑2 shall be considered an abandoned child. [L Sp 2007, c 7, pt of §2]


Diagrams of the Fault Tolerance Sample
The above diagram illustrates the normal message flow.
Normal flow:
| Step | Description |
|---|---|
| 1 | The progress Listener starts the work. |
| 2 | The Worker schedules work by sending Do messages periodically to itself |
| 3, 4, 5 | When receiving Do the Worker tells the CounterService to increment the counter, three times. The Increment message is forwarded to the Counter, which updates its counter variable and sends current value to the Storage. |
| 6, 7 | The Worker asks the CounterService of current value of the counter and pipes the result back to the Listener. |
The above diagram illustrates what happens in case of storage failure.
Failure flow:
| Step | Description |
|---|---|
| 1 | The Storage throws StorageException. |
| 2 | The CounterService is supervisor of the Storage and restarts the Storage when StorageException is thrown. |
| 3, 4, 5, 6 | The Storage continues to fail and is restarted. |
| 7 | After 3 failures and restarts within 5 seconds the Storage is stopped by its supervisor, i.e. the CounterService. |
| 8 | The CounterService is also watching the Storage for termination and receives the Terminated message when the Storage has been stopped ... |
| 9, 10, 11 | and tells the Counter that there is no Storage. |
| 12 | The CounterService schedules a Reconnect message to itself. |
| 13, 14 | When it receives the Reconnect message it creates a new Storage ... |
| 15, 16 | and tells the Counter to use the new Storage |
Full Source Code of the Fault Tolerance Sample
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import akka.actor.*;
import akka.dispatch.Mapper;
import akka.event.LoggingReceive;
import akka.japi.pf.DeciderBuilder;
import akka.japi.pf.ReceiveBuilder;
import akka.util.Timeout;
import com.typesafe.config.Config;
import com.typesafe.config.ConfigFactory;
import scala.concurrent.duration.Duration;
import static akka.japi.Util.classTag;
import static akka.actor.SupervisorStrategy.restart;
import static akka.actor.SupervisorStrategy.stop;
import static akka.actor.SupervisorStrategy.escalate;
import static akka.pattern.Patterns.ask;
import static akka.pattern.Patterns.pipe;
import static docs.actorlambda.japi.FaultHandlingDocSample.WorkerApi.*;
import static docs.actorlambda.japi.FaultHandlingDocSample.CounterServiceApi.*;
import static docs.actorlambda.japi.FaultHandlingDocSample.CounterApi.*;
import static docs.actorlambda.japi.FaultHandlingDocSample.StorageApi.*;
public class FaultHandlingDocSample {
/**
* Runs the sample
*/
public static void main(String[] args) {
Config config = ConfigFactory.parseString(
"akka.loglevel = \"DEBUG\"\n" +
"akka.actor.debug {\n" +
" receive = on\n" +
" lifecycle = on\n" +
"}\n");
ActorSystem system = ActorSystem.create("FaultToleranceSample", config);
ActorRef worker = system.actorOf(Props.create(Worker.class), "worker");
ActorRef listener = system.actorOf(Props.create(Listener.class), "listener");
// start the work and listen on progress
// note that the listener is used as sender of the tell,
// i.e. it will receive replies from the worker
worker.tell(Start, listener);
}
/**
* Listens on progress from the worker and shuts down the system when enough
* work has been done.
*/
public static class Listener extends AbstractLoggingActor {
@Override
public void preStart() {
// If we don't get any progress within 15 seconds then the service
// is unavailable
context().setReceiveTimeout(Duration.create("15 seconds"));
}
public Listener() {
receive(LoggingReceive.create(ReceiveBuilder.
match(Progress.class, progress -> {
log().info("Current progress: {} %", progress.percent);
if (progress.percent >= 100.0) {
log().info("That's all, shutting down");
context().system().terminate();
}
}).
matchEquals(ReceiveTimeout.getInstance(), x -> {
// No progress within 15 seconds, ServiceUnavailable
log().error("Shutting down due to unavailable service");
context().system().terminate();
}).build(), context()
));
}
}
public interface WorkerApi {
public static final Object Start = "Start";
public static final Object Do = "Do";
public static class Progress {
public final double percent;
public Progress(double percent) {
this.percent = percent;
}
public String toString() {
return String.format("%s(%s)", getClass().getSimpleName(), percent);
}
}
}
/**
* Worker performs some work when it receives the Start message. It will
* continuously notify the sender of the Start message of current Progress.
* The Worker supervise the CounterService.
*/
public static class Worker extends AbstractLoggingActor {
final Timeout askTimeout = new Timeout(Duration.create(5, "seconds"));
// The sender of the initial Start message will continuously be notified
// about progress
ActorRef progressListener;
final ActorRef counterService = context().actorOf(
Props.create(CounterService.class), "counter");
final int totalCount = 51;
// Stop the CounterService child if it throws ServiceUnavailable
private static final SupervisorStrategy strategy =
new OneForOneStrategy(DeciderBuilder.
match(ServiceUnavailable.class, e -> stop()).
matchAny(o -> escalate()).build());
@Override
public SupervisorStrategy supervisorStrategy() {
return strategy;
}
public Worker() {
receive(LoggingReceive.create(ReceiveBuilder.
matchEquals(Start, x -> progressListener == null, x -> {
progressListener = sender();
context().system().scheduler().schedule(
Duration.Zero(), Duration.create(1, "second"), self(), Do,
context().dispatcher(), null
);
}).
matchEquals(Do, x -> {
counterService.tell(new Increment(1), self());
counterService.tell(new Increment(1), self());
counterService.tell(new Increment(1), self());
// Send current progress to the initial sender
pipe(ask(counterService, GetCurrentCount, askTimeout)
.mapTo(classTag(CurrentCount.class))
.map(new Mapper<CurrentCount, Progress>() {
public Progress apply(CurrentCount c) {
return new Progress(100.0 * c.count / totalCount);
}
}, context().dispatcher()), context().dispatcher())
.to(progressListener);
}).build(), context())
);
}
}
public interface CounterServiceApi {
public static final Object GetCurrentCount = "GetCurrentCount";
public static class CurrentCount {
public final String key;
public final long count;
public CurrentCount(String key, long count) {
this.key = key;
this.count = count;
}
public String toString() {
return String.format("%s(%s, %s)", getClass().getSimpleName(), key, count);
}
}
public static class Increment {
public final long n;
public Increment(long n) {
this.n = n;
}
public String toString() {
return String.format("%s(%s)", getClass().getSimpleName(), n);
}
}
public static class ServiceUnavailable extends RuntimeException {
private static final long serialVersionUID = 1L;
public ServiceUnavailable(String msg) {
super(msg);
}
}
}
/**
* Adds the value received in Increment message to a persistent counter.
* Replies with CurrentCount when it is asked for CurrentCount. CounterService
* supervise Storage and Counter.
*/
public static class CounterService extends AbstractLoggingActor {
// Reconnect message
static final Object Reconnect = "Reconnect";
private static class SenderMsgPair {
final ActorRef sender;
final Object msg;
SenderMsgPair(ActorRef sender, Object msg) {
this.msg = msg;
this.sender = sender;
}
}
final String key = self().path().name();
ActorRef storage;
ActorRef counter;
final List<SenderMsgPair> backlog = new ArrayList<>();
final int MAX_BACKLOG = 10000;
// Restart the storage child when StorageException is thrown.
// After 3 restarts within 5 seconds it will be stopped.
private static final SupervisorStrategy strategy =
new OneForOneStrategy(3, Duration.create("5 seconds"), DeciderBuilder.
match(StorageException.class, e -> restart()).
matchAny(o -> escalate()).build());
@Override
public SupervisorStrategy supervisorStrategy() {
return strategy;
}
@Override
public void preStart() {
initStorage();
}
/**
* The child storage is restarted in case of failure, but after 3 restarts,
* and still failing it will be stopped. Better to back-off than
* continuously failing. When it has been stopped we will schedule a
* Reconnect after a delay. Watch the child so we receive Terminated message
* when it has been terminated.
*/
void initStorage() {
storage = context().watch(context().actorOf(
Props.create(Storage.class), "storage"));
// Tell the counter, if any, to use the new storage
if (counter != null)
counter.tell(new UseStorage(storage), self());
// We need the initial value to be able to operate
storage.tell(new Get(key), self());
}
public CounterService() {
receive(LoggingReceive.create(ReceiveBuilder.
match(Entry.class, entry -> entry.key.equals(key) && counter == null, entry -> {
// Reply from Storage of the initial value, now we can create the Counter
final long value = entry.value;
counter = context().actorOf(Props.create(Counter.class, key, value));
// Tell the counter to use current storage
counter.tell(new UseStorage(storage), self());
// and send the buffered backlog to the counter
for (SenderMsgPair each : backlog) {
counter.tell(each.msg, each.sender);
}
backlog.clear();
}).
match(Increment.class, increment -> {
forwardOrPlaceInBacklog(increment);
}).
matchEquals(GetCurrentCount, gcc -> {
forwardOrPlaceInBacklog(gcc);
}).
match(Terminated.class, o -> {
// After 3 restarts the storage child is stopped.
// We receive Terminated because we watch the child, see initStorage.
storage = null;
// Tell the counter that there is no storage for the moment
counter.tell(new UseStorage(null), self());
// Try to re-establish storage after while
context().system().scheduler().scheduleOnce(
Duration.create(10, "seconds"), self(), Reconnect,
context().dispatcher(), null);
}).
matchEquals(Reconnect, o -> {
// Re-establish storage after the scheduled delay
initStorage();
}).build(), context())
);
}
void forwardOrPlaceInBacklog(Object msg) {
// We need the initial value from storage before we can start delegate to
// the counter. Before that we place the messages in a backlog, to be sent
// to the counter when it is initialized.
if (counter == null) {
if (backlog.size() >= MAX_BACKLOG)
throw new ServiceUnavailable("CounterService not available," +
" lack of initial value");
backlog.add(new SenderMsgPair(sender(), msg));
} else {
counter.forward(msg, context());
}
}
}
public interface CounterApi {
public static class UseStorage {
public final ActorRef storage;
public UseStorage(ActorRef storage) {
this.storage = storage;
}
public String toString() {
return String.format("%s(%s)", getClass().getSimpleName(), storage);
}
}
}
/**
* The in memory count variable that will send current value to the Storage,
* if there is any storage available at the moment.
*/
public static class Counter extends AbstractLoggingActor {
final String key;
long count;
ActorRef storage;
public Counter(String key, long initialValue) {
this.key = key;
this.count = initialValue;
receive(LoggingReceive.create(ReceiveBuilder.
match(UseStorage.class, useStorage -> {
storage = useStorage.storage;
storeCount();
}).
match(Increment.class, increment -> {
count += increment.n;
storeCount();
}).
matchEquals(GetCurrentCount, gcc -> {
sender().tell(new CurrentCount(key, count), self());
}).build(), context())
);
}
void storeCount() {
// Delegate dangerous work, to protect our valuable state.
// We can continue without storage.
if (storage != null) {
storage.tell(new Store(new Entry(key, count)), self());
}
}
}
public interface StorageApi {
public static class Store {
public final Entry entry;
public Store(Entry entry) {
this.entry = entry;
}
public String toString() {
return String.format("%s(%s)", getClass().getSimpleName(), entry);
}
}
public static class Entry {
public final String key;
public final long value;
public Entry(String key, long value) {
this.key = key;
this.value = value;
}
public String toString() {
return String.format("%s(%s, %s)", getClass().getSimpleName(), key, value);
}
}
public static class Get {
public final String key;
public Get(String key) {
this.key = key;
}
public String toString() {
return String.format("%s(%s)", getClass().getSimpleName(), key);
}
}
public static class StorageException extends RuntimeException {
private static final long serialVersionUID = 1L;
public StorageException(String msg) {
super(msg);
}
}
}
/**
* Saves key/value pairs to persistent storage when receiving Store message.
* Replies with current value when receiving Get message. Will throw
* StorageException if the underlying data store is out of order.
*/
public static class Storage extends AbstractLoggingActor {
final DummyDB db = DummyDB.instance;
public Storage() {
receive(LoggingReceive.create(ReceiveBuilder.
match(Store.class, store -> {
db.save(store.entry.key, store.entry.value);
}).
match(Get.class, get -> {
Long value = db.load(get.key);
sender().tell(new Entry(get.key, value == null ?
Long.valueOf(0L) : value), self());
}).build(), context())
);
}
}
public static class DummyDB {
public static final DummyDB instance = new DummyDB();
private final Map<String, Long> db = new HashMap<String, Long>();
private DummyDB() {
}
public synchronized void save(String key, Long value) throws StorageException {
if (11 <= value && value <= 14)
throw new StorageException("Simulated store failure " + value);
db.put(key, value);
}
public synchronized Long load(String key) throws StorageException {
return db.get(key);
}
}
}
Contents


Group Logical Values
Tags for representing true and false.
Tags for representing true and false.
Grouped Tags Overview
-
struct False;, False::Type;, bool False::VALUE = false;
Representation for False. -
struct True;, True::Type;, bool True::VALUE = true;
Representation for True.
Detailed Description
Examples
Print the values of the tags/metafunctions True and False.
std::cout << False::VALUE << "\n" // => "0" << True::VALUE << "\n" // => "1" << IsSameType<False, False::Type>::VALUE << "\n"; // => "1"
Snippet from: demos/dox/basic/metaprogramming_logic.cpp
Inheriting from True and False
The two tags True and False have the special property that they can also be used as metafunctions and both have a VALUE as well as a TYPE. This property makes it very convenient to define metafunctions by inheriting from the True or False.
template <typename T> struct IsInt32 : False {}; template <> struct IsInt32<int>: True {};
Snippet from: demos/dox/basic/metaprogramming_logic.cpp
The metafunction IsInt32 can now be used as follows.
std::cout << IsInt32<bool>::VALUE << "\n" // => "0" << IsInt32<int>::VALUE << "\n"; // => "1"
Snippet from: demos/dox/basic/metaprogramming_logic.cpp


 His former life required him to jump state to state in order to fight alongside his candidates and for what he believes in. As an Associate, Eric’s role is now to service an extensive client list while looking for new opportunities nationwide. His commitment to his clients and his insatiable desire to win makes him a valuable asset for any political race.
Outside of the office Eric enjoys running, playing rugby, or talking about Notre Dame football


 Requested resource was here, but now it's already gone, be faster next time ;)
Go to the start


We can set multiple button colors by choosing one of the classes below:

Submit

Submit

You can just add the class "btn-align-right"

Submit


Rolling Back Content
How to rollback to a previous content version using the HTML module. Note: This task requires that Workflow is NOT set to direct publish. See "Setting a Workflow"
- Select Edit Content from the module actions menu.
- Maximize the Version History section.
- Locate the required version.
- Optional. Click the Preview button to preview a version. This expands the Preview section and displays the selected version including details on the related workflow and the Item History.
- Click the Rollback button. The selected version is published immediately, even if the version was initially a draft (Content Staging).


{% extends "admin/change_form_markdown.html" %} {% block after_field_sets %}
Previous 10 posts by this organization:


We have been minimizing our dependency on Guava, which is big and often causes version conflicts for our users. This work will be released as part of January’s 18.1 release, though there are 2 places it remains:
util-cache-guava
has a CacheBuilder
-based implementation of
FutureCache
. We advise replacing this usage with a
Caffeine FutureCache
available in
util-cache. The migration is well documented
in the Caffeine user guide.
Finatra’s http
module has a few public APIs that use
com.google.common.net.MediaType
. We aren’t planning to address this
in the immediate future, but it’s something we’d love to tackle given
more time.
Thanks for following along. Please feel free to ask questions on the mailing list about anything that is unclear and we’ll help clarify if you would like to know more.
Kevin Oliver and the Core Systems Libraries team


Asia-Pacific Working Group
The Asia-Pacific group ran during the 2020-2021 academic year and covered a variety of topics, much like the very first MD4SG working group. The working group is no longer active, but you can connect with community members on the #asia-pacific channel on the MD4SG Slack. If you have not already joined the MD4SG Slack, please email<EMAIL_ADDRESS>Working Group Organizer
| Matthew Olckers | Postdoctoral Researcher | UNSW |
Working Group Members
| Haris Aziz | Associate Professor | UNSW |
| Zhengyang Bao | Graduate Student | Monash University |
| Allan Hernandez Chanto | Lecturer | University of Queensland |
| Shivam Gupta | Student | Indian Institute of Technology Kanpur |
| Nam Ho-Nguyen | Lecturer | University of Sydney |
| Memunat Ibrahim | Graduate Student | ANU |
| Nathan Ives | Country Manager, Cambodia | Causal Design |
| Alexandros Karakostas | Postdoctoral Researcher | University of Queensland |
| Ashley Khor | Graduate Student | University of Pittsburgh |
| Alexander Lam | Graduate Student | UNSW |
| Barton Lee | Graduate Student | UNSW |
| Jaeho Lee | Postdoctoral Researcher | KAIST |
| Xiaoxia Lei | Graduate Student | Shanghai Jiao Tong University |
| Irene Lo | Assistant Professor | Stanford University |
| Liv Nemes-Nemeth | Honours Student | University of Sydney |
| Alexandru Nichifor | Senior Lecturer | University of Melbourne |
| Siqi Pan | Lecturer | University of Melbourne |
| Fahimeh Ramezani | Postdoctoral Researcher | UNSW |
| Christine Rizkallah | Lecturer | UNSW |
| Sanket Shah | Graduate Student | Harvard University |
| Nicholas Teh | Student | National University of Singapore |
| Emil Temnyalov | Lecturer | University of Technology Sydney |
| Kentaro Tomoeda | Senior Lecturer | University of Technology Sydney |
| Vivek Trivedi | Graduate Student | University of Queensland |
| Gabriel Tseng | Machine Learning Engineer | Okra Solar |
| Allen Vong | Research Fellow | University of Macau |
| Toby Walsh | Professor | UNSW |
Summary of the 2021 sessions
Facility Location Problems
Led by Alexander Lam.
Reading: "Approximate Mechanism Design without Money" by Ariel Procaccia and Moshe Tennenholtz.
Highlights:
- "Approximation can be used to obtain strategyproofness without resorting to payments."
- From an optimization perspective, how bad can it be if only a small percentage of the agents can lie?
Explaining Machine Learning
Led by Liv Nemes-Nemeth.
Reading: "On The Reasons Behind Decisions" by Adnan Darwiche and Auguste Hirth.
Highlights:
- An approach to explain how a machine learning algorithm reached a decision on a particular instance. Uses theory on prime implicants.
- This approach doesn't explicitly take into account correlations between features.
Liquid Democracy
Led by Nicholas Teh.
Reading: "Liquid Democracy: An Algorithmic Perspective" by Anson Kahng, Simon Mackenzie and Ariel Procaccia.
Highlights:
- Shows a counterintuitive result that delegating voting responsibility to better informed voters does not necessarily lead to a more accurate decision.
Healthcare Rationing
Led by Haris Aziz.
Reading: "Fair Allocation of Vaccines, Ventilators and Antiviral Treatments: Leaving No Ethical Value Behind in Health Care Rationing" by Parag A. Pathak, Tayfun Sönmez, M. Utku Ünver and M. Bumin Yenmez.
Highlights:
- Priority systems can create ethical problems for healthcare rationing. A system of reserves is more flexible and can overcome many of these problems.
- The paper provides a general theory of reserve systems.
Targeting using Community Information
Led by Zhengyang Bao.
Reading: "Targeting High Ability Entrepreneurs using Community Information: Mechanism Design in the Field" by Reshmaan Hussam, Natalia Rigol and Benjamin Roth.
Highlights:
- Entrepreneurs hold remarkably good information about their peers.
- The peer information can be used to determine which entrepreneurs have high marginal returns to capital.
- When the information is used for targeting loans, peer prediction mechanisms can deter favoritism towards friends and relatives.
Social Drivers of Inequality
Led by Matthew Olckers.
Reading: "Inequality's Economic and Social Roots: The Role of Social Networks and Homophily" by Matthew O. Jackson.
Highlights:
- Divided networks can lead to inequality and immobility. For example, job referrals favor people whose friends have jobs, and it's easier to apply to university when you already know someone who has been through the process.
- Policies to combat inequality should take into account how benefits may spread through social networks.
The Economics of Privacy
Led by Allen Vong.
Reading: "The Economics of Privacy" by Alessandro Acquisti, Curtis Taylor and Liad Wagman.
Highlights:
- Privacy can be beneficial or costly depending on the context.
- The digital economy has limited consumer's ability to understand how their data will be used and what the consequences will be.
Summary of the 2020 sessions
Market Design in Education
Led by Kentaro Tomoeda.
Reading: What Really Matters in Designing School Choice Mechanisms by Parag Pathak.
Highlights:
- In designing school choice mechanisms, what's important in theory may not be important in practice... getting involved with implementing a mechanism highlights these cases.
- Strategyproofness (best response is to report the truth) does not guarantee truthful reporting in practice.
Diversity in Education Markets
Led by Emil Temnyalov.
Reading: "Explicit vs. Statistical Targeting in Affirmative Action: Theory and Evidence from Chicago's Exam Schools" (2020) by by Umut Dur, Parag Pathak and Tayfun Sönmez.
Highlights:
- Subtle details of mechanisms can have big impacts on outcomes. These details can be used as a lever for policymakers.
Fairness and Predictive Policing
Led by Ashley Khor.
Readings: A Snapshot of the Frontiers of Fairness in Machine Learning by Alexandra Chouldechova and Aaron Roth and page 131-141 of Predictive Policing: The Argument for Public Transparency by Erik Bakke.
Highlights:
- Concern that profit driven organisations generate most of the predictive solutions. Should there be more citizen involvement and oversight? The article by Erik Bakke suggests that transparency should be a mandatory feature of predictive policing.
- Open question on what the normative properties a predictive policing algorithm should satisfy.
Defining Fairness
Led by Jaeho Lee.
Reading: Prediction-Based Decisions and Fairness: A Catalogue of Choices, Assumptions, and Definitions by Shira Mitchell, Eric Potash, Solon Barocas, Alexander D'Amour, and Kristian Lum.
Highlights:
- The current ML pipeline imposes unintended fairness threats that are often hard to detect or quantify. Even the clearest cases have subtle issues.
- Impossibility results show that some definitions of fairness cannot be satisfied simultaneously.
Applications of Remote Sensing
Led by Gabriel Tseng.
Reading: Machine learning can help get COVID-19 aid to those who need it most by Joshua Blumenstock.
Highlights:
- Many regions, especially in Africa, have a lack of training data for remote sensing, a challenge which Gabriel has faced in his own work. Gabriel described how he tackled this challenge when his team was asked to deliver maps of farms for the Togolese government in rapid time.
- Can remote sensing allow us to sidestep the information assymetry at the heart of many mechanism design problems?
Foster Care
Led by Allan Hernández-Chanto.
Reading: Review of the Foster Care System by the Queensland Family & Child Commission
Highlights:
- The foster care system has unique characteristics that differ from popular applications of market design, such as school choice. The system is complex, has many stakeholders, involves a dynamic matching problem, and has multiple avenues to exit the system.
- Allan described the foster care system in Queensland. He noted that it has become increasingly difficult for the state to recruit foster parents.


Hi, I'm Haoda Fan. You may remember me from such internet classics like
Haoda Fan's LinkedIn account,
Haoda Fan's Facebook account,
or even HaodaFan's website,
which just so happens to be this website. Speaking of websites, welcome to my new website, Haodafan.com 2.0 HD Remastered! It's like the original haodafan.com
except with Remastered HD graphics and slightly more professional (see IBM? I can be professional! pls hire me). You can check out what little I
made out of my pathetic life right here, in all its Bootstrap glory. If you want to contribute to this website because you also have no life, please visit my
website's github!
So ... what usually goes in the homepage of a website anyway?
Umm... not too sure what to put here, please enjoy this bootstrap carousel of pictures I drew of myself.


property EndUpdate: TNotifyEvent;
Re-enables generation of the OnChange event, masked with BeginUpdate method.
BeginUpdate...EndUpdate pairs may be safely nested.
[See also]:


Guardian
A module that provides JWT based authentication for Elixir applications.
Guardian provides the framework for using JWT any elixir application, web based or otherwise, Where authentication is required.
The base unit of authentication currency is implemented using JWTs.
Configuration
config :guardian, Guardian,
issuer: "MyApp",
ttl: { 30, :days },
serializer: MyApp.GuardianSerializer,
secret_key: "lksjdlkjsdflkjsdf"
Guardian uses Joken, so you will also need to configure that.
Summary↑
| issuer() | The configured issuer. If not configured, defaults to the node that issued |
| mint(object) | Mint a JWT from a resource. The resource will be run through the configured serializer to obtain a value suitable for storage inside a JWT |
| mint(object, audience) | Like mint/1 but also accepts the audience (encoded to the aud key) for the JWT |
| mint(object, audience, claims) | Like mint/2 but also encode anything found inside the claims map into the JWT |
| serializer() | Fetch the configured serializer module |
| verify!(jwt) | If successfully verified, returns the claims encoded into the JWT. Raises otherwise |
| verify!(jwt, params) | If successfully verified, returns the claims encoded into the JWT. Raises otherwise |
| verify(jwt) | Verify the given JWT. This will verify via verify/2 |
| verify(jwt, params) | Verify the given JWT |
Functions
Specs:
- issuer :: String.t
The configured issuer. If not configured, defaults to the node that issued.
Specs:
Mint a JWT from a resource. The resource will be run through the configured serializer to obtain a value suitable for storage inside a JWT.
Specs:
Like mint/1 but also accepts the audience (encoded to the aud key) for the JWT
The aud can be anything but suggested is “token”.
Specs:
Like mint/2 but also encode anything found inside the claims map into the JWT.
To encode permissions into the token, use the :perms
key and pass it a map with the relevant permissions (must be configured)
Example
Guardian.mint(user, :token, perms: %{ default: [:read, :write] })
Specs:
- serializer :: Module.t
Fetch the configured serializer module
Specs:
Verify the given JWT. This will verify via verify/2
Specs:
Verify the given JWT.
Specs:
- verify!(String.t) :: Map
If successfully verified, returns the claims encoded into the JWT. Raises otherwise
Specs:
- verify!(String.t, Map) :: Map
If successfully verified, returns the claims encoded into the JWT. Raises otherwise


Greeting's ! My name is
Liban Warsame
Data Analyst | BI Analyst | Multimedia Creative
Contemplative coder and data analyst. Inspired by tough problems.
Data Analyst
Highly analytical and detail-oriented professional with hands-on experience in conducting data management and analysis. Skilled in deriving and summarizing raw data to improve productivity and simulate growth. Proven track record of excellence in designing, developing and implementing data-centric solutions and creating analytical models.
Dynamic engineering graduate with solid academic experience in the oil & gas industry. Multilingual communicator with ability to build and sustain relationships at all corporate levels.
Collecting and interpreting data , Analysing results and then Reporting the results back to the relevant members of the business. Thorough and meticulous Data Analyst passionate about helping businesses succeed.
Using tools & software to communicate data in the form of charts, graphs and other pictoral diagrams. Also presenting large amounts of data in ways that are universally understandable & easy to interpret and spot patterns.
Designed and built websites for corporate or individual clients. Worked with colleagues and clients to understand website requirements and client needs. Writes, tests, and debugs code and applications. Skilled in HTML, PHP, CSS & JavaScript
Robert Gordon University
Portsmouth University
Get In Touch !


Recent Documents
Create New Document
Edit or Convert A Document
Document Cloud
New Document
Edit Profile
Subscription & Payment
Subscription & Payment
| Subscription Type | Monthly |
| Subscription Date | 11 Jul 2018 |
| Subscription Renewal date | 11 Aug 2018 |
| Subscription Type | Monthly |
| Subscription Date | 11 Jul 2018 |
| Subscription Renewal date | 11 Aug 2018 |


TWL Theme Editor Help
- UI layout
- Menu
UI layout
Main Menu
Image preview
Widget preview
Statusbar
The menu contains functions to load/save a theme project.
Theme Tree
The theme tree displays all elements of the loaded theme.
The icons infront of every node indicate the type of the entry:
- An <include> node. Includes another theme XML file.
- An <images> node. This node is used to load PNG files and declare image nodes.
- An <area> node. This is the basic element from with all others are constructed.
- An <alias> node. References other image nodes and can modify some aspects.
- An <grid> node. Used to assemble grids with flexible resizing weights.
- An <composed> node. Used to layer multiple images on top of each other.
- An <select> node. Renders one of the child images based on conditions.
- An <animation> node. Annimations can cycle through different images and optionally adjust the tint or size.
- An <cursor> node. Defines a mouse cursor.
- An <cursorref> node. Creates an mouse cursor alias.
- An <theme> node. Contains images and parameters for widgets.
- An <fontdef> node. Loads a font and defines font parameters.
Elements can be inserted, deleted and moved through a context menu or using the buttons below:
- Moves the select node up.
- Moves the select node down.
- Deletes the selected node. When it is still referenced by other nodes then these will turn red indicating an error.
- Inserts a new child node into the selected node.
- Clones the selected node. The clone will be inserted below and it's name is altered either by appending a number or if the name ends in a number it is incremented.
- Copies the selected node into the system clipboard.
Theme Properties
The theme properties panel displays the properties for the currently select theme node.
Image preview
Displays the image when the selected node is an image node. When an <area> or <cursor> node is selected then this pane also allows to edit
the coordinates by dragging the rulers.
The preview currently can't display complex image nodes (like <alias>, <grid>, <composed>, <select> or <animation>)