SPIED: New BMW X2 xDrive25e scooped on streets
Slated for debut in early 2020, the forthcoming BMW ALPINA XB7 is continuing its final testing on the Nürburgring circuit in Germany, where it was …
by Adrian DorofteAfter the new X1 LCI generation received its plug-in hybrid variant, BMW will extend the technology to the X2 Sports Activity Coupe as well. Slated for debut next year, the new BMW X2 xDrive25e will mark the entrance of the compact SAC into the world of electrification. The new plug-in hybrid X2 is just one of the many electrified models that BMW is planning to roll out until 2023.
The test car that was recently spotted by spy photographers could have easily gone as a standard ICE version. The only relevant signs we are dealing with a plug-in hybrid is the door placed “Hybrid Test Vehicle” sticker and the opening cover for the charging port, positioned on the front left wing.
Pictured: BMW X2
The series X2 xDrive25e will have a seamless integration in the landscape, with no additional physical and visual indication that the car is a plug-in hybrid vehicle, as the former iPerformance badging is gone now. The instrument cluster will feature blue shades and an eDrive inscription. As well, the door sills and and the engine cover will display eDrive logos.
Pictured: Infographics on the BMW X1 xDrive25e plug-in hybrid.
The hybrid powertrain of the new BMW X2 xDrive25e will be identical to the one on the electrified X1. The architecture comprises a 1.5-liter three-cylinder frugal petrol engine with an output of 125 PS (123 hp), while the electric motor is rated at 70 kW/95 PS (94 hp). Together, the maximum output of the hybrid configuration tops 162 kW/220 PS (217 hp).
The all-electric range reaches 50 kilometers in WLTP cycle, which translates into 57 kilometers in corresponding NEDC values. The maximum speed is calculated at 192 km/h, while in the ELECTRIC mode, it hits a mere 135 km/h. The acceleration from standstill to 100 km/h takes 7.0 seconds.
We expect to see an introduction of the BMW X2 xDrive25e in early 2020.


When we define an image in some world coordinate system, to display that image we must map the image to the physical output device. This is a two stage process. For 3 dimensional images we must first determine the 3D camera viewpoint, called the View Reference Point (VRP) and orientation. Then we project from 3D to 2D, since our display device is 2 dimensional. Next, we must map the 2D representation to the physical device. We will first discuss the concept of a Window on the world (WDC), and then a Viewport (in NDC), and finally the mapping WDC to NDC to PDC.
Last changed September 30, 1998, G. Scott Owen, owen@siggraph.org


| | |
- clock(t=None)
- return the current date and time in a formatted string
- config_path(f=None)
- return the configuration path associated with modular4
if a file is provided, return this file concatenated onto the configuration path
- linterp(oldx, oldy, newx, k=0)
- load_measurements(parsers, base_measurement_class)
- look for measurement classes to import
- log(level, msg, *args)
- logging utility function
- uniq(u)
- return an ordered subsequence of a sequence without duplicates
|


Home
Services
About
Chatroom
JJ & Evelyn Mission Statement
Our mission is to make LGBTQ people feel move comfortable in their skins
Services
Categories
Peace
Sticking Together
>
LGBTQ
DON'T EVER BE AFRAID TO SHOW OFF YOUR TRUE COLORS
There's nothing wrong with being you. So that's why this site is for people who are "different" and needs someone to talk.
Click Me!


| lesson 32 A lost ship |
| The salvage operation had been a complete failure. |
| The small ship, Elkor, which had been searching the Barents Sea for weeks, was on its way home. |
| A radio message from the mainland had been received by the ship's captain instructing him to give up the search. |
| The captain knew that another attempt would be made later, |
| for the sunken ship he was trying to find had been carrying a precious cargo of gold bullion. |
| Despite the message, the captain of the Elkor decided to try once more. |
| The sea bed was scoured with powerful nets and there was tremendous excitement on board when a chest was raised from the bottom. |
| Though the crew were at first under the impression that the lost ship had been found, the contents of the chest proved them wrong. |
| What they had in fact found was a ship which had been sunk many years before. |
| The chest contained the personal belongings of a seaman, Alan Fielding. |
| There were books, clothing and photographs, together with letters which the seaman had once received from his wife. |
| The captain of the Elkor ordered his men to salvage as much as possible from the wreck. ^ |
| Nothing of value was found, but the numerous items which were brought to the surface proved to be of great interest. |
| From a heavy gun that was raised, the captain realized that the ship must have been a cruiser. |
| In another chest, which contained the belongings of a ship's officer, |
| there was an unfinished letter which had been written on March 14th, 1943. |
| The captain learnt from the letter that the name of the lost ship was the Karen. |
| The most valuable find of all was the ship's log book, parts of which it was still possible to read. |
| From this the captain was able to piece together all the information that had come to light. |
| The Karen had been sailing in a convoy to Russia when she was torpedoed by an enemy submarine. ^ |
| This was later confirmed by a naval official at the Ministry of Defence after the Elkor had returned home. |
| All the items that were found were sent to the War Museum. |


Serverless Functions on OCI using FN
Serverless Functions on Oracle Cloud using the open source FN project
Fn Project
The Fn project is an open source, container native, and cloud agnostic serverless platform which is being funded by Oracle. It’s easy to use, supports every programming language, and in my opinion, performs very well.
Introduction
As this is an open source project as opposed to a lot of “as a service” offerings available, we are left with the first task of, where we would like to run the project.
The good thing about this, however, is that the FN project is very versatile so you can run it almost anywhere from your laptop, to on-premise, to your favourite cloud platform.
In this blog, I will be walking you through getting started with FN hosted on Oracle Clouds OKE (Kubernetes Engine). There are 2 reasons which I chose this as a platform for testing firstly the easy access and use of the OKE service for a fully managed Kubernetes service and secondly its completely free to test with a free trial!
Getting started
For getting started with FN on Kubernetes the team at FN have made it really easy by releasing a Helm chart to give easy installation. This chart deploys a fully functioning instance of the Fn platform on a Kubernetes cluster using the Helm package manager.
Prerequisites
- PV provisioner support in the underlying infrastructure (for persistent data, see below )
- Install Helm
- Initialise Helm by installing Tiller, the server portion of Helm, to your Kubernetes cluster
Let get started:
Download helm using a package manager for ease:
Initialise Helm once installed:
helm init
Installing the Chart
Clone the fn-helm repo:
git clone
&& cd fn-helm
Install chart dependencies from requirements.yaml:
helm dep build fn
The default chart will install fn as a private service inside your cluster with ephemeral storage, to configure a public endpoint and persistent storage you should look at values.yaml and modify the default settings. For OKE on Oracle Cloud it is as follows:
fn:
service:
annotations: service.beta.kubernetes.io/oci-load-balancer-shape: 400Mbps ui:
service:
annotations: service.beta.kubernetes.io/oci-load-balancer-shape: 400Mbps mysql:
persistence:
enabled: true
existingClaim: tc-fn-mysql redis:
persistence:
enabled: true
existingClaim: tc-fn-redis rbac:
enabled: true
Once you have this edited for your relevant Kubernetes host we can go ahead and install the chart on Kubernetes.
To install the chart with the release name release
:
helm install --name release fn
Note:* if you do not pass the — name flag, a release name will be auto-generated. You can view releases by running helm list (or helm ls, for short).*
Now that FN has been installed we can start the service.
fn start
The above command runs Fn in a single server mode with an embedded database and
queue. Behind the scenes, the fn start
command runs a Docker image called
fnproject/fnserver
in a privileged mode. It also mounts the Docker socket into
the container as well as the /data
folder in the current working directory
(this is where database and queue information is stored). Finally, it exposes
port 8080
to the host so you can invoke it on that port.
First function
The FN CLI which we have installed has a built-in init
command which we use
for new functions.
For FN & Serverless functions there are a few terms which are useful to know that I will refer too in the next steps.
Apps
Apps are a way to group your functions and triggers logically
under the same name e.g. test-app
Triggers
Triggers are pointers to functions used for invoking the
function code. Think of it as an endpoint where the function can be invoked
from, e.g.http://localhost:8080/test-app/helloworld
which uses a HTTP trigger.
**NOTE: **You can have multiple triggers pointing to the same function, eg
events, HTTP triggers, scheduled, etc.
FunctionsThis is the piece of code you are writing and that gets executed.
Images
Docker image that packages your function; the image used depends
on the language of the function (e.g.fnproject/go
, fnproject/ruby
), for the
best performance of functions we want our images to be as small as possible to
make the function easier to scale.
Let’s get started
Now that we have the terminology sorted let’s get started and make our sample app.
To do this we use the init
command to create a function with a Golang runtime
--runtime go
then the provide it with the trigger type --trigger http
and
then finally the subfolder for the function in this case hello
fn init --runtime go --trigger http hello
When we go to the newly created function hello
subfolder, in this folder we
can see the structure of the function, eg:
hello
├── Gopkg.toml
├── func.go
├── func.yaml
└── test.json
The source code for your function is in the func.go
file and has a function
handler that responds with a “Hello World” message. The func.yaml
file
contains information such as version runtime, name, entry point for your
function and a list of triggers.
You may look at the test.json
file and wonder what it is, this file holds an
array of tests (input values and expected output values) that can be used to
test your function as a black-box service fn test
. This is really useful
fortesting any services in the beta stage.
Now that we have created our function using the built-in hello
example we can
run the function for testing using the fn run
command.
**Note: **Before you run the function make sure you set the FN_REGISTRY
environment variable to your Docker repository.
Now when you run the command, Fn will build the Docker image with the function and runs the function like this:
fn run
Building image hello:0.0.1 ...........
{"message":"Hello World"}
This is all great, but we have the Fn server running locally, so let’s deploy our function to the server, instead of just running it.
To deploy the function, you can use the fn deploy
command and specify the app
name. Note that you need to run the command below from within the function
folder:
fn deploy --app myapp
This command deploys the app (called myapp
) and a function called hello
to
the local Fn server and links a trigger called hello-trigger
to that function.
This means that on the Fn server, the function will be accessible under
/myapp/hello-trigger
path (e.g. http://**ClsuterIP**/t/myapp/hello-trigger
).
The app name is used to logically group functions together. To see the full list
of triggers defined on the Fn server, just run this command:
# List all triggers for 'myapp'
fn list triggers myapp
FUNCTION NAME TYPE SOURCE ENDPOINT
hello hello-trigger http /hello-trigger
Finally, if you access the endpoint, you will get back the “Hello World” message like this:
curl
{"message":"Hello World"}
Grouping functions
To group the functions together, we can use the app
name construct — this
allows you to group different functions together logically (e.g. test-app
could have functions such as hello
and goodbye
).
In this case, the test-app
could also be the folder where your functions live,
with their subfolders eg. /hello
and /goodbye
which contain the actual
functions. You can also define the app.yaml
file in the app root folder, to be
able to deploy all functions with one command.
Follow the steps below to create a test-app
with hello and goodbye functions:
# Create the test-app folder
mkdir test-app
cd test-app
# Create app.yaml that defines the app name
echo "name: test-app" > app.yaml
# Create a hello function in /hello subfolder
fn init --runtime go --trigger http hello
# Create a goodbye function in /goodbye subfolder
fn init --runtime go --trigger http goodbye
Next, we can go into the /hello
and the /goodbye
folder, and deploy each app
separately with fn deploy --app test-app
. Alternatively, since we have the app
name defined in app.yaml
in the root folder, we can use this command to deploy
all functions to the Fn server:
fn deploy --all
The above command creates the following functions and triggers:
fn list triggers test-app
FUNCTION NAME TYPE SOURCE ENDPOINT
goodbye goodbye-trigger http /goodbye-trigger
hello hello-trigger http /hello-trigger
You can also create a function that lives in the root of your app by running fn
init
command from the apps root folder:
fn init --runtime node --trigger http
Then deploy it again:
fn deploy --all
Now we have three triggers defined under the greeter-app logical group:
fn list triggers test-app
FUNCTION NAME TYPE SOURCE ENDPOINT
goodbye goodbye-trigger http /goodbye-trigger
greeter-app test-app-trigger http /greeter-app-trigger
hello hello-trigger http /hello-trigger
Enabling the UI
If you prefer to interact with a UI, you can also do this with FN. Assuming you have the Fn server running locally, you can start the UI l:
docker run --rm -it --link fnserver:api -p 4000:4000 -e "FN_API_URL=
" fnproject/ui
When the image has been downloaded and the container has been executed, you’ll
be able to access the UI on http://localhost:4000
.
Try it yourself for free!
Now that you’ve seen how FN works and how to get started and host it on the cloud, why not give it a go yourself with up to 3500 hours worth of free credits on Oracle Cloud http://bit.ly/brianMediumBlog
Brian Mathews @DevOps4Days


