1. Hello Xilinx
| Source code | |
|---|---|
publisher_xilinx |
|
| publisher | member_function_publisher.cpp |
This example lets you experience KRS further, walking you through the process of building and launching a ROS 2 package across different targets: in the workstation, in the real hardware and in an emulation.
Warning
The examples assume you've already installed KRS. If not, refer to install.
Tip
Learn ROS 2 before trying this out first.
$ cd ~/krs_ws # head to your KRS workspace
# prepare the environment
$ source /tools/Xilinx/Vitis/2020.2/settings64.sh # source Xilinx tools
$ source /opt/ros/foxy/setup.bash # Sources system ROS 2 installation
$ export PATH="/usr/bin":$PATH # FIXME: adjust path for CMake 3.5+
# fetch the source code of examples
$ git clone https://github.com/ros-acceleration/acceleration_examples src/acceleration_examples
# build the workspace
$ colcon build --merge-install # about 2 mins
# source the workspace as an overlay
$ source install/setup.bash
Source code of the publisher
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
|
Launch hello_xilinx
example in the workstation
$ source install/setup.bash # source the overlay workspace
$ ros2 run publisher_xilinx member_function_publisher
[INFO] [1618407842.800443167] [minimal_publisher]: Publishing: 'Hello, Xilinx! 0'
[INFO] [1618407843.300407127] [minimal_publisher]: Publishing: 'Hello, Xilinx! 1'
[INFO] [1618407843.800389187] [minimal_publisher]: Publishing: 'Hello, Xilinx! 2'
...
Launch hello_xilinx
example in the KV260 hardware
First, let's select the firmware for the target hardware, KV260
:
$ colcon acceleration select kv260
To verify that we indeed that the right firmware selected, look for the one marked with a "*" at the end of its name:
$ colcon acceleration list
kv260*
Let's now build the package targeting the KV260:
$ colcon build --build-base=build-kv260 --install-base=install-kv260 --merge-install --mixin kv260 --packages-select publisher_xilinx
Let's now create a raw disk image for the SD card with PetaLinux's rootfs, a vanilla Linux 5.4.0 kernel and the ROS 2 overlay workspace we've just created for the KV260:
$ colcon acceleration linux vanilla --install-dir install-kv260
We're now ready to run it on hardware. For that, we need to flash the ~/krs_ws/acceleration/firmware/select/sd_card.img
file into the SD card. If you need help doing so, check out these instructions for different OSs. Make sure to flash ~/krs_ws/acceleration/firmware/select/sd_card.img
we just generated, and not some other image.
Once flashed, connect the board to the computer via its USB/UART/JTAG FTDI adapter and power it on. Then, launch your favority serial console (e.g. sudo tio /dev/ttyUSB1
). You should get to the following prompt where you can use the petalinux
username and define your own password:
PetaLinux 2020.2.2 xilinx-k26-starterkit-2020_2.2 ttyPS0
xilinx-k26-starterkit-2020_2 login:
To launch the hello_xilinx
package:
$ source /usr/bin/ros_setup.bash # source the ROS 2 installation
$ . /ros2_ws/local_setup.bash # source the ROS 2 overlay workspace
$ ros2 run publisher_xilinx member_function_publisher # launch the hello_xilinx example
[INFO] [1618478074.116887661] [minimal_publisher]: Publishing: 'Hello, Xilinx! 0'
[INFO] [1618478074.611878275] [minimal_publisher]: Publishing: 'Hello, Xilinx! 1'
[INFO] [1618478075.112175121] [minimal_publisher]: Publishing: 'Hello, Xilinx! 2'
...
Launch hello_xilinx
example in an emulated KV260
First, let's select the firmware for the target hardware, KV260
:
$ colcon acceleration select kv260
Build the package for the KV260:
$ colcon build --build-base=build-kv260 --install-base=install-kv260 --merge-install --mixin kv260 --packages-select publisher_xilinx
Create a raw disk image for the SD card with PetaLinux's rootfs and a Linux 5.4.0 vanilla kernel:
$ colcon acceleration linux vanilla
Then use the acceleration
extensions to the ROS 2 colcon
meta-build system to launch an emulation:
$ colcon acceleration emulation sw_emu install-kv260
This will trigger the emulation with a prompt like what follows:
Warning
To be fixed in future releases.
Due to some issues with KV260, the current emulation capabilities only brings you to ramfs. To finalize booting the board it's necessary to manually introduce the following in ramfs:
mkdir /configfs
mount -t configfs configfs /configfs
cd /configfs/device-tree/overlays/
mkdir full
mkdir /lib/firmware/
cp /boot/devicetree/zynqmp-sck-kv-g-qemu.dtbo /lib/firmware/.
echo -n "zynqmp-sck-kv-g-qemu.dtbo" > full/path
exec /init
$ colcon acceleration emulation sw_emu install-kv260
SECURITY WARNING: This class invokes explicitly a shell via the shell=True argument of the Python subprocess library, and uses admin privileges to manage raw disk images. It is the user's responsibility to ensure that all whitespace and metacharacters passed are quoted appropriately to avoid shell injection vulnerabilities.
- Verified that install/ is available in the current ROS 2 workspace
- Confirmed availability of raw image file at: /home/xilinx/krs_ws/acceleration/firmware/select/sd_card.img
- Finished inspecting raw image, obtained UNITS and STARTSECTOR P1/P2
- Image mounted successfully at: /tmp/sdcard_img_p2
- Successfully cleaned up prior overlay ROS 2 workspace at: /tmp/sdcard_img_p2/ros2_ws
- Copied 'install-kv260' directory as a ROS 2 overlay workspace in the raw image.
- Umounted the raw image.
- Generated PMU and QEMU files.
- Launching emulation...
cd /home/xilinx/krs_ws/acceleration/firmware/select/emulation && /tools/Xilinx/Vitis/2020.2/bin/launch_emulator -device-family ultrascale -target sw_emu -qemu-args-file /home/xilinx/krs_ws/acceleration/firmware/select/emulation/qemu_args.txt -pmc-args-file /home/xilinx/krs_ws/acceleration/firmware/select/emulation/pmu_args.txt -sd-card-image /home/xilinx/krs_ws/acceleration/firmware/select/sd_card.img -enable-prep-target $*
Running SW Emulation
INFO : [LAUNCH_EMULATOR] pl_sim_dir option is not provided.
Starting QEMU
- Press <Ctrl-a h> for help
Waiting for QEMU to start. qemu_port 9720
Qemu_pids<PHONE_NUMBER>89
qemu-system-aarch64: -chardev socket,path=./qemu-rport-_pmu@0,server,id=pmu-apu-rp: info: QEMU waiting for connection on: disconnected:unix:./qemu-rport-_pmu@0,server
QEMU started. qemu_pid=601788.
Waiting for PMU to start. Qemu_pids<PHONE_NUMBER>93
qemu-system-aarch64: -chardev socket,id=pl-rp,host=<IP_ADDRESS>,port=8500,server: info: QEMU waiting for connection on: disconnected:tcp:<IP_ADDRESS>:8500,server
PMC started. pmc_pid=601792
Starting PL simulation.Generating PLLauncher commandline
running PLL Launcher
PMU Firmware 2020.2 Jun 10 2021 22:45:10
PMU_ROM Version: xpbr-v8.1.0-0
NOTICE: ATF running on XCZUUNKN/QEMU v4/RTL0.0 at 0xfffea000
NOTICE: BL31: v2.2(release):xilinx-v2020.2.2-k26
NOTICE: BL31: Built : 22:39:14, Jun 10 2021
U-Boot 2020.01 (Jun 11 2021 - 08:39:52 +0000)
Model: ZynqMP SMK-K26 Rev1/B/A
Board: Xilinx ZynqMP
DRAM: 4 GiB
PMUFW: v1.1
EL Level: EL2
Chip ID: unknown
NAND: 0 MiB
MMC: mmc@ff170000: 1
In: serial@ff010000
Out: serial@ff010000
Err: serial@ff010000
Bootmode: JTAG_MODE
Reset reason:
Net: No ethernet found.
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found U-Boot script /boot.scr
2145 bytes read in 17 ms (123 KiB/s)
## Executing script at 20000000
17932800 bytes read in 3251 ms (5.3 MiB/s)
38045 bytes read in 26 ms (1.4 MiB/s)
25150797 bytes read in 4541 ms (5.3 MiB/s)
## Loading init Ramdisk from Legacy Image at 04000000 ...
Image Name: petalinux-initramfs-image-zynqmp
Image Type: AArch64 Linux RAMDisk Image (uncompressed)
Data Size: 25150733 Bytes = 24 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 00100000
Booting using the fdt blob at 0x100000
Loading Ramdisk to 77803000, end 78fff50d ... OK
Loading Device Tree to 000000000fff3000, end 000000000ffff49c ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 5.4.0-xilinx-v2020.2 (oe-user@oe-host) (gcc version 9.2.0 (GCC)) #1 SMP Thu Jun 10 22:03:38 UTC 2021
[ 0.000000] Machine model: ZynqMP SMK-K26 Rev1/B/A
[ 0.000000] earlycon: cdns0 at MMIO 0x00000000ff010000 (options '115200n8')
[ 0.000000] printk: bootconsole [cdns0] enabled
[ 0.000000] efi: Getting EFI parameters from FDT:
[ 0.000000] efi: UEFI not found.
[ 0.000000] cma: Reserved 1000 MiB at 0x0000000039000000
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv1.1 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: MIGRATE_INFO_TYPE not supported.
[ 0.000000] psci: SMC Calling Convention v1.1
[ 0.000000] percpu: Embedded 22 pages/cpu s49880 r8192 d32040 u90112
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: detected: ARM erratum 845719
[ 0.000000] CPU features: detected: ARM erratum 843419
...
ccpath is incorrect: /sys/bus/i2c/devices/*51/eeprom
[ 11.106002] random: python3: uninitialized urandom read (24 bytes read)
ccpath is incorrect: /sys/bus/i2c/devices/*51/eeprom
SOM: CARRIER_CARD: REVISION:
NO CARRIER DTBO FOUND, PLEASE CHECK /boot/devicetree/
Waiting for /dev/mmcblk0p2 to pop up (attempt 1)
Waiting for /dev/mmcblk0p2 to pop up (attempt 2)
Waiting for /dev/mmcblk0p2 to pop up (attempt 3)
Waiting for /dev/mmcblk0p2 to pop up (attempt 4)
Waiting for /dev/mmcblk0p2 to pop up (attempt 5)
Waiting for /dev/mmcblk0p2 to pop up (attempt 6)
Waiting for /dev/mmcblk0p2 to pop up (attempt 7)
Waiting for /dev/mmcblk0p2 to pop up (attempt 8)
Waiting for /dev/mmcblk0p2 to pop up (attempt 9)
Waiting for /dev/mmcblk0p2 to pop up (attempt 10)
Device /dev/mmcblk0p2 not found
ERROR: There's no '/dev' on rootfs.
sh: can't access tty; job control turned off
/ #
To finalize the boot on rootfs, introduce the following:
mkdir /configfs
mount -t configfs configfs /configfs
cd /configfs/device-tree/overlays/
mkdir full
mkdir /lib/firmware/
cp /boot/devicetree/zynqmp-sck-kv-g-qemu.dtbo /lib/firmware/.
echo -n "zynqmp-sck-kv-g-qemu.dtbo" > full/path
exec /init
This should bring you all the way down to the prompt:
PetaLinux 2020.2.2 xilinx-k26-starterkit-2020_2.2 ttyPS0
xilinx-k26-starterkit-2020_2 login:
Use the petalinux
username and pick you own password. Then, inside of the emulation, launch hello_xilinx
:
$ source /usr/bin/ros_setup.bash # source the ROS 2 installation
$ . /ros2_ws/local_setup.bash # source the ROS 2 overlay workspace
$ ros2 run publisher_xilinx member_function_publisher # launch the hello_xilinx example
[INFO] [1618478074.116887661] [minimal_publisher]: Publishing: 'Hello, Xilinx! 0'
[INFO] [1618478074.611878275] [minimal_publisher]: Publishing: 'Hello, Xilinx! 1'
[INFO] [1618478075.112175121] [minimal_publisher]: Publishing: 'Hello, Xilinx! 2'
...
To exit the emulation, type Ctrl-A x
.
Bonus: Launch hello_xilinx
example in emulation with another firmware
As introduced in Features, KRS is designed to be easily portable across boards. To demonstrate it, we'll now fetch the firmware for another board capable of hardware acceleration and launch hello_xilinx
in this board using emulation.
Let's start fetching the firmware:
$ git clone --recursive https://gitlab.com/xilinxrobotics/ros2/acceleration_firmware_zcu102 src/acceleration/acceleration_firmware_zcu102
We then build the workspace to deploy the firmware:
# build the workspace
$ colcon build --merge-install # about 2 mins
Then, we select the firmware and build the workspace for the ZCU102:
$ colcon acceleration select zcu102
$ colcon build --build-base=build-zcu102 --install-base=install-zcu102 --merge-install --mixin zcu102 --packages-select publisher_xilinx
We create new raw disk image for the SD card (using ZCU102's firmware) with PetaLinux's rootfs and a Linux 5.4.0 vanilla kernel:
$ colcon acceleration linux vanilla --install-dir install-zcu102
Then use the acceleration
extensions to the ROS 2 colcon
meta-build system to launch an emulation:
$ colcon acceleration emulation sw_emu --no-install
The ZCU102 rootfs should login automatically with the root
username.
Inside of the emulation, launch hello_xilinx
:
$ source /usr/bin/ros_setup.bash # source the ROS 2 installation
$ . /ros2_ws/local_setup.bash # source the ROS 2 overlay workspace
$ ros2 run publisher_xilinx member_function_publisher # launch the hello_xilinx example
[INFO] [1618478074.116887661] [minimal_publisher]: Publishing: 'Hello, Xilinx! 0'
[INFO] [1618478074.611878275] [minimal_publisher]: Publishing: 'Hello, Xilinx! 1'
[INFO] [1618478075.112175121] [minimal_publisher]: Publishing: 'Hello, Xilinx! 2'
...
To exit the emulation, type Ctrl-A x
.
Tip
You can also try the hw_emu
target in the ZCU102.


Web Designer & Developer
Creative Solutions to Creative Problems
email<EMAIL_ADDRESS>|<PHONE_NUMBER>
Accelerated Bachelor's Degree Program. Worked mainly with C++, MFC and C. Final project was a full 3-D video game. My role was gameplay programmer.
Updating my coding skills. Learning HTML, Javascript, CSS, Node.js, React, Python
Website in-progress. Daily entries about interesting numbers everyone should know about.
Database administration and website maintenance for a non-profit organization
Housing advocate for low-income and those in need. Help clients sign up for section-8 housing and transitional / homeless into permanent housing
Created e-commerce site for medical marijuana dispensary
Managed IT Service provider for 50+ Bay Area Companies
Oakland, California
(510) 684-8821
PiroozWallace@outlook.com


{% extends "layout.html" %} {% block content %}
If you would prefer to view this data in your spreadsheet application download the CSV.
| URL | Published | Author | Opinion |
|---|---|---|---|
| {{ u.url|wordwrap(60, wrapstring=" ")|safe }} |
{{ u.opinion.published.strftime("%Y-%m-%d") }} | {{ u.opinion.author.name }} | {{ u.opinion.name }} |


Properties
Stats
Path:
Loading...
D:\Data\Dev\project\personal-site
Size:
Loading...
Last modified:
Loading...
Created:
Loading...
Webserver
Start


"Your first priority in bringing your ideas to reality".
Certified Software Engineers, we Develop, Design & Build Websites for companies/ businesses to meet your customers requirement standards.
Application of micro-fluidic soldering droplet systems for micro-chips (eg; IC's, PA's, etc) on micro-printed circute boards (repairs).
We do fabric printing with Mimaki industrial print machine for your best desired visual design.
Best data analytic consulting firms to help clients improve performace and create sustainable value for stakeholders.
"Frankly speaking, Growth and Comfort DO NOT Coexist.  So, the Best way to Predict the Future is to Invent it."
Copyright (c) The Odin Project 2021.


Food, water, poverty. Is emergency!
Angel Eats @ Koding Hackathon 6-7th dicember 2014
Syrian refugees
FAO
Unicef


Check-Out
Home
Check-In
Check-Out
Log Out
Tripod
Quantity:
Camera
Quantity:
Boom Mic
Quantity:
Name:
Date:
Notes:


layout: true
--- class: center, middle # NetCoreUsefullEndpoints => ( press > ) https://ignatandrei.github.io/Presentations/UsefullEndpoints.html Code at https://ignatandrei.github.io/Presentations/UsefullEndpoints.zip --- # Agenda 0. About me 2. Swagger - list of endpoints 3. NetCoreUsefullEndpoints 4. Blockly/VisualAPI 7. Discussion / Questions ? --- class: center, top # About me ![:img ignat, 10%](ignat.jpg) Andrei Ignat http://msprogrammer.serviciipeweb.ro/ www.ASP.NET forum moderator YouTube 5 minutes .NET and tools : http://bit.ly/5MinTools Book Making Open Source Component : http://bit.ly/NetOpenSourceComponent Book Copy Paste from StackOverflow : https://amzn.to/2PQ8EDc Monthly meetings: https://www.meetup.com/Bucharest-A-D-C-E-S-Meetup/ --- class: center, top # Swagger - list of endpoints https://www.nuget.org/packages/Swashbuckle.AspNetCore Demo .NET http://localhost:5103/swagger/index.html Add a new Endpoint 2+2 --- class: center, top # HealthCheck https://github.com/Xabaril/AspNetCore.Diagnostics.HealthChecks Links: https://tiltwebapp.azurewebsites.net/healthz https://tiltwebapp.azurewebsites.net/healthchecks-ui --- class: center, top # Version and history
https://www.nuget.org/packages/RSCG_AMS Links: http://tiltwebapp.azurewebsites.net/ams http://tiltwebapp.azurewebsites.net/ams/all --- class: center, top # NetCoreUsefullEndpoints https://www.nuget.org/packages/NetCoreUsefullEndpoints Demo: http://localhost:5103/swagger/index.html Logger + Error Authorization Shutdown --- class: left, top # WebAPI with Blockly Automation - instrument site https://www.nuget.org/packages/NetCore2Blockly Demo: http://localhost:5103/BlocklyAutomation --- class: center, top # Questions? Andrei Ignat http://msprogrammer.serviciipeweb.ro/ www.ASP.NET forum moderator YouTube 5 minutes .NET and tools : http://bit.ly/5MinTools Book Making Open Source Component : http://bit.ly/NetOpenSourceComponent Book Copy Paste from StackOverflow : https://amzn.to/2PQ8EDc Monthly meetings: https://www.meetup.com/Bucharest-A-D-C-E-S-Meetup/


First, you will have to connect to the server.
The server uses websockets, and is located at ws://thedeveloperadventure.newnorth.technology:32900
.
To do a request to the server, the format is:
{
"name": "[request_type]",
"data": {
"[data]"
}
}
You need to parse the message as a string, do not send the JSON directly.
The server will then respond with the following format :
{
"name": "[request_type]",
"client": "[ID]",
"data": {
"error": "[true || false]",
"errorCode": "[String]",
"isAvailable": "[true || false]"
}
}
name
response will be the same as your name
request
client
is the server ID if sent from server, client ID if sent from client
data.error
is true
if an error is found, false
if not,
data.errorCode
is formated as 0x00
data.isAvailable
is true
if the username is not yet taken, false
either.
data
will also contains the data requested to the server.Following the Server Request format, the data needed to create an account are :
{
"name": "CreateAccount",
"data": {
"username": "[yourusername]" ,
"password": "[yourpassword]"
}
}
The server provide a separate method to check if the username is took or not. See Username availability.
To login, provide the following format of data :
{
"name": "Login",
"data": {
"username": "[yourusername]" ,
"password": "[yourpassword]"
}
}
To check if a username is took or not, you need to request the server the following data :
{
"name": "UsernameAvailibility",
"data": {
"username": "[your_username]"
}
}
Make the character walk in a direction, between 2 availables :
{
"name": "Walk",
"data": {
"direction": "Right|Left"
}
}
Make the character turn in a direction between 2 availables :
{
"name": "Turn",
"data": {
"direction": "Right|Left"
}
}
Make the character look at the current character position :
{
"name": "Look"
}
Make the character read an item :
{
"name": "Read",
"data": {
"item": "itemName"
}
}
Make the character take an item :
{
"name": "Take",
"data": {
"item": "itemName"
}
}
Make the character drop an item :
{
"name": "Drop",
"data": {
"item": "itemName"
}
}
The characters attributes will be working in a fashion similar to D&D, it will help the characters chances to perform certain actions as well as increase passive bonuses. The game will not have a typical system for levelling, instead attributes will be increased temporarily depending on what the player has been doing lately. That way, it's all based on what the player does and how much it has been done, and if the player would be inactive for a while or just not use certain skills, the attributes will slowly change back again.
Initial value is 10, minimum value is 1
and maximum value is 99
.
The characters phobias is a lot like attributes, but works in a negative fashion. For example, a high level of rhabdophobia will increase the character's chance to be influenced by magic or panic in the precense of magic. A high level thanatophobia might cause the player to panic in battle when wounded.
Initial value is 5, minimum value is 1
and maximum value is 9
.
{
"name": "ListInventory"
}


@* * Copyright 2023 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @(params: Map[String, Any]) @uk.gov.hmrc.hmrcemailrenderer.templates.helpers.html.template_main(params, "Rescindment: File your Self Assessment tax return") { @uk.gov.hmrc.hmrcemailrenderer.templates.helpers.html.salutation(params)
HMRC sent you an email alert and online message on 19 February 2019.
We sent this to you too early in error, and we are sorry for the mistake.
We have now removed the incorrect message from your HMRC account.
You will receive a new email alert and message soon after the new tax year begins on 6 April.
From HMRC Digital Contact
}


4.7. Function Namespace Managers
Warning
This is an experimental feature being actively developed. The way Function Namespace Managers are configured might be changed.
Function namespace managers support storing and retrieving SQL functions, allowing the Presto engine to perform actions such as creating, altering, deleting functions.
A function namespace is in the format of catalog.schema
(e.g.
example.test
). It can be thought of as a schema for storing
functions. However, it is not a full fledged schema as it does not
support storing tables and views, but only functions.
Each Presto function, whether built-in or user-defined, resides in
a function namespace. All built-in functions reside in the
presto.default
function namespace. The qualified function name of
a function is the function namespace in which it reside followed by
its function name (e.g. example.test.func
). Built-in functions can
be referenced in queries with their function namespaces omitted, while
user-defined functions needs to be referenced by its qualified function
name. A function is uniquely identified by its qualified function name
and parameter type list.
Each function namespace manager binds to a catalog name and manages all functions within that catalog. Using the catalog name of an existing connector is discouraged, as the behavior is not defined nor tested, and will be disallowed in the future.
Currently, those catalog names do not correspond to real catalogs. They cannot be specified as the catalog in a session, nor do they support CREATE SCHEMA, ALTER SCHEMA, DROP SCHEMA, or SHOW SCHEMAS. Instead, namespaces can be added using the methods described below.
Configuration
Presto currently stores all function namespace manager related information in MySQL.
To instantiate a MySQL-based function namespace manager that manages
catalog example
, administrator needs to first have a running MySQL
server. Suppose the MySQL server can be reached at localhost:1080
,
add a file etc/function-namespace/example.properties
with the
following contents:
function-namespace-manager.name=mysql
database-url=localhost:1080
function-namespaces-table-name=example_function_namespaces
functions-table-name=example_sql_functions
When Presto first starts with the above MySQL function namespace manager configuration, two MySQL tables will be created if they do not exist.
example_function_namespaces
stores function namespaces of the catalogexample
.example_sql_functions
stores SQL-invoked functions of the catalogexample
.
Multiple function namespace managers can be instantiated by placing
multiple properties files under etc/function-namespace
. They
may be configured to use the same tables. If so, each manager will
only create and interact with entries of the catalog to which it binds.
To create a new function namespace, insert into the
example_function_namespaces
table:
INSERT INTO example_function_namespaces (catalog_name, schema_name)
VALUES('example', 'test');
Configuration Reference
function-namespace-manager.name
is the type of the function namespace manager to instantiate. Currently, only mysql
is supported.
The following table lists all configuration properties supported by the MySQL function namespace manager.
| Name | Description |
|---|---|
database-url |
The URL of the MySQL database used by the MySQL function namespace manager. |
function-namespaces-table-name |
The name of the table that stores all the function namespaces managed by this manager. |
functions-table-name |
The name of the table that stores all the functions managed by this manager. |


Our weekly live curations are one-of-a-kind live shopping events hosted by tastemakers from around the globe. These curations feature hand-picked products and art from the most interesting brands and artists in our community. Our weekly live curations are one-of-a-kind live shopping events hosted by tastemakers from around the globe. We invite you to their worlds to give you an interactive and informative shopping experience. These curations feature hand-picked products and art from the most interesting misson-driven, design-oriented, innovative brands and artists in our community.


--- layout: post title: Wheel date: '2016-10-23T11:10:39+02:00' categories: - Storyboards picture_url: https://film-Storyboards.tumblr.com/post/152205273026 ---


Mitchell Ong is currently a postdoctoral scholar in the research group of Evan Reed in the Materials Science and Engineering Department at Stanford University. He performed his undergraduate work at the University of California, Los Angeles and graduated there in 2003 with a B.S. degree in Chemistry, which included a computer specialization. He conducted undergraduate research under the supervision of Emily Carter. His research project involved modeling the kinetics and energetics of vacancy formation and diffusion in aluminum as a potential mechanism for void formation and ultimately materials’ failure.
In 2004, Mitchell began the doctoral program in the Department of Chemistry at the University of Illinois at Urbana Champaign under the guidance of Todd Martínez. His thesis work focused on understanding possible exceptions to the Woodward-Hoffmann rules in the photochemical and mechanochemical ring-opening reaction of cyclobutene. He moved to Stanford University with his advisor in 2009 as a visiting research scholar and finished his Ph.D a year later in May 2010.
Currently, his postdoctoral work focuses on using ab initio methods to understand and manipulate the properties of graphene for electronic and photonic applications. Recently, he has demonstrated through ab initio calculations that piezoelectricity can be engineered in graphene by surface adsorption of atoms.
In his spare time, Mitchell enjoys traveling, spending time with friends, following sports, playing tennis, learning web programming and design, listening to music, watching movies and singing.
Publications
M. T. Ong and E. J. Reed, Engineered Piezoelectricity in Graphene, ACS Nano, (2012).
J. M. Lenhardt, J. W. Ogle, M. T. Ong, R. Choe, T. J. Martinez, S. L. Craig, Reactive Cross-Talk between Adjacent Tension-Trapped Transition States, Journal of the American Chemical Society, 133 (10), 3222-3225 (2011).
J. M. Lenhardt, M. T. Ong, R. Choe, C. R. Evenhuis, T. J. Martínez, S. L. Craig, Trapping a Diradical Transition State by Mechanochemical Polymer Extension, Science, 329 (5995), 1057-1060 (2010).
M. J. Kryger, M. T. Ong, S. A. Odom, N. R. Sottos, S. R. White, T. J. Martinez, J. S. Moore, Masked Cyanoacrylates Unveiled by Mechanical Force, Journal of the American Chemical Society, 132 (13), 4558-4559 (2010).
D. A. Davis, A. Hamilton, J. Yang, L. D. Cremar, D. Van Gough, S. L. Potisek, M. T. Ong, P. V. Braun, T. J. Martínez, S. R. White, J. S. Moore, N. R. Sottos, Force-induced activation of covalent bonds in mechanoresponsive polymeric materials, Nature, 459, 68 – 72 (2009).
M. T. Ong, J. Leiding, H. Tao, A. M. Virshup, T. J. Martínez, First Principles Dynamics and Minimum Energy Pathways for Mechanochemical Ring Opening of Cyclobutene, Journal of the American Chemical Society, 131 (18), 6377 – 6379 (2009).
J. D. Coe, M. T. Ong, B. G. Levine, T. J. Martínez, On the Extent and Connectivity of Conical Intersection Seams and the Effects of Three-State Intersections, Journal of Physical Chemistry A, 112 (49), 12559 – 12567 (2008).
G. Ho, M. T. Ong, K. J. Caspersen, E. A. Carter, Energetics and kinetics of vacancy diffusion and aggregation in shocked aluminum via orbital-free density functional theory, Physical Chemistry Chemical Physics, 9, 4951 – 4966 (2007).
< return to staff |


NEWS
Accurate Prediction of COVID-19 using Chest X-Ray Images through Deep Feature Learning model with SMOTE and Machine Learning Classifiers
One of our members worked on COVID-19 predictions based on Chest XRays applying various Machine Learning algorithms. The research work received media recognition.
NEW BLOG
Understanding Graph Attention Networks (GAT)
GAT introduces a mechanism to attend over neighborhoods' features and weigh different nodes accordingly.
PAST EVENT
Kaggle Days
DSG in collaboration with E-Summit IIT R organizing Kaggle Days.


Brand |
Content |
| Great company for any FPGA you need in electronic and surrounding’s materials. Demonstrated exceptional technology skills in excellence. | |
| Overall I am happy to choose PY this time, Quick response, fast delivery, good quality, price and friendly communication. | |
| Highly recommended for PY's dedication, it was very hard to find this EOL part, Everything packed separately in small plastic bags, well performed and fast delivery |
Our customers include


Can a programmer... program?
Strategies to find true programmers
23/11/2014
One of the biggest problems in the tech world is the lack of talent and professionals. We have a huge number of job listings and nobody to fill them. Lots of CS majors graduate every year and well... they need jobs! So why is this happening?
Just because people graduate it doesn't mean they are actually job ready or that they know how to program at all. I read that lots of companies started a pre-interview over skype or an online test to check if they can actually program because they were wasting a lot of time with interviews that were clearly over as soon as they began.
In my opinion the problem is lack of passion, a lot of greed and bad advertising. We need people who actually enjoy working in tech! I know a lot of people taking CS courses and when asked why they chose this field, unfortunately the most common answer is: "Because I want to be rich".  While some people are like that and actually enjoy being that way, which is perfectly fine, most people would hate this life and/or would think they are not smart enough. We probably have a lot of would-be great programmers who will never even try to code because they are either affraid or demotivated. We need better advertising, support and investment to make it more attractive and accessible to everybody.
Maybe then we will have more competent professionals and the tech industry will be better!


--- layout: post title: Texas World Speedway Testing date: 2012-02-10 02:05:12.000000000 -06:00 type: post published: true status: publish categories: - ChumpCar tags: - testing - texas world speedway - TWS meta: _edit_last: '2' _thumbnail_id: '282' author: login: fivepointoh email<EMAIL_ADDRESS>display_name: Matt first_name: Matt last_name: Cleaver ---
Sounds fancy, huh? Professional race teams do "testing," crapcan racers typically just show up, hope their car runs, and start the race.
But, we're planning to do our first 24 hour ChumpCar race this May at Texas World Speedway, and we got an email about an affordable open track day on February 10th, so we jumped at the opportunity to get our car on TWS for the first time. And, since TWS is only about an hour away from our team's home base, it made it a great opportunity. Almost all of our team has experience at this track, but the BMW has never been here, so we wanted to see how our car behaved.
Unfortunately, it rained like crazy the day before and morning of the track day, so we didn't really start pushing the car until 1:00 PM or so. We were using leftover tires from the NOLA race, and the tread wasn't very conducive to running on a wet track.
Once the track dried out, we were about to push the car and turned some pretty competitive laps. Unfortunately, for one thing or another, we had lots of red flags that really cut down on our green flag laps. We think our car will be fairly strong for running up front in the 24 hour race, but we're at a pretty big disadvantage on the big front straightaway. On the rest of the track, our car is really quick. That is assuming that we run the counter-clockwise configuration.
[caption id="attachment_282" align="alignright" width="300" caption="Our car with the new wheels late in the day."][/caption]
We also spent the last hour of the track day changing tires and wheels and putting on a brand new set to heat cycle them for the May race. We've never heat cycled a tire before, so we'll see if we can tell a difference in the durability of the tires over the course of the 24 hours race.
We're looking forward to our next race at Texas World Speedway in May.


a07_gene_sets.Rmd
Because singleCellHaystack
makes few assumptions about
the properties of input data, it can be applied to any numerical data.
Here we used Seurat’s
AddModuleScore to calculated scores for sets of genes that share a
common function (based on GO annotations), and applied it to a spatial
transcriptomics dataset. For this example we use 10x Genomics Visium
platform brain data.
library(Seurat)
library(SeuratData)
library(singleCellHaystack)
We focus on the 10x Genomics Visium anterior1 slice. This datasets contains 31,053 genes and 2,696 spots.
if (!"stxBrain" %in% SeuratData::InstalledData()[["Dataset"]]) {
SeuratData::InstallData("stxBrain")
}
anterior1 <- LoadData("stxBrain", type = "anterior1")
anterior1
#> An object of class Seurat
#> 31053 features across 2696 samples within 1 assay
#> Active assay: Spatial (31053 features, 0 variable features)
#> 1 image present: anterior1
We used Seurat’s AddModuleScore function to calculate numerical values reflecting the average activity of sets of genes associated with common GO terms. We did this for 2,939 Biological Process GO terms that have between 20 and 250 genes in this anterior1 dataset. This calculation takes some time. Here we will use pre-calculated scores that we made available on figshare.
load(url("https://figshare.com/ndownloader/files/38105937"))
ls()
#> [1] "anterior1" "dat.scores"
dim(dat.scores)
#> [1] 2939 2696
dat.scores[1:3,1:3]
#> AAACAAGTATCTCCCA-1 AAACACCAATAACTGC-1
#> GOBP_ACETYL_COA_METABOLIC_PROCESS 0.5663 0.4681
#> GOBP_ACIDIC_AMINO_ACID_TRANSPORT 0.3746 0.8791
#> GOBP_ACID_SECRETION 0.4978 0.5679
#> AAACAGAGCGACTCCT-1
#> GOBP_ACETYL_COA_METABOLIC_PROCESS 0.4743
#> GOBP_ACIDIC_AMINO_ACID_TRANSPORT 0.3768
#> GOBP_ACID_SECRETION 0.4507
We can add these module scores as meta data to the Seurat object, and visualize one of them as an example. Here we visualize the scores for the GO term “acetyl CoA metabolic process”.
anterior1 <- AddMetaData(anterior1,t(dat.scores), col.name = rownames(dat.scores))
SpatialFeaturePlot(anterior1, features = "GOBP_ACETYL_COA_METABOLIC_PROCESS")
haystack
on the spatial coordinates
Next, we want to find biological processes that have a biased
activity within the tissue. For this, the two inputs to
singleCellHaystack
are 1) the module score data and 2) the
spatial coordinates of the Visium spots. Please note that we are not
using an embedding as input space here, but the actual 2D coordinates of
spots inside the tissue. Since this Visium dataset only contains about
2.7k spots and we have scores for about 2.9k GO terms, running
singleCellHaystack
should only take about a minute.
dat.coord <- GetTissueCoordinates(anterior1, "anterior1")
set.seed(123)
res <- haystack(x = dat.coord, expression = dat.scores)
#> ### calling haystack_continuous_highD()...
#> ### Using package sparseMatrixStats to speed up statistics in sparse matrices.
#> ### Calculating row-wise mean and SD...
#> ### Filtered 0 genes with zero variance...
#> ### Using 100 randomizations...
#> ### Using 100 genes to randomize...
#> ### scaling input data...
#> ### deciding grid points...
#> ### calculating Kullback-Leibler divergences...
#> ### performing randomizations...
#> ### estimating p-values...
#> ### picking model for mean D_KL...
#> ### using natural splines
#> ### best RMSD : 0.013
#> ### best df : 1
#> ### picking model for stdev D_KL...
#> ### using natural splines
#> ### best RMSD : 0.01
#> ### best df : 1
#> ### returning result...
We can check the top GO processes with spatially biased score distributions.
show_result_haystack(res.haystack = res, n = 10)
#> D_KL log.p.vals log.p.adj
#> GOBP_NEUROTRANSMITTER_SECRETION 0.02094824 -116.1739 -112.7057
#> GOBP_NEUROTRANSMITTER_TRANSPORT 0.01724916 -115.0818 -111.6136
#> GOBP_REGULATION_OF_NEUROTRANSMITTER_TRANSPORT 0.01639296 -114.8745 -111.4063
#> GOBP_LOCOMOTORY_BEHAVIOR 0.02117002 -113.0179 -109.5497
#> GOBP_SYNAPTIC_VESICLE_EXOCYTOSIS 0.01941167 -112.9365 -109.4683
#> GOBP_RESPONSE_TO_AMPHETAMINE 0.06370640 -112.7320 -109.2638
#> GOBP_RESPONSE_TO_ISOQUINOLINE_ALKALOID 0.04415398 -112.5536 -109.0854
#> GOBP_REGULATION_OF_SYNAPTIC_PLASTICITY 0.01740920 -112.0729 -108.6047
#> GOBP_REGULATED_EXOCYTOSIS 0.01826615 -111.7330 -108.2648
#> GOBP_DENDRITE_DEVELOPMENT 0.01639215 -111.1884 -107.7202
And we can visualize the distribution of scores for the 6 top-scoring GO terms in the spatial plot as an example.
top6 <- show_result_haystack(res.haystack = res, n = 6)
SpatialFeaturePlot(anterior1, features = rownames(top6))


Welcome to the 2015 Biggest Loser: Hong Edition!
The goal of this challenge is to motivate ourselves to lose weight before Svensica’s wedding in an accountable, healthy and fun way.
Rules:
16 week weight loss* challenge w/ $40 buy-in:
- Challenge goes from Feb 16 (Mon) thru June 7 (Sun)
- Points are awarded for hitting your final weight loss goal, and for achieving linear weight loss along the way (don’t drop all the weight in the last week or two!!)
- Total pot at the end of challenge will be divided proportionally by the number of points accrued by each participant
- *Only Daniel may participate with a weight gain goal!
- Starting steps:
- Weigh yourself the week of Feb 9-15 and submit your starting weight and weight loss goal through the website (must be visually verified by someone - okay to use skype or similar video chat to do so)
- NOTE: Your total weight will never be disclosed to any of the participants; only weight deltas will be charted so we can see each other’s progress
-
Weigh-ins are weekly, and can be submitted at any time during a week (a week goes from Monday thru following Sunday)
- Similar clothing (or lack thereof) must be worn during each weigh-in (no cheating by wearing winter parka and holding cat during initial weigh-in)
- Weigh-in must be visually verified by a buddy (okay to use skype or similar video chat to do so)
-
Points are accrued during milestone (MS) weeks:
- MS #1: March 9 -15 - if you are ¼ of the way to your weight loss goal, you accrue 5 points
- MS #2: April 6 - 12 - if you are ½ of the way to your goal, you accrue 5 points
- MS #3: May 4-10 - if you are ¾ of the way to your goal, you accrue 5 points
- MS #4 (final): June 1-7 - if you have met your goal, you accrue 10 points
- Total possible points: 25


fun setAfterTextChangedListener(afterTextChangedListener: AfterTextChangedListener?): Unit
Sets a listener that can react to changes in text, but only by reflecting the new text in the field.
afterTextChangedListener
- the AfterTextChangedListener to attach to this view


Use the arrow keys to move.
Use the space bar to shoot.

Reload the browser page to restart.
Remarks
This is a JavaScript version of my old Atari 800 game Dandy Dungeon.
It should play in any browser that supports the HTML 5 CANVAS tag.
No sound or multi-player yet.


{% extends 'base.html' %}
{% load static %}
{% block title %}
Password Reset Done
{% endblock title %}
{% block content %}
We’ve emailed you instructions for setting your password, if an account exists with the email you
entered. You should receive them shortly.
If you don’t receive an email, please make sure you’ve entered the address you registered with, and
check your spam folder.
Now you Login here :
{% endblock %}


GitHub username is not registered with the course. Please contact course staff.
This can also happen if you changed your CWL during the term. If this is the case, we strongly urge you to consider changing it back until the end of term.


Our 4th annual Youth Camp is scheduled for the weekend of 18th to 20th March, and we are hoping to build on
the tradition we have established in order to reach new heights, including selecting a prestigious Auckland
Youth Representative Band from camp applicants. We have an amazing line-up of tutors and two fantastic
conductors in Billy Middleton and Robert Simpson. The camp is for all ability levels as it is our quest to
fill 2 bands, one advanced and one beginner level to cater for all.
To register your expressions of interest, click here.
Please take a look at our attached posters for all the details of this camp including our original promo,
draft itinerary, and 'Meet the Tutors' page. If you have any queries, please do not hesitate to send
these through the expressions of interest form, and we will respond to you with specific feedback to
help you make your mind up.


BOUNDARY( STUDY )
The boundaries of things are like the boundary between the sea and the sky.
reference:
wave, d’strict, 2020
Black Waves, teamLab, 2016
waves, Memo Akten, 2015
TOP
INFO
WORKS


289 Cubic Inches
350 Horsepower
Four Two-Barrel Side Draft
Weber Carburetors
Original Aluminum Body
This Automobile was driven by Ann Francis in the
mid sixties movie series "Honey West"


LaTeX Notebook Functionality¶
This package contains tools for running a LaTeX notebook with embedded python code. One can then, for instance, keep an electronic lab notebook where the plots and data are generated and processed in place, immediately from the raw data. (The author of the project has kept an electronic notebook for several years in this way with great success.)
Please note that this is a very different “notebook” than the one supplied by jupyter notebooks (which pyspecdata also supports). In this section, we aim to provide a laboratory notebook with publication-ready figures and a complete path from raw data to those figures.
With minimal effort, it is possible to design a notebook that works in a similar fashion with HTML, Markdown, etc. (The main author just has no interest in doing this, since the PDF output looks very nice.)
It’s highly recommended to keep a notebook as a series of different files that have no preamble or ending (i.e. only the part that goes inside the
document
environment), which can then be collected into a gigantic master document with the\input{...}
command, or compiled individually (e.g. while you are actually in the lab working on a particular section).It’s also highly recommended to store notes organized by project, which can then be cross-referenced in a separate chronological document (or vice versa) with the
\\ref{...}
command.

Note that, similar to a python package, there are strange requirements on the structure and directory names of a texmf directory tree. You can’t just rename the directories as you would like.
The pyspecdata repo itself now has a subdirectory called
texmf
that is a ready-to-go texmf tree for this purpose. So, the[LOCATION OF YOUR PYSPECDATA REPO]/texmf
How do I register the texmf directory?
Under Windows, you can add the texmf tree graphically by opening “miktex console” from the start menu → “setting” → “directories” and click the plus symbol → navigate to the location of the texmf directory inside your pyspecdata repository
In general (windows or otherwise) you should be able to use the command
initexmf --register-root=[LOCATION OF YOUR PYSPECDATA REPO]/texmf
Once you’ve done this, the shell command
kpsewhich mypython.sty
should return a result (if you have miktex installed on windows, this should work from either the git bash prompt or the dos or powershell prompt).The pyspecdata package.
Proves the commands pdflatex_notebook_wrapper and update_notebook_pythonscripts, described below under “Running the notebook.”
Also provies the command pdflatex_notebook_view_wrapper, which is used to determine the output PDF and call an appropriate viewer.
If pyspecdata is installed, and the texmf directory is registered with your latex compiles (e.g. miktex), you should be able to clone and compile the example notebooks repo from the franck lab.
You can compile the tex file by typing:
pdflatex_notebook_wrapper notebook.tex
The first time you do this, miktex might need to install many packages, so that you need to keep hitting enter and then reattempting.
On Windows, you will want to install Sumatrapdf (use the installer version, not the portable version) to view your PDFs, since it automatically updates when the PDF is recompiled.
Get set up with standard latex compilation system:
You can use latexmk (shipped with miktex) with Sumatrapdf (Sumatrapdf allows you to edit the PDF while it’s open in Sumatrapdf, while Adobe Acrobat does not). Here is a
~/.latexmkrc
file that works on windows:$pdflatex=q/pdflatex_notebook_wrapper %O -synctex=1 --xelatex %S/; $pdf_previewer=q/pdflatex_notebook_view_wrapper/;#calls the wrapviewer function
It should also be possible to use TeXworks by adding pdflatex_notebook_wrapper to preferences → typesetting → processing tools.
Todo
Alec, can you check this out and update documentation??
It’s assumed that your latex files are stored in a “notebook directory.” In some cases, during the first run, an explanatory error will appear – just follow the instructions.
Running the notebook¶
If you create figures with the figlist_var class,
you should simply be able to write a latex file with embedded
python
environments (\\begin{python}
… \\end{python}
)
replace the pdflatex
command with
pdflatex_notebook_wrapper
when compiling your latex notebook,
to drop the code and plots in place.
For clarity, the code output is a slightly different color (a
dark brown) than the standard text.
A synctex “jump to source” on the resulting portion of the PDF
will send you to the tex output, which is stored in
scripts/*.tex
, where *
is a sequential number
corresponding to the script, and the python source used to
generate it is stored in scripts/*.py
.
Each snippet of unique code is run only once, ever making the
notebook fast and efficient.
For now, an important drawback to this is that if you change modules or
libraries called by the script, the resulting PDF output will not
change.
To get around this, a command is provided that forces scripts to
be re-run. You use it like this: update_notebook_pythonscripts
flush 10 21
– which will flush script numbers 10 to 21.
Manually deleting the .py
files inside the scripts directory
will not have the same effect.
Todo
To limit downtime for the PDF, pdflatex_notebook_wrapper currently copies the final pdf to a truncated filename (assuming that the filename consists of words separated by underscores, it drops the last word).
It would be much better to copy the source PDF into a subdirectory, build it there, and then copy the pdf back into the main directory. This would entail changing the paths of the various files
\RequirePackage[log]{snapshot}
might be helpful to log files here.
probably we will just want to add commands to renewcommand for input as well as the graphicx root.
How it works¶
Note that the code works a bit differently than in previous versions – while it previously required LaTeX to be run with shell-escape enabled,
pdflatex_notebook_wrapper
doesn’t require this.pdflatex_notebook_wrapper
just callspdflatex
followed byupdate_notebook_pythonscripts
To compile, use
pdflatex_notebook_wrapper --xelatex
The LaTeX end¶
The file mypython.sty looks for the python environment, it pulls the relevant
code, outputs it to scripts/*.py
and then writes a command to
the .aux
file that tells LaTeX where to find the
scripts/*.tex
output.
The scripts/*.tex
output is only updated once
update_notebook_pythonscripts
(without arguments) is run.
The python end¶
update_notebook_pythonscripts
runs through the various
scripts/*.py
files, checks and checks whether or not they
have been previously cached (under the same or a different script
number). If the python code is in the cache, it just pulls the
cached output. If not, it runs the file, and stores the result
in the cache.


Ad Creator Test Panel
Paste your javascript file link here.


2012 ARRL
Field Day
June 23
& 24
|
|
Time Remaining Until Field Day 2013
|
|
|
Class 2AB Photos Courtesy of NE0DA, WA6HSI and KD6ELM
|
|
2012 PWARC Field Day Results 2nd of 2 entries in CO, QRP 3rd of 4 entries in Rocky Mountain Division, QRP 94th of 264 entries Nationwide, QRP 8th of 18 entries in Class 2AB, QRP Nationwide (2 transmitters, club, battery power) 17th of 47 entries in CO, all power levels & classes 35th of 109 entries in Rocky Mountain Division, all power levels & classes 933 of 2,617 entries Nationwide, all power levels & classes |


--- layout: page type: detail title: Image Guidelines group: styles permalink: /styles/imagery.html description: Styles for handling pictures and graphics ---


Raab clashes with senior Labour politician over anti-Semitism and Islamophobia
The Foreign Secretary clashed with a senior Labour politician in a tense exchange about racism in each of the two main parties.
Dominic Raab faced up to shadow transport secretary Andy McDonald after the pair conducted a short interview with Sky News about the leaders’ Question Time debate.
The pair point fingers at each other in an animated manner as Mr McDonald reprimands Mr Raab about the Conservatives’ failure to hold an inquiry into Islamophobia while Mr Rabb chastises him about anti-Semitism in Labour.
Speaking over each other for close to a minute as others in the room look on, McDonald says: “You’re actually putting it into the long grass, you’re refusing to do it … listen to Baroness Warsi, she’s telling you what to do about it. You should be doing it.”
Mr Raab said: “Two parties in this country’s history have been investigated by the Equalities and Human Rights Commission (EHRC) – Labour under Corbyn and the BNP (British National Party).
“Answer that.”
The visibly frustrated Mr Raab then walks away.
Later, on the BBC’s Newsnight, Mr McDonald said Labour is “happy” to be subject to an inquiry into anti-Semitism because its efforts to tackle the issue could be “externally validated”.
The Equality and Human Rights Commission launched an investigation into anti-Semitism in the party in August “after receiving a number of complaints about allegations”.
Mr McDonald added: “We’re happy that EHRC are looking into these matters because if they can look at our processes and find any room for improvement then we want to hear from them.
“We think we’ve taken many steps including the doubling of staff, the appointing of internal counsel, and speeding up the processing of complaints.
“So we’ve done an awful lot about this but we are very happy to have that externally validated and looked into by the Equality and Human Rights Commission, and really that’s why we set it up in the first instance so they could carry out these functions.”
Asked if Labour could have envisaged being investigated by the commission it set up in 2007, he said it “should have no barriers to where it looks” and suggested it should look into Islamophobia complaints in the Tory party.
He added: “Hopefully the Conservative Party will take the warnings from Baroness Warsi and set up their inquiry into Islamophobia and if necessary the EHRC may want to look there as well.
“It’s critically important that we remove all forms of prejudice out of political life and wider society.”
Baroness Sayeeda Warsi has been vocal in calling for an inquiry into apparent anti-Muslim bigotry within the Conservative Party.
She recently tweeted the decision not to hold an inquiry into the specific issue was “disappointing” and “predictable”.


Tilapia Cerviche
Ingredients:
- 2 pounds of fresh Tilapia filets
- 1 large Cucumber
- 4 Lemons
- 6 Limes
- 1 Large Red Onion
- 2 Avocados
- 5 or 6 stems of fresh Cilantro
- Sea Salt and Black Pepper to taste
Directions:
- Wash the tilapia filets. Pat them dry. Then slice them into 1 inch pieces. Place the pieces in a large glass or plastic bowl.
- Cut the cucumber into cubes. Dice the red onion. Chop the cilantro finely. Add these into the bowl.
- Squeeze the lemons and limes into the bowl. Stir everything to mix the ingredients well in the citrus juice.
- Cut the avocado into chucks, mix them into the bowl.
- Add salt and pepper to taste.
- Cover the bowl with plastic wrap, and chill for 30 minutes to an hour.
- Serve!
Tips:
Be sure to use fresh seafood. That way you'll avoid food poisoning.
Curing the raw seafood in citrus juice "cooks" it. Making it safe to eat.
Once you finish making cerviche, refrigerate it for half an hour. It tastes great when served chilled.
Use a glass or stoneware bowl, a non-porous bowl. Don't use metal or wood because the citrus juice will react with the bowl.
Cerviche is best eaten shortly after it's prepared. If there are leftovers, refrigerate them right away. Eat any leftovers the next day, or throw them out.
I love to add a swirl of GochuJang sauce on top of each serving. It adds a touch of spicy and sweetness to the dish. Some versions of Cerviche are traditionally served with ketchup.
There are endless variations of Cerviche.
Contrasting colors of seafood and vegetables will look most appealing.
Such as using shrimp, red onion, tomatoes, and cucumber together; such as in the photo below.
Visit Wikipedia.org to learn more about Cerviche.


Ogre is a web client (service) that translates spatial files into GeoJSON using the ogr2ogr command line tool for use in web applications and frameworks.
You can perform Ogre transformations directly by making a HTTP POST request:
Convert to GeoJSON
http://ogre.adc4gis.com/convert
with the following params:
upload
- the file being uploaded
sourceSrs
(optional) - the original projection
targetSrs
(optional) - the target projection
forcePlainText
(optional) - force `text/plain` instead of `application/json`
rfc7946
(optional) - Create Mapbox-compatible file (RFC7946)
callback
(optional) - a JSONP callback function name
Convert from GeoJSON to Shapefile (or specified format)
http://ogre.adc4gis.com/convertJson
with
one of the following params:
json
- text of the GeoJSON file
jsonUrl
- the URL for a remote GeoJSON file
outputName
(optional) - the name for the resulting file
forceUTF8
(optional) - force utf-8
format
(optional) - File format supported by the
ogr2ogr wrapper
Issues and feature requests can be submitted here and to watch, fork and/or contribute to the project, visit the github page .
"Orc Head" drawing by Jason J. Patterson


Welcome
Add CardYour Balance
$23,500
Income+$3.115
Expenses-$1.315
Subscriptions
+11.2%
Savings
$14,500
Friends and Family
Transactions
Showing latest activity from your card. These transactions have already been processed.
Your Latest
Subscriptions
Showing latest activity from your card. These transactions have already been processed.
Graphical
Overview
Showing latest activity from your card. These transactions have already been processed.
Financial
Reports
Showing latest activity from your card. These transactions have already been processed.
Download
Quarter Report
Download
Savings Sheet
Download


03. What is a Web Service?
What Is A Web Service
Talking about web services
What is a Web service?
The web service is a software component that it is accessible via standard web protocol (HTTP or HTTPS) and is designed to communicate with other programs rather than directly with users.
Formats
The web services can provide data using different formats, but the most commons are XML and JSON these standard text-based formats can be parsed easily with any function in any other programming language that can help with interoperability between software applications.
Protocols
One of the most common protocols used is SOAP (Simple Object Access Protocol), this protocol specifies how to encode the HTTP header and the XML file and facilitate the communication between two computers one requesting the data and the other one serving that file, and also specify how the program should return the response.
Business-oriented web services may use a standard called UDDI. This formats data in a specific type of XML known as the Web Services Description Language, or WSDL. While UDDI transmits. WSDL files instead ofstandard.XML files, it may still use the SOAP protocol to transfer data.
The other most common protocol is REST is a design style for protocols, it was developed by Roy Fielding in his Ph.D. dissertation and formalized the approach behind HTTP/1.0, finding what worked well with it, and then using this more structured understanding of it to influence the design of HTTP/1.1. So, while it was after-the-fact in a lot of ways, REST is the design style behind HTTP.
During this program, we are going to focus on RESTful APIs:
A RESTful API is an application program interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data.
API
An API is a specific set of commands and guidelines used for accessing data, while a web service is an actual service provided by an Internet-based source
Client vs Server Quiz
QUIZ QUESTION::
Match the concepts and definitions:
ANSWER CHOICES:
|
Client or Server |
Features |
|---|---|
Database and business logic |
|
Allow end users to interact with the Blockchain Data |
SOLUTION:
|
Client or Server |
Features |
|---|---|
|
Database and business logic |
|
|
Allow end users to interact with the Blockchain Data |


--- layout: page title: About header-img: "img/about-bg.png" ---
Hello, my name is Tomas Perez. I was born in San Francisco with a Spanish father and an African American mother. I have two younger brothers. I moved to Baltimore, Maryland at age 3, and then moved to Atlanta, Georgia at age 7 and have lived there since then. I played a lot of soccer until a bad injury to my knee, but also enjoy video games and spontaneous adventures with friends. I graduated from the University of Miami with a major in Economics and a minor in Psychology. Fun fact: when I was living in San Francisco (and I was a baby), I slept through an earthquake!


Great Cakes delivered to your door!
We have a new offer at the moment "First ordered cake is 100% Free!", valid until the end of the season.
Read More
We take cash, aswell as card payments on the spot or via our website.
All cake photos and copyrights are property of their respective owners. All rights reserved.


Checks if all of array's items are equal to 'value'
Returns resulting array after appending 'item'
Returns resulting array after items have been filtered using 'pattern'
Returns first item in array
Returns resulting array after inserting 'item' at 'index'
Checks if array is empty
Returns item of array at index
Returns last item in array
Returns resulting array after items have been mapped using 'pattern'
Returns maximum element in array
Returns resulting array after merging 'arr1' and 'arr2'
Returns minimum element in array
Pops and returns last item from array
Returns resulting array after prepending 'item'
Returns resulting array after pushing 'item'
Returns resulting array after removing duplicate elements
Returns resulting array after removing 'item'
Returns resulting array after removing item at 'index'
Returns resulting array after reversing its elements
Searches for item in array and returns its index, or -1 if not found
Returns resulting array after setting item at 'index' to 'item'
Returns a slice of the array from 'begin' up to 'end'
Returns array after sorting its elements
Returns sum of elements in array
Checks if string contains 'what'
Checks if array contains 'item'
Returns number of elements in array
Returns string by joining string in 'arr' using 'delim'
Returns dictionary keys as an array
Returns length of string
Replace all occurences of 'what' with 'repl' and returns string
Split string by 'delim' and return array
Returns an array containing dictionary's values
Processes input and returns corresponding Json as string
Processes csv string and returns corresponding object
Returns an array of rows with result set
Closes database by name returns 'true' if successful
Create table using 'keys' with 'types'
Create table using 'keys' with 'types', with dictionary
Delete rows from table, based on conditions 'where'
Inserts key/value pairs in table and returns id
Inserts key/value pairs in table and returns id
Returns the id of the last inserted row
Returns dictionary of next row in result set, or 'false' if unsuccessful
Opens/Creates database by name and returns 'true' if successful
Executes SQL query to database and returns 'true' if successful
Selects rows from table, based on conditions 'where', and returns result
Selects all rows from table, based on conditions 'where', and returns result
Updates rows in table, based on conditions 'where'
Updates rows in table, based on conditions 'where'
Returns resulting dictionary after removing item with key 'key'
Checks if dictionary is empty
Returns item for key 'key'
Checks if key exists in dictionary
Returns resulting array after setting item at 'index' to 'item'
Returns number of items in dictionary
Appends data to file 'filename'
Deletes file 'filename'
Check if file 'filename' exists
Returns contents of file as a string
Renames file to 'fileTo'
Writes data to file 'filename'
Converts HTML/LGMX template to HTML and returns result
Processes input and returns corresponding Json as string
Processes json string and returns corresponding object
Downloads file at 'url' to local 'filepath'
Returns string contents of page at 'url'
Returns string contents of page at 'url', after an HTTP Post request with 'data'
Returns the absolute value of 'n'
Returns arc cosine of 'x'
Returns inverse hyperbolic cosine of 'x'
Returns arc sine of 'x'
Returns inverse hyperbolic sine of 'x'
Returns arc tangent of 'x'
Returns inverse hyperbolic tangent of 'x'
Returns 'x', rounded upwards
Returns cosine of 'x'
Returns hyperbolic cosine of 'x'
Returns E constant
Returns exponential of 'x'
Returns 'x', rounded downwards
Returns number, given its base-n representation in string
Returns number, given its binary representation in string
Returns number, given its hexadecimal representation in string
Returns number, given its octal representation in string
Returns the natural logarithm of 'x'
Returns the base-10 logarithm of 'x'
Returns number from string
Returns Pi constant
Returns 'x' raised to the power of 'y'
Returns 'x', rounded to the nearest integer
Returns sine of 'x'
Returns hyperbolic sine of 'x'
Returns square root of 'x'
Returns tangent of 'x'
Returns hyperbolic tangent of 'x'
Returns integer portion of 'x'
Creates directory at 'path'
Returns current working directory
Returns the directory part of given path
Returns array with contents of given directory
Returns symbol used to separate directory names in a path
Returns path, after expanding tilde
Returns extension part of given path, including the dot
Returns name of file, in file path, without leading directories
Checks if file at 'path' is a directory
Checks if file at 'path' is a file
Checks if file at 'path' is a symlink
Returns path, after resolving current/parent directory symbols
Returns filepath by removing extension
Executes method by name 'func' and returns true if successful
Executes method by name 'func', in module 'mod', and returns true if successful
Executes method by name 'func', using arguments, and returns true if successful
Executes method by name 'func', in module 'mod', using arguments, and returns true if successful
Programmatically import package by string name 'pkg'
Prints debugging information related to given symbol
Checks if the given method is defined
Checks if the given method, in module 'mod', is defined
Returns array of info for each corresponding method
Returns array of info for each corresponding method
Returns an array with defined methods
Checks if the given symbol/variable is defined
Returns an array with defined symbols
Returns matches of regex 'pattern' in string
Checks if string matches regex 'pattern'
Matches regex 'pattern' and returns the slice after the match
Matches regex 'pattern' and returns the slice of input prior to the match
Replaces first match of regex 'pattern' with 'repl' and returns string
Replaces all matches of regex 'pattern' with 'repl' and returns string
Split string by regex 'pattern' and return array
Returns string after removing trailing newline characters
Returns a string, having removed the last character
Checks if string ends with 'what'
Returns index of first occurence of 'what' in string
Checks if string is empty
Checks if string can be be formatted a number
Returns string after left justifying using padding
Returns string after center justifying using padding
Returns string after right justifying using padding
Returns a string with all of its characters converted to lowercase
Returns string with its first character in lowercase
Returns a string, having stripped leading whitespace
Returns a string, having stripped trailing whitespace
Converts a word into 4 characters based on how the word sounds phonetically, using the Soundex algorithm
Checks if string begins with 'what'
Returns a string, having stripped both leading and trailing whitespace
Returns a string with all of its characters converted to uppercase
Returns string with its first character in uppercase
Execute system command and returns output, or false if failed
Checks if argument is an array
Checks if argument is a boolean
Checks if argument is a dictionary
Checks if argument is a number
Checks if argument is a string
Converts argument to string
Returns type of argument (number,string,boolean,array,dictionary)
Checks an XML document, as string, for well-formedness and returns true if successful
Processes input and returns corresponding YAML as string
Processes YAML string and returns corresponding object


We are five awesome women from different working environments, with different lifestyles and different backgrounds, but with one thing in common, we want to become front-end developers!
 Adalab has given us the opportunity to begin this journey. Where it will take us?... only the future will tell. How about you help us write a chapter of our story?


var Graph = function() {
var Graph = function() {
car data and each individual car2go found in portland by license
this.cars = window.cars;
this.ids = Object.keys(this.cars);
the number of days tracked
this.nDays = app.data.numDays;
the timestamp intervals in ms being tracked
this.interval = 600000; // 10 minutes
the interval to update the graph with
this.speed = 200;
the start of it
this.start = new Date(app.data.start);
set the timestamp to be a clone of a date object at the first start
this.timestamp = +this.start;
this.end = app.data.end;
get elements
this.gather();
attach to elements
this.attach();
get configuration for mapreduce and calculate
this.stats = this.defineStats();
};
gather elements & element-related functions
Graph.prototype.gather = function() {
parent element
this.container = d3.select('#map');
create an svg element
this.svg = this.svg ||
this.container.append('svg').attr('id', 'map-graph');
the count text
this.count = d3.select('#count');
time elements
this.day = {
element: d3.select('#day'),
{day of week}
format: d3.time.format('%A')
};
this.time = {
element: d3.select('#time'),
{12hour,space padded:minute} {AM/PM}
format: d3.time.format('%_I:%M %p')
};
timeline element
this.timeline = d3.select('#timeline');
height of the timeline element
this.timeline.height = parseInt(
this.timeline.style('height').replace(/px/, '')
);
collect scales
this.getScales();
};
collect scales based on browser size
Graph.prototype.getScales = function() {
this.xscale = d3.scale.linear()
.domain([+this.start, this.end])
.range([0, window.innerWidth]);
};
attach events to handlers
Graph.prototype.attach = function() {
var thiz = this;
var timeline = this.timeline.node();
take an event object and update the cars at the found x location
var getX = function(e) {
var x = e.pageX || e.clientX;
var timestamp = thiz.xscale.invert(x);
thiz.timestamp = +new Date(timestamp).getTenth();
thiz.stopAnimating = true;
thiz.update(thiz.timestamp);
};
mouse move over the timeline
timeline.addEventListener('mousemove', throttle(getX, 15));
touchmove on the timeline to update it
timeline.addEventListener('touchmove', throttle(getX, 15));
touchstart on the timeline to stop updating
timeline.addEventListener('touchstart', function(e) {
e.preventDefault();
getX(e);
});
touchend on the timeline to continue animating
timeline.addEventListener('touchend', function(e) {
e.preventDefault();
thiz.stopAnimating = false;
thiz.animate();
});
this.container.node().addEventListener('mouseover', function() {
thiz.stopAnimating = false;
thiz.animate();
});
window.addEventListener('resize', throttle(function() {
cache the current timestamp
var timestamp = thiz.timestamp;
update the timeline
thiz.getScales();
thiz.drawTimepath();
thiz.drawTimeline();
update the timestamp
thiz.timestamp = timestamp;
}, 25));
};
draws the axis and ticks under the map
Graph.prototype.drawTimeline = function() {
clear any ticks previously drawn
this.timeline.select('.tick-container').remove();
var start = +this.start;
var end = this.end;
var container = this.timeline.append('svg:g')
.attr({
'class': 'tick-container',
})
number of ticks we need
var ticks = (end - start) / this.interval;
iterate from the first interval to the number of ticks found don't start at 0 to prevent drawing a tick on the left side of the page
for (var i = 1; i < ticks; i++) {
var attrs = {};
small tick = every % 6 (1 hour) big tick = every % 36 (6 hours) divider = every day % 144 (24 hours)
if (i % 144 == 0) {
attrs = {
'class': 'divider',
'y1': this.timeline.height - 30
};
}
else if (i % 36 == 0) {
attrs = {
'class': 'big-tick',
'y1': this.timeline.height - 15
};
}
else if (i % 6 == 0) {
attrs = {
'class': 'small-tick',
'y1': this.timeline.height - 5
}
}
if we found an interval for the tick
if (attrs.y1 != null) {
get the x-coordinate from the tick scale
var x = this.xscale(start + (i * this.interval));
append a tick mark
container.append('svg:line')
.attr(attrs)
.attr({
'y2': this.timeline.height,
'x1': x,
'x2': x
})
}
}
var marker = d3.select('.time-marker');
if the marker doesn't exist yet, create it
if (marker.empty()) {
marker = this.timeline.append('svg:line')
.attr({
'class': 'time-marker',
'y1': this.timeline.height - 20,
'y2': this.timeline.height
});
}
otherwise, move it in front of the ticks by re-appending it to the DOM
else {
marker.remove();
this.timeline.node().appendChild(marker.node());
}
};
draws the path element in the timeline
Graph.prototype.drawTimepath = function() {
var thiz = this;
yscale from 0 number cars found to the max num of cars is the total number found in the dataset
var yscale = d3.scale.linear()
.domain([0, this.ids.length])
.range([this.timeline.height, 0]);
path function
var path = d3.svg.line()
.x(this.xscale)
.y(function(d) {
thiz.timestamp = d;
return yscale(thiz.calculate().numCars);
});
area function
var area = d3.svg.area()
.x(this.xscale)
.y0(this.timeline.height)
.y1(function(d) {
thiz.timestamp = d;
return yscale(thiz.calculate().numCars);
});
generate a range of time intervals between the start and end
var timestamps = d3.range(+this.start, this.end, this.interval);
var generatePath = function(className, dFunction) {
remove any existing path first
thiz.timeline.selectAll('path.' + className).remove();
return thiz.timeline.selectAll('path.' + className)
.data([timestamps])
.enter()
.append('svg:path')
.attr({
'class': className,
'd': dFunction
});
};
generatePath('count-area', area);
this.timestamp = +this.start;
};
Graph.prototype.animate = function(start, speed) {
var thiz = this;
clear any existing animation loop
if (this['animation'] != null)
this.animation = clearTimeout(this.animation);
this.timestamp = start || this.timestamp;
speed = speed || this.speed;
draw all cars hidden to start
this.circles = this.circles || this.svg.selectAll('.car')
.data(this.ids)
.enter()
.append('svg:circle')
.attr({
'class': 'car hide',
'r': 5,
'data-id': function(car) {
return car;
}
});
set a timeout that can be cleared if this is being called again
var loop = function() {
thiz.update(thiz.timestamp, speed);
thiz.timestamp += thiz.interval;
thiz.animation = thiz.stopAnimating == true ?
set the animation to undefined if told to stop udating
clearTimeout(thiz.animation) :
if we're at a time greater than available, stop
thiz.timestamp > thiz.end ? clearTimeout(thiz.animation) :
otherwise, keep animating
setTimeout(loop, speed);
};
loop();
};
update the graph components and car positions
Graph.prototype.update = function(timestamp, speed) {
timestamp = timestamp || this.timestamp;
speed = speed || this.speed; // FIXME for 0
don't try to update if we're at a time beyond what we'll have data for
if (timestamp > this.end) return this.stop();
redraw all the cars with the current timestamp
this.updateCars(timestamp);
update mapreduce stats
this.data = this.calculate();
update text stats
var date = new Date(timestamp).inPortland();
this.day.element.text(this.day.format(date));
this.time.element.text(this.time.format(date));
update the position of the timeline marker
var x = this.xscale(timestamp);
only animate when we're not updating FIXME
var marker = this.timeline.select('.time-marker');
var m = this.stopAnimating ?
marker : marker.transition().duration(speed).ease('linear');
m.attr({
'x1': x,
'x2': x
});
}
updates the car positions according to the given timestamp
Graph.prototype.updateCars = function(timestamp) {
var thiz = this;
if (timestamp == null) return;
updates an individual car by it's id
var update = function(car) {
var loc = thiz.cars[car][timestamp];
var circle = d3.select(this);
the car doesn't have a location for the timestamp
if (loc == null) {
if we're not animating and the car doesn't have a location, hide it
if (thiz.stopAnimating == true) {
circle
.classed('moving', false)
.classed('hide', true);
return;
}
else if we're already moving, don't touch
else if (circle.classed('moving')) return;
get an index of where the previous timestamp occured
var prevTimestamp = circle.attr('data-timestamp');
var index = thiz.cars[car].locations.indexOf(prevTimestamp);
find the next index
var nextLocTimestamp = thiz.cars[car].locations[index + 1];
find the next location
var nextLoc = thiz.cars[car][nextLocTimestamp];
if there is no next timestamp (ie, the car is unavailable and there we are still looping), the car should be hidden
if (nextLoc == null) {
circle.classed('hide', true);
}
if the next location found is over 2 hours away, prevent from drifting the car slowly to it's next found location. it's not available at the current timestamp so hide it until..
else if (+nextLocTimestamp - +prevTimestamp >= (2*Date.hour)) {
circle.classed('hide', true);
}
transfer the car towards it's next location
else {
start the car moving and show it
circle.classed({ moving: true, hide: false });
the difference in intervals between the next found timestamp
var intervals = (nextLocTimestamp - timestamp) / thiz.interval;
next coords
var coords = thiz.getCoords(nextLoc);
start the animation to the next location
circle.transition()
.ease('linear')
.duration(thiz.speed * intervals)
.attr({
cx: coords.x,
cy: coords.y
})
.each('end', function() {
d3.select(this).classed('moving', false);
});
}
}
else {
should only occur the first time the car is available, so show it and put it in it's location
var coords = thiz.getCoords(loc);
end any existing transitions
circle.transition();
move the circle to it's location
circle
show the car and remove the moving class
.classed({ hide: false, moving: false })
.attr({
cx: coords.x,
cy: coords.y,
'data-timestamp': timestamp
});
}
};
this.circles.each(update);
};
return an { x: x, y: y } object from a single location data
Graph.prototype.getCoords = function(location) {
var coords = {
lon: location[0],
lat: location[1]
};
return map.locationPoint(coords);
};
calculations on data
Graph.prototype.calculate = function(data, stats) {
default object of data to mapreduce on
data = data || this.cars;
default stats object with mappings and reductions keys
stats = stats || this.stats || this.defineStats();
return mapreduce(data, stats.mappings, stats.reductions);
};
a schema to mapreduce the dataset on
Graph.prototype.defineStats = function() {
var thiz = this;
return {
mappings: {
boolean value if there was a location found for the current configured timestamp
numCars: function(car) {
return car[thiz.timestamp] != null;
}
},
reductions: {
return a count for the number of cars found with a location at the current timestamp
numCars: function(sum, haslocation) {
sum = sum || 0;
if (haslocation) sum += 1;
return sum;
}
}
}
}


... AND GOD SPOKE A film review by Ben Hoffman Copyright 1994 Ben Hoffman
Two wannabee moviemakers in Hollywood, Clive (Michael Riley) and Marvin (Stephen Rapport), are looking to break into big time. Utterly talentless but eager, they hit upon making a movie about the Bible because of its built in audience. Some four billion people have read the Book and will be flocking to the theaters to see their opus. Sure. The good news is that they have deleted all the depressing parts.
So what if there were actually twelve Apostles? Clive and Marvin's budget only allows for eight; who will know the difference? Brando decides not to be in their film but Soupy Sales is available and willing to play Moses. Because the filmmakers need money they agree to product placement so Moses is holding a six-pack in one hand and the Tablets in the other.
Everything that can go wrong does because Clive and Marvin have not the faintest idea of what they are doing. When they are about to film Eve in the Garden of Eden, they discover the actress (Christie Michelle) whom they have selected to play Eve has tattoos all over her body. Cain is Lou Ferrigno, the giant hulk.
Obviously, the film is not for those who take the Bible "religiously." But if you have a sense of humor about Life and Religion, you'll find God, Jesus, Mary, Noah, etc. portrayed in this satire film.
First-time filmmaker, Arthur Borman, who apparently has lots of experience in how a film is born, produced, made and marketed, directed this very funny takeoff on that very subject.
2.5 bytes 4 Bytes = Absolutely must see. 3 Bytes = Too good to be missed. 2 Bytes = So so. 1 Byte = Save your money.
Ben Hoffman
.
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


Using finite integer sets with complete domain representation
[Programming models]
Modules | |
| Set variables with complete domain representation | |
| Argument arrays | |
| Variable arrays | |
| Domain constraints | |
| Relation constraints | |
| CpltSet operation/relation constraints | |
| Connection constraints to finite domain variables | |
| Intersection and partition constraints | |
| Selection constraints | |
| Branching | |
Enumerations | |
| enum | Gecode::CpltSetRelType { Gecode::SRT_LE, Gecode::SRT_GR, Gecode::SRT_LQ, Gecode::SRT_GQ, Gecode::SRT_LE_REV, Gecode::SRT_GR_REV, Gecode::SRT_LQ_REV, Gecode::SRT_GQ_REV } |
| Common relation types for sets. More... | |
| enum | Gecode::CpltSetOpType { Gecode::SOT_SYMDIFF } |
| Common operations for sets. More... |
Enumeration Type Documentation
Common relation types for sets.
- Enumerator:
Definition at line 508 of file cpltset.hh.


Ignacio Ferreras Astorqui
Honourable Computer Engineer & Data Analyst
&
IoT Developer in my free time


Campaign Data Visualization
Project completed: April 2015
Tools used: HTML/CSS, Twitter Bootstrap, JavaScript/jQuery, AJAX, HighCharts
This project was completed this project as a part of a class assignment for JOMC 586 (Intermediate Interactive Multimedia). The project uses data from the Sunlight Foundation and OpenSecrets to compare the contributions received by N.C. congresspeople in the U.S. House of Representatives in 2013.


--- layout: default title: Install k8sBot on GKE permalink: /install-k8sbot-on-gke ---
Search for and click on ‘k8sBot’ in the GKE marketplace or follow this link
Click ‘Configure’ on the ManagedKube k8sBot application page
Click ‘Subscribe'. Wait for subscription to activate
Click on 'Register with ManagedKube'
On the installation instructions page, click 'Add to Slack'
On the Slack App page, choose the channel to install k8sBot to and click Authorize
Invite k8sBot to your channel and ask for help to start the set-up process ('@k8sbot help')
Ask k8sBot to generate an agent config and turn it on in your cluster with 'kubectl apply -f


Turns a string to lowercase.
Parameters: none
{{lowercase "MAKE THIS ALL LOWERCASE"}}
Renders to:
make this all lowercase
Capitalizes each word in a string.
Parameters: none
{{capitalizeEach "capitalize EACH word in this sentence"}}
Renders to:
Capitalize EACH Word In This Sentence
Centers a string using non-breaking spaces.
Parameters: spaces: int
- The number of spaces. (Required)
{{center "Bender should not be allowed on tv." 10}}
Renders to:
| Bender should not be allowed on tv. |
Same as hyphenate
, but replaces dots in string with hyphens.
Parameters: none
{{dashify "make.this.all.hyphenated"}}
Renders to:
make-this-all-hyphenated
Output a formatted phone number
Credit: Treehouse Blog
Data:
number:<PHONE_NUMBER>
Template:
{{formatPhoneNumber number}}
Renders to:
(444) 444-4444
Replace spaces in string with hyphens.
Parameters: none
{{hyphenate "make this all hyphenated"}}
Result:
make-this-all-hyphenated
Capitalizes the first word in a string.
Parameters: none
{{capitalizeFirst "capitalize first word in this sentence"}}
Renders to:
Capitalize first word in this sentence
Evaluate string A, and count the occurrences of string B within string A
Default: undefined
Parameters:
String A
(required): The string to evaluateString B
(required): The string to look for and count in "string A"{{occurrences "evaluate this string" "i"}}
Result:
2
Reverses a string.
Parameters: none
{{reverse "bender should NOT be allowed on TV."}}
Renders to:
.VT no dewolla eb TON dluohs redneb
Capitalizes the first word of each sentence in a string and converts the rest of the sentence to lowercase.
Parameters: none
{{sentence "capitalize the FIRST word in each sentence. but make the OTHER words lowercase."}}
Renders to:
Capitalize the first word in each sentence. But make the other words lowercase.
Capitalizes all words within a string. Taken from the templating library Walrus by Jeremy Ruppel.
Parameters: none
{{titleize "capitalize EACH word in this sentence"}}
Renders to:
Capitalize Each Word In This Sentence.
Truncates a string given a specified length
, providing a custom string to denote an omission
.
Parameters:
int
- The number of characters to keep (Required).string
- A string to denote an omission (Optional).{{truncate "Bender should not be allowed on tv." 31 "..."}}
Renders to:
Bender should not be allowed...
Turns a string to uppercase. Opposite of {{lowercase}}
.
Parameters: none
{{uppercase "make this all uppercase"}}
Renders to:
MAKE THIS ALL UPPERCASE
See the template for this page →
Find an error? Let us know →


rotten > Library > Death > Suicide > Famous Suicides
Famous Suicides
- Johnny Ace, Russian roulette.
- Chris Acland, drummer for Lush.
- Stuart Adamson, lead singer, Big Country.
- Howard Armstrong, invented FM radio.
- Diana Barrymore, actress, alcohol and sleeping pills.
- Clara Blandick, Auntie Em in the Wizard of Oz, sleeping pills.
- Jonathan Brandis, actor Seaquest DSV, hanged.
- Eva Braun, Adolf Hitler's mistress, in the Fuhrerbunker.
- Richard Brautigan, author, cranial GSW.
- Cleopatra, asp.
- Kurt Cobain, shotgun, Seattle.
- Ray Combs, host of Family Feud, hanged himself at Glendale Adventist Hospital.
- Hart Crane, poet, drowning.
- Dennis Crosby, son of Bing Crosby, shotgun.
- Lindsay Crosby, son of Bing Crosby, shotgun.

- Ian Curtis, of Joy Division, hanged himself on the eve of their American tour.
- George Armstrong Custer, probable suicide with pistol.
- Thich Quang Duc, self-immolation, Saigon.
- R. Budd Dwyer, Pennsylvania state treasurer, gunshot.
- George Eastman, pistol.
- Lillian Millicent Entwistle, starlet, jumped off the Hollywood sign.
- Brian Epstein, Beatles manager, likely suicide by pills.
- Sergei Esenin, Russian poet, hanging.
- Tom Evans, of Badfinger, hanged, Surrey.
- David Ferrie, person of interest in the John F. Kennedy assassination.
- Sigmund Freud, psychoanalyst, morphine overdose.
- Gerard de Nerval, poet and author, hanged himself.
- Charlotte Perkins Gilman, author.
- Joseph Goebbels.
- Hermann Goering, poison pill prior to his hanging sentence.
- Vincent van Gogh, gunshot.
- Anton Gustafsson, Iron Maiden tribute artist.
- Peter Ham, of Badfinger, hanged.
- Rusty Hamer, Danny Thomas' son on Make Room For Daddy, gunshot.
- Sadeq Hedayat, author of The Blind Owl, natural gas inhalation.
- Rudolf Hess, strangled himself in prison, Spandau East Berlin.
- Ernest Hemingway, shotgun.
- Margaux Hemingway, actress, barbiturates.
- Heinrich Himmler, cyanide capsule.
- Adolf Hitler, pistol and cyanide.
- Abbie Hoffman, counterculture author of Steal This Book.
- Douglas Hopkins, of the Gin Blossoms, shot himself.
- Robert E. Howard, author, pistol.
- Michael Hutchence, of INXS, hanging or possibly Autoerotic Asphyxiation. In the Ritz-Carlton Hotel, Sydney, Australia.
- Terry Jones, David Bowie's brother.
- Terry Kath, of the band Chicago, Russian roulette.
- Vachel Lindsay, poet and essayist, Lysol.
- Vladimir Mayakovsky, Russian Futurist poet.
- Yukio Mishima, Japanese playwright, seppuku.
- Marilyn Monroe, pills.
- George de Mohrenschildt, gunshot.
- Nero.
- Jan Palach, Czech protester, self-immolation.
- Robert Pilatus, of Milli Vanilli.
- Sylvia Plath, poet, inhaling natural gas.
- Dana Plato, pills.
- Freddie Prinze, Chico and the Man, gunshot.
- Geli Raubal, Hitler's niece, gunshot in 1939.

- George Reeves, actor, played Superman.
- Bobby Sands, of the IRA, hunger strike.
- George Sanders, actor, sleeping-pill overdose.
- Savannah, porn star, gunshot.
- Shauna Grant, porn star, gunshot.
- Socrates, hemlock.
- Screaming Lord Sutch, founder of England's Monster Raving Loonie Party.
- Del Shannon, vocalist, .22 caliber rifle.
- Elliott Smith, singer-songwriter, stabbed himself.
- David Strickland, Suddenly Susan co-star, hanged himself in Las Vegas.
- Sara Teasdale, poet, drowning.
- Jason Thirsk, of Pennywise, gunshot.
- Thelma Todd, actress, carbon monoxide.
- E. William Tucker, of Ministry and Pigface, pills and slit his own throat.
- Alan Turing, computer scientist and cryptographer, poisoned apple.
- Lupe Velez, the Mexican Spitfire, sleeping pills.
- Herve Villechaize, midget Fantasy Island actor, shotgun.
- James Whale, Frankenstein director, shallow dive.
- Dan White, assassin of S.F. Mayor Moscone, carbon monoxide.
- Paul Williams of The Temptations, gunshot.
- Wendy O. Williams of The Plasmatics, shot herself in the woods outside her home in 1998.
- Alan Wilson, of Canned Heat.
- Virginia Woolf, drowning.
Murder-Suicides
- Marshall Applewhite, mass suicide, San Diego.
- Eric Harris and Dylan Klebold, Columbine massacre.
- George Hennard, Luby's Cafeteria massacre.
- Luc Jouret, homeopath, Chiery, Switzerland and Montreal, Canada.
- Marc Lepine, Canada's most prolific spree killer.
- Woo Bum-Kon, spree killer, Uiryong, Korea.
- Jim Jones, mass suicide, Guyana.
Attempts
- Jurgen Bartsch, German serial killer.
- Angela Bowie, David Bowie's first wife.
- Marianne Faithful, singer, girlfriend of Rolling Stones' Mick Jagger.
- David Gahan, lead singer of Depeche Mode.
- Judy Garland, several suicide attempts.
- John Hinckley, tylenol.
- Vanilla Ice, white rapper.
- Ted Kaczynski, tried to hang himself with his underwear in prison.
- Michael "Mucko" McDermott, spree killing Q.A. engineer.
- Richard Pryor, comedian, self-immolation.
- Cary Stayner, serial killer.
Timeline
| 10 Nov 1887 |
Louis Lingg, scheduled to be hanged for his alleged role in the Haymarket riot bomb, commits suicide by holding a lit stick of dynamite in his mouth. |
| 14 Dec 1944 |
Lupe Velez, Hollywood's "Mexican Spitfire" of the 1940's, commits suicide with an overdose of sleeping pills. Contrary to her plans of being found laid out on the bed in a silk nightgown, she is instead discovered in the bathroom with her head in the toilet. Her ex-husband, Tarzan star Johnny Weismuller, frequently used to beat her. |
Fetish Maximus |
Rotten |
Faces of Death |
Famous Nudes
|


Thrustmaster Mac OS X Driver (Beta)
Intro | Requirements | Installation | Download | License | Release Notes | Known Issues | Contact
This is a kernel extension for Mac OS X for those old (but great) ADB Thrustmaster sticks. It should work with the FCS, WCS, and rudders. It does this by tricking Mac OS X into thinking that the TM equipment is a USB HID device.
Requirements
- Mac OS X 10.2 or latter
- An ADB Bus - Either a real one or a USB to ADB adpater. I use and recomend the iMate from Griffin Technology.
- An old ADB Thrustmaster stick
Installation
- Download the Thrustmaster package
- Double click the package to start the installation
- Reboot
- Configure the driver using the Thrustmaster Preference Panel
- Poll Thrustmaster will poll the values of the TM stick every 70 MS. This is needed for iMates, if you have a real ADB bus, then you can probably turn this off.
- WCS Rocker acts as a Modifier will toggle the rocker between acting as a hat switch, and acting as a modifier for the buttons and FCS hat switch.
- Select the buttons that you want the rocker to modifiy.
- Make sure to Restart the Driver after any changes you make.
- You may need to reinit the ADB bus with the ADB Parser program that Griffin made for the iMate. It is part of the Mac OS X SDK.
- On machines with a real ADB bus you must disable the AppleADBButtons extension by moving it out of the /System/Library/Extension folder.
Apple has a bug with its AppleADBButtons driver (the driver controls the volume, brightness, and eject on iBooks and Powerbooks) where it doesn't check to see if it is getting matched up to the correct device and wil claim ownership of the TM sticks. In order to have the TM driver load properly on boot you will have to disable this extension by moving it out of the /System/Library/Extensions folder. If you are on a laptop, you might not want to do that and just reinit the ADB bus when needed.
Download
License
This project is released under the BSD License. Click here to view the license.
Release Notes
January 22, 2005
- Added an option to emulate a twisting rudder. Some games (GraphSim's Operation Iraq Freedom) are poorly implemented and only search for the Rz axis ignoring the Z axis that a real rudder system would use.
- Modified the hat switch to report values like the Saitek. GraphSim's OIF again has a poor implementation and only seems to work with Saitek like Joysticks.
September 28, 2003
- You can now select what buttons the WCS rocker modifies.
August 24, 2003
- Fixed Rudders, was reporting their range as 0-84, rather then 0-255
- Added a Preference Panel to configure the driver settings
- Moved to sourceforge.net
April 5, 2003
- Added a switch to the info.plist file to allow the rocker to work as a modifier.
- We now add 128 to the reported rudder value.
- When the rocker is not in modifier mode, it should report 0, and 180 degrees, rather then 0 and 45 degrees.
March 29, 2003
- Fixed Hat Switches.... I Hope...
- Fixed Installer
November 23, 2002
- Fixed Hat Switches (I think)
- Inverted the Throttle
- Changed my polling to use a thread an IOSleep(), rather then a timer with a funky delayed call
Known Issues
- I am polling the TM stick, which is bad
Contact
Please email any suggestions, bug reports, complaints, etc... to michael@milvich.com.