This documentation is applicable to the current release, and should mostly be applicable to older releases..
Installation
This will build Spamilter and install it in /usr/local/bin with mode 0555. Spamilter has no need to be setuid or setgid enabled.
Spamilter uses the Syslog facility for tracking Accept/Reject actions. Add the following to your syslog.conf;
Add log rotation entries into newsyslog.conf as follows;
Then;
Create the Realtime DNS and local black/white list database dir;
Copy the default config file to /etc;
You must configure your sendmail.cf file to enable the use of the milter.
Add the following to your sendmail.m4 and rebuild the sendmail.cf file, then restart sendmail;
This documentation is FreeBSD centric (because that is what I use and develop on), so you may have to use eqivalent methods for your flavor of OS.
- Decide, when started as ROOT, what user id Spamilter should switch to.
If the user Nobody is fine, then your set, go to the next step.
Otherwise, you may want to create a new user, or use an existing one. Either way, you'll need to modify the UserName parameter of spamilter.rc. See Configuration - If you are going to use the SPF feature, pull and build the latest libspf distribution in an adjacent directory to spamilter, since it is no longer included the the tar ball. NB. You will need to add something like
--with-libspf ../libspf
to your spamilter configure invocation below in order to link to the library. Unpack the tar ball with something like; - You must have a libmiter enabled version of Sendmail. Otherwise all is for naught.
- FreeBSD
On FreeBSD 4.8 and greater, sendmail is libmilter enabled out of the box. Otherwise, it is not. To build an enabled version, you must have the system source installed, or have installed sendmail from scratch with -D_FFR_MILTER. If you have the FreeBSD 4.x system source installed, put the libmilter.sh script in /usr/src, (or your src tree directory equivalent) and run it. This will build and install all that is needed for the version of sendmail that came with the system. - Other
If your OS installation doesn't come with a libmilter enabled sendmail, then you'll need to download the source and build it withAPPENDDEF(`conf_sendmail_ENVDEF', `-DMILTER')
in your sendmail-x.x.x/devtools/Site/site.config.m4 file. After you build and install sendmail, you'll need to cd to the libmiter directory in the distribution and run make before Spamilter will compile.
- FreeBSD
-
Do
./configure --help
to show all available compile time options that you may want to use, such as pop before stmp. - Then do;
- FreeBSD
cd spamilter && ./configure && make all install
- Other
cd spamilter && ./configure --sendmail_dir ../sendmail-x.x.x && make all install
tar xvfz spamilter-0.50.tgz
This will build Spamilter and install it in /usr/local/bin with mode 0555. Spamilter has no need to be setuid or setgid enabled.
!Spamilter *.=info /var/log/spam.log *.<>info /var/log/spam.errNotice the capitalized S.
/var/log/spam.log 644 7 * $D0 Z /var/log/spam.err 644 7 100 * Z
touch /var/log/spam.log /var/log/spam.errand HUP syslogd with;
killall -s -HUP syslogd
mkdir /var/db/spamilterand copy the default database files into it;
cp conf/db.* /var/db/spamilterMake sure that the directory has the right permissions for the Spamilter user to be able to read the files. Write access is not needed.
cp conf/spamilter.rc /etc
Add the following to your sendmail.m4 and rebuild the sendmail.cf file, then restart sendmail;
INPUT_MAIL_FILTER(`spamilter', `S=inet:7726@localhost, F=T, T=C:30s;R:4m;S:30s;E:30s')Alternately, add the following somewhere near the top of the file, and then restart sendmail;
Xspamilter, S=inet:7726@localhost, F=T, T=C:30s;R:4m;S:30s;E:30s O InputMailFilters=spamilterNB. That F=T wil configure sendmail to TempFail any incomming mail when Spamilter is unavailable. This should cause the connecting MTA to queue the email for later delivery attempts.
Configuration
Edit the following files to taste; Note: The files that are linked to here, are the same that are in the tarball.
- /etc/spamilter.rc
UserName The system user id to switch to if Spamilter is run as root. PolicyUrl The URL reference address supplied in email rejections. Dbpath The directory path to where db.sndr, db.rcpt, and db.rdnsbl files are stored. Conn The connection type that sendmail will use to connect to Spamilter. Note: It must match what is specified in sendmail.cf. DnsBlChk If non-zero, the real time DNS block filter will be enabled. SmtpSndrChk If non-zero, the sender address verification filter will be enabled. SmtpSndrChkAction If the sender address verification test fails, either 'Reject' or 'Tag' the email. MtaHostChk If non-zero, and the hostname supplied by the opposing MTA in the "Helo" MTA negotiation phase is not resolvable to a DNS A RR, then the connect attempt is rejected. Note: This goes against RFC! For sites other than low-volume/personal, you may want to disable this filter. MtaHostIpfw If non-zero and an email is marked as Reject in the MtaHostChk filter, then the ip address is injected into the system firewall rules via the ipfwmtad daemon, thereby blocking all further connects by that ip address for 48 hours. MtaHostIpfwNominate If non-zero the connecting MTA ip address will be presented to ipfwmtad for connection rate limiting nomination. MtaHostIpChk If non-zero the connecting MTA ip address will be tested to see if it matches the HELO MTA hostname ip address, and Reject upon failure. MsExtChkAction If the MsExtChk filter finds a listed extension, then either 'Reject' or 'Tag' the email. MsExtChk If non-zero, enables rejection or tagging of emails that have attachments where the extension name is in the specified list from the /var/db/spamilter/db.extensions file. PopAuthChk If non-null, then the specified db file will be consulted to determine if the client connection should be treated as a local net host, there by passing all filters. This should work with Pop-before-smtp and DRAC MtaSpfChk If non-zero, then the client connection is valided with the SPF proccess using libspf - /var/db/spamilter/db.sndr
This file is used to match filter rules of the Black/White list filter, against a given sender address. This sender address is the one given to sendmail in the "mail from: " phase of the MTA to MTA negotiation, not the one specified in the "From: " header of the email. - /var/db/spamilter/db.rcpt
This file is used to match filter rules of the Black/White list filter, against a given recipient address. This recipient address is also the one given to sendmail in the "rcpt to: " phase of the MTA to MTA negotiation, not the one specified in the "To:" header of the email. - /var/db/spamilter/db.rdnsbl
This file is used to configure any realtime dns block lists to be consulted for rejection or tagging. See DnsBlChk in spamilter.rc - /var/db/spamilter/db.extensions
This file is used to configure which file attachments that should be rejected based on the filename extension. - Don't forget to create the html file that the policy URL points to. A sample policy file has been provided in conf/policy.html
- Don't forget to publish an SPF record if you are not already. You can use the wizard to quickly generate an appropriate record. It's easy, painless, an will only take 5 minutes.
This sub-section deals specifically with the Action field of both db.sndr and db.rcpt files.
The rest of the fields in the files are described in the top of each one.
If a given email "Mail from: " or "Rcpt to: " address as provided during the MTA to MTA negotiation phase matches a "rule" entry, then the email is marked with the action specified in the action column.
The action column can be one of the following;
The rest of the fields in the files are described in the top of each one.
If a given email "Mail from: " or "Rcpt to: " address as provided during the MTA to MTA negotiation phase matches a "rule" entry, then the email is marked with the action specified in the action column.
The action column can be one of the following;
- None The email will continue to be proccessed normally by sendmail and Spamilter.
- Accept The email will continue to be proccessed normally by sendmail and will not be further processed by other Spamilter filters.
- Reject Sendmail will reject reception of the email, causing it to not be delivered to the end user.
- Discard Sendmail will accept the email, but silently discard it, causing it to not be delivered to the end user.
- Fail Sendmail will not accept the message, and further, will instruct the sending MTA to try again later.
- Tarpit Sendmail will, like "Reject", not deliver the email to the end user, but will also delay completion of the MTA negotiation phase by a fixed 2 minutes, and thereby slow down the opposing MTA.
- Exec A match of the rule;
- Connecting MTA ip address
- "Mail from: " address
- "Rcpt to: " address
- 0 - Sendmail and Spamilter will continue to proccess the email.
- 1 - Sendmail will "Reject" the email.
- 2 - Sendmail will "Fail" the email.
- 3 - Sendmail will "Discard" the email.
.netinfo4u.com | | Exec | /usr/local/bin/someexecutablein either db.sndr or db.rcpt will result in /usr/local/bin/someexecutable being called with the following three paramaters respectively;
This sub-section deals specifically with the Action and Stage fields of the db.rdnsbl file.
The rest of the fields in the file are described in the top of the file.
If a given rdnsbl host finds the connecting MTA's ip address in the rdnsbl database, then Spamilter can take one of two actions;
The rest of the fields in the file are described in the top of the file.
If a given rdnsbl host finds the connecting MTA's ip address in the rdnsbl database, then Spamilter can take one of two actions;
- Tag Accept the email, but flag it for the user in three ways, if sendmail reaches the EOM MTA handling phase;
- Prepend "Spam ? - " to the subject line header.
- Inject an "X-Status: F" header in to the email. (This does not seem to survive traversal of Microsoft Exchange Server)
- Inject an "X-Keywords: $Label5" header into the email. (This does not seem to survive traversal of Microsoft Exchange Server)
- Reject Reject the email.
- Conn When the opposing MTA connects.
- From After the opposing MTA specifies the sender email address.
- Rcpt After the opposing MTA specifies the recipient email address.
- EOM After the headers and the body of the email has been received.
Startup
- For manual startup,
spamilter
to background the filter or;spamilter -d1
to keep it in the foreground and watch what happens.
For automatic startup, on FreeBSD /usr/local/etc/rc.d/spamilter.sh is installed for you, on other systems, you'll need to craft a startup script. - Sit back and enjoy the sea of tranquility that is your new inbox.


This is the template of the service created with the Provider Function.
This service is configurable: we set in app.config if the name of the book will be displayed followed of the version number or not.
In the directive, we add a dependency to the service. That way we are able to display the data provided by the service (we have substituted name and age of the first sister with the service data):


Hey there!
Thank you {{ user.username }}, for joining the community of Studeals!
Click the button below to activate your account now
Regards,
Studeals
If you are unable to click the button, copy and paste in the address bar of your browser the following URL: {{ activation_url }}


{% extends "classifier/base.html" %} {% block content %}
This is a demo website to show the capability of OpenTC, which is running in the background listening to the port 3333. The website is running Django, and forward the prediction request from the web client to the OpenTC server, and forward back again the result from the server to the web client as json response.
Currently it supports Bayes, Support Vector Machine (SVM), and Convolutional Neural Network (CNN) as classifier and they were trained with all 20 newsgroups (grouped by subject similarities) from the 20newsgroup dataset:


Tories hold solid lead over Labour with 20 days until General Election
The Conservative Party has increased its lead to 14 points over Labour as the December 12 General Election approaches.
Jeremy Corbyn’s party is straggling behind on 29 points, according to an average of polls over the past week.
The Tories have gained an extra percentage point over their main rivals over the past three days.
Meanwhile the Liberal Democrats have gained an extra point, sitting at 15 per cent, while the Brexit Party has dropped from six to four points.
The Green Party has been flat-lining at three per cent and all other parties are at six.
Today’s figures come after the Liberal Democrats, Labour and the Green Party revealed their election manifestos.
Advertisement Advertisement
Corbyn has divided opinion with his radical taxation and spending plans, which Chancellor Sajid Javid brands ‘totally unsustainable’, despite claims they are fully costed.
Lib Dem leader Jo Swinson promised to stop Brexit altogether if they win and vowed to build 300,000 homes a year by 2024.
The Conservatives are still yet to reveal when their manifesto will be unveiled, but Treasury Chief Secretary Rishi Sunak gave assurances it would happen ‘very shortly’.
Rejecting the traditional manifesto, Nigel Farage launched a ‘contract with the people’ this morning, including a 50 per cent cut in the foreign aid budget and a ‘clean-break Brexit’.
Got a story for Metro.co.uk?
Get in touch with our news team by emailing us at<EMAIL_ADDRESS>For more stories like this, check our news page.


Once you've grasped the main ideas behind inputEx, you'll probably want to create your own fields. Here are some hints on how to do so :
Choose the right parent Class
Look at the classes to pick the "closest" one. (in terms of code)
If you want to start from scratch, you should inherit from inputEx.Field
use YAHOO.extend to extend classes
Override methods
Some methods have a precise role :
Send the updated event
Fire this event to indicate modifications (with this.fireUpdatedEvt())
Register your type
After your class definition, you can associate your class to a type string. You can either create a new type, or override a previous one.
use inputEx.registerType("myType", inputEx.MyFieldClass);


CRITIC AID SKIN- zinc oxide paste
Coloplast Manufacturing US, LLC
Disclaimer: Most OTC drugs are not reviewed and approved by FDA, however they may be marketed if they comply with applicable regulations and policies. FDA has not evaluated whether this product complies.
Active ingredients
Zinc Oxide: 20%
Uses
- Helps protect minor skin irritation due to diaper rash
- Protects chafed skin due to diaper rash
- Helps seal out wetness
Warnings
For external use only.
Consult a doctor:
- if condition worsens or does not improve within 7 days.
Do not use on:
- deep or puncture wounds
- animal bites
- serious burns
Keep out of reach of children.
If swallowed, get medical help or contact a Poison Control Center right away.
Directions
- Clean the affected area and dry thoroughly
- Apply a thin layer of product over affected area twice daily (morning and night), or as directed by a doctor.
- Change wet and soiled absorbent brief/diapers promptly.
Inactive ingredients
Cellulose Gum (CMC), Dimethicone, Petrolatum
Questions or comments?
Call toll free 1-800-533-0464
Manufactured by: Coloplast A/S
Holtedam 1, DK-3050 Humlebaek, Denmark
Distributed by: Coloplast Corp
1601 W River Rd. N, Minneapolis, MN 55411 USA
PRINCIPAL DISPLAY PANEL - 170 g Tube Label
NDC 11701-050-32
Critic-Aid® Skin Paste
Skin Protectant
Thick Moisture
Barrier Paste
For Minor to
Severe Skin Irritation
Due to Incontinence
Product #1947
Coloplast
NET WT. 6 OZ. (170 g)


Before Change
binary_path = holodeck.packagemanager.get_binary_path_for_package("DefaultWorlds")
env = holodeck.environments.HolodeckEnvironment(scenario=sphere_config,
binary_path=binary_path,
show_viewport=False,
uuid=str(uuid.uuid4()))
state = env.tick(50)
new_vel = np.array([50,0,0])
env.agents["turtle0"].set_physics_state([0,0,0], [0,0,0], new_vel, [0,0,0])
After Change
binary_path = holodeck.packagemanager.get_binary_path_for_package("DefaultWorlds")
with holodeck.environments.HolodeckEnvironment(scenario=sphere_config,
binary_path=binary_path,
show_viewport=False,
uuid=str(uuid.uuid4())) as env:
state = env.tick(1)
new_vel = np.array([50,0,0])
//This should change the velocity of the agent.
env.agents["turtle0"].set_physics_state([0,0,0], [0,0,0], new_vel, [0,0,0])
new_state = env.tick(1)
sensed_vel = new_state["VelocitySensor"]
//Check to see that the newly sensed vel is what we wanted to set it too.
assert almost_equal(new_vel, sensed_vel,0.0,0.3), "The velocity was not set correctly!"
def test_set_physics_state_ang_vel():
Validates that the set_physics_state function correctly sets the angular velocity of the agent.
There is no angular velocity sensor so it checks to see if the agent is spinning (rotation changes)
after changing the angular velocity.


“Registration closes by 30-June 2020."
Student Registration on Blockchain.
Student info:
Address:
Name:
Enter a date between 2020-01-01: 2020-12-31
Date:
Class:
Rollno:
Caste (General = 1, BC = 2, ST = 3, SC = 4).
Caste:
Marks:
Create Student
Student Details:
Student Details
Name:
??
Class:
??
Roll no:
??
Caste:
??
Marks:
??
Total Fee:
??
Student Count
Student Count:
??


This is the main layout
About Page
About Body content.
This is a global value, which is available to all pages


Hi, I'm Christopher Strelioff and you've found my home on the internet. All my friends call me Chris -- you should too. This page has links to some of my projects, ranging from visual and sound experiments using html/css/javascript to my publications on topics as varied as Bayesian inference, evolutionary biology, chaos theory and disease surveillance.
I am very interested in the use of science, mathematics, art and programming as tools to do creative things. I would love to help out on any project that promotes these ideas. If you are in the Bay Area (CA) -- especially the East Bay -- and are looking for help with an idea of this type please get in touch. I have a special place in my heart for activities that are inclusive, making a special effort to welcome all types of people -- varied age, race, gender, income-level, etc.
I also have a passion for the arts -- music, film and more. I use my lastfm account (link above) to keep track of my listening habits and find new music. I also like to make music/sound/noise -- using ableton live, cycling 74's max, moog's werkstatt as well as other tools. If you are interested in this type of thing -- web audio api maybe?? -- please get in touch!


Traffic Ops¶
Introduction¶
Traffic Ops uses a Postgres database to store the configuration information, and the Mojolicious framework to generate the user interface and REST APIs.
Software Requirements¶
To work on Traffic Ops you need a *nix (MacOS and Linux are most commonly used) environment that has the following installed:
- Carton 1.0.12
- cpan JSON
- cpan JSON::PP
- Go 1.8.3
- Perl 5.10.1
- Git
- Postgres 9.6.6
- Goose
Addionally, the installation of the following RPMs (or equivalent) is required:
- All RPMs listed in Traffic Ops - Migrating from 1.x to 2.x
Traffic Ops Project Tree Overview¶
/opt/traffic_ops/app
- bin/ - Directory for scripts, cronjobs, etc
- conf/
- /development - Development (local) specific config files.
- /misc - Miscellaneous config files.
- /production - Production specific config files.
- /test - Test (unit test) specific config files.
- db/ - Database related area.
- /migrations - Database Migration files.
- lib/
- /API - Mojo Controllers for the /API area of the application.
- /Common - Common Code between both the API and UI areas.
- /Extensions
- Fixtures/ - Test Case fixture data for the ‘to_test’ database. * /Integration - Integration Tests.
- /MojoPlugins - Mojolicious Plugins for Common Controller Code.
- Schema/ - Database Schema area. * /Result - DBIx ORM related files.
- /Test - Common Test.
- /UI - Mojo Controllers for the Traffic Ops UI itself.
- Utils/ * /Helper - Common utilities for the Traffic Ops application.
- log/ - Log directory where the development and test files are written by the app.
- public/
- css/ - Stylesheets.
- images/ - Images.
- js/ - Javascripts
- script/ - Mojo Bootstrap scripts.
- t/ - Unit Tests for the UI.
- api/ - Unit Tests for the API.
- t_integration/ - High level tests for Integration level testing.
- templates/ - Mojo Embedded Perl (.ep) files for the UI.
Perl Formatting Conventions¶
Perl tidy is for use in code formatting. See the following config file for formatting conventions.
edit a file called $HOME/.perltidyrc
-l=156
-et=4
-t
-ci=4
-st
-se
-vt=0
-cti=0
-pt=1
-bt=1
-sbt=1
-bbt=1
-nsfs
-nolq
-otr
-aws
-wls="= + - / * ."
-wrs=\"= + - / * .\"
-wbb="% + - * / x != == >= <= =~ < > | & **= += *= &= <<= &&= -= /= |= + >>= ||= .= %= ^= x="
Database Management¶
The admin.pl script is for use in managing the Traffic Ops database tables. Below is an example of its usage.
$ db/admin.pl
Usage: db/admin.pl [–env (development|test|production)] [arguments]
Example: db/admin.pl --env=test reset
Purpose: This script is used to manage the database. The environments are defined in the dbconf.yml, as well as the database names.
- To use the
admin.pl
script, you may need to addtraffic_ops/lib
andtraffic_ops/local/lib/perl5
to your PERL5LIB environment variable.
| Arguments | Description |
|---|---|
| create | Execute db ‘create’ the database for the current environment. |
| down | Roll back a single migration from the current version. |
| drop | Execute db ‘drop’ on the database for the current environment. |
| redo | Roll back the most recently applied migration, then run it again. |
| reset | Execute db drop, create, load_schema, migrate on the database for the current environment. |
| seed | Execute SQL from db/seeds.sql for loading static data. |
| setup | Execute db drop, create, load_schema, migrate, seed on the database for the current environment. |
| status | Print the status of all migrations. |
| upgrade | Execute migrate then seed on the database for the current environment. |
Installing The Developer Environment¶
To install the Traffic Ops Developer environment:
- Clone the traffic_control repository from github.com.
- Install the local dependencies using Carton (cpanfile).
$ cd traffic_ops/app $ carton
Set up a role (user) in Postgres
See Postgres instructions on initdb https://wiki.postgresql.org/wiki/First_steps
Enter
db/admin.pl --env=<enviroment name> setup
to set up the traffic_ops database(s).- Unit test database:
$ db/admin.pl --env=test setup
- Development database:
$ db/admin.pl --env=development setup
- Integration database:
$ db/admin.pl --env=integration setup
Running the the admin.pl script in setup mode should look like this:
master $ db/admin.pl --env=development setup Using database.conf: conf/development/database.conf Using database.conf: conf/development/database.conf Using database.conf: conf/development/database.conf Using database.conf: conf/development/database.conf Using database.conf: conf/development/database.conf Using database.conf: conf/development/database.conf Executing 'drop database to_development' Executing 'create database to_development' Creating database tables... Warning: Using a password on the command line interface can be insecure. Migrating database... goose: migrating db environment 'development', current version: 0, target:<PHONE_NUMBER>0000 OK<PHONE_NUMBER>3718_extension.sql OK<PHONE_NUMBER>0000_add_job_deliveryservice.sql OK<PHONE_NUMBER>0000_cg_location.sql OK<PHONE_NUMBER>0000_cran_to_asn.sql OK<PHONE_NUMBER>0000_ds_keyinfo.sql Seeding database... Warning: Using a password on the command line interface can be insecure.
- Unit test database:
(Optional) To load temporary data into the tables:
$ perl bin/db/setup_kabletown.pl
Run the postinstall script:
traffic_ops/install/bin/postinstall
To start Traffic Ops, enter
$ bin/start.pl
The local Traffic Ops instance uses an open source framework called morbo, starting following the start command execution.
Start up success includes the following:
[2015-02-24 10:44:34,991] [INFO] Listening at "http://*:3000". Server available at http://<IP_ADDRESS>:3000.
- Using a browser, navigate to the given address:
http://<IP_ADDRESS>:3000
- For the initial log in:
- User name: admin
- Password: password
- Change the log in information.
Test Cases¶
Use prove to execute test cases. Execute after a carton install:
- To run the Unit Tests:
$ local/bin/prove -qrp t/
- To run the Integration Tests:
$ local/bin/prove -qrp t_integration/
The KableTown CDN example¶
The integration tests will load an example CDN with most of the features of Traffic Control being used. This is mostly for testing purposes, but can also be used as an example of how to configure certain features. To load the KableTown CDN example and access it:
- Run the integration tests
- Start morbo against the integration database:
export MOJO_MODE=integration; ./bin/start.pl
- Using a browser, navigate to the given address:
http://<IP_ADDRESS>:3000
- For the initial log in:
- User name: admin
- Password: password
Extensions¶
Traffic Ops Extensions are a way to enhance the basic functionality of Traffic Ops in a custom manner. There are three types of extensions:
- Check Extensions
These allow you to add custom checks to the “Health->Server Checks” view.
- Configuration Extensions
These allow you to add custom configuration file generators.
- Data source Extensions
These allow you to add statistic sources for the graph views and APIs.
Extensions are managed using the $TO_HOME/bin/extensions command line script. For more information see Managing Traffic Ops Extensions.
Check Extensions¶
In other words, check extensions are scripts that, after registering with Traffic Ops, have a column reserved in the “Health->Server Checks” view and that usually run periodically out of cron.
It is the responsibility of the check extension script to iterate over the servers it wants to check and post the results.
An example script might proceed by logging into the Traffic Ops server using the HTTPS base_url provided on the command line. The script is hardcoded with an auth token that is also provisioned in the Traffic Ops User database. This token allows the script to obtain a cookie used in later communications with the Traffic Ops API. The script then obtains a list of all caches to be polled by accessing Traffic Ops’ /api/1.1/servers.json
REST target. This list is walked, running a command to gather the stats from that cache. For some extensions, an HTTP GET request might be made to the ATS astats plugin, while for others the cache might be pinged, or a command run over SSH. The results are then compiled into a numeric or boolean result and the script POSTs tha result back to the Traffic Ops /api/1.1/servercheck/
target.
A check extension can have a column of ‘s and ‘s (CHECK_EXTENSION_BOOL) or a column that shows a number (CHECK_EXTENSION_NUM).A simple example of a check extension of type CHECK_EXTENSION_NUM that will show 99.33 for all servers of type EDGE is shown below:
Script here.
Check Extension scripts are located in the $TO_HOME/bin/checks directory.
Currently, the following Check Extensions are available and installed by default:
- Cache Disk Usage Check - CDU
- This check shows how much of the available total cache disk is in use. A “warm” cache should show 100.00.
- Cache Hit Ratio Check - CHR
- The cache hit ratio for the cache in the last 15 minutes (the interval is determined by the cron entry).
- DiffServe CodePoint Check - DSCP
- Checks if the returning traffic from the cache has the correct DSCP value as assigned in the delivery service. (Some routers will overwrite DSCP)
- Maximum Transmission Check - MTU
- Checks if the Traffic Ops host (if that is the one running the check) can send and receive 8192 size packets to the
ip_address
of the server in the server table. - Operational Readiness Check - ORT
- See Configuring Traffic Server for more information on the ort script. The ORT column shows how many changes the traffic_ops_ort.pl script would apply if it was run. The number in this column should be 0.
- Ping Check - 10G, ILO, 10G6, FQDN
The bin/checks/ToPingCheck.pl is to check basic IP connectivity, and in the default setup it checks IP connectivity to the following:
- 10G
- Is the
ip_address
(the main IPv4 address) from the server table pingable? - ILO
- Is the
ilo_ip_address
(the lights-out-mangement IPv4 address) from the server table pingable? - 10G6
- Is the
ip6_address
(the main IPv6 address) from the server table pingable? - FQDN
- Is the Fully Qualified Domain name (the concatenation of
host_name
and.
anddomain_name
from the server table) pingable?
- Traffic Router Check - RTR
- Checks the state of each cache as perceived by all Traffic Monitors (via Traffic Router). This extension asks each Traffic Router for the state of the cache. A check failure is indicated if one or more monitors report an error for a cache. A cache is only marked as good if all reports are positive. (This is a pessimistic approach, opposite of how TM marks a cache as up, “the optimistic approach”)
Configuration Extensions¶
NOTE: Config Extensions are Beta at this time.
Data Source Extensions¶
Traffic Ops has the ability to load custom code at runtime that allow any CDN user to build custom APIs for any requirement that Traffic Ops does not fulfill. There are two classes of Data Source Extensions, private and public. Private extensions are Traffic Ops extensions that are not publicly available, and should be kept in the /opt/traffic_ops_extensions/private/lib. Public extensions are Traffic Ops extensions that are Open Source in nature and free to enhance or contribute back to the Traffic Ops Open Source project and should be kept in /opt/traffic_ops/app/lib/Extensions.
Extensions at Runtime¶
The search path for extensions depends on the configuration of the PERL5LIB, which is preconfigured in the Traffic Ops start scripts. The following directory structure is where Traffic Ops will look for Extensions in this order.
Extension Directories¶
PERL5LIB Example Configuration:
export PERL5LIB=/opt/traffic_ops_extensions/private/lib/Extensions:/opt/traffic_ops/app/lib/Extensions/TrafficStats
Perl Package Naming Convention¶
To prevent Extension namespace collisions within Traffic Ops all Extensions should follow the package naming convention below:
Extensions::<ExtensionName>
Data Source Extension Perl package name example Extensions::TrafficStats Extensions::YourCustomExtension
TrafficOpsRoutes.pm¶
Traffic Ops accesses each extension through the addition of a URL route as a custom hook. These routes will be defined in a file called TrafficOpsRoutes.pm that should live in the top directory of your Extension. The routes that are defined should follow the Mojolicious route conventions.
Development Configuration¶
To incorporate any custom Extensions during development set your PERL5LIB with any number of directories with the understanding that the PERL5LIB search order will come into play, so keep in mind that top-down is how your code will be located. Once Perl locates your custom route or Perl package/class it ‘pins’ on that class or Mojo Route and doesn’t look any further, which allows for the developer to override Traffic Ops functionality.


search
close
Notification
Reinheart Company wants to collect your bottles on 09/06/15.
Approve
Deny
Lorem ipsum dolor sit amet.
Welcome back!
Lorem ipsum dolor sit amet.
Shaila has accepted your request to collect their bottles.
Lorem ipsum dolor sit amet.
Bottles
Your current bottles in kg.
Date Posted
Collect Our Plastic Bottles!


Toggle navigation
Ben's Bookworm Blog
Home
All Posts
Acknowledgements
About Bookworm
Contact
My Home Page


3.3. Care and Handling of Regular ExpressionsThe second concern outlined at the start of the chapter is the syntactic packaging that tells an application "Hey, here's a regex, and this is what I want you to do with it." egrep is a simple example because the regular expression is expected as an argument on the command line. Any extra syntactic sugar, such as the single quotes I used throughout the first chapter, are needed only to satisfy the command shell, not egrep. Complex systems, such as regular expressions in programming languages, require more complex packaging to inform the system exactly what the regex is and how it should be used. The next step, then, is to look at what you can do with the results of a match. Again, egrep is simple in that it pretty much always does the same thing (displays lines that contain a match), but as the previous chapter began to show, the real power is in doing much more interesting things. The two basic actions behind those interesting things are match (to check if a regex matches in a string, and to perhaps pluck information from the string), and search and replace, to modify a string based upon a match. There are many variations of these actions, and many variations on how individual languages let you perform them. In general, a programming language can take one of three approaches to regular expressions: integrated, procedural, and object-oriented. With the first, regular expression operators are built directly into the language, as with Perl. In the other two, regular expressions are not part of the low-level syntax of the language. Rather, normal strings are passed as arguments to normal functions, which then interpret the strings as regular expressions. Depending on the function, one or more regex-related actions are then performed. One derivative or another of this style is use by most (non-Perl) languages, including Java, the .NET languages, Tcl, Python, PHP, Emacs lisp, and Ruby. 3.3.1. Integrated HandlingWe've already seen a bit of Perl's integrated approach, such as this example from page 55: if ($line =~ m//i) { $subject = $1; } Here, for clarity, variable names I've chosen are in italic, while the regex-related items are bold, and the regular expression itself is underlined. We know that Perl applies the regular expression ^Subject:• (.*) to the text held in $line, and if a match is found, executes the block of code that follows. In that block, the variable $1 represents the text matched within the regular expression's parentheses, and this gets assigned to the variable $subject. Another example of an integrated approach is when regular expressions are part of a configuration file, such as for procmail (a Unix mail-processing utility.) In the confirguration file, regular expressions are used to route mail messages to the sections that actually process them. It's even simpler than with Perl, since the operands (the mail messages) are implicit. What goes on behind the scenes is quite a bit more complex than these examples show. An integrated approach simplifies things to the programmer because it hides in the background some of the mechanics of preparing the regular expression, setting up the match, applying the regular expression, and deriving results from that application. Hiding these steps makes the normal case very easy to work with, but as we'll see later, it can make some cases less efficient or clumsier to work with. But, before getting into those details, let's uncover the hidden steps by looking at the other methods. 3.3.2. Procedural and Object-Oriented HandlingProcedural and object-oriented handling are fairly similar. In either case, regex functionality is provided not by built-in regular-expression operators, but by normal functions (procedural) or constructors and methods (object-oriented). In this case, there are no true regular-expression operands, but rather normal string arguments that the functions, constructors, or methods choose to interpret as regular expressions. The next sections show examples in Java, VB.NET, PHP, and Python. <IP_ADDRESS>. Regex handling in JavaLet's look at the equivalent of the "Subject" example in Java, using Sun's java.util.regex package. (Java is covered in depth in Chapter 8.) import java.util.regex.*; // Make regex classes easily available ❶ Pattern r = Pattern.compile("", Pattern.CASE_INSENSITIVE); ❷ Matcher m = r.matcher(line); ❸ if (m.find()) { ❹ subject = m.group(1); } Variable names I've chosen are again in italic, the regex-related items are bold, and the regular expression itself is underlined. Well, to be precise, what's underlined is a normal string literal to be interpreted as a regular expression. This example shows an object-oriented approach with regex functionality supplied by two classes in Sun's java.util.regex package: Pattern and Matcher. The actions performed are:
Actions similar to these are required, explicitly or implicitly, by any program wishing to use regular expressions. Perl hides most of these details, and this Java implementation usually exposes them. A procedural example. Java does, however, provide a few procedural-approach "convenience functions" that hide much of the work. Instead of you having to first create a regex object and then use that object's methods to apply it, these static functions create a temporary object for you, throwing it away once done. Here's an example showing the Pattern.matches(⋯) function: if (! Pattern.matches("", line)) { // ... line is not blank ... } This function wraps an implicit ^⋯$ around the regex, and returns a Boolean indicating whether it can match the input string. It's common for a package to provide both procedural and object-oriented interfaces, just as Sun did here. The differences between them often involve convenience (a procedural interface can be easier to work with for simple tasks, but more cumbersome for complex tasks), functionality (procedural interfaces generally have less functionality and options than their object-oriented counterparts), and efficiency (in any given situation, one is likely to be more efficient than the other a subject covered in detail in Chapter 6). Sun has occasionally integrated regular expressions into other parts of the language. For example, the previous example can be written using the string class's matches method: if (! line.matches("", )) { // ... line is not blank ... } Again, this is not as efficient as a properly-applied object-oriented approach, and so is not appropriate for use in a time-critical loop, but it's quite convenient for "casual" use. <IP_ADDRESS>. Regex handling in VB and other .NET languagesAlthough all regex engines perform essentially the same basic tasks, they differ in how those tasks and services are exposed to the programmer, even among implementations sharing the same approach. Here's the "Subject" example in VB.NET (.NET is covered in detail in Chapter 9): Imports System.Text.RegularExpressions ' Make regex classes easily available Dim R as Regex = New Regex("", RegexOptions.IgnoreCase) Dim M as Match = R.Match(line) If M.Success subject = M.Groups(1).Value End If Overall, this is generally similar to the Java example, except that .NET combines steps ❷ and ❸, and requires an extra Value in ❹. Why the differences? One is not inherently better or worse each was just chosen by the developers who thought it was the best approach at the time. (More on this in a bit.) .NET also provides a few procedural-approach functions. Here's one to check for a blank line:
If Not Regex.IsMatch(Line, "^\s*$") Then
' ... line is not blank ...
End If
Unlike Sun's Pattern.matches function, which adds an implicit ^⋯$ around the regex, Microsoft chose to offer this more general function. It's just a simple wrapper around the core objects, but it involves less typing and variable corralling for the programmer, at only a small efficiency expense. <IP_ADDRESS>. Regex handling in PHPHere's the Subject example with PHP's preg suite of regex functions, which take a strictly procedural approach. (PHP is covered in detail in Chapter 10.) if (preg_match('//i', $line, $matches)) $Subject = $matches[1]; <IP_ADDRESS>. Regex handling in PythonAs a final example, let's look at the Subject example in Python, which uses an object-oriented approach: import re; R = re.compile("", re.IGNORECASE); M = R.search(line) if M: subject = M.group(1) Again, this looks very similar to what we've seen before. <IP_ADDRESS>. Why do approaches differ?Why does one language do it one way, and another language another? There may be language-specific reasons, but it mostly depends on the whim and skills of the engineers that develop each package. There are, for example, many different regex packages for Java, each written by someone who wanted the functionality that Sun didn't originally provide. Each has its own strengths and weaknesses, but it's interesting to note that they all provide their functionality in quite different ways from each other, and from what Sun eventually decided to implement themselves. Another clear example of the differences is PHP, which includes three wholly unrelated regex engines, each utilized by its own suite of functions. At different times, PHP developers, dissatisfied with the original functionality, updated the PHP core by adding a new package and a corresponding suite of interface functions. (The "preg" suite is generally considered superior overall, and is what this book covers.) 3.3.3. A Search-and-Replace ExampleThe "Subject" example is simple, so the various approaches really don't have an opportunity to show how different they really are. In this section, we'll look at a somewhat more complex example, further highlighting the different designs. In the previous chapter (☞73), we saw this Perl search and replace to "linkize" an email address: $text =~ s{ \b # Capture the address to $1 ... ( \w[-.\w]* # username @ [-\w]+(\.[-\w]+)+\.(com;edu;info) # hostname ) \b }{$1}gix; Perl's search-and-replace operator works on a string "in place," meaning that the variable being searched is modified when a replacement is done. Most other languages do replacements on a copy of the text being searched. This is quite convenient if you don't want to modify the original, but you must assign the result back to the same variable if you want an in-place update. Some examples follow. <IP_ADDRESS>. Search and replace in JavaHere's the search-and-replace example with Sun's java.util.regex package: import java.util.regex.*; // Make regex classes easily available Pattern r = Pattern.compile( "\\b \n"+ "# Capture the address to $1 ... \n"+ "( \n"+ " \\w[-.\\w]* # username \n"+ " @ \n"+ " [-\\w]+(\\.[-\\w]+)*\\.(com|edu|info) # hostname \n"+ ") \n"+ "\\b \n", Pattern.CASE_INSENSITIVE|Pattern.COMMENTS); Matcher m = r.matcher(text); text = m.replaceAll("$1"); Note that each '\' wanted in a string's value requires '\\' in the string literal, so if you're providing regular expressions via string literals as we are here, \w requires '\\w'. For debugging, System.out.println(r.pattern()) can be useful to display the regular expression as the regex function actually received it. One reason that I include newlines in the regex is so that it displays nicely when printed this way. Another reason is that each '#' introduces a comment that goes until the next newline; so, at least some of the newlines are required to restrain the comments. Perl uses notations like /g, /i, and /x to signify special conditions (these are the modifiers for replace all, case-insensitivity, and free formatting modes ☞135), but java.util.regex uses either different functions (replaceAll versus replace) or flag arguments passed to the function (e.g., Pattern.CASE_INSENSITIVE and Pattern.COMMENTS). <IP_ADDRESS>. Search and replace in VB.NETThe general approach in VB.NET is similar: Dim R As Regex = New Regex _ ("\b " & _ "(?#  IgnorePatternWhitespace) text = R.Replace(text, "${1}") Due to the inflexibility of VB.NET string literals (they can't span lines, and it's difficult to get newline characters into them), longer regular expressions are not as convenient to work with as in some other languages. On the other hand, because '\' is not a string metacharacter in VB.NET, the expression can be less visually cluttered. A double quote is a metacharacter in VB.NET string literals: to get one double quote into the string's value, you need two double quotes in the string literal. <IP_ADDRESS>. Search and replace in PHPHere's the search-and-replace example in PHP: $text = preg_replace('{ \b # Capture the address to $1 ... ( \w[-.\w]* # username @ [-\w]+(\.[-\w]+)*\.(com;edu;info) # hostname ) \b }ix', '$1', # replacement string $text); As in Java and VB.NET, the result of the search-and-replace action must be assigned back into $text, but otherwise this looks quite similar to the Perl example. 3.3.4. Search and Replace in Other LanguagesLet's quickly look at a few examples from other traditional tools and languages. <IP_ADDRESS>. AwkAwk uses an integrated approach, /regex/, to perform a match on the current input line, and uses "var ~ ⋯" to perform a match on other data. You can see where Perl got its notation for matching. (Perl's substitution operator, however, is modeled after sed's.) The early versions of awk didn't support a regex substitution, but modern versions have the sub(⋯) operator: sub(/mizpel/, "misspell") This applies the regex mizpel to the current line, replacing the first match with misspell. Note how this compares to Perl's (and sed's) s/mizpel/misspell/. To replace all matches within the line, awk does not use any kind of /g modifier, but a different operator altogether: gsub(/mizpel/, "misspell"). <IP_ADDRESS>. TclTcl takes a procedural approach that might look confusing if you're not familiar with Tcl's quoting conventions. To correct our misspellings with Tcl, we might use: regsub $var misspell newvar This checks the string in the variable var, and replaces the first match of mizpel with misspell, putting the now possibly-changed version of the original string into the variable newvar (which is not written with a dollar sign in this case). Tcl expects the regular expression first, the target string to look at second, the replacement string third, and the name of the target variable fourth. Tcl also allows optional flags to its regsub, such as -all to replace all occurrences of the match instead of just the first: regsub -all $var misspell newvar Also, the -nocase option causes the regex engine to ignore the difference between uppercase and lowercase characters (just like egrep's -i flag, or Perl's /i modifier). <IP_ADDRESS>. GNU EmacsThe powerful text editor GNU Emacs (just "Emacs" from here on) supports elisp (Emacs lisp) as a built-in programming language. It provides a procedural regex interface with numerous functions providing various services. One of the main ones is re-search-forward, which accepts a normal string as an argument and interprets it as a regular expression. It then searches the text starting from the "current position," stopping at the first match, or aborting if no match is found. (re-search-forward is what's executed when one invokes a "regexp search" while using the editor.) As Table 3-3 (☞92) shows, Emacs' flavor of regular expressions is heavily laden with backslashes. For example, \<\([a-z]+\)\([\n•\t]\;<[^>]+>\)+\1\> is an expression for finding doubled words, similar to the problem in the first chapter. We couldn't use this regex directly, however, because the Emacs regex engine doesn't understand \t and \n. Emacs double-quoted strings, however, do, and convert them to the tab and newline values we desire before the regex engine ever sees them. This is a notable benefit of using normal strings to provide regular expressions. One drawback, particularly with elisp's regex flavor's propensity for backslashes, is that regular expressions can end up looking like a row of scattered toothpicks. Here's a small function for finding the next doubled word:
(defun FindNextDbl ()
"move to next doubled word, ignoring <⋯> tags" (interactive)
(re-search-forward "")
)
Combine that with (define-key global-map "\C-x\C-d" 'FindNextDbl) and you can use the "Control-x Control-d" sequence to quickly search for doubled words. 3.3.5. Care and Handling: SummaryAs you can see, there's a wide range of functionalities and mechanics for achieving them. If you are new to these languages, it might be quite confusing at this point. But, never fear! When trying to learn any one particular tool, it is a simple matter to learn its mechanisms. |


FILM TITLE: SCENT OF A WOMAN DIRECTOR: MARTIN BREST COUNTRY: USA 1992 CINEMATOGRAPHY: DONALD E. THORIN MUSIC: Thomas Newman CAST: Al Pacino, Chris O'Donnell, Gabrielle Anwar SUPER FEATURES: Al Pacino... period.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
There are films that just stand out, and if it isn't because it is well written, then it is because an actor just takes over, and delivers what is undoubtedly one of the most deserving Oscar performances around.
Scent of a Woman, is a simple film, nothing complicated about it at all, and the story is very easy to tell. A college boy, Charles (Chris O'Donnell) in a private institution in the east ( Boston ) gets in trouble with a few of his friends, for which his future is at stake. Since it happens just prior to the Thanksgiving holidays, there isn't much that the school can do to discipline anyone until the following Monday. In the meantime, he gets himself a part time job to help take care of his financial needs for the holidays. And that job is to take care of a retired, and blind, career army man ( played by Al Pacino ). And what looked like an easy job turns into a weekend in New York, where the real story about the Colonel is unfolding. He wants to have one more fling, and then end his life.
The Colonel is alone, his own family doesn't like him, or his surprise visit, and he is not known for being Mr.. congeniality, either. But Charlie is a well mannered kid, and his way eventually affects the aging Colonel.
 And in appears the surrogate father who delivers the young man from the claws of defeat. And the school's discipline committee takes a harmless stand, so not to hurt anyone, which is the speech that delivers the young man from the claw of the over eager administrator with revenge on his mind.
A magnificent film, really nicely done, well executed in almost every phase, and it stimulates the feelings of the viewer, because we can not let go of the character or the story. The aging Colonel still has an eye for women, and can smell them a mile away, and teases the younger Charlie about them.
There are many films that one should see on a large screen and this one is one of them, but unlike them, this one is stronger, even if seen at home, on the video ( as I just did ), where one's emotional edges are allowed to run freely.... and this film is at least one of those that requires a pause... and then run back to it....
Great film in every respect.
5 GIBLOONS Copyright (c) Pedro Sena 1994
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


Hello, I'm Roger
Full Stack Developer, Devops Engineer, Author And Dad.
I build a lot of things using many stacks, currently mostly working with React / Nextjs and nodejs with GraphQL APIs which is fun to work with.
For more information about me, check out rogerstringer.com or Coded Geekery.


Maid Leikar:
Ha! You look happier now!
I need you to take this Signet Ring to
Chef Jeremy at the hot springs resort
and pick up the cookies I ordered. I'd really appreciate it if you'd do this for me.


Next.js provides Codemod transformations to help upgrade your Next.js codebase when a feature is deprecated.
Codemods are transformations that run on your codebase programmatically. This allows for a large amount of changes to be applied without having to manually go through every file.
npx @next/codemod <transform> <path>
transform
- name of transform, see available transforms below.path
- files or directory to transform--dry
Do a dry-run, no code will be edited--print
Prints the changed output for comparisoncra-to-next
(experimental)Migrates a Create React App project to Next.js; creating a pages directory and necessary config to match behavior. Client-side only rendering is leveraged initially to prevent breaking compatibility due to window
usage during SSR and can be enabled seamlessly to allow gradual adoption of Next.js specific features.
Please share any feedback related to this transform in this discussion.
add-missing-react-import
Transforms files that do not import React
to include the import in order for the new React JSX transform to work.
For example:
// my-component.js
export default class Home extends React.Component {
render() {
return
Hello World
;
}
}
Transforms into:
// my-component.js
import React from "react";
export default class Home extends React.Component {
render() {
return
Hello World
;
}
}
name-default-component
Transforms anonymous components into named components to make sure they work with Fast Refresh.
For example:
// my-component.js
export default function () {
return
Hello World
;
}
Transforms into:
// my-component.js
export default function MyComponent() {
return
Hello World
;
}
The component will have a camel cased name based on the name of the file, and it also works with arrow functions.
Go to your project
cd path-to-your-project/
Run the codemod:
npx @next/codemod name-default-component
withamp-to-config
Transforms the withAmp
HOC into Next.js 9 page configuration.
For example:
// Before
import { withAmp } from "next/amp";
function Home() {
return
My AMP Page
;
}
export default withAmp(Home);
// After
export default function Home() {
return
My AMP Page
;
}
export const config = {
amp: true,
};
Go to your project
cd path-to-your-project/
Run the codemod:
npx @next/codemod withamp-to-config
url-to-withrouter
Transforms the deprecated automatically injected url
property on top level pages to using withRouter
and the router
property it injects. Read more here: https://nextjs.org/docs/messages/url-deprecated
For example:
// From
import React from "react";
export default class extends React.Component {
render() {
const { pathname } = this.props.url;
return
Current pathname: {pathname}
;
}
}
// To
import React from "react";
import { withRouter } from "next/router";
export default withRouter(
class extends React.Component {
render() {
const { pathname } = this.props.router;
return
Current pathname: {pathname}
;
}
}
);
This is one case. All the cases that are transformed (and tested) can be found in the __testfixtures__
directory.


Kim Richards Comes After Kelsey Grammer For Calling Ex Camille Grammer ‘Pathetic’
by Jamie SamhanThe ladies of “The Real Housewives Of Beverly Hills” are sticking together after Camille Grammer and her ex-husband Kelsey Grammer started publically feuding.
In a recent interview on “In Depth with Graham Bensinger”, the “Fraser” star opened up about his split from Camille who he was married to from 1997-2010.
“Honestly, I don’t really talk about her very much because so much of her life is spent talking about me and I just think it’s sort of pathetic,” Kelsey said.
Speaking to Hollywood Life during BravoCon on Saturday, “Housewives” star Kim Richards said, “That’s terrible. Maybe there’s something we don’t know. I don’t know. But I feel bad if that’s happening because nobody wants to be — Nobody likes that. And I don’t think that’s fair.”
“I don’t really like that guy,” Kim added. “I never liked what he did to her. I don’t know him personally. I met him and I liked him when I met him, but I think what he did to her was pretty s**tty but I don’t know their story.”
Kelsey also accused Camille of asking for a divorce on the same day his mother died.
“This is not true,” Camille responded on Twitter. “My parents were with us in the Hamptons when we received the news about his mom’s passing. We consoled him and flew back to LA to make arrangements for her funeral.”


Home
About me
Skills
projects
Here's What I can do
Content Writting
Creative Writing
Proofreading
Book Editing
languages
C
C++
Python
.
Design Tools
Photoshop
Adobe XD
.


B.S. in physics • 2012 — 2016 (expected)
We study the two-dimensional bidisperse granular flow in a Couette apparatus. The granular system is continuously sheared by a rotating inner wheel. We track the position and orientation of every particle (thin cylinder) to study the rheology of the system with the method of taking photos and image processing. Besides, the force chains can be directly observed by mounting up two polarizers since the granular particles are made of photoelastic materials. The stress distribution can be studied by further image analysis.
Diffusion of particles in tangential and radial directions has been studied. In addition, Shear- jamming phase transition is observed in our system. Our current work focuses on the correlation between the local structure and particle-scale rearrangement in the granular flow. How do force chains start and develop or are them connected to Shear Transformation Zones (STZs)? Are force chains universal and are them important? We still have a long way to go.
We adjust two PMMA cylinders to be co-axial to the minimal nuance.  Then we fix two motors on the apparatus. One is to shear the granular materials near the bottoms of PMMA cylinders the and the other is to counter-drive the top part of the apparatus to keep what we are looking at in the middle of the view of two parallel cameras. One is for geometric structure and the other is for force chains.
The light intruder rises up in the granular flow when the granular system is sheared from the bottom. We define buoyancy in the system which pushes the intruder up against the gravitation. Our current work focuses on the correlation among the buoyancy, local structure and force chains.
The liquid rope-coil effect of viscous fluid is a common nature phenomenon and needs to be studied quantitatively. Detailed measurement of coiling frequency was done and the frequency-falling height correlation was analyzed in this study. A high speed camera with ability to shoot 5000 pictures per second was used quantitatively to record the motion of this phenomenon. Silicone oil with viscosity from 1000Cst to 100000Cst is used in our experiment. Theoretically, the rheological transition is explained by an asymptotic model which simplifies the coupling between viscous force, gravity and centrifugal force. As a result, model predicts the analytic expression of coiling frequency as a function of falling height, and this relationship is examined by experimental result. Therefore, the model successfully explained the rheological transition in liquid rope coiling.
Moreover, experimental study of energy transportation in coiling process is conducted which is novel in this field and the results raise further theoretical problems open to discuss in the future.
Liquid Rope Coiling


Who knows/doesn't know it ?
Used it in prod, I mean
What do you think about it ?
this
is complex and causes many bugsThe World's Most Misunderstood Programming LanguageDouglas Crockford
map
, reduce
and filter
only recently arrived in the language"is a utility-belt library for JavaScript that provides a lot of the functional programming support [...] "
_.map, _.reduce, _.pluck, _.debounce, _.memoize
// lot of goodies inside
* : Almost, its fork Lo-Dash is better.
_.curry() // doesn't exist, even though _.partial exists
_.map(collection, fun) // why not the opposite order ?
_.compose(*functions) // not that useful because of previous points
# CoffeeScript
f = (a, b) ->
a + b
// Resulting Javascript
var f = function(a, b) {
return a + b;
};
Tries to push a more functional style, but doesn't go far enough...
# No currying
f = (a, b) -> a + b
# Easy currying, with double arrow -->
f = (a, b) --> a + b
g = f 1 # curried f
g 2 # → 3
# using _ as a placeholder argument for data
# Operators as functions (yes!)
biggerThanThree = _.map _, (> 3)
# [1 2 3 4 5] will be used in place of _
biggerThanThree [1 2 3 4 5] // → [true,true,false,false,false]
yes!
# Forward composition
add-two-times-two = (+ 2) >> (* 2)
add-two-times-two 3 # → (3+2)*2 → 10
# Backward composition
times-two-add-two = (+ 2) << (* 2)
times-two-add-two 3 # → (3*2)+2 → 8
# Haskell style, equivalent to <<
times-two-add-two = (+ 2) . (* 2)
# (.length) is a shortcut to access property
[1 2 3] |> filter (> 2) |> (.length) # → 1
# empty function from Prelude.ls (coming after)
# Guard syntax (|) translates to switch in JS
sum = ([x, ...xs]:list) ->
| empty list => 0
| empty xs => x
| otherwise => x + sum xs
x <- map _, [1 to 3]
x * 2
# → [2,4,6]
# translates to
map(function(x){
return x * 2;
}, [1, 2, 3]);
# the ! suppresses the return of the function
data <-! $.get 'my-ajax-url.com'
$ '.result' .html data
# 60+ functions for arrays
head, first, tail, last, compact, partition, concat, intersection, scan, take-while, zip, ...
# ~15 functions for objects (maps)
keys, values, pairs-to-obj, reject, find, ...
# ~20 functions for strings
split, join, words, unwords, reverse, repeat, ...
# 30+ functions for Math (yes!)
min, max, tau, odd, even, quot, rem, sin, signum, is-it-NaN
# of course, functions functions
apply, curry, flip, fix
npm install -g livescript
lsc
or livescript
lsc --watch


Lorem ipsum
Total Time:1hr
Prep:45 mins
Cook:15 mins
Difficulty:Easy
Course:Desert
Ingredients
*1 1/4 cups sugar, divided
*12 1/4 cups heavy cream, divided
*11/2 teaspoon flaky sea salt such as Maldon
*11/2 teaspoon pure vanilla extract
*11 cup whole milk
*13 large eggs
*1Equipment: an ice cream maker
Instruction
Heat 1 cup sugar in a dry 10-inch heavy skillet over medium heat, stirring with a fork to heat sugar evenly, until it starts to melt, then stop stirring and cook, swirling skillet occasionally so sugar melts evenly, until it is dark amber.
Add 1 1/4 cups cream (mixture will spatter) and cook, stirring, until all of caramel has dissolved.
Transfer to a bowl and stir in sea salt and vanilla.
Cool to room temperature.
Meanwhile, bring milk, remaining cup cream, and remaining 1/4 cup sugar just to a boil in a small heavy saucepan, stirring occasionally.
Lightly whisk eggs in a medium bowl, then add half of hot milk mixture in a slow stream, whisking constantly.
Pour back into saucepan and cook over medium heat, stirring constantly with a wooden spoon, until custard coats back of spoon and registers 170°F on an instant-read thermometer (do not let boil).
Pour custard through a fine-mesh sieve into a large bowl, then stir in cooled caramel.
Chill custard, stirring occasionally, until very cold, 3 to 6 hours.
Freeze custard in ice cream maker (it will still be quite soft), then transfer to an airtight container and put in freezer to firm up.


{% extends "global/Page.html" %} {% load otree static %} {% block title %} Dropouts {% endblock %} {% block content %} {% if player.left_hanging == 1 %}
Looks like the other participant left the study. We're really sorry about that.
Please use the following link to get back to Prolific and receive the show-up fee now, and a bonus payment for your time in the study in about 3-5 days: https://app.prolific.co/submissions/complete?cc=41C18628 .
You were inactive too long and the program assumed you dropped out. Thus the game was ended.


 The move has however attracted stern criticism.
The proposed law seeks to establish a National Commission for the Prohibition of Hate Speech. The bill has since passed the first reading in the upper chamber of parliament, the Senate.
It makes a return to the chamber after the last Senate failed to have it passed in 2017. The then Senate president blocked the bill following backlash from the bill.
It is sponsored by the Senate’s Deputy Chief Whip, Aliyu Sabi Abdullahi. According to reports, the lawmaker had proposed death penalty for persons found guilty of Hate Speech.
Media outlets also report that details of the bill are yet to be made public but that the death penalty provision seems to have been maintained.
Nigeria becomes the second African nation to move to combat hate speech in under a week. Ethiopia’s cabinet approved a similar legislation and referred it to lawmakers for final ratification.
During his 59th Independence Day address in October 2019, President Buhari cautioned against hate speech whiles tasking citizens with tolerance of different view points.
‘‘I reiterate my call for all to exercise restraint, tolerance and mutual respect in airing their grievances and frustrations,’‘ he stressed.


|
| int32 | CreateProxy (const b2AABB &aabb, void *userData) |
| |
|
void | DestroyProxy (int32 proxyId) |
| | Destroy a proxy.  Returns nullptr if the id is invalid.
|
| |
|
bool | TestOverlap (int32 proxyIdA, int32 proxyIdB) const |
| | Test overlap of fat AABBs.
|
| |
|
int32 | GetProxyCount () const |
| | Get the number of proxies.
|
| |
|
template<typename T > |
| void | UpdatePairs (T *callback) |
| | Update the pairs. This results in pair callbacks. This can only add pairs.
|
| |
| template<typename T > |
| void | Query (T *callback, const b2AABB &aabb) const |
| |
| template<typename T > |
| void | RayCast (T *callback, const b2RayCastInput &input) const |
| |
|
int32 | GetTreeHeight () const |
| | Get the height of the embedded tree.
|
| |
|
int32 | GetTreeBalance () const |
| | Get the balance of the embedded tree.
|
| |
|
float32 | GetTreeQuality () const |
| | Get the quality metric of the embedded tree.
|
| |
| void | ShiftOrigin (const b2Vec2 &newOrigin) |
| |
The broad-phase is used for computing pairs and performing volume queries and ray casts. This broad-phase does not persist pairs. Instead, this reports potentially new pairs. It is up to the client to consume the new pairs and to track subsequent overlap.


All text data files are tab-delimited, plain text files. Each
line in the file corresponds to a single data item.
The objects.data
file stores the IDs for
the objects in the database.
Format
id
where
Example
This example defines three objects having IDs 1, 2, and 3.
1
2
3


Report Level
MME Pool
MME/SGW/PGW
Cell Group
Region
Market
eNodeB
EUTranCells
{{i}}
Carriers
{{i}}
Scrollable table
Drill-down
Schedule this report
Report Content
Include Raw
Summary
Report Level
MME Pool
MME/SGW/PGW
Cell Group
eNode B
EUTranCell
Carriers
MME/SGW/PGW
{{model.mmePool}}
Cell Group
Report Content
Submit


Test your Sci-Fi knowledge and be crowned the monarch of all nerddom!
Answer the questions below before time runs out!
Think quickly or you might get tossed into the Neutral zone!
Answer the questions below before time runs out!
Think quickly or you might get tossed into the Neutral zone!


* Defect Manager
There is Dismissed for your 3rd Party or False Positive defects.
1. Click 'Defect' icon that you want to Dismissed as below, then you can see se below menu.
2. You can check that icons changed from 'Defect' to 'Dismissed'.
3. If you mark as a defects, click 'Dismissed' icon.


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/finset_cases.20and.20nat_cases.html ---
I was thinking while walking the dog this morning about how to implement a nat_cases
tactic.
It seems best to do something more general first, and write a finset_cases
tactic, so that finset_cases h
takes a hypothesis of the form h : x \mem A
, where A
is an "explicitly known" finset
, and explodes into multiple goals, one for each element of A
.
After that, I'd write a nat_cases n a b
, which gives you a goal with the hypothesis n < a
, individual goals for each value of n \mem Ico a b
(implemented using finset_cases
), and another goal with n \geq b
.
Finally we'd add nat_cases n
, which collects hypotheses which are "obviously" linear inequalities solely in n
, and calculates the relevant lower and upper bounds a
and b
. Now we'll call nat_cases n a b
, and follow up by discharging the two goals with inequalities using linarith
(passing to linarith
just the collected relevant hypotheses, and the new hypothesis, so it should be fast).
I haven't yet thought too hard about what it means for a tactic to decide that a finset
is "explicitly known", so maybe there is a problem here.
Any criticisms before I get started (maybe not today), welcome!
I think there is a tactic to determine if a formula is "closed", i.e. "explicitly known"
Let's say you've got some horrible finset like (univ : finset (perm (fin 2 -> fin 2)))
. You have to do some clever unfolding to work out what the expression for each element is I think. Maybe if the type has a has_reflect
instance it will be easier.
In fact a has_reflect
instance is probably a good definition of "explicitly known"
bingo:
/-- (eval_expr α e) evaluates 'e' IF 'e' has type 'α'. -/ meta constant eval_expr (α : Type u) [reflected α] : expr → tactic α
(used in tactic.fin_cases
)
case in point:
example : true := begin have : ∀ n, ∀ k : fin n, true, { intros n k, fin_cases k, /- invalid eval_expr, expression must be closed state: n : ℕ, k : fin n ⊢ true -/ }, end
Yeah, I suspect eval_expr
on finset.sort
will be the way to get your hands on the underlying list.
(Note, "closed" and "explicitly known" aren't quite synonyms. Closed means something like it has no local constants, which isn't enough to guarantee that it evaluates to a value. E.g. (λ x : ℝ, if x = 0 then 0 else 1) 0
is a closed nat
that won't evaluate.)
invalid eval_expr, expression must be closed state: _inst : Π (a : Prop), decidable a, k : fin (ite (ℕ = ℤ) 0 1) ⊢ true
eval_expr
can tell just fine
Just following up here: it turns out eval_expr
and finset.sort
aren't even needed; cases
is already awesome enough. https://github.com/leanprover-community/mathlib/pull/775 has an implemenation of fin_cases
.
nat_cases
and int_cases
are still in progress.
Last updated: Apr 24 2020 at 19:02 UTC


+++ title = "Helen and Amy" slug = "helen-and-amy" date = 2007-08-30T11:00:00+10:00 tags = ["brits", "eccentric-encounters", "fellow-travellers"] locations = ["chile/pucon"] draft = false summary = """
Two young English girls, that I ended up climbing Volcán Villarrica with today. They're actually travelling with one other English girl, but their friend couldn't make it today, as she was a bit sick. Great sports, and (like me), looking forward to plenty more travelling and advnturing for the rest of the coming year.
""" +++Two young English girls, that I ended up climbing Volcán Villarrica with today. They're actually travelling with one other English girl, but their friend couldn't make it today, as she was a bit sick. Great sports, and (like me), looking forward to plenty more travelling and advnturing for the rest of the coming year.
{{< galleryphoto "2007-08-30-11-00-00--helen-and-amy-at-the-top-of-volcan-villarrica.jpg" >}}


- 3:00PM: Buddy Check In
- 3:30PM-8:45PM: Dinner for Event Volunteers
- 4:45-6:00PM Guest Check In
- 4:45PM-8:40PM:Beauty Bar Hours
- 5:30PM-8:00PM:Dinner for Guests & Buddies
- 6:30PM-8:30PM:Guest Experiences
- Karaoke
- Magician
- Limo Ride Experience
- Balloon Artist
- 8:45PM: Last Dance
- 9:00PM: Guest Pick-up
Parking
There will be a shuttle bus to and from the off-site parking lots. The shuttle bus will drop you off at the volunteer entrance. Please allow extra time to park and ride the shuttle to the Webro building. Note: Parking at the Webro building is for event guests only.
- Address: 200 Kimball Drive, Parsippany NJ 07054
- Map: Parking Map
- Shuttle Times: 2:30pm - 11:00pm


Use the Notary client for advanced users
読む時間の目安: 11 分This page explains advanced uses of Notary client for users who are running their own Notary service. Make sure you have first read and understood how to run your own Notary service before continuing.
An important note about the examples
This document’s command examples omit the -s
and -d
flags. If you do not
know what these options do, read the Getting Started docs
or run notary --help
before continuing. Once you understand what these flags do,
you must provide your own values for these options while following this document.
You can also configure these options, see advanced configuration options
for more information.
Initialize a Trusted Collection
Before adding and signing content to a collection, you must first initialize that collection.
$ notary init example.com/collection
No root keys found. Generating a new root key...
You are about to create a new root signing key passphrase. This passphrase
is used to protect the most sensitive key in your signing system.
Choose a long, complex passphrase and be careful to keep the password and the
key file itself secure and backed up. It is highly recommended that you use a
password manager to generate the passphrase and keep it safe. There is no
way to recover this key. You can find the key in your config directory.
Enter passphrase for new root key with ID 1f54328:
Repeat passphrase for new root key with ID 1f54328:
Enter passphrase for new targets key with ID 1df39fc (example.com/collection):
Repeat passphrase for new targets key with ID 1df39fc (example.com/collection):
Initializing a trusted collection generates the following items; all keys use asymmetric algorithms, but there is no requirement that they all use the same algorithm:
- If no root key is found, an initial
root
key is generated. This key is used as the default root of trust for all your trusted collections. - A
targets
key and asnapshot
key. The same password encrypts both of these as the security profile of them (when both held by the author of the trusted collection) is identical. This is why are not prompted for a snapshot key password. - A
timestamp
key. This is generated by the server on a request from the client, returning just the public key. The server holds the private key and signs timestamps on behalf of the user. - Stub signed notary metadata. This stages the base version of the trust metadata for the collection. It is finalized when it is published to the server.
Add and remove Targets
To add targets to a trusted collection with notary CLI:
$ notary add example.com/collection v1 my_file.txt
This adds the local file my_file.txt
(which must exist relative to the
current working directory), under the target name v1
, to the
example.com/collection
collection we set up. The contents of the local file
are not actually added to the collection - a “target” consists of the file path
and one or more checksums of the contents.
This is an offline command, and we must run a
notary publish example.com/collection
for the add to take effect.
To remove targets, we use the notary remove
command, specifying the GUN and
target name.
$ notary remove example.com/collection v1
Removing a target is also an offline command that requires a
notary publish example.com/collection
to take effect.
Manage keys
By default, the notary client is responsible for managing the private keys for
root, targets, snapshot roles. All of these keys are generated by default when
initializing a new trusted collection. The keys are located in the notary trust_dir
directory. In addition, if delegation roles exist, those roles’ keys are to also
managed by the notary client.
The notary server is always responsible for managing the timestamp key. However, it is possible for the notary server to manage the snapshot key, if the snapshot key is rotated from the notary client to server, as described in the following subsection.
Rotate keys
In case of potential compromise, notary provides a CLI command for rotating keys.
You can use the notary key rotate
command to rotate the targets or snapshot
keys.
While the snapshot key is managed by the notary client by default, use the notary key
rotate snapshot -r
command to rotate the snapshot key to the server, such that the
notary server can sign snapshots. This is particularly useful when using
delegations with a trusted collection, so that delegates never need access to the
snapshot key to push their updates to the collection.
New collections created by a Docker 1.11 Engine client cause the server
manage to the snapshot key by default. To reclaim control of the snapshot key on
the client, use the notary key rotate
command without the -r
flag.
The targets key must be locally managed - to rotate the targets key, for
instance in case of compromise, use the notary key rotate targets
command
without the -r
flag.
Use a Yubikey
Notary can be used with Yubikey 4 keys, via a PKCS11 interface when the Yubikey has CCID mode enabled. The Yubikey is prioritized to store root keys, and requires user touch-input for signing. Yubikey support is included with the Docker Engine 1.11 client for use with Docker Content Trust.
Yubikey support requires Yubico PIV libraries (bundled with the PIV tools) to be available in standard library locations.
Work with delegation roles
Delegation roles simplify collaborator workflows in notary trusted collections, and also allow for fine-grained permissions within a collection’s contents across delegations. In essence, delegation roles are restricted versions of the targets role that are only allowed to sign targets within certain filepaths.
A delegation role is given its own keys, such that each collaborator can keep his own private key without the administrator having to share the targets key or allow a collaborator write access to all targets of the collection.
Before adding any delegations, you should rotate the snapshot key to the server. This is done by default for new collections created with a Docker Engine 1.11 client. Delegation roles do not require the snapshot key to publish their own targets to the collection, since the server can publish the valid snapshot with the delegation targets:
$ notary key rotate example.com/collection snapshot -r
Here, -r
specifies to rotate the key to the remote server.
When adding a delegation, your must acquire a x509 certificate with the public key of the user you wish to delegate to. The user who assumes this delegation role must hold the private key to sign content with notary.
Once you’ve acquired the delegate’s x509 certificate, you can add a delegation for this user:
$ notary delegation add example.com/collection targets/releases cert.pem --paths="delegation/path"
The preceding example illustrates a request to add the delegation
targets/releases
to the GUN example.com/collection
. The delegation name must
be prefixed by targets/
to be valid, since all delegations are restricted
versions of the target role. The command adds the public key contained in the
x509 cert cert.pem
to the targets/releases
delegation.
For the targets/releases
delegation role to sign content, the delegation user
must possess the private key corresponding to this public key. This command
restricts this delegation to only publish content under pathnames prefixed by
delegation/path
. With the given path of “delegation/path”, the targets/releases
role could sign paths like “delegation/path/content.txt”, “delegation/path_file.txt”
and “delegation/path.txt”. You can add more paths in a comma-separated list under
--paths
, or pass the --all-paths
flag to allow this delegation to publish
content under any pathname.
After publishing, you can view delegations using a list command:
$ notary delegation list example.com/collection
ROLE PATHS KEY IDS THRESHOLD
---------------------------------------------------------------------------------------------------------------
targets/releases delegation/path 729c7094a8210fd1e780e7b17b7bb55c9a28a48b871b07f65d97baf93898523a 1
You can see the targets/releases
with its paths and key IDs. If you wish to modify these fields, you can do so with additional notary delegation add
or notary delegation remove
commands on this role.
A threshold of 1
indicates that only one of the keys specified in KEY IDS
is required to publish to this delegation. Thresholds other than 1 are not currently supported. To remove a delegation role entirely, or just individual keys and/or paths, use the notary delegation remove
command:
$ notary delegation remove example.com/user targets/releases
Are you sure you want to remove all data for this delegation? (yes/no)
yes
Forced removal (including all keys and paths) of delegation role targets/releases to repository "example.com/user" staged for next publish.
You can remove individual keys and/or paths by passing keys as arguments, and/or
paths under the --paths
flag. Use --all-paths
to clear all paths for this
role. If you specify all key IDs currently in the delegation role, you
delete the role entirely.
To add targets to a specified delegation role, we can use the notary add
command with the --roles
flag.
You must have imported an appropriate delegation key for this role. To do so,
you can run notary key import <KEY_FILE> --role user
with the private key PEM
file, or drop the private key PEM in private/tuf_keys
as <KEY_ID>.key
with
the role
PEM header set to user
.
$ notary add example/collections delegation/path/target delegation_file.txt --roles=targets/releases
In the preceding example, you add the target delegation/path/target
to
collection example/collections
staged for next publish. The file
delegation_file.txt
is a target delegation/path/target
using the delegation
role targets/releases
. This target’s path is valid because it is prefixed by
the delegation role’s valid path.
The notary list
and notary remove
commands can also take the --roles
flag
to specify roles to list or remove targets from. By default, this operates over
the base targets
role.
To remove this target from our delegation, use the notary remove
command with
the same flag:
$ notary remove example/collections delegation/path/target --roles=targets/releases
Use delegations with content trust
Docker Engine 1.10 and above supports the usage of the targets/releases
delegation as the canonical source of a trusted image tag, if it exists.
When running docker pull
with Docker Content Trust on Docker Engine 1.10,
Docker attempts to search the targets/releases
role for the signed image tag,
and falls back to the default targets
role if it does not exist. When
searching the default targets
role, Docker 1.10 may pick up on other
non-targets/releases
delegation roles’ signed images if they exist for this tag.
In Docker 1.11, this behavior is changed such that all docker pull
commands with
Docker Content Trust must pull tags only signed by the targets/releases
delegation role
or the targets
base role.
When running docker push
with Docker Content Trust, Docker Engine 1.10
attempts to sign and push with the targets/releases
delegation role if it exists,
otherwise falling back to the targets
role. In Docker 1.11, a docker push
attempts to sign and push with all delegation roles directly under targets
(ex: targets/role
but not targets/nested/role
) that the user has signing keys for.
If delegation roles exist but the user does not have signing keys, the push fails.
If no delegation roles exist, the push attempts to sign with the base targets
role.
To use the targets/releases
role for pushing and pulling images with content trust,
follow the steps above to add and publish the delegation role with notary.
When adding the delegation, the --all-paths
flag should be used to allow signing all tags.
Files and state on disk
Notary stores state in its trust_dir
directory, which is ~/.notary
by
default or usually ~/.docker/trust
when enabling docker content trust. Within this
directory, trusted_certificates
stores certificates for bootstrapping trust in
a collection, tuf
stores TUF metadata and changelists to be applied to a GUN,
and private
stores private keys.
The root_keys
subdirectory within private
stores root private keys, while
tuf_keys
stores targets, snapshots, and delegations private keys.


Before Change
mean_func_img = mean_img(dataset.func[0])
first_plot = plotting.plot_roi(kmeans_labels_img, mean_func_img,
title="KMeans parcellation",
display_mode="xz")
second_plot = plotting.plot_roi(ward_labels_img, mean_func_img,
title="Ward parcellation",
display_mode="xz")
After Change
// visualization.
kmeans_labels_img = kmeans.masker_.inverse_transform(kmeans.labels_)
plotting.plot_roi(kmeans_labels_img, mean_func_img,
title="KMeans parcellation",
display_mode="xz")
// kmeans_labels_img is a Nifti1Image object, it can be saved to file with
// the following code:
kmeans_labels_img.to_filename("kmeans_parcellation.nii")


Sign up for the Gadget Master newsletter
by StaffHaving one of those days? Work driving you mad? Just can’t seem to find the time to visit Gadget Master as much as you would like to?
Well, don’t stress, help is at hand.
You can now sign up for the Gadget Master newsletter to ensure you receive the latest and greatest Gadget Master news, hot and fresh, straight into your inbox! And check out the new look design, which is mobile friendly!
Simply select ‘My Account’ at the top right of the site.
Signing up only takes a second and then you can sit back and relax as we do the rest.
Go on, sign up – it will be the best decision you’ve ever made! »


{% extends "mailbody/_mailbase.html" %}
{% block content %}
You have requested a password reset at Metabolism of Cities. To reset your password, please use the link below:
Reset my password
If you can not open the link, please copy this in your browser:
https://{{ domain }}/accounts/passwordreset/confirm/{{ uid }}/{{ token }}/
If you did not submit this request, please ignore this e-mail.
{% endblock %}


stm
— functionality specific to STM32 MCUs¶
This module provides functionality specific to STM32 microcontrollers, including direct access to peripheral registers.
Memory access¶
The module exposes three objects used for raw memory access.
- stm.mem8¶
Read/write 8 bits of memory.
- stm.mem16¶
Read/write 16 bits of memory.
- stm.mem32¶
Read/write 32 bits of memory.
Use subscript notation [...]
to index these objects with the address of
interest.
These memory objects can be used in combination with the peripheral register constants to read and write registers of the MCU hardware peripherals, as well as all other areas of address space.
Peripheral register constants¶
The module defines constants for registers which are generated from CMSIS header files, and the constants available depend on the microcontroller series that is being compiled for. Examples of some constants include:
- stm.GPIOA¶
Base address of the GPIOA peripheral.
- stm.GPIOB¶
Base address of the GPIOB peripheral.
- stm.GPIO_BSRR¶
Offset of the GPIO bit set/reset register.
- stm.GPIO_IDR¶
Offset of the GPIO input data register.
- stm.GPIO_ODR¶
Offset of the GPIO output data register.
Constants that are named after a peripheral, like GPIOA
, are the absolute
address of that peripheral. Constants that have a prefix which is the name of a
peripheral, like GPIO_BSRR
, are relative offsets of the register. Accessing
peripheral registers requires adding the absolute base address of the peripheral
and the relative register offset. For example GPIOA + GPIO_BSRR
is the
full, absolute address of the GPIOA->BSRR
register.
Example use:
# set PA2 high
stm.mem32[stm.GPIOA + stm.GPIO_BSRR] = 1 << 2
# read PA3
value = (stm.mem32[stm.GPIOA + stm.GPIO_IDR] >> 3) & 1


PLANET SICK-BOY: http://www.sick-boy.com "We Put the SIN in Cinema"
If I didn't know it was a remake, I'd swear Bedazzled was modeled after two of the annual `Treehouse of Horror' episodes of The Simpsons. One involved Homer getting four wishes from a magical Moroccan monkey's paw, and in the other Homer sold his soul to the Devil Flanders for a donut.
But Bedazzled IS a remake. The original, a 1967 film written by and starring Peter Cook and Dudley Moore, was about a hapless fry cook that unsuccessfully tried to off himself because he couldn't work up the nerve to ask out a pretty waitress. In pops the Devil, who offers the loser seven wishes, each of which revolve around the seven deadly sins (Raquel Welch played Lust).
The new version isn't quite as dark. The main character isn't suicidal, and the deadly sins are completely omitted. But the biggest change to the original is the fact that the Devil is played by a scantily clad supermodel. The result is a light, entertaining film that is probably the best family comedy to be released in several months.
After the clever opening credits, where anonymous citizens are literally labeled `bad tipper,' `horny,' and `cheats on taxes,' we are introduced to Elliot Richards (Brendan Fraser, The Mummy), a customer service rep for a San Francisco-based computer company called Synedyne. Elliot is essentially a grown-up version of Jason Biggs' Paul Tannek from Loser. He's despised by the co-workers he thinks are his friends and longs to be with a Synedyne employee named Allison (Frances O'Connor, Mansfield Park), who is way out of Elliot's league.
One evening in a bar, Elliot's `friends' talk him into approaching Allison, who, of course, blows him off. Exasperated, Elliot says that he would do anything to win her affection, at which point the Devil (Estee Lauder scab Elizabeth Hurley, Edtv) appears and offers to make all of his dreams come true via seven wishes. Elliot is skeptical, but he eventually begins making wishes, all of which turn out horribly wrong.
Admirably, the trailers for Bedazzled show only Elliot's first wish, in which he requests to be rich and powerful, but becomes a Columbian drug lord. In each of the wish sequences, which incorporate Elliot's co-workers Wizard of Oz-style, Fraser gets to play a completely different character, some of which don't resemble the actor at all. His performance is just as good as Eddie Murphy in The Nutty Professor films.
The beauty of the film becomes watching Elliot wish for the wrong thing over and over again, while everybody knows that he should have asked to be a sexually ambiguous magician, because that's the only sure-fire way to land hot babes. Elliot never even figures out how to drag out his wishes to ask for more things, unlike Homer, who covered himself by being very specific.
`I wish for a turkey sandwich on rye bread with lettuce and mustard. And – AND I don't want any zombie turkeys, I don't want to turn into a turkey myself, and I don't want any other weird surprises – you got it?'
Bedazzled was directed by Harold Ramis (Analyze This), who co-adapted the script with Larry Gelbart (Tootsie) and Peter Tolan (Analyze This). The film's ending is very flat and doesn't show enough of Elliot's character growth. Hurley is at her least annoying and her least dressed (the former probably has some effect on the latter). O'Connor is good, but looks disturbingly like Mariah Carey in several scenes.
1:32 – PG-13 for sex-related humor, adult language and some drug content
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


jsonTree is a lightweight dependency-free javascript micro-library for creating collapsable tree-lists from a JSON file. If you want to see it in action, please check the example.
I created jsonTree because everything I found on creating collapsable lists was either too big (in terms of both filesize and functionality) or required JQuery (which is another matter altogether). jsonTree provides an infrastructure for the developer to stylize and do with as they please.
To use jsonTree, either download the js file [full|minified] or use npm.
npm install jsontreejs
Then, use
jsonTree(link, selector, depth)
The 'link' variable is the JSON URL, 'selector' is the element to 'jsonTree-ify', and 'depth' is a boolean to add the 'depth' class to all list children (can increase loading times).


Notebooks
Story: The tale of a wise person or sorceress, what she said, when she talked with us
The tale of a wise person or sorceress, what she said, when she talked with us
Title
The tale of a wise person or sorceress, what she said, when she talked with us
Collection
Summary
The Bushman Doctor or Sorcerer (L II.-1. 273-275). An account of these people was also given in the Katkop dialect by Dia!kwáin (L V.-3. 4122-4131), from whom we besides have two reports of cures performed upon himself. The first of these (L V.-3. 4132-4161, 4. 4162-4199) includes a speech made by the sorceress; the second relates how she cured him when injured by a Kafir (L V.-4. 4200-4230). The healer (or !gixa) !kwarra-an heals ('snores') Dia!kwain. Afterwards she tells his mother all about her work and complains about her treatment by the people. The healer does not wish to do good work because she is angry that the people do not pay her. There are additional notes about 'sneezing' (|kamma) and what comes out afterwards.
Comments
1) p.4131v: this happened to Dia !kwain when he was about eleven years old; the sorceress told this to his mother at the time when she cured him, 2) p.4135v: other sorcerers can take one 'quite' away, or kill a person, 3) p.4138v: a note in Dutch on Tornan Manier, or 'sorcerer's craft', 4) p.4155v: the name of a red stone (told to Dia!kwain by his mother), 5) p.4168v: the |xam name of a certain cricket, 6) p.4188v: about 'sneezing' (|kamma), 7) p.4190v: directing the contents of the sneeze, or sneezing 'rightly', 8) See also About the sorceress !kwarra-an and The story of a sorceress: that which she did when the Kafir had hurt my throat, she 'snored' me, when my throat was swollen and About sorcerers: when the sorcerer returns home after his work is done, 9) This story is found in Books V-3 and V-4
Contributors
Date
23 January 1875 (started)
Categories
History (personal), Healing and ailing, Custom and daily life
Keywords
sorceress (a speech made by the sorceress !kwarra-an) , sorceress (the tale of a wise person or sorceress) , sorceress (healer) , sorceress (!gixa) , sorceress (!kwarra-an) , sorceress (removes harm's things) , sorceress (who will not snore people) , sorceress (her speech) , sorceress (her lament) , sorceress (her complaint) , sorceress (her personal history) , sorceress (wants a knife) , sorceress (and sneezing) , sorceress (takes things out of body) , sorceress (her artery or great vein) , sorceress (is weary and old) , sorceress (her work is not easy) , sorceress (is angry) , sorceress (has killing power) , sorceress (her power has been taken away) , sorceress (the people mistreat her) , sorceress (her fight with people over payment) , sorceress (people forget her) , sorceress (her snoring power) , sorceress (people call her name) , sorceress (her nose is weak) , sorceress (and restoring dying) , sorceress (snores badly) , sorceress (is beaten by her husband) , sorceress (smells out illness) , sorceress (her methods of healing) , sorceress (and teaching of sorcerers) , sorceress (or wise woman) , sorceress (who snored Dia!kwain) , sorceress (her nose bleeds) , sorceress (her blood) , blood (a speech made by the sorceress !kwarra-an) , blood (healing with) , blood (its scent) , blood (the sorceress's nose-bleed) , blood (and sneezing illness) , blood (the tale of a wise person or sorceress) , Dia!kwain (his personal history) , Dia!kwain (was healed as a boy) , Dia!kwain (and sorceress !kwarra-an) , Dia!kwain (a speech made by the sorceress !kwarra-an) , Dia!kwain (the tale of a wise person or sorceress) , work (of sorcerer) , work (healing) , work (and a speech made by the sorceress !kwarra-an) , work (the tale of a wise person or sorceress) , healing (by sorcerers) , healing (by snoring) , healing (by sneezing) , healing (a speech made by the sorceress !kwarra-an) , healing (the tale of a wise person or sorceress) , healing (and 'Tornan Manier', or 'sorcerer's craft') , snoring (healing) , snoring (methods of) , snoring (a description of) , snoring (power) , snoring (good and bad) , snoring (a speech made by the sorceress !kwarra-an) , snoring (the tale of a wise person or sorceress) , healers (sorcerers) , healers (!giten) , healers (the payment of) , healers (their good and bad work) , healers (who are rascals) , healers (who kill people) , healers (their snoring and sneezing work) , healers (stoop) , healers (their work is snored into veins) , healers (or Bushman doctor) , healers (the teaching of) , healers (their veins) , healers (their great vein or vertebral artery) , healers (and sorceress !kwarra-an) , healers (a speech made by the sorceress !kwarra-an) , healers (the tale of a wise person or sorceress) , personal history (of sorceress !kwarra-an) , personal history (Dia!kwain is healed as a boy) , personal history (the tale of a wise person or sorceress) , name (of a sorceress or healer) , name (the sorceress !kwarra-an) , name (used for a healer is !giten) , name (for sneezing is |kamma) , name (the tale of a wise person or sorceress) , speech (made by the sorceress !kwarra-an) , illness (and sneezing) , illness (and snoring) , illness (the healer's snoring and sneezing work) , illness (and a speech made by the sorceress !kwarra-an) , illness (healing) , illness (the tale of a wise person or sorceress) , work (healer's snoring and sneezing work) , work (and a speech made by the sorceress !kwarra-an) , work (the tale of a wise person or sorceress) , education (of healers) , education (the tale of a wise person or sorceress) , nose (of a healer) , nose (nosebleeds and healing) , nose (and a speech made by the sorceress !kwarra-an) , nose (the tale of a wise person or sorceress) , vein (the healer's great vein or vertebral artery) , vein (and a speech made by the sorceress !kwarra-an) , vein (the tale of a wise person or sorceress) , sneezing (called |kamma) , sneezing (what comes out afterwards) , sneezing (healing with) , sneezing (of illness) , sneezing (and a speech made by the sorceress !kwarra-an) , sneezing (the tale of a wise person or sorceress) , sneezing (directing the contents of the sneeze, or sneezing 'rightly') , lament (of the sorceress !kwarra-an) , lament (the tale of a wise person or sorceress)
Story Pages
4132-4161 1/2, 4162-4199