V = xasymptote(V,X0)
X = xasymptote(V)
V
[ VAR ] - VAR object.
X0
[ numeric ] - A Nx-NGrp-by-NAlt vector or matrix of asymptotic assumptions for exogenous inputs, where Nx is the number of exogenous variables, NGrp is the number of groups in panel VARs, and NAlt is the number of alternative parameterizations.
V
[ VAR ] - VAR object.The asymptotic assumptions for exogenous inputs are used in the following contexts:
to compute the asymptotic mean of the VAR process, mean
;
to set up initical conditions for resampling, resample
, when they are not supplied in the input database.
If any of the three dimensions of the vector/matrix X0
is size 1, it will be automatically expanded to its appropriate size.
The asymptotic assumptions are reset to NaN
each time the VAR object is estimated using the function estimate
.


Categories Supporting tagline
- lessons 1
- docker 3
- ubuntu 1
- r 2
- angularjs 6
- swing 5
- image 1
- python 1
- images 1
- javascript 4
- function 1
lessons
docker
- Build a Docker container with the gerrit code review system
- multi container application stack
- Launching Jekyll site using docker
ubuntu
r
angularjs
- Working with Forms
- Using Element and Event Directives
- Using Binding and Template Directives
- Facotry and worker functions
- AngularJS module
- Custom filters for angularJS
swing
- swing component settings
- listeners and events using interfaces to cleanly separate components
- swingUtilities
- swing resources
- creating a basic swing application
image
python
images
javascript
- understanding_objects
- CONSTRUCTORS AND PROTOTYPES
- javascript function
- Primitive and Reference Types - Javascript


Kindlify converts your images to Kindle and/or Nook Classic screensavers. To get started, select image:
Powered by emscriptened ImageMagick
by Ale | Fork me on Github
We need to crop your image. Please draw a box around your favourite place on this picture:
Go!
 It usually takes less than 30 seconds.
Download
To install it on Kindle you will need Kindle Screensaver hack, available on all 2.x, 3.x and 4.x Kindles.
On Nook you just drop it to /my screensavers directory, as nookDevs wiki suggests.
/my screensavers


ECHO is off.
Get current time position
00
Time-50ms
-10ms
+10ms
+50ms
Set time position to 5 seconds
1:Zarela Mosquera_ Creating Messages Through Public Art and Design.mp4
Your browser does not support HTML5 video.


The covid19italy R package provides a tidy format dataset of the 2019 Novel Coronavirus COVID-19 (2019-nCoV) pandemic outbreak in Italy. The package includes the following three datasets:
italy_total
- daily summary of the outbreak on the national levelitaly_region
- daily summary of the outbreak on the region levelitaly_province
- daily summary of the outbreak on the province levelMore information about the package datasets available here, and supporting dashboard available here.
Data source: Italy Department of Civil Protection
You can install the released version of covid19italy from CRAN with:
install.packages("covid19italy")
Or, install the most recent version from GitHub with:
# install.packages("devtools")
devtools::install_github("Covid19R/covid19Italy")
While the covid19italy CRAN version is updated every month or two, the Github (Dev) version is updated on a daily bases. The update_data
function enables to overcome this gap and keep the installed version with the most recent data available on the Github version:
library(covid19italy)
update_data()
Note: must restart the R session to have the updates available
data(italy_total)
head(italy_total)
#> date hospitalized_with_symptoms intensive_care total_hospitalized
#> 1 2020-02-24 101 26 127
#> 2 2020-02-25 114 35 150
#> 3 2020-02-26 128 36 164
#> 4 2020-02-27 248 56 304
#> 5 2020-02-28 345 64 409
#> 6 2020-02-29 401 105 506
#> home_confinement cumulative_positive_cases daily_positive_cases recovered
#> 1 94 221 0 1
#> 2 162 311 90 1
#> 3 221 385 74 3
#> 4 284 588 203 45
#> 5 412 821 233 46
#> 6 543 1049 228 50
#> death cumulative_cases total_tests total_people_tested
#> 1 7 229 4324 NA
#> 2 10 322 8623 NA
#> 3 12 400 9587 NA
#> 4 17 650 12014 NA
#> 5 21 888 15695 NA
#> 6 29 1128 18661 NA
library(plotly)
plot_ly(data = italy_total,
x = ~ date,
y = ~home_confinement,
name = 'Home Confinement',
fillcolor = '#FDBBBC',
type = 'scatter',
mode = 'none',
stackgroup = 'one') %>%
add_trace( y = ~ hospitalized_with_symptoms,
name = "Hospitalized with Symptoms",
fillcolor = '#E41317') %>%
add_trace(y = ~intensive_care,
name = 'Intensive Care',
fillcolor = '#9E0003') %>%
layout(title = "Italy - Distribution of Active Covid19 Cases",
legend = list(x = 0.1, y = 0.9),
yaxis = list(title = "Number of Cases"),
xaxis = list(title = "Source: Italy Department of Civil Protection"))
plot_ly(data = italy_total,
x = ~ date,
y = ~ cumulative_positive_cases,
name = 'Active',
fillcolor = '#1f77b4',
type = 'scatter',
mode = 'none',
stackgroup = 'one') %>%
add_trace( y = ~ death,
name = "Death",
fillcolor = '#E41317') %>%
add_trace(y = ~recovered,
name = 'Recovered',
fillcolor = 'forestgreen') %>%
layout(title = "Italy - Distribution of Covid19 Cases",
legend = list(x = 0.1, y = 0.9),
yaxis = list(title = "Number of Cases"),
xaxis = list(title = "Source: Italy Department of Civil Protection"))
italy_region %>%
filter(date == max(date)) %>%
select(region_name, cumulative_positive_cases, recovered, death, cumulative_cases) %>%
arrange(-cumulative_cases) %>%
mutate(region = factor(region_name, levels = region_name)) %>%
plot_ly(y = ~ region,
x = ~ cumulative_positive_cases,
orientation = 'h',
text = ~ cumulative_positive_cases,
textposition = 'auto',
type = "bar",
name = "Active",
marker = list(color = "#1f77b4")) %>%
add_trace(x = ~ recovered,
text = ~ recovered,
textposition = 'auto',
name = "Recovered",
marker = list(color = "forestgreen")) %>%
add_trace(x = ~ death,
text = ~ death,
textposition = 'auto',
name = "Death",
marker = list(color = "red")) %>%
layout(title = "Cases Distribution by Region",
barmode = 'stack',
yaxis = list(title = "Region"),
xaxis = list(title = "Number of Cases"),
hovermode = "compare",
legend = list(x = 0.65, y = 0.9),
margin = list(
l = 20,
r = 10,
b = 10,
t = 30,
pad = 2
))
italy_province %>%
filter(date == max(date), region_name == "Lombardia") %>%
plot_ly(labels = ~province_name, values = ~total_cases,
textinfo="label+percent",
type = 'pie') %>%
layout(title = "Lombardia - Cases Distribution by Province") %>%
hide_legend()
A supporting dashboard for the covid19italy datasets available here.


Supplychain Tracking System
Secure Your Supplychain on Blockchain.
Create the Asset here
Create Asset:
Create Asset
Name:
??
Description:
??
Manufacturer:
??
Current Location:
??


Installation¶
Requirements¶
Python 3 with packages NumPy and SciPy
PyTorch : version>= 1.5
PyKeops : version>= 1.5
Note
In order to have a working version of PyKeOps, it may be necessary to install and upgrade Cmake to Cmake>=3.18 as discussed here.
Installation¶
On Google Colab¶
The easiest way to get a working version of SiSyPHE is to use the free virtual machines provided by Google Colab.
On a new Colab notebook, navigate to Edit→Notebook Settings and select GPU from the Hardware Accelerator drop-down.
Install PyKeops with the Colab specifications first by typing
!pip install pykeops[colab]
Install SiSyPHE by typing
!pip install sisyphe
From source¶
Alternatively, you can clone the git repository at a location of your choice.
Testing the installation¶
The following test function will check the configuration and run the simulation of a system of body-oriented particles (see the example gallery). This simulation uses the main features of the SiSyPHE library: a complex system, nontrivial boundary conditions, a sampling-based interaction mechanism, the blocksparse reduction method and a nontrivial initial condition. Moreover, this model is theoretically well-understood which provides a theoretical baseline to check the accuracy of the output of the simulation.
Warning
This function is mainly intended to be runned on a GPU. Running this function on a CPU will take a long time! See below for a quick testing procedure.
In a Python terminal, type
import sisyphe
sisyphe.test_sisyphe()
On a fresh environment, it should return
Welcome! This test function will create a system of body-oriented particles in a ``milling configuration'' (cf. the example gallery). The test will be considered as successful if the computed milling speed is within a 5% relative error range around the theoretical value.
Running test, this may take a few minutes...
Check configuration...
[pyKeOps] Initializing build folder for dtype=float32 and lang=torch in /root/.cache/pykeops-1.5-cpython-37 ... done.
[pyKeOps] Compiling libKeOpstorch180bebcc11 in /root/.cache/pykeops-1.5-cpython-37:
formula: Sum_Reduction(SqNorm2(x - y),1)
aliases: x = Vi(0,3); y = Vj(1,3);
dtype : float32
...
[pyKeOps] Compiling pybind11 template libKeOps_template_574e4b20be in /root/.cache/pykeops-1.5-cpython-37 ... done.
Done.
pyKeOps with torch bindings is working!
Done.
Sample an initial condition...
Done.
Create a model...
Done.
Run the simulation...
[pyKeOps] Compiling libKeOpstorch269aaf150e in /root/.cache/pykeops-1.5-cpython-37:
formula: Sum_Reduction((Step((Var(5,1,2) - Sum(Square((((Var(0,3,1) - Var(1,3,0)) + (Step(((Minus(Var(2,3,2)) / Var(3,1,2)) - (Var(0,3,1) - Var(1,3,0)))) * Var(2,3,2))) - (Step(((Var(0,3,1) - Var(1,3,0)) - (Var(2,3,2) / Var(4,1,2)))) * Var(2,3,2))))))) * Var(6,16,1)),0)
aliases: Var(0,3,1); Var(1,3,0); Var(2,3,2); Var(3,1,2); Var(4,1,2); Var(5,1,2); Var(6,16,1);
dtype : float32
...
Done.
Progress:100%Done.
Check the result...
Done.
SiSyPHE is working!
The core functionalities of the library are automatically and continuously tested through a GitHub workflow based on the module sisyphe.test.quick_test
. The testing functions include basic computations on simple examples (computation of simple local averages in various situations) and small scales simulations. Note that unlike the function sisyphe.test_sisyphe()
, these testing functions do not check the accuracy of the output of the simulations but only check that the code runs without errors. It is possible to use the Pytest package to run these tests manually: on a Python terminal, type
import pytest
from sisyphe.test import quick_test
retcode = pytest.main([quick_test.__file__,])


{% extends 'layout.html' %} {% block content %}
Every episode of Encyclopedia Brunch is an entry from a tome of knowledge a little too buzzed on its bloody mary to be of any reliable help. It is not here to offer you a way of making sense of your life. Not that that's necessarily what you were looking for. But we'll come back to this.
Really, the intent was just to have someplace we could talk for a little while every week. We needed a little cafe we could duck into to catch up with each other, but we also needed a spotlight shining on our very needy personalities at all times. So we asked ourselves what we could offer in the over-saturated podcast landscape. It's a troubling question, and I recommend anyone looking to diminish their self-confidence ask it of themselves. Alternately, What Would Your Podcast Be About? could be a fun party game.
I'm getting distracted. Here we are in the third paragraph and you still don't know what the podcast is about. This fact, I hope, at least approximates the feeling of listening to the show. Kathryn and Tim are both chemical engineers, fumbling socialites, and pop culture absorbing machines. The show, then, exists in this Venn Diagram. Each week we pick a topic and see where a half-hour chat about it gets us.
Which brings us back to meaning: Encyclopedia Brunch is not intended to be informational, but it does have a lot of information in it (we're fast talkers). Additionally, the author is dead, so our intentions don't really matter anyway. What we're proposing here, really, is that we'll do our best to make a show that's fun for you to listen to, and you tell us if you got anything out of it. Deal?
Great! We'll see you out there.
{% endblock %}


|
PWARC Net Scripts |
PWARC VHF Simplex Net Script
Effective 11/06/2012
Calling the Pueblo West Amateur Radio Club VHF Net.
Calling the Pueblo West Amateur Radio Club VHF Net.
This is ________________. My name is _______, and I am located in _______. I will be your Net Control Station for the second session of tonight's net.
This net meets each Tuesday at 7:30 p.m. for the purpose of communicating with members of the Pueblo West Amateur Radio Club and for helping to ensure our emergency preparedness. Should this frequency be busy at net time, we will meet on our alternte frequency of 146.430 simplex.
This is a directed net. Please do not transmit unless directed to do so by net control. If you need to leave the net before it concludes, please notify Net Control when you check in or give your comments.
Is there any emergency or priority traffic for the net?
Are there any mobiles, portables or emergency powered stations wishing to check in?
Are there any stations with announcements for the net?
======
I will now take member check-ins. All stations please check in by call sign and name only and reserve your comments until you are called upon to give them.
Stations with call letters beginning with the suffix A Alpha though G Golf please check in at this time.
Stations with the suffix H Hotel through M Mary please call now.
Stations with the suffix N November through S Sierra please call now.
Stations with the suffix T Tango through Z Zulu please call now.
Any member stations A Alpha through Z Zulu, please check in now.
Are there any non-club member stations wishing to check in?
Are there any relays?
This is ____________ with the Pueblo West Amateur Radio VHF Net. I will now take comments.
=======
This is _____________________ with the second session of the Pueblo West Amateur Radio Club VHF net. Do we have any other member or visitor check-ins?
Are there any questions, comments or topics that anyone wants discussed on the net tonight?
========
I thank everyone for participating tonight, and I hope you will all check in again next week. The first session of our net is held each Tuesday evening at 7:00 p.m. local time on the Royal Gorge Ham Club repeater near Canon City. That net can be found on 145.490 MHz. The repeater has a minus offset and a PL tone of 103.5. When that net is concluded net members are asked to tune to this frequency for our simplex net at 7:30 p.m.
The Pueblo West Amateur Radio Club meets at 2 p.m. on the second Saturday of each month at the Pueblo West Library, 298 South Joe Martinez Blvd. We also hold an informal Ragchew on the first Saturday of each month at the Hen House Cafe for a Dutch Treat coffee or breakfast. All amateur radio operators are invited to attend.
This is __________________________ closing the second session of the Pueblo West Amateur Radio Club VHF Net. -- 73


b:checkBox The checkBox tag renders an HTML input element of the type "checkbox". This component is designed for situations where you want to display an option to the user that can be enabled or disabled, such as a "remember me" checkbox on a login form.
Adds f:ajax as child to component.
Change it and see JSF example.
#{checkBoxShowcase.tooltip}


A friend of mine from California suggested I post a review of this movie here since it doesn't open in the States until Friday. Speaking as a devoted movie buff and avid 007 fan - don't hold your breath!
Advance publicity hadn't exactly won me over with listening to the Sheryl Crowe single on Capital Radio for the last 2 weeks. Perhaps, I thought, it will seem better when accompanied by the visuals of the opening credit sequence. Oh dear! An entertaining enough pre-credit action sequence leads into the worst opening titles of the entire Bond series - accompanied by a very indifferent title track. And somehow that just set the tone.
A potentially imaginative idea about having a media mogul as the villain of the piece is completely wasted by a wafer-thin story line involving a stealth ship (Oh pleeaase!!!!), some GPS satelite technology and World War 3. Jonathan Pryce struts around as the mogul looking, for the most part, not very menacing at all. His sidekick is a blond German guy who looks as though he's just stepped off the set of a Die Hard movie.
The film does have some redeeming features. As usual there are some neat stunts and some exciting action sequences - the best involving cars and bikes. The BMW 750 easily steals the show for best gadget and best action sequence and is definitely the high point of the movie. Pierce Brosnan puts in another solid performance. Judi Dench as 'M' delivers the one and only decent one-liner at the expense of a certain deceased media mogul.
There are 2 Bond girls. The first is played by Teri Hatcher (Lois Lane from The New Adventures Of Superman) - looks great but never gets a chance to do much other than shrug off her dress. The second is Michelle Yeoh as a Chinese secret agent - cue lots of martial arts action stuff which is also entertaining. Also gets the most gratuitous moment in the movie when she stands under a shower in a white top. Titillating yes, but not exactly Bond's style.
Even the exotic locations seem wasted. The Vietnam stuff with the bike chase is probably the best. Kowloon is woefully under-used - sailing around all those tiny little islands looking far more romantic in The Man With The Golden Gun.
Bond films are never a complete waste - the production values are generally high enough to see to that - but this one certainly won't be a DVD purchase. (Incidentally the bass on this soundtrack is even stronger than Goldeneye).
Rates about a 5 out of 10 and comes as a great disappointment after Goldeneye. Makes you wonder whether this is a sign of things to come now that Cubby is no longer at the helm!
Nigel
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


Scorpio
Scorpio : (October 24 – November 22)
Quite a lot of patience is needed on your part to deal with sensuous feelings that are likely to surface. You may be tempted to change partners and this will create problems.  There will be new job offers too. You will also come in contact with influential persons. Peace and harmony will prevail at home.


Overview • User interface • Special tasks ↑ | ↓ Fit from template • Fit from template (Modeller)
MMM uses distance constraints between spin labels together with a template structure to generate a new structural model. If Modeller is used, additional constraints on secondary structure can be specified.
The template structure can be an experimental structure for the same protein in a different state or for a homologous protein. This structure needs to be provided as a PDB file.
The constraints must be provided in a constraint file, which may also be used to define additional parameters of the model building.
The relation between label-to-label distance constraints and the protein structure is based on rotamer library predictions. Similar to MD predictions of spin label conformations (K. Sale et al.JACS, 2005, 127, 9334-9335), this may introduce uncertainty of about 0.3 nm, which adds to the experimental uncertainty in the mean distance. This uncertainty should be kept in mind when interpreting structural models obtained by this approach.
MMM implements an adapted version of the Zheng/Brooks algorithm (W. Zheng, B. R. Brooks, Biophys. J. 2006, 90, 4327-4336) for driving an elastic network model by a small set of distance constraints. The underlying anisotropic network model is subjected to a normal mode analysis and a small number of low-frequency normal modes is used to model structural transitions.
This approach should only be used for protein state transitions. In other words, an experimental structure of the protein in a different state should be known.
Depending on the type of state transition, this approach may or may not lead to a good description. If you suspect a hinge movement, it will very likely provide a good to excellent result, provided you have at least ten distance constraints. If the protein partially unfolds during the state transition, this approach will very likely fail. If you are unsure, contact us or wait for our forthcoming paper on this approach.
Description of the Fit from template window provides additional information on the approach.
Homology modeling is based on Anfinsen's dogma which states that the native structure of a protein is determined by the amino acid sequence. Accordingly, sequence similarity should imply structural similarity. This idea is formalized in the Modeller software, which MMM interfaces. See the third-party software page for information on how to install Modeller for MMM.
Modeller requires a sequence alignment between the template structure and target structure. If sequence identity is good, such an alignment can be done with MUSCLE, which is bundled with MMM. If sequence identity is poor, alignments from servers or MUSCLE may need to be optimized. A future version of MMM will implement an algorithm that uses EPR distance constraints for optimization of the alignment.
Uncertainty of homology models depends on the level of sequence identity. MMM analyzes the GA341 score, provided by Modeller, to exclude very poor models. Furthermore, the capability of Modeller to generate and rank (by the DOPE score) ensembles of models is used. We strongly advise that you create ensembles of at least 10 models to estimate uncertainty.
Homology modeling with experimental distance constraints works best for moderate sequence identity. At very low sequence identity (midnight zone, less than 20%) models may be very uncertain. At very high sequence identity, homology constraints may overwhelm experimental distance constraints. Therefore, homology modeling with distance constraints is not the method of choice for state transitions of a protein (100% sequence identity), although in simple cases, such as hinge movements, it may still work reasonably well.
Description of the Fit from template/Modeller window provides additional information on the approach.


Canadian National Railway to layoff 1,600 workers: Globe and Mail
by Reuters(Reuters) - Canadian National Railway will lay off 1,600 employees in the United States and Canada, the Globe and Mail reported https://tgam.ca/32Sek26 on Friday.
The layoffs will affect managers, office employees and unionized rail workers in a range of positions across the largest Canadian railroad operator's network, the newspaper reported.
The number of people to be laid off could rise if demand from rail customers continues to decline, the report said, citing a person familiar with matter.
Canadian National Railway was not immediately available for a Reuters request for a comment.


A B C D E F G H I K L M N O P Q R S T U V W X Y
All Classes All Packages
All Classes All Packages
All Classes All Packages
B
- BackgroundPicker - Class in workspaces
-
This class is responsible for allowing the user to pick the background color of the turtle arena graphically when building a workspace.
- BackgroundPicker() - Constructor for class workspaces.BackgroundPicker
-
Constructor for the BackgroundPicker class.
- Backward - Class in controller.operations
-
makes the turtle go backwards whatever the given param value is
- Backward(Model) - Constructor for class controller.operations.Backward
- BasicCommand - Class in view.commandline
-
An implementation of the CommandLine interface, where users can input commands and send it to the program for execution, or load/ save commands.
- BasicCommand(CmdObserver) - Constructor for class view.commandline.BasicCommand
-
Constructor, takes in a CmdObserver object (in a simplified version of the observer design pattern, as final implementation only ever requires one observer).
- BasicSelectorPane - Class in view.selectorpane
-
Implements SelectorPane, creates a pane that stores possible additional panes that users can show and hide.
- BasicSelectorPane(SelectorPaneObserver) - Constructor for class view.selectorpane.BasicSelectorPane
-
Constructor, stores the observer which has to know whenever the state of the selector pane changes (i.e.
- BasicSingleTurtleState - Class in view.statepane
-
Class which implements SingleTurtleState and so is able to store and dynamically update stored state of a turtle, and display this stored state in a graphcial view.
- BasicSingleTurtleState(ResourceBundle, int, StateObserver) - Constructor for class view.statepane.BasicSingleTurtleState
-
Constructor
- BasicStatePane - Class in view.statepane
-
Implements StatePane, contains BasicSingleTurtleState objects containing the state property of each turtle.
- BasicStatePane(StateObserver, Color, double) - Constructor for class view.statepane.BasicStatePane
-
Constructor, creates an empty state pane ready to add turtle states to.
- BasicTurtle - Class in view.turtlearena
-
Implementation of Turtle, represents the actual turtle viewed by the user as well as creates the lines drawn by the turtle.
- BasicTurtle(Image, Color, double) - Constructor for class view.turtlearena.BasicTurtle
-
Constructor, initialises turtle based on default image, pen colour and pen width of turtle
- BasicTurtleArena - Class in view.turtlearena
-
Implementation of the TurtleArena, contains the scene and the turtles within that the user sees, allows for visual properties to change through defined methods.
- BasicTurtleArena(Image, Color, double) - Constructor for class view.turtlearena.BasicTurtleArena
- BasicView - Interface in view
-
Allows for classes to implement this one interface and have methods from ConfigurationView, MovementView, StaticView and Language defined.
All Classes All Packages


Lucia is a tiny JavaScript (UMD compatible) library as a drop-in replacement for jQuery and vanilla JavaScript web apps. Some features of Lucia are:
Lucia is currently is installable through a CDN and also supports UMD (Node, Browser, Isomorphic/Universal). Put this within your
tags in html.

Below is an example of a clicker game in Lucia. No, your eyes aren't fooling you - it's really that simple.

<button l-text="count" l-on:click="++count"></button>

Lucia relies on directives in markup to perform functions:
| Directive | Description |
|---|---|
l-use |
Declares a new component scope. |
l-text |
Works similarly to l-bind , but will update the textContent of an element. |
l-html |
Works similarly to l-bind , but will update the innerHTML of an element. |
l-if |
Toggles display: none; on the element depending on expression (true or false). |
l-on |
Attaches an event listener to the element. Executes JavaScript expression when emitted. |
l-bind |
Sets the value of an attribute to the result of a JavaScript expression. |
l-join |
Create new DOM nodes for each item in an array. |
l-model |
Adds "two-way data binding" to an element. Keeps input element in sync with view data. |
Lucia allows us to create component scopes. It tells the library to initialize a new component with the following data object.

At the core of Lucia is a system that enables us to declaratively render data to the DOM using the straightforward l-text
and l-html
directives:

function DeclarativeRendering() {
return {
message: 'Hello World!',
markupMessage: 'Hello World with Markup!',
};
}
It’s easy to toggle the presence of an element, too:

<button l-if="!show">You can't see me</button>
<button l-if="show">You can see me</button>

function Conditionals() {
return { show: true };
}
To let users interact with your app, we can use the l-on
directive to attach event listeners that invoke methods on our Lucia instances:

<button l-on:click="announce()" l-text="message"></button>

function EventHandlers() {
return {
message: 'Hello world!',
announce() {
alert(this.message);
},
};
}
In addition to text interpolation, we can also bind element attributes using the l-bind
directive:

Classes are cool

Styles are sassy

function AttributeBinding() {
return {
show: true,
color: { color: 'purple' },
};
}
We can also use the l-join
directive to render a list of items based on an array. Note that performance will be affected if using array mutators.

function ListRendering() {
return {
fruits: ['apple', 'orange', 'banana'],
};
}
You can use the l-model
directive to create two-way data bindings on form input
, textarea
, and select
elements.

<input l-model="message" />

function FormInputBindings() {
return {
message: 'Nothing submitted yet',
};
}
Lucia is MIT licensed.
Generated using TypeDoc


| Event | Name | Date | Start time | End time | Room | Speaker | Attendance | |
|---|---|---|---|---|---|---|---|---|
| {{ talk['event_name'] }} | {{ talk['name'] }} | {{ talk['date'] }} | {{ talk['start'] }} | {{ talk['end'] }} | {{ talk['room'] }} | {{ talk['speaker'] }} | {{ talk['attendance'] }} |
{%- extends 'index.html' -%} {%- block head -%} {%- include 'head.html' -%} {%- block additional_css -%} {%- endblock -%} {%- endblock -%} {%- block body -%}
| Event | Name | Date | Start time | End time | Room | Speaker | Attendance | |
|---|---|---|---|---|---|---|---|---|
| {{ talk['event_name'] }} | {{ talk['name'] }} | {{ talk['date'] }} | {{ talk['start'] }} | {{ talk['end'] }} | {{ talk['room'] }} | {{ talk['speaker'] }} | {{ talk['attendance'] }} |


a personal informatics application that measures your water footprint
Droplet is a mobile app that helps consumers measure their water footprint through the products that they use. Water footprint can be defined as the amount of water it takes to manufacture a product such as cheese or a juice carton. The system calculates the water footprint based on the products one buys at a supermarket and offers less water-intensive products as an alternative. It also calculates the water footprint of individual meals at restaurants based on the ingredients used.
Product Mission
Droplet seeks to raise awareness of the unforeseen costs of purchasing an
item and make more thougtful purchases
Our group was interested in solving a problem related to sustainability. We first went through a series of brainstorming exercises to consider various areas we could look into. We considered paper consumption, food wastage, local produce consumption and textile wastage.
While there are a number of applications and programs already available that measure more popular eco-friendly resolutions such as recycling and paper consumption, there are none that measure water footprint directly. We conducted 20 user interviews to understand how people view sustainability.
Affinity Mapping
Our interviews revealed a wide net of user behaviors as well as sustainability issues users are concerned about. As we plotted them in the form of an affinity map and brainstormed areas to focus on, one fact became very evident — most users admitted to not thinking about water footprint when purchasing an item.
Interviewee Quote
"I don't really think about water footprint when I'm buying say, cheese.
I mean...you don't really see that do you"
The project itself aims at being a personal informatics application. Drawing upon theories of personal informatics design such as Norm Activation and “The Rider and the Elephant” (Haidt, 2006), Droplet encourages and enables users to make better in-the-moment behavior changes.
On-demand water footprint score
The app allows users to scan an item's barcode and receive information about the item's water footprint instantaneously. This information is sourced from the app's database which contains an extensive collection of water footprints of various commonly purchased products. Droplet also displays less water-intensive alternatives for purchase.
Encouragement
One of the covenants of Personal Informatics Design is the need to offer encouragement to the user. A major challenge facing designers today is the 28-day problem — the fact that many users do not continue using apps beyond 28 days. In order to keep the user interested, we sought to show the user just how far they have come in their journey towards improving their water footprint. We did this in a simple manner — through words of encouragement and comparing a numerical value into normal terms such as the amount of water needed for a routine task like showering.
Self-reporting at the supermarket or restaurant
Droplet allows users to self report their water footprint while on a trip to the grocery store or while getting takeout at a restaurant through the app’s virtual shopping cart.
And with these designs, we formally present to you:


The ant king quickly sensed the 'changes' taking place on the body that it felt so proud of
Crack
Crack .
Its outer skin, most likely tougher and hardier than any known metal on this planet, began developing cracks all over the place . On the other hand, the enemy was easily withstanding the ant king's attacks
'It can't be . '.
An impossible hypothesis quickly entered the ant king's head
'I . I'm losing out on physical strength?!'.
Not only that, to a human less than half its size?.
But, right at that moment .
CRACK
It realised that the fresh wound on its waist from that powerful hit felt 'wrong' . Even the sound coming from there was not too good to hear
The exoskeleton lacked pain receptors, so the ant king had to divert its attention for the briefest of moments to confirm the status of its shell down there
Sneak
The result was rather shocking to behold
'… . It's cracked open!'.
The small crack that was no more than just a nick had spread out to everywhere and was growing larger and larger . It was the same thing as a warning sign, telling the creature that there wasn't a lot of time left
The ant king quickly turned its head around . However, even if it was only for a brief moment, Jin-Woo wasn't some amateur who'd miss this golden opportunity
Ka-boom!!.
The king's face spun to its side
'… ??'.
The ant king staggered unsteadily for a second or two from the ridiculous impact force that ignored the ant king's forged steel-like shell on its face
It managed to regain its balance before it took a step back, but by then, the follow-up punch was already closing in from below
KWAHNG!!.
The ant king's chin shot upwards
'How dare a human, who's inferior than a bug . !!'.
While its head still pointing up at the ceiling, the ant king shot a glare full of murderous rage down below
The power this human possessed – it was indeed great . However, unlike this human, who only had his physical strength to fall back on, the ant king possessed a variety of other powerful means at its disposal
Such as .
The ant king's head snapped back down, and at the same time, it fired a poison needle out of its mouth . A tip coated in deadly poison attached to the tongue-like tentacle shot out like a bullet
It was an unavoidable attack aimed at the enemy's face in this point-blank range
Swish-!.
The human deftly tilted his head out of the way to dodge the needle, but a smile still crept up on the face of the ant king as the result of its attack became clear . The needle still managed to scratch the human's cheek and left a small wound there
'It's done!'.
That alone was more than enough
Once, the ant king devoured a sea snail and somewhat coincidentally, absorbed a skill called 'Paralysis Poison'
One of the most fatal poisons secreted by the known lifeforms in this world had been transformed into an even more deadly substance within the ant king's body after it became a concentrated mix that contained the magical energy of the host creature
It was indeed the worst poison imaginable, evolved forcibly by the skill, 'Gluttony'
'You've really given me so much trouble, you human b*stard . '.
Even the slightest scratch would result in complete paralysis in one's nervous system within seconds; the victims would lose all sensations in their bodies and lose control of themselves
The only thing remaining would be to systematically destroy the resistance-less enemy
"… . ?".
As if the poison was doing its thing, the human formed a flustered expression
"This is the power of the true king!".
The ant king smiled widely and smacked the human's face . However .
Kwahng!!.
The human raised his left hand and blocked it
'… ??'.
The question of how he was still able to move lasted only for a second
Ka-booooom!!.
The human's right fist flew in from the other side and struck the ant king so hard that the monster was shoved down to the ground rather unceremoniously
"Kiiiehk!!".
For the first time ever, a pained yelp shot out from the king's mouth
***.
Tti-ring
Jin-Woo confirmed the System message popping up in his view as that familiar mechanical beep rang out
[Detoxification has been completed . ].
'I was wondering why it was celebrating all alone, but huh, is this why?'.
Maybe that was the case because, for some reason, he could sense that the ant king showed much more panic when he moved without a problem just now
What a mystifying thing this was
He wasn't talking about the all-powerful Buff getting rid of the poison, no, but the fact that he could actually sense the insect-like monster's emotions
Before he had realised it, he could sense what other monsters were feeling about
'Wait, was it from around the time I fought those High Orcs?'.
Back then, he thought that he was able to decipher what those creatures were feeling by looking at their facial expressions and their gestures . However, that ant monster wasn't even what you'd classify as a humanoid creature
Indeed, that thing had no other facial expressions other than crumpling it in anger
'Is this because of my Perception?'.
Just as his Stat values had all increased by so much lately, his Perception Stat also had increased by a lot, too . It was possible that some other unknown, hidden abilities to his Stats were unlocked when they went past a certain threshold
However .
'… . Now isn't the time to think about that, is it?'.
Indeed, his priority lay with killing this thing and getting out of this place . Jin-Woo sprinted towards the ant king trying to push itself off from the ground
'… !!'.
He could definitely feel the ant king's nervousness on his skin now . His continued pounding resulted in the creature's exoskeleton almost being cracked open . Just a little bit more now!.
He thought like so and closed the distance in the blink of an eye, before jumping up slightly in the air . And then, he kicked down
Kwa-boom!!.
However, the ant king had already vanished from the spot . Only the poor ground caved in from the impact
"Where did it go?!".
"It disappeared??".
While the other Hunters hurriedly searched for the ant king, Jin-Woo calmly looked above him . The monster was flying in the air using its wings
'Well, I guess this is convenient . '.
Jin-Woo smirked to himself
What with him being able to sense the monster's fluctuating emotions, searching for its presence had become a step easier now . The emotion of confusion felt had changed to fear, before it changed once more to happiness
The ant king had changed its strategy now
'If that human's speciality is his strength, then there's no need to face him head-on . '.
The ant king's true weapon was its speed . Even that foolish human who lied and said he was the king of humans, couldn't even react to the ant king's movements and lost his neck
From the onset, the reason why the creature wanted to use physical strength to suppress the human was a type of desire to show off its kingly powers
But, right now, the ant king had decided to throw away that selfish reasoning and focus all of its being in this battle from now on
Shushushuk .
The enlarged body reverted back to its original size, while the claws in its hands grew even longer and sharper, like well-honed blades
'Its claws '.
Jin-Woo studied the changes taking place in the ant king and realised that the creature would change how it attacked from here onwards
Shururuk .
Two shortswords he summoned from the Inventory landed in Jin-Woo's hands
Swiiiish-!!.
The airborne ant king shot down towards Jin-Woo . Its speed was incomparable to only a minute ago
'… !!'.
Jin-Woo focused his senses
Time slowed down, and every single movement the monster made entered his vision . In all honesty, Jin-Woo felt most confident when it came down to the contest of speed . He easily deflected the ant king's claw slashing down from above with his shortsword
The follow-up attacks from the ant king landing on the ground, as well as from Jin-Woo spinning around, clashed violently
Clang!! Claaaang!! Clang!!.
As they exchanged offence and defence countless times, the ant king was now completely beset with unbridled shock
'How can this be?!'.
The enemy was actually matching its speed . No, it wasn't only that – as the seconds ticked by, his movement speed was actually picking up as if his muscles had finally loosened up sufficiently enough
'How . How can such a '.
The ant king had been pushed back during the contest of raw strength, and now it was also being gradually pushed back in the contest of speed, too
One step, another step .
As the number of retreating steps taken increased, so did the wounds appearing on the exoskeleton . The greater the monster's retreating distance became, the more confident Jin-Woo grew
'I can finish this . '.
The mental shock this monster, this so-called ant king felt right now, it was being transmitted in full to Jin-Woo . Right now, that monster was greatly shaken up
Compared to the Demon King Baran, this monster's strength, speed, and abilities fell some ways behind . No, maybe, it was on the same level as the dead Demon King, or even exceeded it in some regards
Unfortunately, the current Jin-Woo wasn't the same as the Jin-Woo of back then
Indeed, he had stepped up into a far higher realm with the rewards he had received after completing the Demon's Castle dungeon
'Here's the fruit of all my labours . '.
Jin-Woo got to fully experience just how much his Stats had grown through this particular opponent . Along with the satisfaction derived from knowing that his Stats had been greatly enhanced now, even more stirring emotions welled up from deep inside his chest
When the ant king took another step back, Jin-Woo took two steps forward . And then
'Vital Spot Targetting!'.
Jin-Woo's skill stabbed straight into the ant king's torso
The 'Vital Points Targetting' was a skill that inflicted additional damage if he had managed to stab the enemy's weak spots . With the monster's exoskeleton broken in several places, it was not an exaggeration to say that the creature's entire body was now the so-called weak spot
Pa-ba-bak!!.
Dozens of 'Vital Points Targetting' landed on the hapless monster
['Skill: Vital Points Targetting' will now be upgraded to the ultimate version, 'Skill: Violent Slash' . ].
'… . Violent Slash?'.
Having unlocked a new skill, Jin-Woo promptly used it
It was then, his shortswords immediately sought out all of the ant king's openings and, literally in the blink of an eye, slashed out dozens of times
Tadadadadada!!.
"Kiiiieeeehhckkk?!".
The ant king screamed out
As the creature writhed around in pain, Jin-Woo swung his shortsword once more and sliced off its arm
Slice
The monster's long, black-coloured arm fell to the ground with a dull thud
"Kiiehhk!".
By now, the ant king lost all semblance of pride or desire for revenge, and hurriedly fled to the air . Its instinctive desire to survive overruled everything . Unfortunately for it, Jin-Woo didn't allow for one moment of respite
Sensing the approach of another being, the ant king took a look behind
'A human . is flying?!'.
Jin-Woo flung himself up using the 'Ruler's Reach' skill and proceeded to cut off one of the ant king's wings
Plop!.
The ant king crash-landed in an unsightly manner . During that short time of its fall, the ant king constantly thought about a way to escape from this incredibly dangerous predicament, even though confusion and fear threatened to paralyse it
'I, I need to come up with something to overwhelm the enemy!'.
Physical strength, speed, and even its hidden trump card, 'poison' all failed to work . It couldn't come up with anything
Did it not possess anything that was better than what that human possessed?.
Just before the despair set in, the ant king finally arrived at the right answer . It recalled the one thing that it held an advantage in over the enemy
And that would be the headcount
There was only one enemy . But the ant king possessed thousands of soldiers . Indeed, didn't it have brave warriors waiting for its orders by the entrance of the chamber right this moment?.
The ant king staggered back to its feet, before pointing at Jin-Woo with its one remaining arm
"Kiiiieeeehhhkk-!!".
As if they were waiting for that rage-filled screech, the waves upon waves of ants began flooding into the chamber
'Take this, human!!'.
"Kiiieeehhk!!".
The king continued to screech out . It was to restore its crushed pride, and also to rouse the fighting spirit of its countless soldiers, as well . And so, as it confidently glared at the impudent human .
" . ?".
From that side, a black 'wave' was rushing out now
'Go!'.
Jin-Woo issued an order to his Shadow Soldiers
The 'Sovereign's Territory' he had activated prior to the battle was still active . The Shadow Soldiers, enhanced a step further by this skill, marched towards the ants at a frightening speed
Dududududu !!.
The loud footsteps reverberated throughout the ant tunnel
'And then You come out, too . '.
Finally, Jin-Woo summoned Fangs out, as well
As if it was feeling sheepish for being summoned all alone, Fangs looked around himself and scratched the back of his head . Jin-Woo handed over the Bead of Avarice and warned him in no uncertain terms
"Aim only at the ants . Only at them .  ".
Fangs enthusiastically nodded his head as if he was confident of doing exactly that
Soon, Fangs grew super-large with the 'Song of the Giant' and spewed out that enormous pillar of flames
Kuwaaaaaaahhhh-!!!.
Although he had seen that plenty enough times by now, Jin-Woo couldn't help but feel impressed by the sight regardless
'It's kinda like his flame pillar is getting bigger every day, isn't it?'.
Was it because his level was also rising up?.
Only Jin-Woo could come up with such a reaction since he had seen this spectacle before, but well, other people were thinking of entirely different things
The Hunters hiding in the far corner holding their breaths while witnessing the battle between Jin-Woo and the ant king could only gasp out in pure astonishment at the emergence of this new 'monster'
A rather severe reaction also came out from their midst, too
"T-that is his summoned creature?! What?! That's a summon?!".
Im Tae-Gyu pointed at Fangs and raised his voice
As for the other Hunters, no one could respond to him as their jaws were still resting on the ground at that moment . However, everyone was thinking of roughly the same thing
How could that thing be classified as a mere summon??.
From the way it looked, or the powers it possessed, that thing no longer looked like a simple summoned creature, but a demon king that had descended to this earth
Whatever the case may have been, that totally nonsensical pillar of flames roasted the swarm of ants like there was no tomorrow
The ant king began shuddering once more
'These . These are that human's soldiers ??'.
Less than one minute later, hundreds of the ant king's soldiers were evaporated into ash and dust . It wasn't some metaphor, either . The ant monsters coming into contact with that strange pillar of flames really did evaporate where they stood
For the first time ever .
The ant king felt true terror towards another being for the first time in its life
It also sensed an unscalable wall . The ant king finally learned that there was an enemy that couldn't be overcome, regardless of what power it tried to use
This was a complete defeat, in every sense of the word
But, how could such a thing be . ?.
'I was born to fight against the strong humans, so why '.
That was its sole calling . It hurried with its growth for that purpose . It even absorbed human's powers in order to facilitate that goal
But to think, it still couldn't win against this one human .
The ant king began shivering and turned around to run . It just had to run away far, far away from this human . At least in this very moment, the thoughts of its glorious kingdom and its soldiers had completely disappeared from the ant king's head
Using the healing skill taken from one of the dead humans, the ant king quickly regenerated its lost wing and took to the air again
'Even if it's only a little bit further away . '.
But, it happened then
Khu-woong!.
Out of the blue, a powerful force pushed it down and planted the ant king flat on the ground
"Kiiieeehk!!".
It spat out a mouthful of bodily fluid
Having utilised the skill 'Ruler's Reach' like a flyswatter, Jin-Woo quickly walked over to where the downed ant king was
'I can't let this guy escape, obviously . '.
It was a strong monster . He wanted to turn it into his Shadow Soldier no matter what . But, in order to do that .
'Killing it comes first . '.
After discovering Jin-Woo approaching it, the look of sheer terror filled up on the face of the ant king, so much so that the creature looked almost pitiful to the onlookers
"Kii, kiieeehck!!".
In the end, the ant king began crawling on the ground to get away from him . That arrogant, dignified appearance it displayed back when it proceeded to toy around with the Korean Hunters – it was now long, long gone
"Now you look like a proper insect . ".
Jin-Woo closed in quickly, took aim at the back of the ant king, and activated his skill, 'Vital Points Targetting' – no, 'Violent Slash'
That brought up the message window
Tti-ring!.
[You have killed your enemy . ].
[Level up!].
[Level up!].
'Niiice!'.
Jin-Woo clenched his fist . But his celebrations lasted only for a short while
"Seong Jin-Woo Hunter-nim!".
He quickly turned around after Baek Yun-Ho called out to him, and found the latter's complexion to be extremely poor . Jin-Woo quickly ran over to him
Other Hunters rejoicing at the defeat of the ant king stopped and shifted their gazes over to Baek Yun-Ho, as well
Meanwhile, Baek Yun-Ho continued to speak to Jin-Woo
"Hunter Cha Hae-In is ".
Just as his unfinished sentence implied, Cha Hae-In's vitality had declined so much that it was hard to even sense it now . The situation had deteriorated even further than before
Jin-Woo's expression quickly hardened
Time had almost run out
Even if he rode on Kaisel, just when would he arrive in his destination and just how long would he take to find a Healer to heal her?.
'I need another way '.
After some brief pondering, Jin-Woo came up with a method to save Cha Hae-In
He finished checking her complexion and stood back up . He then turned towards the cameraman
"Can you switch off the camera for a minute or two?".
< Chapter 121 > Fin


Fluidinfo is a simple, shared, online storage system in which each there are a set of objects, each of which can optionally be about something, and information is stored by tagging objects. Tags belong to users, and have names. Tags may store information simply by being present or absent, or they may have values. Thus I can indicate that I have read a book by attaching a tag called have-read to the object corresponding to that book, or I can rate it by attaching a rating tag with a numeric value to the object. Tag owners can set permissions on their tags to control who can see them and who can alter/use them. So tags are owned and are subject to a permissions system and policies, while all objects are shared.
The fdb command line is a acts as a sort-of one-shot command shell for Fluidinfo. It gives access to much of the functionality of the underlying fdb.py library, with a main focus on tagging, getting tag values, finding tags, querying Fluidinfo and clearing (removing tags). It also has some facilities for listing tags and viewing and altering their permissions.
Assuming you have installed fdb.py, set up a credentials file, and created an alias fdb to run it, basic use is exemplified as follows. In the examples that follow, I assume that the Fluidinfo user has username njr. All tags belonging to njr start njr/. (fdb actually has a configuration option to allow this to be omitted, but for now we’ll specify the user explicitly, since that is normal in Fluidinfo.)
Rate the Eiffel Tower as a 9:
$ fdb tag -a "Eiffel Tower" njr/rating=9Show the my rating and ntoll’s rating of the “Eiffel Tower”.
$ fdb show -a "Eiffel Tower" fluiddb/about njr/rating ntoll/rating Object with about="Eiffel Tower": /objects/93bd1999-0998-49cc-8004-af457ce34ce4 njr/rating = 9 fluiddb/about = "Eiffel Tower" ntoll/rating = "I prefer the one in Blackpool"Show all the tags on the “Eiffel Tower” (now referenced by ID):
$ fdb tags -i 93bd1999-0998-49cc-8004-af457ce34ce4 Object with id=93bd1999-0998-49cc-8004-af457ce34ce4: njr/rating = 9 ntoll/rating = "I prefer the the one in Blackpool" njr/location = "Paris" njr/indexed/about fluiddb/about = "Eiffel Tower"Add a dislike tag to each object that I have rated 1 or 0 and then show their about tags.
$ fdb tag -q 'njr/rating < 2' njr/dislike $ fdb show -q 'has njr/dislike' fluiddb/about njr/rating njr/dislike 5 objects matched Object a98f2c80-ae5f-405a-a319-d47122ae9da3: fluiddb/about = "book:foucaults pendulum (umberto eco)" njr/rating = 1 njr/dislike = True Object 5157c69e-ceaf-4e7c-9423-d67751d029d3: fluiddb/about = "The_Beatles" njr/rating = 1 njr/dislike = True Object 1ab066e8-c2a1-4769-9121-e3346849e7e4: fluiddb/about = "book:beloved (toni morrison)" njr/rating = 1 njr/dislike = True Object ff873602-e9a8-4f9a-a7d4-c0cfc394a120: fluiddb/about = "book:the lord of the rings (jrr tolkien)" njr/rating = 1 njr/dislike = True Object 7aed1e67-a88e-439d-8a56-b2ab52c838ab: fluiddb/about = "book:oranges are not the only fruit (jeanette winterson)" njr/rating = 0 njr/dislike = True
Before describing these commands in detail, it will be useful to describe the abstraction fdb uses, as it differs in key respects from the underlying Fluidinfo model.
The Fluidinfo API is quite low level and rigid; fdb offers a slightly higher level of abstraction. Here, we briefly note the differences.
In the Fluidinfo API, you can’t simply tag an object with an njr/rating tag; you first have to tell the system that you wish to use a rating tag by creating it; only once you have done this can you use it.
In fdb, you can just go ahead and set a tag; if it doesn’t exist, the system will create it for you.
Fluidinfo supports namespaces; a namespace is to a tag much like a directory or folder is to a file, i.e. tags live in namespaces and you can have different tags with the same name in different namspaces, just as you can have two files with the same name in different folders. User Jacqui (username jacqui) has a namespace jacqui, and she can create tags (“top-level tags”) in that namespace. Jacqui may, however, wish to group tags into sets using namespaces. For example, she may wish to have some private tags that all live in a namespace called private. So she might have a private rating tag called jacqui/private/rating. As with tags, Fluidinfo first requires jacqui to create the private namespace before she can create the jacqui/private/rating tag. So to use jacqui/private/rating for the first time, using the API directly, the process would be:
- Create the namespace private under jacqui
- Create the tag rating
- Tag the relevant object with rating.
Again, fdb takes care of all that, and allows jacqui just to say:
fdb tag -a "Eiffel Tower" jacqui/rating=10fdb will create any tags and namespaces required on the fly.
- Finally, in Fluidinfo itself, the object ID (128-bit number, usually formatted as a hex-number in 8-4-4-4-12 digit groups) is not actually a tag on the object. fdb allows the user to use refer to it as a tag, at least for reporting purposes, using the name /id.
The general form of the core fdb commands is:
fdb <verb> [flags] <object selector> <tags/values>
The verb says what you want to do. The main verbs currently avalaible are
- tag — set tags on some objects
- show — show tag values from some objects
- untag — remove tags from some objects
- tags — show what readable tags an object has
- count — count the number of objects match some criterion.
The optional flags modify the command. The main ones used are:
- -v — verbose (gives extra information)
- -s — to specify that the command should operate againss the sandbox (sandbox.fluidinfo.com) rather than the main Fluidinfo instance (fluiddb.fluidinfo.com); this is mostly used for testing.
- -U — use unix-style paths (overriding configuration and default; see below)
- -F — use Fluidinfo-style paths (overriding configuration and default; see below)
- -u userspec — if you have multiple Fluidinfo accounts, this specifies an alternate credentials file to use, normally identified by the username (see below).
The <object selector> is used to specify which objects you are interested in and usually takes on of three forms:
- -a "about tag value" is used to specify an object on the basis of its about tag (fluiddb/about). For example, -a "book:nineteen eighty four (george orwell)" specifies an important book by George Orwell.
- -i ID is used to specify an object on the basis of its ID (expressed as a hex string, appropriately formatted). For example, -i 93bd1999-0998-49cc-8004-af457ce34ce4 specifies the object with this ID, which happens to be the on with the about tag Eiffel Tower.
- -q "fluidinfo query" is used to specify a set of objects on the basis of a query expressed in the Fluidinfo query language. For example -q has njr/rating specifies objects that have an njr/rating rag on them.
Finally, some commands need or accept a list of tags or tag-value pairs. Specifically, show and untag both require a list of tags to be shown or removed, and tag requires a set of tag-value pairs to know what tags to set. Tag value pairs usually take the form:
tag=value
so that a list of them might be
rating=9 description="fabulous" seen=true price=18.77
Don’t put spaces around equals signs assigning tag values: it won’t work.
In general, strings should be in double quotes "like this", booleans should be true, false, t or f (unquoted) and numbers should just be plain numbers like 3 or 4.7. All strings are always unicode, i.e. they may contain any character.
It is also possible to set a tag without a value by just giving a tag name.
Adds one or more tags (with optional values) to the object or objects specified.
FORM
fdb tag [flags] <object specifier> <tag-value-pairs>
EXAMPLES
fdb tag -a "Eiffel Tower" njr/rating=7 njr/seen
fdb tag -a "Eiffel Tower" njr/rating=7 njr/seen
fdb tag -i 93bd1999-0998-49cc-8004-af457ce34ce4 njr/rating=7 njr/seen
fdb tag -q 'fluiddb/about matches "Eiffel Tower"' njr/rating=7 njr/seen
fdb tag -U -a "Eiffel Tower" rating=7 seen
All of these commands will tag the object with about tag “Eiffel Tower” and ID 93bd1999-0998-49cc-8004-af457ce34ce4 with two tags—njr/rating of 7 and njr/seen with no value. The last one may also tag other objects since the query
fluiddb/about matches "Eiffel Tower"
is search-engine-style string match that will match any about tag containing the words Eiffel and Tower, ignoring case, other words and punctuation.
The -U option specifies “unix-style” relative paths; when this option is used, tag names are assumed to be relative to the authenticated user’s namespace; if other user’s tags are to be referred to, they must be introduced with a leading / (e.g. /ntoll/rating). Note that ``-U does not affect queries specified with -q, i.e. full Fluidinfo-style paths must be used inside the query.
The command produces no output when successful and a suitable warning when it fails.
$ fdb tag -a "Eiffel Tower" njr/rating=7
$ fdb tag -a "Eiffel Tower" ntoll/rating=7
Failed to tag object with about="Eiffel Tower" with ntoll/rating
Error code 401 (UNAUTHORIZED)
NOTES
When specified by about tag, the object does not need to exist in Fluidinfo prior to the operation; if necessary an object with the given about tag will be created. (Conceptually, an object for every possible about tag always exists in Fluidinfo; they are just instantiated lazily, i.e. allocated IDs when first used.)
The user must have permission to write the tag. By default, the user can write any tag under her namespace.
Removes one or more tags from the object or objects specified.
FORM
fdb untag [flags] <object specifier> <tags>
EXAMPLES
fdb untag -a "Eiffel Tower" njr/rating njr/seen
fdb untag -a "Eiffel Tower" njr/rating njr/seen
fdb untag -i 93bd1999-0998-49cc-8004-af457ce34ce4 njr/rating njr/seen
fdb untag -q 'fluiddb/about matches "Eiffel Tower"' njr/rating njr/seen
fdb untag -U -a "Eiffel Tower" rating seen
All of these commands will remove the tags njr/rating and njr/seen from the object with about tag “Eiffel Tower” and ID 93bd1999-0998-49cc-8004-af457ce34ce4; The last one may also tag other objects since the query
fluiddb/about matches "Eiffel Tower"
is search-engine-style string match that will match any about tag containing the words Eiffel and Tower, ignoring case, other words and punctuation.
The -U option specifies “unix-style” relative paths; when this option is used, tag names are assumed to be relative to the authenticated user’s namespace; if other user’s tags are to be referred to, they must be introduced with a leading / (e.g. /ntoll/rating). Note that ``-U does not affect queries specified with -q, i.e. full Fluidinfo-style paths must be used inside the query.
The command produces no output when successful, even if the tag did not exist.
$ fdb untag -F -a "Eiffel Tower" ntoll/rating
Failed to remove tag ntoll/rating from object with about="Eiffel Tower"
Error code 401 (UNAUTHORIZED)
NOTE
The user’s ability to remove tags from objects is governed by the permissions system.
Shows the values of the tags nominated from the objects specified.
FORM
fdb show [flags] <object specifier> <tags>
EXAMPLES
$ fdb show -a "Eiffel Tower" njr/rating njr/seen ntoll/seen
Object with about="Eiffel Tower":
njr/rating = 7
njr/seen
(tag ntoll/seen not present)
Alternative specifications:
fdb show -a "Eiffel Tower" njr/rating njr/seen ntoll/seen
fdb show -i 93bd1999-0998-49cc-8004-af457ce34ce4 njr/rating njr/seen ntoll/seen
fdb show -q 'fluiddb/about matches "Eiffel Tower"' njr/rating njr/seen ntoll/seen
fdb show -U -a "Eiffel Tower" rating seen ntoll/seen
All of these commands will show the values the tags njr/rating, njr/seen and ntoll/seen from the object with about tag “Eiffel Tower” and ID 93bd1999-0998-49cc-8004-af457ce34ce4; The last one may also show other objects since the query
fluiddb/about matches "Eiffel Tower"
is search-engine-style string match that will match any about tag containing the words Eiffel and Tower, ignoring case, other words and punctuation.
The -U option specifies “unix-style” relative paths; when this option is used, tag names are assumed to be relative to the authenticated user’s namespace; if other user’s tags are to be referred to, they must be introduced with a leading / (e.g. /ntoll/rating). Note that ``-U does not affect queries specified with -q, i.e. full Fluidinfo-style paths must be used inside the query.
The command produces no output when successful, even if the tag did not exist.
$ fdb untag -F -a "Eiffel Tower" ntoll/rating
Failed to remove tag ntoll/rating from object with about="Eiffel Tower"
Error code 401 (UNAUTHORIZED)
NOTE
The user’s ability to read tags is regulated by the permissions system.
Show the list of tags (and their values) present on an objects
FORM
fdb tag [flags] <object specifier>
EXAMPLES
$ fdb tags -a "Eiffel Tower" njr/rating njr/seen ntoll/seen
Object with about="Eiffel Tower":
/objects/93bd1999-0998-49cc-8004-af457ce34ce4
njr/seen
fluiddb/about = "Eiffel Tower"
njr/njr/seen
njr/rating = 7
njr/index/about
njr/location = "Paris"
Alternative specifications:
fdb tags -a "Eiffel Tower"
fdb tags -i 93bd1999-0998-49cc-8004-af457ce34ce4
fdb tags -q 'fluiddb/about matches "Eiffel Tower"'
All of these commands will show the names and values of all the tags (for which the user has read permission) from the object with about tag “Eiffel Tower” and ID 93bd1999-0998-49cc-8004-af457ce34ce4; The last one may also show other objects since the query
fluiddb/about matches "Eiffel Tower"
is search-engine-style string match that will match any about tag containing the words Eiffel and Tower, ignoring case, other words and punctuation.
Counts the number of objects matching a set of conditions
FORM
fdb count [flags] <object specifier>
EXAMPLES
$ fdb count -q 'has njr/rating'
141 objects matched
Total: 141 objects
$ fdb count -a 'Eiffel Tower'
Total: 1 object
$ fdb count -q 'fluiddb/about matches "Eiffel Tower"'
6 objects matched
Total: 6 objects
The command produces no output when successful, even if the tag did not exist.
$ fdb untag -F -a "Eiffel Tower" ntoll/rating
Failed to remove tag ntoll/rating from object with about="Eiffel Tower"
Error code 401 (UNAUTHORIZED)
NOTES
The Fluidinfo API does not provide a primitive count function, so FDB actually has to retrieve all the objects that match the query and count them; this operation can, therefore, be comparatively slow.
The user’s ability to read tags is regulated by the permissions system, so the count reflects that, i.e. it is the restricted to objects that the user can see the relevant tags for.
The ls command is used to view a sorted list of tags or namespaces, potentially with additional information.
FORM
ls [flags] [<namespace>|<tag>]
FLAGS
- -l long listing (one per line; showing permissions)
- -g group listing (one per line; showing exception groups and permissions)
- -L longer listing (show full Fluidinfo-style permissions listing)
- -n list the namesace as an object, rather than the contents of the namespace
- -d same as -n
- -R recursive (show contents of all subnamespaces, recursively)
as well as the standard flags like -s etc.
EXAMPLES
List the tags in the user’s namespace:
(Here, we assume we are authenticated as user miro):
$ fdb ls bestsellers-1998-2010/ first_field_id n_records bestsellers1998to2010/ first_record_id next-field-about books/ forename next-field-id class has-about-links next_field_about consistent has-field-numbers next_field_id description has-id-links planets/ elements/ has-record-numbers rating field-name has_about_links small/ field-number has_field_numbers surname field_number has_id_links table-name first-field-about has_record_numbers testconvtag first-field-id message testrating first-record-about n-fields testtable/ first-record-id n-records type first_field_about n_fields unitNote that namespaces are shown with a trailing /; for users familiar with the unix ls command, this is modelled on ls -F.
List the tags and subnamespaces in a given namespace:
$ fdb ls miro/planets Atmosphere Mass OrbitalRadius Category Moons RotationPeriod EquatorialDiameter Name db-next-record-about HasRings OrbitalEccentricity db-record-number Inclination OrbitalPeriodSort order is case-sensitive, e.g. (in English) all lower-case letters follow upper-case letters.
List a single tag (report presence or absence of that tag).
$ fdb ls miro/planets/Mass miro/planets/Mass $ fdb ls -F miro/planets/NoMass miro/planets/NoMass not foundLong listing for tag (njr/rating), including permissions summary:
$ fdb ls -l njr/rating trwcr--r-- ratingHere:
the first t indicates that this is a tag rather than a namespace
the next three characters indicate that the owner (njr) has read, write and control permission on the tag,
the final three characters indicate that everyone (world) has read permission but not write or control permission on the tag.
the “middle” three characters (r--) show group permissions. Their meaning depends on the world permissions. Because the world has read permission the only thing that an exception list can do is to remove it; so in this case, the r in the middle r-- block indicates that no one is losing read permission as a result of being on an exception list. If there were an exception list that excluded some people, then the group read permission would be shown as -.
If the world did not have read permission, an r would mean that at least one person has read permission in addition to the owner; and a - would indicate that no one except the owner had read permission.
the final thing to know about this way of describing permissions is that Fluidinfo actually has more than one kind of write permission for both tags and namespaces, and more than one kind of control permission for tags. Normally, all the write permissions are set consistently, as are the two control permissions for tags. If this is not the case, the permission will be shown as a /.
Use the -g flag to find out who is in the group/exception list, or -L for the even longer, full Fluidinfo description of the permissions.
Group long listing for tag (njr/rating), including permissions summary.
Let’s start with a tag with default permissions.
$ fdb ls -g private-tag trwcr--r-- (world) njr/private-tagWhen no one has been given any unusual permissions, in effect there is no group; or to say it another way, group permissions can be considered to be the same as world permissions.
Now let’s grant read and write access to jkakar and ntoll
$ fdb perms group jkakar+ntoll njr/private-tag $ fdb ls -g private-tag trwcrw---- ntoll+jkakar njr/private-tagGroup permission is now rw-, and the group is ntoll+jkakar. (The exception list also includes njr, of course.)
Now let’s set different groups for read and write. We’ll let ntoll have write permission too. To do this we update the write group:
$ fdb perms group-write ntoll private-tag $ fdb ls -g njr/private-tag trwcrw---- r:ntoll+jkakar w:ntoll njr/private-tagWhen the groups are different, they are shown separately, with r: prefixing the read group and w; prefixing the write group.
Longer listing for tag (njr/rating), including Fluidinfo-style permissions summary:
$ fdb ls -L njr/rating njr/rating: ABSTRACT TAG (/tags) Write update (metadata): policy: closed; exceptions [njr] delete (delete): policy: closed; exceptions [njr] Control control (control): policy: closed; exceptions [njr] TAG (/tag-values) Read read (read): policy: open; exceptions [] Write create (tag): policy: closed; exceptions [njr] delete (untag): policy: closed; exceptions [njr] Control control (control): policy: closed; exceptions [njr]Long listing for contents of namespace (njr/index):
$ fdb ls -l njr/index trwcr--r-- about trwcr--r-- classGroup long listing for namespace (njr/private), including permissions summary.
The -d tells ls that what you want is not the content of the namespace, but the permissions on the namespace itself. (d stands for directory, which is essentially what a namespace is. You can use -n if you prefer.)
The result is very similar to that for tags. We’ll just look at a namespace fi
$ fdb ls -gd njr/fi nrwcrw-r-- r:(world) w:terrycojones+paparent njr/fi/This is showning that the namespace njr/fi has standard world read permissions (with no special group) but that terrycojones and paparent have write permission for the namespace.
Long listing for a namespace itself (njr/index) (as opposed to its contents), including Fluidinfo-style permissions summary:
$ fdb ls -ln njr/index nrwcr--r-- index $ fdb ls -ld njr/index nrwcr--r-- indexThe first n indicates that njr/index is a namespace rather than a tag. This option may be specified using -n (for namespace) or -d (for directory) since the latter will probably be more natural for users familiar with unix-style ls.
See the section on permissions for an explanation of the permissions string.
Longer listing for a namespace itself (njr/index) (as opposed to its contents):
$ fdb ls -Ld njr/index NAMESPACE (/namespaces) Read list (read): policy: open; exceptions [] Write create (create): policy: closed; exceptions [njr] delete (delete): policy: closed; exceptions [njr] Control control (control): policy: closed; exceptions [njr]Long listing including group details (for tag njr/rating)
$ fdb ls -ln njr/fi nrwcr----- ceronman+esteve+jkakar+ntoll+terrycojones fiSee the section on permissions for an explanation of the permissions string. In this case
- the first n indicates that this is a namespace
- the next three characters indicate that the owner (njr) has read, write and control permission on the tag,
- the next three characters indicate that members of the exception group exceptions have read (“list”) permission on the tag (but not write or control permissions).
- the final three characters indicate that Fluidinfo users other than the owner and the people in the exception group do not have any permissions to read, write or control the namespace.
The list of users separated by plus signs is the list of users on the exceptions list.
The next example shows Fluidinfo’s native representation of the permissions for this namespace.
Longer listing for namspace (njr/fi), including Fluidinfo-style permissions summary:
$ fdb ls -Ln njr/fi Permissions for namespace njr/fi: READ: list (read): policy: closed; exceptions: [ceronman, esteve, jkakar, njr, ntoll, terrycojones] WRITE: create (create): policy: closed; exceptions: [njr] update (metadata): policy: closed; exceptions: [njr] delete (delete): policy: closed; exceptions: [njr] CONTROL: control (control): policy: closed; exceptions: [njr]List contents of all subnamespaces (recursive descent):
ls -R miro miro: bestsellers-1998-2010/ first_field_id n_records bestsellers1998to2010/ first_record_id next-field-about books/ forename next-field-id class has-about-links next_field_about consistent has-field-numbers next_field_id description has-id-links planets/ elements/ has-record-numbers rating field-name has_about_links small/ field-number has_field_numbers surname field_number has_id_links table-name first-field-about has_record_numbers testconvtag first-field-id message testrating first-record-about n-fields testtable/ first-record-id n-records type first_field_about n_fields unit miro/bestsellers-1998-2010: ASP db-next-record-about rank RRP db-record-number title author imprint value binding productclass volume date publisher miro/bestsellers1998to2010: miro/books: author guardian-1000 year db-next-record-about surname forename title miro/elements: AtomicWeight Description Period BoilingPointC Etymology RelativeAtomicMass BoilingPointF Group Symbol ChemicalSeries MeltingPointC Z Colour MeltingPointKelvin db-next-record-about Density Name db-record-number miro/planets: Atmosphere Mass OrbitalRadius Category Moons RotationPeriod EquatorialDiameter Name db-next-record-about HasRings OrbitalEccentricity db-record-number Inclination OrbitalPeriod miro/small: db-record-number id intField miro/testtable: db-next-record-about db-record-number i
The perms command provides a simple interface for changing the permissions on tags and namespaces. It only supports five cases, but there are powerful enough to cover the vast bulk of common situations.
FORM
fdb perms permissions-spec list-of-one-or-more-tags-or-namespaces
Here permissions-spec can be
- private
- default
- lock
- unlock
- group list+of+usernames+separated+by+pluses
- group-write list+of+usernames+separated+by+pluses
- group-read list+of+usernames+separated+by+pluses
EXAMPLES
The eight supported cases are as follows and apply equally namespaces and tags. In what follows, we’ll use a rating tag and a namespace called friends.
Make a tag or namespace completely private.
$ fdb perms private njr/rating $ fdb perms private njr/fiWe could also change them together by saying:
$ fdb perms private njr/rating njr/fiThis sets the permissions so that only the owner of the tag or namespace has permission to do anything with it—read, write and control permission. The abbreviated view of this is shown by
$ fdb ls -ld njr/rating njr/fi trwc------ njr/rating nrwc------ njr/fi/(See fdb ls for an detailed explanation of the permissions codes.)
 The default is that the owner has read, write and control and everyone else has read only:
$ fdb perms default njr/rating njr/fi $ fdb -F ls -ld njr/rating njr/fi trwcr--r-- njr/rating nrwcr--r-- njr/fi/Lock a namespace or tag so that it can’t be edited (i.e., remove all write permissions).
$ fdb perms lock njr/rating $fdb ls -l njr/rating tr-cr--r-- njr/ratingThis does not alter read or control permissions.
Unlock a namespace or tag so that the owner (only) can edit it.
$ fdb perms unlock njr/rating $fdb ls -l njr/rating trwcr--r-- njr/ratingThis does not alter read or control permissions.
Set the permissions on a tag or namespace so that one or more extra people can write it. (This does not alter read permissions.)
$ fdb perms group-write ntoll+jkakar njr/rating njr/fi $ fdb ls -gd njr/rating njr/fi fdb -F ls -gd njr/rating njr/fi trwcrw-r-- r:(world) w:ntoll+jkakar njr/rating nrwcrw-r-- r:(world) w:ntoll+jkakar njr/fi/Set the permissions so that only a particular group can read it, leaving write permissions as the are.
$ fdb perms default njr/rating njr/fi $ fdb perms group-read ntoll+jkakar+miro njr/rating njr/fi $ fdb -F ls -gd njr/rating njr/fi trwcr----- r:ntoll+jkakar+miro w:(world) njr/rating nrwcr----- r:ntoll+jkakar+miro w:(world) njr/fi/Set permissions so that one group of users can write tge tag or namespace, and another group can read it. In this case, let’s allow miro to write and ntoll and jkakar (as well as miro) to read.
$ fdb perms group-read ntoll+jkakar+miro njr/rating njr/fi $ fdb perms group-write miro njr/rating njr/fi $ fdb ls -gd njr/rating njr/fi trwcrw---- r:ntoll+jkakar+miro w:miro njr/rating nrwcrw---- r:ntoll+jkakar+miro w:miro njr/fi/The final case is really just a special case of the previous one, where the read and write groups are the same. Let’s make miro the only user (other the owner, njr) who can read or write the tag and namespace.
$ fdb perms group miro njr/rating njr/fi $ fdb ls -gd njr/rating njr/fi trwcrw---- miro njr/rating nrwcrw---- miro njr/fi/
NOTE
Removing read access to a namespace prevents people from listing that namespace but does not stop them working with the contents of the namespace if they can find them. So if you have a namespace called secret and set its permissions to nrwc------ (owner-only access) and in it have a tag called password with its permission set to the default trwcr--r-- then anyone will be able to read the password if they discover it exists.
This is clearly not a good situation; the Fluidinfo team is aware of it and I expect some resolution will be forthcoming at some point.
Note also that the existence of a tag cannot really be hidden in Fluidinfo, so people will be able to find out that you have a tag called secret/password.
Set user: changes the set of credentials in use by fdb.
FORM
fdb su userspec
EXAMPLES
fdb su foo
The fdb command expects user credentials for Fluidinfo to be stored in a file in the users’s home directory. On unix systems, this file is ~/.fluidDBcredentials; on Windows systems it is fluiddbcredentials.ini in the user’s home folder..
The the user has access to more than on Fluidinfo account, multiple credentials may be stored in variant files. In unix systems, these files have names like ~/.fluidDBcredentials.foo; on windows they have names like fluiddbcredentials-foo.ini.
A different set of credentials can be used for any one-off command by adding -u foo to the command line; this will cause the credentials in the foo variant of the file to be used.
The fdb su command changes the default set of credentials to be used by copying the specified variant file over the default file. Because it is a simple copy, this is a global change, i.e. it affects all sessions, not just one in the current shell. So on unix,
fdb su njr
is exactly equivalent to
cp ~/.fluidDBcredentials.njr ~/.fluidDBcredentials
Shows the username name of the current user credentials. FORM
fdb whoami
EXAMPLES
$ fdb whoami
$ fdb su greek
Credentials set to user Νικολας (file greek).
$ fdb whoami
Νικολας
For the moment, fdb pwd and fdb pwn (print working directory/namespace) both execute fdb whoami. At some point in the future, fdb may support the notion of a working namespace and a cd command; this is only really relevant if the user chooses to use unix-style paths with fdb.
Runs fdb’s self-tests.
FORM
fdb test [flags] [subset to run]
fdb testcli
fdb testapi
fdb testdb
The only normally relevant flag is -s, to run against the sandbox.
The testcli, testdb and testapi variants run subets of the tests.
EXAMPLE
$ fdb test
......................
----------------------------------------------------------------------
Ran 22 tests in 47.210s
Everything is running correctly if you get a line of dots with no E (error) or F failures.
Shows help information.
Reports the version of fdb running; --version may be used as a long form.


Class: Rppc::Core::Engine
- Inherits:
-
Object
- Object
- Rppc::Core::Engine
- Defined in:
- lib/rppc/core/engine.rb
Overview
Engine of the application
Constant Summary
- UDP_PORT =
UDP port used my the application
5000
- TCP_PORT =
TCP port used by the application
5001
Instance Method Summary (collapse)
-
- (Object) discover
Sends a broadcast message to discover other nodes in the network.
-
- (Array) get_nodes
Gets the list of the known nodes.
-
- (Engine) initialize(ui)
constructor
Class constructor.
-
- (Object) new_node(addrinfo)
Adds a new node.
-
- (Object) receive(data, addrinfo)
Reveives some data.
-
- (Object) remove_node(ip)
Removes a node.
Constructor Details
- (Engine) initialize(ui)
Class constructor
18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/rppc/core/engine.rb', line 18 def initialize(ui) @ui = ui @receiver = Rppc::Net::Receiver.new UDP_PORT, TCP_PORT @receiver.register(self) ip = Socket.ip_address_list.detect{|intf| intf.ipv4_private?}.ip_address sender = Rppc::Net::Sender.new UDP_PORT, TCP_PORT @myself = Node.new ip @known_nodes = [] end |
Instance Method Details
- (Object) discover
Sends a broadcast message to discover other nodes in the network
32 33 34 |
# File 'lib/rppc/core/engine.rb', line 32 def discover @myself.send_broadcast Rppc::Net::Packet.helo end |
- (Array) get_nodes
Gets the list of the known nodes
83 84 85 |
# File 'lib/rppc/core/engine.rb', line 83 def get_nodes @known_nodes end |
- (Object) new_node(addrinfo)
Adds a new node
56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/rppc/core/engine.rb', line 56 def new_node(addrinfo) ip = extract_ip addrinfo found = search_node ip if found raise Rppc::Errors::NodeAlreadyKnownError, "Node #{found} already known" end node = Node.new(ip) @known_nodes << node end |
- (Object) receive(data, addrinfo)
Reveives some data. This method is called by the receiver of every known node
40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/rppc/core/engine.rb', line 40 def receive(data, addrinfo) found = search_node extract_ip addrinfo if not found packet = Rppc::Net::Packet.parse(data) if packet.is_helo? new_node(addrinfo) else raise Rppc::Errors::CraftedMessageError, "Crafted message got from addrinfo=#{addrinfo}" end end end |
- (Object) remove_node(ip)
Removes a node
72 73 74 75 76 77 78 |
# File 'lib/rppc/core/engine.rb', line 72 def remove_node(ip) found = search_node ip if not found raise Rppc::Errors::NodeNotFoundError, "You have tried to remove a non-existing node" end @known_nodes.delete found end |


@* * Copyright 2019 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. *@ @import config.AppConfig @import uk.gov.hmrc.play.views.html.helpers.form @(email: String)(implicit request: Request[_], messages: Messages, appConfig: AppConfig) @main_template(title = messages("confirmEmail.title"), bodyClasses = None) { @messages("base.back")


Please input any 1-4 length word (can contain lower/uppercase letters and numbers), for example "Sia", "SkyDB", "6453", or "hold"
SkyLookup will find it in the 13 million word database!
Hey, the 615 MB index files are human readable ;)
Source: GitHub