Introduction
The digi.me private sharing platform empowers developers to make use of user data from thousands of sources in a way that fully respects a user’s privacy, and whilst conforming to GDPR. Our consent driven solution allows you to define exactly what terms you want data by, and the user to see these completely transparently, allowing them to make an informed choice as to whether to grant consent or not.
Requirements
Deployment
- iOS 13+
Installation
Swift Package Manager
Add dependencies
Add the
DigiMeSDK
package to the dependencies within your application’sPackage.swift
or your Xcode project. Substitute"x.x.x"
with the latestDigiMeSDK
release..package(name: "DigiMeSDK", url: "https://github.com/digime/digime-sdk-ios.git", from: "x.x.x")
Add
DigiMeSDK
to your target’s dependencies:.target(name: "example", dependencies: ["DigiMeSDK"]),
Import package
import DigiMeSDK
Cocoapods
Add
DigiMeSDK
to yourPodfile
:use_frameworks! source 'https://github.com/CocoaPods/Specs.git' platform :ios, '13.0' target 'TargetName' do pod 'DigiMeSDK' end
NOTE We do not currently support linking DigiMeSDK as a Static Library.
use_frameworks! flag must be set in the Podfile
Navigate to the directory of your
Podfile
and run the following command:$ pod install --repo-update
Getting Started - 5 Simple Steps!
We have taken the most common use case for the digi.me Private Sharing SDK and compiled a quick start guide, which you can find below. Nonetheless, we implore you to explore the documentation further.
This example will show you how to configure the SDK, and get you up and running with retrieving user data.
1. Obtaining your Contract ID, Application ID & Private Key:
To access the digi.me platform, you need to obtain an AppID
for your application. You can get yours by filling out the registration form here.
In a production environment, you will also be required to obtain your own Contract ID
and Private Key
from digi.me support. However, for sandbox purposes, you can use one of the contracts from the example projects (see /Examples
directory).
2. Configuring Callback Forwarding:
Because the digi.me Private Sharing SDK hooks into your browser to receive callbacks, you are required to forward the openURL
event through to the SDK so that it may process responses. In your application’s delegate (typically SceneDelegate
) override scene:openURLContexts:
method as below:
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
guard let context = URLContexts.first else {
return
}
CallbackService.shared().handleCallback(url: context.url)
}
And register custom URL scheme so that your app can receive the callback from Digi.me app. Still in Info.plist
add:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>Consent Access</string>
<key>CFBundleURLSchemes</key>
<array>
<string>digime-ca-YOUR_APP_ID</string>
</array>
</dict>
</array>
where YOUR_APP_ID
should be replaced with your AppID
.
3. Configuring the DigiMe
object:
DigiMe
is the object you will primarily interface with to use the SDK. It is instantiated with a Configuration
object.
The Configuration
object is instantiated with your App ID
, Contract ID
and Private Key
. The below code snippet shows you how to combine all this to get a configured DigiMe
object:
let privateKey = """
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEA...
-----END RSA PRIVATE KEY-----
"""
do {
let configuration = try Configuration(appId: "YOUR_APP_ID", contractId: "YOUR_CONTRACT_ID", privateKey: privateKey)
let digiMe = DigiMe(configuration: configuration)
}
catch {
...
}
4. Requesting Consent:
Before you can access a user’s data, you must obtain their consent. This is achieved by calling authorize
on your client object. You need to provide a service identifier for which you want to request access to; this can be found by referring the the service definitions in the developer docs or my using the Discovery API.:
digiMe.authorize(serviceId: service?.identifier, readOptions: nil) { result in
switch result {
case .success(let credentials):
// store credentials and continue on to fetch data.
case.failure(let error):
// handle failure.
}
}
If a user grants consent, a session will be created under the hood; this is used by subsequent calls to get data. If the user denies consent, an error stating this is returned. See Handling Errors.
5. Fetching Data:
Once you have a session, you can request data. We strive to make this as simple as possible, so expose a single method to do so:
let credentials = my_stored_credentials
digiMe.readAllFiles(credentials: credentials, readOptions: nil) { result in
switch result {
case .success(let file):
// Access data or metadata of file.
case .failure(let error):
// Handle Error
}
} completion: { result in
switch result {
case .success(let (fileList, refreshedCredentials)):
// Handle success and update stored credentials as these may have been refreshed.
case .failure(let error):
// Handle failure.
}
}
For each file, the first ‘file handler’ block will be called. If the download was successful, you will receive a File
object. If the download fails, an error.
Once all files are downloaded, the second block will be invoked to inform you of this. In the case that the data stream is interrupted, or if the session obtained above isn’t valid (it may have expired, for example), you will receive an error in the second block. See Handling Errors.
File
exposes the property data
which contains the file’s raw data along with the mimeType
property. For files with JSON or image mime types, there are convenience methods to decode that raw data into the appropriate format, so that you can easily extract the values you need to power your app. In addition, metadata
is available describing the file. In this example, as the data comes from external services, the metadata will be a mapped
type describing the file’s contents and details of associated service.
Note that we also expose other methods if you prefer to manage this process yourself.
Contributions
digi.me prides itself in offering our SDKs completely open source, under the Apache 2.0 Licence; we welcome contributions from all developers.
We ask that when contributing, you ensure your changes meet our Contribution Guidelines before submitting a pull request.
Further Reading
The topics discussed under Quick Start are just a small part of the power digi.me Private Sharing gives to data consumers such as yourself. We highly encourage you to explore the Documentation for more in-depth examples and guides, as well as troubleshooting advice and showcases of the plethora of capabilities on offer.
Additionally, there are a number of example apps built on digi.me in the examples folder. Feel free to have a look at those to get an insight into the power of Private Sharing.


If you are already registered please check Login. If not push button below to start your registration
Previous Confirm Next


{% extends 'layouts/master.html' %} {% block title %} Roles Management {% endblock %} {% block content %}
| Name | Description | Number of uses |
|---|---|---|
| Name | Description | Number of uses |
| Super | Super Admin can add and edit Students, Courses, Teachers and users | 12 |
| Admin | Admin, can add and edit Students, Courses and Teachers | 12 |


GitHub Statistics
Repository
Home
Views
Clones
Releases
Refresh
All
Last 730 days
Last 365 days
Last 100 days
Last 50 days
Last 20 days
Last 10 days
Last 5 days
Referrers
Site
Count
Uniques
Paths
Title
Count
Uniques


--- layout: post status: publish published: true title: Clojure - TCP Server Socket author: display_name: hojunbaek login: hojunbaek email<EMAIL_ADDRESS>url: '' author_login: hojunbaek author_email<EMAIL_ADDRESS>excerpt: 1분만에 만드는 테스트 소켓서버 wordpress_id: 2172 wordpress_url: http://ezcocoa.com/?p=2172 date: '2013-12-26 08:33:52 +0900' date_gmt: '2013-12-26 08:33:52 +0900' categories: - Clojure tags: - tcp - server - socket comments: [] ---
(require '[clojure.java.io :as io]) (import '[java.net ServerSocket]) (defn receive "Read a line of textual data from the given socket" [socket] (.readLine (io/reader socket))) (defn send "Send the given string message out over the given socket" [socket msg] (let [writer (io/writer socket)] (.write writer msg) (.flush writer))) (defn serve [port handler] (with-open [server-sock (ServerSocket. port) sock (.accept server-sock)] (let [msg-in (receive sock) msg-out (handler msg-in)] (send sock msg-out))))
(serve 8888 #(.toUpperCase %))


NotCurrentlyKnown
Used for a capability check. Do not use this property if the transaction is processed in an EEA country.


Watch Elon Musk Jump A Red Light In Tesla Cybertruck
Tesla CEO exits a high-end restaurant by knocking over a cone then jumping a red light.
by Jared RosenholtzThe Tesla Cybertruck is not expected to enter production until 2021, which is why residents of Los Angeles were in for a big surprise when the electric truck was spotted driving around local roads. Those who were able to get close to the truck got an even bigger shock when they noticed who was driving - Tesla CEO Elon Musk. Some people may be wondering how Tesla was already able to get the Cybertruck out on the road but keen-eyed observers noticed the truck was spotted wearing a manufacturer plate, meaning the company is allowed to drive it on the road even if it isn't production-ready.
Speaking of production-ready, it looks like Tesla has already made a few tweaks to the design, including the one-piece headlight design, which now features two brighter headlights that stand out over the connected light stript between them. The taillights too having seemingly been changed since the Cybertruck debuted on stage and now appear to be more segmented into three distinct pieces.
https://twitter.com/Guruleaks1/status/1203754579864825857
https://twitter.com/CybertruckTesla/status/1203697998749941762
Musk was spotted departing Japanese restaurant Nobu in the Cybertruck followed by a Tesla Model S (likely filled with engineers). We don't know what platform underpins the truck Musk was seen in, but since it is so far from production, we assume it is a Model X drivetrain underneath. Driving the Cybertruck around LA is likely a publicity stunt for Tesla, but just like the unbreakable window test, this latest stunt didn't go without a hilarious gaffe.
When leaving the restaurant, Musk smacks down a road sign, which should have been easily avoidable, before jumping a red light and swerving into traffic. Potential buyers are already concerned that the CyberTruck may be too large to fit in their garage. They should be equally concerned by the amount of body roll the truck demonstrates as it sprints to beat the oncoming traffic.


Countdown API
For more information, read the
API documentation
.
Time to next New Year's day
Countdown to next
January 1
Days
Hours
Minutes
Seconds
-
-
-
-
Your three minute countdown
3 minute
countdown
Minutes
Seconds
-
-


Axe core library found 9 violations on https://a11ydemo.wordpress.com/ page
| # | Description | Axe rule ID | WCAG | Impact | Count |
|---|---|---|---|---|---|
| 1 | ARIA role must be appropriate for the element | aria-allowed-role | Best practice | minor | 1 |
| 2 | Heading levels should only increase by one | heading-order | Best practice | moderate | 1 |
| 3 | Form elements must have labels | label | WCAG 2.0 Level A | critical | 1 |
| 4 | All page content must be contained by landmarks | region | Best practice | moderate | 6 |
Ensures role attribute has an appropriate value for the element
| # | Source Code | Selector |
|---|---|---|
| 1 | <input type="checkbox" role="button" aria-haspopup="true" id="toggle" class="hide-visually"> | "#toggle" |
Ensures the order of headings is semantically correct
| # | Source Code | Selector |
|---|---|---|
| 1 |
Latest from the Blog
 | "h4" |
Ensures every form element has a label
| # | Source Code | Selector |
|---|---|---|
| 1 | <input type="checkbox" role="button" aria-haspopup="true" id="toggle" class="hide-visually"> | "#toggle" |
Ensures all page content is contained by landmarks
| # | Source Code | Selector |
|---|---|---|
| 1 |
Create your website at WordPress.com
 | ".marketing-bar-text" |
| 2 | Get started | ".marketing-bar-button" |
| 3 |
 | ".widget" |
| 4 |  | ".actnbr-btn > .actnbr-actn-follow.actnbr-action[href=""]" |
| 5 | <svg class="gridicon gridicon__ellipsis" height="24" width="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><circle cx="5" cy="12" r="2"></circle><circle cx="19" cy="12" r="2"></circle><circle cx="12" cy="12" r="2"></circle></g></svg> | ".gridicon__ellipsis" |
| 6 | <img src="https://pixel.wp.com/g.gif?blog=184117659&v=wpcom&tz=9&user_id=0&post=5&subd=a11ydemo&host=a11ydemo.wordpress.com&ref=http%3A%2F%2F<IP_ADDRESS>%3A58525%2Fbrowser%2Fidle%2F2Rj10ju&fcp=1860&rand=0.6212774150705282" alt=":)" id="wpstats"> | "#wpstats" |
| # | Description | Axe rule ID | WCAG | Nodes passed check |
|---|---|---|---|---|
| 1 | Elements must only use allowed ARIA attributes | aria-allowed-attr | WCAG 2.0 Level A | 4 |
| 2 | aria-hidden='true' must not be present on the document body | aria-hidden-body | WCAG 2.0 Level A | 1 |
| 3 | Required ARIA attributes must be provided | aria-required-attr | WCAG 2.0 Level A | 1 |
| 4 | Certain ARIA roles must contain particular children | aria-required-children | WCAG 2.0 Level A | 1 |
| 5 | Certain ARIA roles must be contained by particular parents | aria-required-parent | WCAG 2.0 Level A | 1 |
| 6 | ARIA roles used must conform to valid values | aria-roles | WCAG 2.0 Level A | 1 |
| 7 | ARIA attributes must conform to valid values | aria-valid-attr-value | WCAG 2.0 Level A | 4 |
| 8 | ARIA attributes must conform to valid names | aria-valid-attr | WCAG 2.0 Level A | 4 |
| 9 | Inline text spacing must be adjustable with custom stylesheets | avoid-inline-spacing | WCAG 2.1 Level AA | 5 |
| 10 | Buttons must have discernible text | button-name | WCAG 2.0 Level A | 1 |
| 11 | Page must have means to bypass repeated blocks | bypass | WCAG 2.0 Level A | 1 |
| 12 | Elements must have sufficient color contrast | color-contrast | WCAG 2.0 Level AA | 30 |
| 13 | Documents must have <title> element to aid in navigation | document-title | WCAG 2.0 Level A | 1 |
| 14 | IDs used in ARIA and labels must be unique | duplicate-id-aria | WCAG 2.0 Level A | 2 |
| 15 | id attribute value must be unique | duplicate-id | WCAG 2.0 Level A | 40 |
| 16 | Headings must not be empty | empty-heading | Best practice | 5 |
| 17 | Form field should not have multiple label elements | form-field-multiple-labels | WCAG 2.0 Level A | 2 |
| 18 | Heading levels should only increase by one | heading-order | Best practice | 4 |
| 19 | Hidden content on the page cannot be analyzed | hidden-content | Best practice | 247 |
| 20 |  element must have a lang attribute | html-has-lang | WCAG 2.0 Level A | 1 |
| 21 |  element must have a valid value for the lang attribute | html-lang-valid | WCAG 2.0 Level A | 1 |
| 22 | Images must have alternate text | image-alt | WCAG 2.0 Level A | 1 |
| 23 | Alternative text of images should not be repeated as text | image-redundant-alt | Best practice | 1 |
| 24 | Input buttons must have discernible text | input-button-name | WCAG 2.0 Level A | 1 |
| 25 | Form elements should have a visible label | label-title-only | Best practice | 2 |
| 26 | Form elements must have labels | label | WCAG 2.0 Level A | 1 |
| 27 | Banner landmark must not be contained in another landmark | landmark-banner-is-top-level | Best practice | 1 |
| 28 | Contentinfo landmark must not be contained in another landmark | landmark-contentinfo-is-top-level | Best practice | 1 |
| 29 | Main landmark must not be contained in another landmark | landmark-main-is-top-level | Best practice | 1 |
| 30 | Document must not have more than one banner landmark | landmark-no-duplicate-banner | Best practice | 1 |
| 31 | Document must not have more than one contentinfo landmark | landmark-no-duplicate-contentinfo | Best practice | 1 |
| 32 | Document must not have more than one main landmark | landmark-no-duplicate-main | Best practice | 1 |
| 33 | Document must have one main landmark | landmark-one-main | Best practice | 1 |
| 34 | Ensures landmarks are unique | landmark-unique | Best practice | 4 |
| 35 | Links must be distinguished from surrounding text in a way that does not rely on color | link-in-text-block | WCAG 2.0 Level A | 2 |
| 36 | Links must have discernible text | link-name | WCAG 2.0 Level A | 19 |
| 37 |
 and
 must only directly contain
,


--- layout: post title: How To Select Distinct Records on a Single Column ---
Today I needed to be able to retrieve a list of records that was distinct based on one of the columns in the table. Unfortunately, it took a while to find a suitable solution. If you are using Microsoft SQL Server 2008 and up, you can make use of this simple function to get a record set that is distinct based on a single column:
WITH temp AS
(
SELECT *,
ROW_NUMBER() OVER(PARTITION BY [DISTINCT COLUMN NAME] ORDER BY [DISTINCT COLUMN NAME]) AS rn
FROM [YOURSERVER].[DBO].[YOUR TABLE]
)
select * from temp where rn=1
Thanks to Dannol Liu for his answer here:
http://social.msdn.microsoft.com/Forums/sqlserver/en-US/7fdf747b-12dd-4992-b0c2-a747bb30e869/using-distinct-on-one-column-only?forum=transactsql


data class Online : Type
If this is a Mandate accepted online, this hash contains details about the online acceptance.
mandate_data.customer_acceptance.online
<init> |
Online(ipAddress: String, userAgent: String) |
toParamMap |
fun toParamMap(): Map<String, Any> |


Facilities
Laboratories
Research in the Chemistry Department is conducted in separate laboratories viz. Chemistry Instrument Lab, Chemistry Wet Research Lab, Materials Research Lab, Bioscience Laboratory and GC-MS Laboratory. All these labs are equipped with state of the art equipment for high quality research. There is a separate Lab for B-Tech Chemistry laboratory for freshmen B-Tech students.
| {{ facility.name }}: {{ facility.text|safe|linebreaks }} | {% endfor %} |
Facilities
- UV & Visible Spectrophotometer from Shimadzu
- FTIR from Shimadzu
- Spectrofluorometer from Horiba Jobin Yuon
- Digital Polarimeter from Jasco
- Particle size and zeta potential analyzer from Beckman Coulter
- Viscometer from Brookfield
- Microwave synthesizer from Anritsu
| FTIR from Shimadzu: Organic and Inorganic compounds are synthesized and characterized for different functional groups | |
| Particle size and zeta potential analyzer from Beckman Coulter: This equipment uses photon correlation spectroscopy (PCS) and capable of measurement of particlesizes in the range of few angstroms up to microns in addition to measurement of zeta potential and size distribution. | |
| Digital Polarimeter from Jasco: This automatic digital polarimeter is used to measure the angle of rotation caused by passing polarized light through optically active compounds. | |
| Spectrofluorometer from Horiba Jobin Yuon: Provide information regarding concentration and chemical environment in a sample and equipped with a range of selectable excitation wavelengths and temperature controller. | |
| UV & Visible Spectrophotometer from Shimadzu: Equipped with double blazed grating, double monochromator design, this instrument provides a high energy throughput optical system with ultra low stray light for precise measurement of Absorbance. | |
|
Viscometer from Brookfield: continuous sensing Digital Viscometer measures viscosity and temperature and with PC interface for direct export of data. |
|
| Time Resolved Fluorescence Spectrophotometer from Edinburgh Instruments: study of fluorescence dynamics of relevant chemical reactions in femtosecond time scale | |
|
Isothermal Calorimeter from GE microcal: Measures thermodynamic parameters for chemical reactions in the microliter scale. |
|
|
Osmometer from Knauer: Used for measuring osmotic strength of solution, colloids and for other osmometric measurements |
|
|
Arbitrary waveform generator from Tektronix: For research in signal stimulus solution and for generation of complex signals. |
|
|
Microwave generator from Aniritsu: used for generating microwave and are designed to provide stable and controllable microwave power required by many heating processes and industrial application |
Facilities
- Glove box from Jacomex
- Rotary evaporator from Buchi
- Microwave reactor from Metrohm
- Millipore water purification system
- Hot air Oven from Sonara
- Multiple Fume Hoods equipped with Magnetic stirrers, hot plates and amenities required for organic and inorganic reaction set up.
| Glove Box from Jacomex: To maintain inert atmosphere and to do reactions under specific gaseous conditions and also for storage of hazardous moisture sensitive chemicals. | |
| Microwave Reactor from Metrohm: Microwave irradiation produced from the reactor gives efficient internal heating thereby accelerating many reactions; also unique products are formed under certain reaction conditions. | |
| Fume Hoods equipped with all amenities required for Organic and Inorganic reaction set up. | |
|
Low Temperature Reactor from Operon:Used for organic and inorganic synthesis at ultra low temperatures |
Facilities
- SDT (simultaneous DTA-TGA) from TA
- Dynamic Mechanical Analysis (DMA) from TA
- FTIR with spotlight 200 microscope from Perkin Elmer
- Atomic Force Microscope
- Contact Angle Goniometer from Rame-hart
| Atomic Force Microscope: High-resolution scanning probe microscopy, with resolution on the order of a nanometer, this equipment being simultaneously used by Chemists, Material Scientists and Physicists. | |
| FTIR with spotlight-200 microscope from Perkin Elmer: Fitted with powerful microscope, this instrument can determine functional groups present in a particular section of polymers and other surfaces. | |
| Contact Angle Goniometer from Rame-hart: This equipment finds use in precise determination of contact angle, surface energy and surface tension. | |
| Simultaneous DTA –TGA instrument (SDT) in the materials Research Lab. Being used extensively by Polymer Chemists. Dynamic Mechanical Analysis (DMA) |
| UV-Vis spectrophotometer with Peltier Element from Cecil, UK: Specially pre-programmed for Biochemistry and molecular Biology and used for Quantitative Analysis, Reaction Kinetics, Protein Analysis, DNA Thermal Melt and other applications. | |
| Transilluminator from Pacific Images, Taiwan: Dual wavelength UV transilluminator for visualization of DNA in gels stained with Ethidium Bromide, Sybr Green and other dyes. | |
| Mini Submarine Gel Electrophoresis from Hoefer, USA: Used for rapid electrophoresis of DNA (between 1-10 Kbsize) including plasmid DNA in agarose gels. These along with other electrophoresis unit are hooked to Hoefer’s high power current supply for constant voltage or current supply. | |
| Vertical midi gel from Hoefer, USA: Vertical midi gel units are intended for electrophoretic separation of proteins and nucleic acids (under 1 Kb) under both denaturing and native conditions. | |
| Vertical slab dual minigel from Hoefer, USA: Vertical slab dual mini gel unit is being used for rapid electrophoresis of protein or nucleic acid samples. | |
|
PCR Thermalcycler from G-Biosciences, UK: Dual slot Thermal cycler equipped with a heated lid, used for Polymerase Chain Reaction to amplify DNA. |
|
| Minicentrifuge from Dynamica, Australia and Vortex mixer from Jeiotech, Korea: Centrifuge used for wide range of applications in routine Biochemistry works including quick spin down while variable speed, intermittent and continuous mode vortex mixer being used for gentle mixing as well as vigorous agitation for DNA, protein and other biomaterial mixing. | |
| Vertical Laminar air flow from ESCO, Singapore: Vertical Laminar Flow with ULPA filter is used in the Lab for cell culture procedures. Some sensitive reactions with DNA/proteins are also being carried out here. | |
| Gel documentation System from UVP, UK: Equipped with CCD camera and Gel Capture software, this instrument is routinely used to get pictures and quantitative analysis of DNA and protein gels. | |
| Double distillation water plant from Borosil: This double distilled water is used for all routine experiments in biochemistry. | |
| CO2 incubators from ESCO, Singapore: For mammalian cell culture, tissue engineering. Can be fitted with orbital shaker for bacterial culture also. | |
| Circulating Chiller from Jeiotech, Korea: Circulating chiller is hooked up with UV visible spectrophotometer for cooling the Peltier Element in the system while working with biological samples. | |
| Vertical Automatic Autoclave from Tuttnauer, Israel: Used for sterilization of instruments, glasswares, liquids, culture media and other materials in the Bioscience Lab. | |
| Vertical -30 0C freezer from Jeiotech, Korea: This Freezer has range of diverse applications and primarily being used in the lab to store Biomaterials like DNA, proteins, some enzymes, specific chemicals and other Biosamples. | |
| Rotary evaporator (Eppendorf) used for solvent evaporation and sample concentrating. |
| Chemiluminesecence (Syngene) used for western Blotting. |
| PCR Thermalcycler (ESCO) for Polymerase Chain Reaction. |
| Orbital Shaker (Jeiotech) for reactions and sample preparation. |
| Thermalblock (Techne) for constant temperature incubation. |
| PH meter with micro electrode (Thermo) for measuring pH of solution as low as 30 uL. |
| Gas Chromatography-Mass Spectrometry facility in the Chemistry Department being used for characterization of compounds |
| HPLC (Shimadzu) facility in the Chemistry Department being used for organic compounds and as well as characterization and purification of DNA and proteins. |
| Gel Permeation Chromatography (Agilant) facility in the Chemistry department being used for characterization of Polymers. |


{% extends 'base.html' %} {% block content %}
Interested in money in Illinois politics? This site makes available bulk downloads of Illinois campaign contributions and expenditures from the Illinois State Board of Elections going back to 1994.
Who has to report campaign finance? Any political committee that exceeds $5,000 in either receipts or expenditures over the period of a year (this is the filing threshold). Once a committee exceeds the filing threshold, they are covered by the Illinois Campaign Disclosure Act (PDF) and are required to report contributions and expenditures accordingly. This campaign finance information is, in turn, made publicly available on elections.il.gov via a search interface.
We built Election Money to give journalists, activists and citizens better access to and documentation for this historical data.
Hover for additional details
| Election Money | Summary Totals | Itemized Disclosure | Detailed Disclosure |
|---|---|---|---|
| Contributions up to $150 | |||
| Expenditures up to $150 | |||
| Contributions $150 - $1,000 | |||
| Independent expenditures $150 - $1,000 | |||
| Non-independent expenditures $150+ | |||
| Contributions $1,000+ | |||
| Independent Expenditures $1,000+ |
We make available all raw candidate, committee and contribution data from the Illinois State Board of Elections. However, prior to July 1999, when electronic filing was introduced, much of the data is incorrect or missing. Keep this in mind when working with the data.
The following are campaign disclosure forms required under the Illinois Campaign Disclosure Act:
| Campaign Disclosure Form | Disclosure type | Description |
|---|---|---|
| D-1 Form (Statement of Organization) | Committees | A form providing basic committee information, registering a political committee with the Illinois State Board of Elections. This form is filed after a political committee has exceeded $5,000 in either receipts or expenditures over a year (the filing threshold), at which point they are covered by the Illinois Campaign Disclosure law and thus are required to report contributions and expenditures accordingly. |
| D-1-A Form | Committees | A supplement to the D-1 Form, only required if the political committee indicated is a legislative caucus committee established by 5+ members in the same Senate caucus or 10+ members in the same House of Representatives caucus. |
| D-2 Form (Report of Campaign Contributions and Expenditures) |
Expenditures Contributions |
A form for filing a quarterly report, a final report, or an amendment to a report. These reports include summary totals of a political committee's contributions, expenditures, debts, fund balances, and investments over a given reporting period. |
| Schedule A | Contributions | A form for reporting all itemized contributions to a political committee over $150. These itemized contributions are reported quarterly. |
| Schedule A-1 | Contributions | A form for reporting a contribution of $1,000 or more from a single source. |
| Schedule B | Expenditures | A form for reporting all itemized expenditures from a political committee over $150. These itemized expenditures are reported quarterly. |
| Schedule B-1 | Ind. Expenditures | A form for reporting an independent expenditure of $1,000 or more. (An independent expenditure is an expenditure made without coordination between a spender and a candidate.) |
| Schedule B-9 | Ind. Expenditures | A form for reporting all itemized independent expenditures from a political committee over $150. (An independent expenditure is an expenditure made without coordination between a spender and a candidate.) |
| Schedule C | Contributions | A form for reporting all itemized outstanding debts and obligations of a political committee over $150 |
| Schedule I | Contributions | A form for reporting all itemized in-kind contributions to a political committee over $150. |
Interested in learning more about campaign finance disclosure in Illinois? Here are a few useful resources:
This is a DataMade project done in collaboration with the Illinois Campaign for Political Reform (ICPR) that was spawned at a meeting held in Chicago with the Sunlight Foundation and sponsored by the McCormick Foundation. We built this site to increase the access to campaign contribution data for journalists, activists and curious citizens.
Lists of and links to each individual file are also available via an API for those of you who plan on using this data to build your own app.
API endpoints available:
For each endpoint, a list of files is returned in JSON format:
# example response from http://electionmoney.org/list/candidates/ [ { "modified_date": "Jul 25, 2014 01:27 PM", "name": "Candidates.csv", "url": "https://s3.amazonaws.com/il-elections/Candidates.csv", "bucket": "il-elections", "last_modified": "2014-07-25T13:27:15.000Z", "size_bytes": 2757110, "size": "2.6 MB" } ]
All the code for this site is open source. It consists of a scraper and this website to display the data. It was built with:
All the code for this project is available on Github:
Found a bug? Report it on our issue tracker.
Have a suggestion? Contact DataMade.
{% endblock %} {% block extra_scripts %} {% endblock %}


MeeToo 4.0 - Transfer Contacts
Document Id: KBDOC-00188
Created: 2012-07-21
Updated: 2012-07-24
Learn how to transfer contacts from a MeeToo 4.0
If the contacts on the MeeToo 4.0 are already synchronized. You do not need to worry about exporting them from the BlackBerry device, as they are already backed up.
Synchronize Contacts with MeeToo 4.0
- On the MeeToo 4.0 tap Settings.
- Tap Mail, Contacts, Calendars.
- Tap Add Account.
- Enter the account information.
- Tap Confirm.
- The Contacts are now synchronized to the MeeToo 4.0.
Tags: tablet, changed, contacts, transferring


Dear delegates and advisors,
Registration for MITMUNC China 2020 is now open! We cordially invite high school students of all backgrounds and nationalities to join us in debate about topics ranging from COVID19 recovery to human rights
MITMUNC China, the first international branch of MITMUNC, is in its fourth year. Normally held in the beautiful city of Shanghai every August, we are adapting to unprecendented times by bringing a virtual conference to you. By doing so, we hope to emphasize accessibility for delegates from all backgrounds and experience levels.
This year's conference will be held Friday, August 14th to Sunday, August 16th, 2020 (China Standard Time). Registration fees are US$136, payable to our partner organization ASDAN. Very generous financial aid is available through a MITMUNC scholarship with a simple application process (please email<EMAIL_ADDRESS>if interested). We highly encourage everyone to apply, and look forward to meeting you all in August!
Sincerely,
Ting Li and Sarah Quraishi
Secretaries-General
MITMUNC China 2020


The Scholarship Hub was launched in early 2013 and is a social enterprise, which means we are committed to reinvesting at least 50% of any profits back in to developing new scholarships. The Scholarship Hub has been developed by
Search and apply for UK scholarships, grants or bursaries for university on our comprehensive database of funding for UK/EU undergraduates and postgraduates and reduce your student debts.
Includes information regarding loans, bursaries, grants, student finance, and paying back loans.
Turn2us is a national charity providing practical help to people who are struggling financially.


Salmon Cookies Shop
Home
Sales
Menu
FIND US ON THESE FIVE LOCATIONS:
Seattle
seattle shop location
Tokyo
Tokyo shop location
Dubai
Dubai shop location
Paris
Paris shop location
Lima
Lima shop location


MARY SHELLEY'S FRANKENSTEIN A film review by Jon A. Webb Copyright 1994 Jon A. Webb
MARY SHELLEY'S FRANKENSTEIN demonstrates that the combination of a great story, a great producer, a great director, and great actors can still produce a lousy film.
Kenneth Branagh directed and plays Dr. Frankenstein. De Niro plays the monster. Coppola produced, and he showed he can produce horror films in DRACULA. So what went wrong?
I think it's the attempt to treat an inferior, basically low-brow story with a great deal of artistic respect. All the scenes are dark and brooding. Even attempt is made to replicate the feel of the semi-industrial technology from the book. The monster is played with great sensitivity and understanding by De Niro, who brings his past experience playing despised outsiders to the role.
But the story can just not sustain this kind of dramatic intensity. Mary Shelley's book is really just a horror story, not just more, and its flavor was much better captured by earlier, far inferior in terms of production values, versions of this film.  That's it--not all this nonsense about obsession with responsibility of the creator to society, or respect for life. That's our modern world reinterpreting her work.
I did like the one bit where De Niro delivers lines straight from Shelley's work, "And if I cannot quench one I will indulge the other." He made me see the monster in the larger context of DeNiro's other outsiders, no small feat. But most of the time DeNiro himself showed through; you get the feeling that you're watching Jake LaMotta on a really bad day, or something like that. DeNiro has just too strong a screen history to portray anything like this so seriously.
Kenneth Branagh withdraws a good deal of the credit he obtained for the brilliant HENRY V with this film. I just hope he got paid well. He doesn't have the chest of Alec Baldwin, nor enough physical presence to bring life to a role like this one.
.
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


Simple Black Jack Game from tutorial with eight deck modification.
First attempt at purely coded website with built in functionality
Start of a story based game with some dice rolling simulation.
A simple java maven plugin employee database app deployed with Heroku.
A Spring Gradle app that showcases the element of CRUD and CRM
For access to the code click here


In plant physiology, conductance to heat, carbon dioxide, and water vapour are expressed in different units for different purposes. For heat exchange, units of m/s are most often used, whereas for gas exchange units of either mol/m^2/s (the default output from LICOR devices) or umol/m^2/s/Pa are used. I found it difficult to keep all the conversions straight, so I made a small package to help ensure proper conversion.
You can install the current version of gunit from GitHub with:
remotes::install_github("cdmuir/gunit")
Or the released version of gunit from CRAN with:
install.packages("gunit")
This is a basic example which shows you how to solve convert conductance units:
library(gunit)
library(units)
g_sw = set_units(0.4, mol/m^2/s)
convert_conductance(g_sw)
#> # A tibble: 1 × 3
#> `m/s` `umol/m^2/s/Pa` `mol/m^2/s`
#> [m/s] [umol/m^2/Pa/s] [mol/m^2/s]
#> 1 0.00979 3.95 0.4
# Change Temperature and Pressure
g_sw = set_units(0.4, mol/m^2/s)
convert_conductance(g_sw,
P = set_units(80, kPa),
Temp = set_units(293, K))
#> # A tibble: 1 × 3
#> `m/s` `umol/m^2/s/Pa` `mol/m^2/s`
#> [m/s] [umol/m^2/Pa/s] [mol/m^2/s]
#> 1 0.0122 5 0.4
# Calculations can also be vectorized
g_sw = set_units(seq(0.1, 0.4, 0.1), mol/m^2/s)
convert_conductance(g_sw)
#> # A tibble: 4 × 3
#> `m/s` `umol/m^2/s/Pa` `mol/m^2/s`
#> [m/s] [umol/m^2/Pa/s] [mol/m^2/s]
#> 1 0.00245 0.987 0.1
#> 2 0.00489 1.97 0.2
#> 3 0.00734 2.96 0.3
#> 4 0.00979 3.95 0.4
I welcome comments, criticisms, and especially contributions! GitHub issues are the preferred way to report bugs, ask questions, or request new features. You can submit issues here:
gunit
in R doing citation(package = 'gunit')


class: title-slide, left, middle background-position: 85% 50% background-size: 30% background-color: #F9F8F3 .pull-left[ # The Global Pandemic Ruined My Favorite Data Set ### Max Kuhn ### 2021-09-10 ### New York R Conference ### https://github.com/topepo/2021-NYR ] .pull-right[  ] --- # The data In _Feature Engineering and Selection_ ([`bookdown.org/max/FES`](https://bookdown.org/max/FES/)), we try to predict the number of people entering Chicago's Clark and Lake "L" station 14 days ahead of time. Predictors: Lag 14 data from C&L and other stations, date-based features, weather, home game schedules, etc. Notes: * Data are highly bimodal (weekend vs weekday) * _Previously_, RMSE's around 1.8-2.0 (x rides/1000) were common. --- # The Before Times  --- # Now  --- # Now now  --- layout: false class: inverse, middle, center  --- # The problems Obviously, the patterns and scale are completely different. The scale change is a subtle issue. - The COVID and pre-COVID data are in the same units - Should we compare root mean squared error values between data reaching 105.5 with data topping out at 103.6(ish)? We'll also get a feel for the results via visual inspection of the predictions. --- # Potential solutions **Business as usual**: Pretend nothing is different and let the machine figure it out (WCGR?!?). **Just COVID data**: Use data after 2020-04-01 with no further adjustments. **Interactions**: Add features for change points based on events (e.g. Phase 1, kids 12-15, etc) and add interactions for these features with the lagged predictors. **Case weights**: Use the full data set and give 10-fold higher weight to data prior to 2020-04-01. --- # Modeling Details The data are resampled using rolling forecast origin with 2 week intervals. The analysis sets sizes for the full data set and the COVID only data set were about 1000 and 25 weeks, respectively. Cubist and glmnet regression models are tuned and used for prediction. Feature engineering used date-based features and lag-14 features. ```r # Change points for interactions chicago %>% mutate( # times are approximate change_1 = ifelse(date > ymd("2020-12-18"), 1, 0), # vac start change_2 = ifelse(date > ymd("2021-01-08"), 1, 0), # 2nd doses change_3 = ifelse(date > ymd("2021-01-13"), 1, 0), # Hospitals and outpatient sites, 75 + change_4 = ifelse(date > ymd("2021-01-25"), 1, 0), # phase 1b change_5 = ifelse(date > ymd("2021-02-25"), 1, 0), # J&J available, phase 1B+ change_6 = ifelse(date > ymd("2021-04-10"), 1, 0) # approved for kids ) ``` --- # Resampling results  Side note: the `glmnet` models required _a lot_ of regularization (penalties between 5-10). --- # Test set results  --- # Test set results  --- # Test set results  --- # Test set results  --- # Sorted results ```r test_results %>% group_by(model, method) %>% rmse(ridership, .pred) %>% ungroup() %>% select(model, method, rmse = .estimate) %>% arrange(rmse) ``` ``` ## # A tibble: 8 × 3 ## model method rmse ## <chr> <fct> <dbl> ## 1 glmnet case weights 0.519 ## 2 glmnet covid data only 0.581 ## 3 cubist case weights 0.693 ## 4 glmnet interactions 1.16 ## 5 glmnet all data 1.16 ## 6 cubist all data 1.70 ## 7 cubist interactions 1.90 ## 8 cubist covid data only 2.10 ``` --- # Conclusions * The resampling results indicate that the best strategy might change over time. - Also, the test and resampling results are fairly discordant. * The regularized linear regression results are appealing because of their simplicity and stability. It took some work to train these since they were producing negative ridership estimates (unless the penalty was very large) * There are model-to-model differences so we should probably look at others too. --- # Thanks Huge thanks to the organizers for the invitation to speak. Special thanks to the tidymodels team (Davis Vaughan, Julia Silge, and Hanna Frick) as well as Alison Hill. [Title picture](https://unsplash.com/photos/rIRu0pmk9Dc) by Jean Colet


E-Mail Address: A value is required.Invalid format.
How would you rate our site? - Choose One - Excellent Good Fair Poor Terrible Please select an item.
Comments?
Would you like to be on our mailing list?
Yes No Don't Care


Find out which IRS tax bracket you are in. As a percentage of income, your tax rate is generally lower than the tax rate listed. Use this calculator to estimate your actual tax rate and tax amount.
To view an example of a tax bracket calculator, visit: https://www.taxact.com/tools/tax-bracket-calculator


Measure and optimize to create better
strategies and tactics using standard
MIS and standard reports
Provide a wow patient experience and get more
referrals through your happy patients
Leverage automation and EMR flow
across departments to ensure optimum
productivity levels for your team
Use interconnected department view to
streamline your operations so as to provide
enhanced interaction between your
patient and healthcare provider
Maximize your inventory control to ensure
that you have a tight control and
optimum reorder levels
Use Audit Trails to track everything
in your hospital . Track
Have the pleasure of processing multiple transactions simultaneously and in complete harmony and consistency with your other operations. With the use of a network based platform.
The Internet has allowed businesses to break through the geographical barriers and become accessible, virtually, from anywhere with Internet access.
All software is not of the same quality. At QET Systems we pride ourselves on the measures we take to ensure that the client gets the best above the rest. Our quality management processes run through the entire system development lifecycle. From inception to elaboration through construction and finally the transition phase, we painstakingly design and test our software systems till they meet the conditions set forth by our clients.
A system is not just a medium for representation of your institution, it is a form of media from which everybody can acquire information. You can use this media to gain deep and unparalleled insight into your business affairs.
No more turning patients away when it’s time to close shop, putting up a note saying closed for public holiday , or leaving an irritating message on your answering service specifying your working hours .Tell them to visit your website for information they are looking for.
Working electronically gives you the backdrop you need to go green and offer paperless services and reduce pressures to your employees. With automated error reporting and intuitive user experience enhancers, you can be sure of an overral reduction in errors being made, a general increase in the happiness of your employees and much more satisfied customer base.
Get all the information you need right at your finger tips. Information sourced from the system gets audited and analyzed then presented to the administrator(s) and or stakeholder(s) via graphs, charts and other data visualization models. Experience the unmatched analytics and visualization capabilities that modern technology has to offer
With the option of customization available, clients are able to enjoy full flexibility and control of the end product. ** This service is available on request and is billed separately.


Endocrine System and Metabolism
Abnormalities of Weight and Stature; Obesity
Endocrine and Neck Masses
Hypothermia and Hyperthermia
Polyuria, Polydipsia, Polyphagia; Diabetes Mellitus
Physical Exam Findings Related to the Endocrine System And Metabolism
Laboratory Test Findings and Diagnostic Imaging Related to the Endocrine System And Metabolism
Normal Processes
Embryonic development, fetal maturation, and perinatal changes
Organ structure and function
hypothalamus, posterior and anterior pituitary gland
thyroid gland
parathyroid gland
adrenal cortex, adrenal medulla
pancreatic islets
ovary and testis
adipose tissue
Cell/tissue/structure and function including hormone synthesis, secretion, action,
metabolism
peptide hormones
steroid hormones, including vitamin D
thyroid hormones
catecholamine hormones
renin-angiotensin system
Repair, regeneration, and changes associated with stage of life
Abnormal Processes: Health and Health Maintenance, Screening, Diagnosis,
Management, Risks, Prognosis
Diabetes mellitus and other disorders of the endocrine pancreas
diabetes mellitus: diabetes mellitus, type 1; diabetes mellitus, type 1.5; diabetes mellitus,
type 2; diabetes mellitus, acute complications: hyperosmolar coma, hypoglycemic shock,
ketoacidosis, including cerebral edema, associated electrolyte abnormalities; diabetes
mellitus, chronic complications: gastrointestinal/gastroparesis, neurologic/neuropathy,
ophthalmologic/retinopathy, peripheral vascular, renal/nephropathy, metabolic
syndrome
A 20-year-old female visits an urgent care clinic complaining of recent weight loss, fatigue, thirst, and increased urinary frequency. Physical examination reveals shallow, rapid breathing and a faint ketotic odor. The physician assistant on duty suspects new-onset type I diabetes and orders a basic metabolic panel, arterial blood gases (ABGs), and urinalysis. Which of the following blood values is most compatible with this patient’s probable illness?
| |
pH |
Bicarbonate (mEq/L) |
Arterial pCO2 (mmHg)
|
| A |
7.27 |
13 |
30 |
| B |
7.27 |
27 |
60 |
| C |
7.40 |
24 |
40 |
| D |
7.52 |
24 |
30 |
| E |
7.52 |
35 |
45 |
Answer: A. pH = 7.27; Bicarbonate = 13; Arterial pCO2 = 30.
Diabetic ketoacidosis is a metabolic acidosis; it will cause a decrease in serum pH below the normal value of 7.4, with a decrease in serum bicarbonate below the normal value of 24 mEq/L. The figure in the next column shows a mathematical simplification of the Henderson–Hasselbalch for the serum bicarbonate buffering system that is helpful to use while thinking about metabolic and respiratory disturbances in serum acid–base balance.
In the case described here, we know that the serum pH will be lower than 7.4, because we’re told that the patient has a metabolic acidosis. As we see in the simplified expression of the Henderson–Hasselbalch equation, there are two ways to decrease serum pH; either the serum bicarbonate level decreases, or the CO2 level increases. (Normal serum bicarbonate concentration is 24 mEq/L, and a normal serum pCO2 is 40 mm Hg.) A decrease in bicarbonate occurs under conditions of metabolic acidosis, and an increase in CO2 pressure occurs under conditions of respiratory acidosis. This patient’s serum pCO2 is lower than normal because she is hyperventilating to “blow off” acid (H2CO3) from her serum.
B is incorrect. This combination of bicarbonate concentration (close to normal) and CO2 pressure (higher than normal) is consistent with a respiratory acidosis.
C is incorrect. This combination of parameters represents normal conditions.
D is incorrect. This combination of parameters represents a respiratory alkalosis.
E is incorrect. This combination of parameters represents a metabolic alkalosis.
hypoglycemia and islet cell disorders: hypoglycemia (secondary to insulinoma,
surreptitious insulin use, sepsis, liver failure); hyperglycemia (secondary to
glucagonoma); hyperinsulinism; islet cell
tumors/insulinoma/somatostatinoma; pancreatic neuroendocrine tumors
Thyroid disorders
cyst, nodule; euthyroid sick syndrome; goiter (euthyroid-normal thyroid
function with goiter); hypothyroidism; hyperthyroidism, including thyrotoxicosis and
thyroid storm; thyroiditis, including Hashimoto; Graves disease; neoplasms (benign cysts
and nodules, thyroid cancer including papillary, follicular, medullary, and anaplastic);
thyroid deficiency from pituitary disorder; infertility due to thyroid disease; secondary
hypothyroidism and hyperthyroidism
Parathyroid disorders
hyperparathyroidism; hypoparathyroidism; metabolic bone disease
Adrenal disorders
corticoadrenal insufficiency (Addison disease); adrenal insufficiency,
secondary; hypocortisolism; Cushing syndrome; hyperaldosteronism; neoplasms,
benign and malignant (adrenal neuroblastoma, pheochromocytoma, adrenal
carcinoma, adrenal adenoma, aldosteronoma, adrenal incidentaloma); delayed and
precocious puberty; hypertensive endocrine disease
Pituitary disorders
acromegaly/gigantism; diabetes insipidus; galactorrhea not associated
with childbirth; panhypopituitarism from any cause; pituitary apoplexy (eg, Sheehan
syndrome); growth hormone deficiency; short stature; SIADH (inappropriate secretion of
ADH [vasopressin]); neoplasm, benign and malignant (pituitary adenomas,
craniopharyngioma, metastatic disease); prolactinoma and hyperprolactinemia, including
infertility due to these disorders; hypogonadism, primary and secondary
Hypothalamic endocrine disorders
Multiple endocrine neoplasia (MEN1, MEN2)
Congenital disorders
disorders of sexual differentiation; congenital adrenal hyperplasia;
androgen insensitivity/resistance syndrome; congenital hypothyroidism
Adverse effects of drugs on the endocrine system
drug, medicinal, and biologic substance
effects; exogenous steroid suppression of adrenal glands, anabolic steroids


bbclib.libs.bbclib_binary module
Copyright (c) 2019 beyond-blockchain.org.
Licensed under the Apache License, Version 2.0 (the “License”);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an “AS IS” BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-
bbclib.libs.bbclib_binary.
bin2str_base64
(dat)[source]
-
bbclib.libs.bbclib_binary.
get_bigint
(ptr, dat)[source]
-
bbclib.libs.bbclib_binary.
get_n_byte_int
(ptr, n, dat)[source]
-
bbclib.libs.bbclib_binary.
get_n_bytes
(ptr, n, dat)[source]
-
bbclib.libs.bbclib_binary.
get_random_value
(length=32)[source]
Return random bytes
- Parameters
length (int) – length of the result
- Returns
random bytes
- Return type
bytes
-
bbclib.libs.bbclib_binary.
str_binary
(dat)[source]
-
bbclib.libs.bbclib_binary.
to_1byte
(val)[source]
-
bbclib.libs.bbclib_binary.
to_2byte
(val)[source]
-
bbclib.libs.bbclib_binary.
to_4byte
(val)[source]
-
bbclib.libs.bbclib_binary.
to_8byte
(val)[source]
-
bbclib.libs.bbclib_binary.
to_bigint
(val, size=32)[source]


{% extends 'base.html' %} {% block title %}Bets{% endblock %} {% block content %}
This is a list of matches available for betting.
It includes all matches starting within 3 days from now.
From this page you can place new bets or change existing ones. It is not necessary to fill all bets at once.
You can place or change any single bet - just fill only those fields that are assigned to it, omitting other.
Column 'Existing bet' shows bets that you have already placed. If you don't want to replace it with a new one,
just don't fill fields assigned to it.
Remember - deadline for placing any single bet is falling at the beginning of the match, what is highlighted in the 'Date and time' column.
{% endblock %}


These methods will be included into any Active Job object, adding callbacks
for perform
and enqueue
methods.
Defines a callback that will get called right after the job is enqueued.
class VideoProcessJob < ActiveJob::Base
queue_as :default
after_enqueue do |job|
$statsd.increment "enqueue-video-job.success"
end
def perform(video_id)
Video.find(video_id).process
end
end
Source: show
# File<EMAIL_ADDRESS>line 120 def after_enqueue(*filters, &blk) set_callback(:enqueue, :after, *filters, &blk) end
Defines a callback that will get called right after the job's perform method has finished.
class VideoProcessJob < ActiveJob::Base
queue_as :default
after_perform do |job|
UserMailer.notify_video_processed(job.arguments.first)
end
def perform(video_id)
Video.find(video_id).process
end
end
Source: show
# File<EMAIL_ADDRESS>line 62 def after_perform(*filters, &blk) set_callback(:perform, :after, *filters, &blk) end
Defines a callback that will get called before and after the job is enqueued.
class VideoProcessJob < ActiveJob::Base
queue_as :default
around_enqueue do |job, block|
$statsd.time "video-job.process" do
block.call
end
end
def perform(video_id)
Video.find(video_id).process
end
end
Source: show
# File<EMAIL_ADDRESS>line 141 def around_enqueue(*filters, &blk) set_callback(:enqueue, :around, *filters, &blk) end
Defines a callback that will get called around the job's perform method.
class VideoProcessJob < ActiveJob::Base
queue_as :default
around_perform do |job, block|
UserMailer.notify_video_started_processing(job.arguments.first)
block.call
UserMailer.notify_video_processed(job.arguments.first)
end
def perform(video_id)
Video.find(video_id).process
end
end
Source: show
# File<EMAIL_ADDRESS>line 82 def around_perform(*filters, &blk) set_callback(:perform, :around, *filters, &blk) end
Defines a callback that will get called right before the job is enqueued.
class VideoProcessJob < ActiveJob::Base
queue_as :default
before_enqueue do |job|
$statsd.increment "enqueue-video-job.try"
end
def perform(video_id)
Video.find(video_id).process
end
end
Source: show
# File<EMAIL_ADDRESS>line 101 def before_enqueue(*filters, &blk) set_callback(:enqueue, :before, *filters, &blk) end
Defines a callback that will get called right before the job's perform method is executed.
class VideoProcessJob < ActiveJob::Base
queue_as :default
before_perform do |job|
UserMailer.notify_video_started_processing(job.arguments.first)
end
def perform(video_id)
Video.find(video_id).process
end
end
Source: show
# File<EMAIL_ADDRESS>line 43 def before_perform(*filters, &blk) set_callback(:perform, :before, *filters, &blk) end


Deploy Github App on AWS EC2
5 Simple Steps:
Step 1: Create required IAM roles
Step 2: Create EC2 instance and install codeDeploy Agent
Step 3: Create CodeDeploy application and deployment group
Step 4: Fork existing Github source code into your Github account
Step 5: Create deployment in CodeDeploy


Login
Search the gallery
Home
UCSC
Gallery
Inauguration Ceremony - 2018
Views: 4696
By: Gallery Administrator
Conferment of BIT External Degrees 2017
Views: 2386
By: Gallery Administrator
UCSC Pirith Ceremony
Views: 516
By: Gallery Administrator
UCSC Career Fair 2017
Views: 882
By: Gallery Administrator
Buddhabiwandana 2017
Views: 923
By: Gallery Administrator
Fresher's Welcome 2017
Views: 1024
By: Gallery Administrator
Staff Training Session
Views: 297
By: Gallery Administrator
ICTer2017 Workshops
Views: 940
By: Gallery Administrator
ICTer2017 Day 02
Views: 680
By: Gallery Administrator
First
Previous
Photos 1 - 9 of 128
Next
Last
View slideshow
Album info
Title:
Gallery
Owner:
Gallery Administrator
Available RSS feeds
All new comments
Latest photos and movies
Gallery photos and movies
Popular tags
120 photos are tagged with
Automated Fingerprint Identification System
38 photos are tagged with
Embedded Systems Development Workshop Feb 2012
190 photos are tagged with
Internet Sampath Bawithaya
190 photos are tagged with
radio programme
66 photos are tagged with
Sandakadapahana
14 photos are tagged with
tutorials and workshops 2011
1 photos are tagged with
UCVC
1 photos are tagged with
Virtual Campus


About the Project
Donation Builder is a framework to help organizations showcase their work and seek new members and support for funding their projects. The primary audience for this project is nonprofit organizations with small teams who want a better and quick-to-set-up way to inform potential new members and supporters about their mission and work, as well as easily lead them through the donation process.
Why We Built It this Way
We chose Middleman for the project because we wanted a mostly static site. The Google Drive gem for Middleman provides the ability to easily update the content on the site without touching the code once it's set up, for those elements that are dynamic.
Features
- Fully responsive framework ready to be customized with an organization's visual brand, including images, colors, and fonts
- Ability to load information from Google Spreadsheets, so that non-technical members of your team can update membership levels and benefits, contact information, organization information, social share messages, content to highlight, and more
- Easily integrated with your Google Analytics account
- Ability to hook up to a variety of payment processors, including Dwolla, Givalike, and DonorPerfect, to accept the donations
- Ability to deploy through Amazon Web Services or Heroku
Support
- Chrome, Firefox, Safari, IE9+
- Users with JavaScript disabled
- Tested with Browserstack across a variety of devices
Getting Started
To get started, clone down the project repo.
If you don't already have Ruby installed, you need to install it. You need Ruby version 2.1.4, which is specified in the .ruby-version file. One way to manage your Ruby versions is to use rbenv.
You need the Ruby gem bundler. If you need to install the bundler, run:
gem install bundler
Install the necessary gems from the Gemfile by running:
bundle install
Development
If you've never worked with Middleman before, you can check out the docs here.
Middleman is configured to live reload the project in the browser as changes are made to files. To start up the Middleman server, run:
bundle exec middleman
To build the site, run:
bundle exec middleman build
When Middleman builds, it creates a static file for each file located in the source folder. The build process is configured in config.rb.
Integrating with Google Drive
Donation Builder uses the middleman-google_drive gem to integrate with Google Drive. Configure your Google Docs authentication as detailed in the Setup section.
The project is set up so that the site can be updated and customized through Google Spreadsheets. Use the same setup for your Google Spreadsheets to correctly pull in the info. You can view the spreadsheet setup here.
Analytics
You can hook up the project to your Google Analytics account to track how people are interacting with the site. In the Google Spreadsheet, you should have an Analytics tab. Look for the column labeled 'google_analytics_id', and enter your Google Analytics ID here. A second column labeled 'google_analytics_domain' is where you should enter your domain.
See this screenshot.
Visual Customization
Brand Colors
Donation Builder uses Sass to write its styles. In _settings.scss, there are some color variables. The project uses three theme colors, a main theme color, a secondary theme color, and a tertiary theme color. These colors are then applied to the buttons, navigation links, labels, and other UI elements throughout the project to quickly and easily use your organization's colors.
Typography
You can customize the site with the fonts your organization already uses. This can also be done in the _settings.scss file. Look for the variables $main-font and $secondary-font. The default main font is 'Roboto' with a sans-serif fallback; the default secondary font is 'Open Sans Condensed', which has another sans-serif font as a fallback.
Images
To switch out most images, you can replace an image in the /source/images folder that corresponds to the image you'd like to change. These images are named in an intuitive manner so that it's clear where each image appears in the project. The images and where they appear are described below in case the names are not clear. If you still aren't sure, try switching out the image and see where it appears in the project.
Logo
Your organization's logo appears in the masthead of each page on the site. The logo should be approximately 300px wide and 60px tall. In the source/images/ folder is an image named logo.png. Replace this image with your logo.
Favicon
You may want to customize the favicon that appears on the browser tab. To do this, replace the image called favicon.ico with your favicon.
Banner Backgrounds
You can customize the backgrounds used for the banners at the top of each page with your organization's photos. To set a background for the landing page banner, replace the photo named landing-header-bg.jpg. To set a background for the premium membership page banner, replace the photo named premium-membership-banner.jpg.
Organization Info
In the AboutOrg tab of the Google Spreadsheet, you can set up the summary for your organization, a short tagline, a call-to-action, your organization's name, and the url for your organization.
Contact Information
Contact information letting people know who to contact with questions can also be configured in the Google Spreadsheet, under the Contacts tab. You can set department, name, title, phone, and email for each contact.
Membership Levels
You can set up your organization's membership level names, donation amounts and benefits in the Google Spreadsheet. You do this on the MemberLevels tab. See this screenshot.
name
This field is your membership level name. For example, "Activist" or "Enthusiast".
donation_amount
This is the donation amount that people should give to be at the membership level. Add the amounts without dollar signs. For amounts over 999, include the comma (for example, 1,000).
most_popular
Set this to TRUE for your most popular membership level, and leave this field blank for all other levels. This activates a "Most Popular" flag when this level is displayed on the landing page and on the membership grid page.
premium_member
Set this to TRUE for any premium membership levels that your organization offers. This activates a "Premium Member" flag when this level is displayed on the landing page and on the membership grid page. It also tells the project to feature these premium membership levels on the premium membership page.
benefits
You can list the benefits for each membership level here. Between each benefit, include <br> to put in a line break. You may also want to include "Plus all above benefits" as one of the benefits in this field.
Customizing Content
On both the landing page and the premium membership page, there are four spots provided for you to showcase either images or videos to inform people what their donations will go toward supporting. You set them in the Showcase tab. See this screenshot. To showcase images, enter 'images' in the 'content_type' column, and to showcase videos, enter 'videos' in the 'content_type' column.
If you selected images, upload the images of your choice and name them "image-one.pg" (This is the top featured image), "image-two.png", "image-three.png", and "image-four.png".
If you selected videos, upload the videos of your choice and name them "video-one.pg" (This is the top featured video), "video-two.png", "video-three.png", and "video-four.png". You'll also need to set the Youtube link for your videos in the Showcase tab under "video_one", "video_two", "video_three", and "video_four".
Labels for the images or videos can be set in the spreadsheet with the columns "label_one", "label_two", "label_three", and "label_four".
Page Information
You can set your page titles, headers, and urls in the Pages tab of the Google Spreadsheet.
Navigation Links
You can add more navigation links to the navbar as needed. These links are included in both the desktop nav and the mobile nav. For example, you might want to add a "Quick Donation" link or a link to more information about your organization. Additional nav links can be set up in the NavLinks tab. For each additional nav link, add the URL target and the link text to display. It's recommended that you add only up to three additional nav links so you don't overwhelm the page.
Footer Links
You can set up the links that should appear in the footer in the FooterLinks tab. For each link you'd like to include in the footer, add the URL and the link text to display. Note that the project is configured to hide the footer by default if the device width is 985px or greater. You can change this in the _footer.scss file if you prefer a different behavior here.
Social Sharing
You can customize the default messages for when people choose to email, tweet or post to Facebook about donating to your organization. You configure this in Google Spreadsheets on the Social tab. See this screenshot. The Facebook fields set the Open Graph metadata for your site, to ensure Facebook scrapes and displays the information you want when people post.
To set your Facebook share image, you also need to include the image you'd like to use there in the /source/images folder named facebook-share-image.png.
Integrating with a Payment Processor
The project is designed to be able to be integrated with the payment processor that works best for you. It's set up to integrate most fluidly through linking to a form where people can then enter their information and submit their contribution. Some examples of payment processors with which it works well include Givalike, Dwolla and DonorPerfect.
You can set up the links where people should be sent to enter their information and submit their contribution in the DonationInfo tab. See this screenshot. You can set different URLs here for generic contributions and for renewals.
Possible Customizations
Coming soon!
Deploying
Amazon Web Services
To deploy to AWS, the project uses the middleman-s3_sync gem to push and compile the site to Amazon S3 after building.
By default, in config.rb, config.after_build is set to false. Set this to true. Check that your AWS_ACCESS_KEY and AWS_ACCESS_SECRET environment variables are set, and then run:
bundle exec middleman build
In your terminal, you should see s3_sync applying any updates to the files in the project. You can also check the project S3 bucket to ensure that all files have been synced there. Change config.after_build back to its default of false after deploying.
Heroku
If you've never used Heroku before, you'll need to create a Heroku account.
Heroku deployment uses config.ru and the Rakefile. For Heroku, you'll need Ruby 2.1.4.
To create your project for Heroku, run
heroku create
To push the project to Heroku, run
git push heroku master
Rsync, FTP, SFTP and Git
You can use a middleman-deploy gem to deploy the project over Rsync, FTP, SFTP or Git.
Examples
The Texas Tribune uses this project for its donations site. You can see it live here and visit the repo here. This should give you a good idea of what's possible with the project and what additional customizations you can add to the project so that it fits your particular needs.
Contributors
Thank you to Masonry, the digital creative agency we worked with to reach the design for this project.
Please feel free to reach out with any questions or comments. Thanks!
ve-reloading docs server.
mkdocs build
- Build the documentation site.
mkdocs help
- Print this help message.
Project layout
mkdocs.yml # The configuration file.
docs/
index.md # The documentation homepage.
... # Other markdown pages, images and other files.


{% extends '_base_standard.html' %} {% from 'macros/form.html' import render_form %} {% set title = _('Add a New Role') %} {% block content %}
{# TODO: Link to list of users. #} {{ _('Create a new role by giving it a name and the permissions that users of this role may have. You can assign users by editing their profile.') }}
{{ render_form(new_role_form) }} {% endblock %}


Your sort can never become a shining star. You are dead to me now. Do you have regrets? If so, you can start over from the very beginning...


rc
scripts
The rc
scripts used with the van Smoorenburg rc
, Mewburn rc
, OpenRC, and OpenBSD rc
systems are a very rough guide to what the start
, run
, restart
, and stop
programs should do in a service bundle that you are writing yourself.
These systems are all written in general purpose scripting languages that can do anything, and there is no general process for converting scripts for such systems.
The scope for wild variations exists and occurs with depressing regularity in the world.
There are also three major sub-dialects of van Smoorenburg rc
that rely upon blatantly (or, worse, subtly) different helper toolsets.
Converting a van Smoorenburg rc
script is usually the least preferable option.
More preferable options include converting the equivalent Mewburn rc
or OpenBSD rc
scripts, which factor out a lot of the chaff that van Smoorenburg rc
scripts do longhand.
Similarly more preferable is converting from a systemd service or socket unit and not working from an old rc
script at all.
It can be done with tools; and can be plumbed in to build procedures.
As of 2017, the FreeBSD ports tree already has a couple of hundred ports (ranging from Puppet through iodine to Wildfly) that have systemd service and socket units in their distfiles that could be automatically converted by the port.
The standard targets are akin to the Solaris SMF milestones, including having distinct "server", "workstation", "static-networking", "users", and "multi-user" targets instead of one single target that mixes all five.
Some other SMF non-milestone services have similar standard target equivalents: "system/filesystem/local" being equivalent to local-fs
for example.
The Mewburn rc
system has some milestones that do not really correspond well; in part because this package's standard targets are intended to promote more parallelism than mewburn rc
.
A rough guide for converting from Mewburn rc
is:
FILESYSTEMS
BEFORE FILESYSTEMS
does not occur out of the box in BSDs but would be equivalent to before/
the local-fs-pre
target.
REQUIRES FILESYSTEMS
is equivalent to wants/
and after/
the local-fs
standard target.
SERVERS
This is rarely used out of the box in BSDs.
BEFORE SERVERS
usually means being wanted-by/
one of the workstation
, server
, or sysinit
standard targets.
There's little distinction in practice beween REQUIRES SERVERS
and REQUIRES DAEMON
; with how to convert the latter usually also applying to the former.
DAEMON
A service that REQUIRES DAEMON
usually simply wants/
the basic
standard target and is stopped-by/
the shutdown
standard target.
However basic
is not an ordering milestone.
On the gripping hand, a service that is BEFORE DAEMON
is usually actually expressing the notion that it is wanted-by/
a standard target within basic
such as sysinit
.
NETWORKING
The idea of "networking" is a very woolly one that doesn't really admit of one single description. Rather than relate things to such an ill-defined milestone, relate them to the more specific things that they in reality relate to, such as a default route becoming available, static networking being initialized, individual interfaces coming up, any interface heving carrier, or all networking interfaces having carrier.
LOGIN
This is somewhat woolly, like NETWORKING
.
Deferring things until "after the system is secure" should be done by ordering them with respect to services such as securelevel
if it should be done at all.
Moreover, the fact that "login services" are held off until the system has waited for pretty much everything else to finish, including services that take a long time to initialize but that would not actually prohibit log-on, is a significant problem with the very idea of this ordering milestone.
TTY login services order themselves after/
the multi-user-pre
standard target.
A very few services, that actually directly affect multi-user login (such as the production of the message of the day or setting the dynamic hostname) are ordered before this target, equivalent to BEFORE LOGIN
.
Most services should not be.


git format-patch
Prepare .patch files. Useful when emailing commits elsewhere.
See also `git am`, which can apply generated .patch files.
More information: home page
- Create an auto-named `.patch` file for all the unpushed commits:
git format-patch origin
- Write a `.patch` file for all the commits between 2 revisions to `stdout`:
git format-patch revision_1home page.revision_2
- Write a `.patch` file for the 3 latest commits:
git format-patch -3


marine climate stressors Mediterranean fishing Sea human Adriatic spatial areas distribution {border-style impacts management changes pressure px;} #ffffff;} ecosystems data trends ecosystem change fisheries impacted information Ecol. fish species Coll local spatially-explicit effort global nutrient ocean SOS assessments operating (Fig. coastal commercial conservation highly particularly provide px; resilience {font-family (e.g., However, Mar. SST Sci. Sea, environmental eutrophication font-size interacting multiple pCO patterns used water (). Climate European Sea. combined concentrations, cumulative different double; high impacting impacts. increasing partial pollution recent threats value warming Central Javier Science Sea: Trends based border-color border-width case change. concentrations impact levels long-term magnitude maximum nitrate population safe solid; surface years {font-style {font-weight (phosphate (see (–) Commons Creative Eastern Environ. Fig. Figure Fishing Front. Horizon Northern Pollut. S), Spatial [], approach bold collapse courier; daily em; enhance framework heterogeneity identify likely major material oceans overlap oxygen particular populations primary provided providing pt;} recovery relatively resulted sardine satellite sea slopes space synergistically values winter


My account
Deactivate my account
Your account and contributions will become anonymised until you sign up again.


Plant Tracker
Most people don't have that natural green thumb, and we want to help! Add the plants you have, earn badges for keeping them alive, and get texts when they need some watering!
A React application that utilizes Passport, MySQL, and Materialize.


Use the Excel spreadsheet on average undergraduate tuition and fees and room and board rates charged for full-time students in degree-granting institutions, by level and control of institution: 1969-70 through 2020-21 1 [9.11.165] to do the following:
in-context


Node.JS doesn’t offer window…
root = global ? window
ensure the core namespace
root.ShareCoffee or = {}
This class is used internally because these methods are used more frequently within the entire project
root.ShareCoffee.Core = class
checkConditions evaluates the method provided as 2nd parameter and throw’s an error as far as the return value is false.
@checkConditions = (errorMessage, condition) ->
if condition() is false
console.error errorMessage if console and console.error
throw errorMessage
loadScript loads JavaScript resources from any url and adds it to the current
tag. @loadScript = (scriptUrl, onLoaded, onError) ->
s = document.createElement 'script'
head = document.getElementsByTagName('head').item(0)
s.type = 'text/javascript'
s.async = true
s.src = scriptUrl
s.onload = onLoaded
s.onerror = onError
head.appendChild(s)
shorthand for ShareCoffee
root.$s = root.ShareCoffee unless root.$s?


{% extends "base.html" %} {% block content %} ScheduleBot Home Features Contact KPI ScheduleBot Comming soon. Join {% endblock %}
Comming soon.
Join


Toggle navigation
MyBrain Functional Connectome
explore
about
code
threshold
>
0.6
>
<
total connections
Mean:
0.0
Min:
0.0
Max:
0.0
Selection
Show Positive
Show Negative
save svg
reset


{% import "forms.html" as forms %} {{ forms.with_errors(form.name) }} {{ forms.with_errors(form.email) }} {{ forms.with_errors(form.age) }} {{ forms.with_errors(form.friends) }} {{ forms.with_errors(form.best_friend) }}


2005-02-13 Hello, this message is being sent only for YOUR PROTECTION AND PRIVACY CONCERNS. You, or someone using your email address, R@M, signed up for information from one of our clients<EMAIL_ADDRESS>For your protection, we send this email to get your confirmation that you actually want the information. It is possible that you have requested an article or online training message. OR your email address was entered into a form requesting business information sometime within the past few days OR, you are in the downline of one of our users, Jerry, in an online business. You WILL NOT receive this great business opportunity message, article, training, or message from your co- worker without clicking the link below. The information you have requested is from the user mentioned above and NOT from the owner of this autoresponder service. We sincerely hope the information you requested is a life enhancing experience for you! IF you do give permission by clicking the link at the bottom of this page, you can change your mind at any time. ALL messages WILL have a working removal link and full instructions for removal. IF YOU WANT NO FURTHER EMAIL, DO NOTHING. You will not receive email unless you give your permission below. Thanks, Debbie Owner, Quick-Responder Autoresponder System PS. To ban your email address from our ENTIRE system go to http://quick-responder.com/banpage.html *************** Clicking the link below is stating: YES, I WANT THE INFORMATION/NEWSLETTER BY EMAIL THAT IS MENTIONED ABOVE. (All IP addresses are tracked and stored in our system to protect our users against false spam accusations.) ************** http://www.quick-responder.com/ar/subconf.php?id=861519&tkn=8LAmkGom&m=1 AOL Users Click Here


Manages files used for game assets. Can use a packed data file of paths and byte arrays. The game will attempt to use local files before the packed data file. Packed data is expected as: bool: true to continue reading, false to stop string: the path of the file that was packed int32: the size of the file that was packed bytes: the actual data from the file
More...
|
| static void | LoadPackedData (string path) |
| | Reads data from a uncompressed packed file More...
|
| |
| static bool | FileExists (string path) |
| | Check if a file exists, or if it has been loaded from the packed data. More...
|
| |
| static Stream | LoadFileStream (string path) |
| | Load a file as a memory stream from local files or packed data. Probably don't use this a lot it probably is memory leak city. More...
|
| |
| static byte[] | LoadFileBytes (string path) |
| | Load a file as a byte array from local files or packed data. More...
|
| |
| static bool | IsUsingDataPack (string path) |
| | Check if a file is being loaded from a local file or the packed data. Note that the game will attempt to load from local files before packed data. More...
|
| |
|
| static Dictionary< string, byte[]> | Data = new Dictionary<string, byte[]>() |
| | The unpacked data from a packed data file. File paths mapped to byte arrays. More...
|
| |
|
static string | AssetsFolderPrefix = "Assets/" |
| |
Manages files used for game assets. Can use a packed data file of paths and byte arrays. The game will attempt to use local files before the packed data file. Packed data is expected as: bool: true to continue reading, false to stop string: the path of the file that was packed int32: the size of the file that was packed bytes: the actual data from the file
| static bool Otter.Files.FileExists |
( |
string |
path | ) |
|
|
static |
Check if a file exists, or if it has been loaded from the packed data.
- Parameters
-
- Returns
- True if the file exists or if it has been loaded from the packed data.
| static bool Otter.Files.IsUsingDataPack |
( |
string |
path | ) |
|
|
static |
Check if a file is being loaded from a local file or the packed data. Note that the game will attempt to load from local files before packed data.
- Parameters
-
- Returns
- True if the data is coming from the packed file.
| static byte [] Otter.Files.LoadFileBytes |
( |
string |
path | ) |
|
|
static |
Load a file as a byte array from local files or packed data.
- Parameters
-
| path | The path to load from. |
- Returns
- The byte array of the data from the file.
| static Stream Otter.Files.LoadFileStream |
( |
string |
path | ) |
|
|
static |
Load a file as a memory stream from local files or packed data. Probably don't use this a lot it probably is memory leak city.
- Parameters
-
| path | The path to load from. |
- Returns
- The stream.
| static void Otter.Files.LoadPackedData |
( |
string |
path | ) |
|
|
static |
Reads data from a uncompressed packed file
- Parameters
-
| path | The path to the packed data file. |
| Dictionary<string, byte[]> Otter.Files.Data = new Dictionary<string, byte[]>() |
|
static |
The unpacked data from a packed data file. File paths mapped to byte arrays.
The documentation for this class was generated from the following file:


This post uses the New York Times API to search for articles on US politics that include the word scandal, and several python libraries to grab the text of those articles and store them to MongoDB for some natural language processing analytics (in part 2 of this project).
These commands should install some of the dependencies for this part of the project:
pip install pymongo
pip install requests
pip install lxml
pip install cssselect
import requests
import json
from time import sleep
import itertools
import functools
from lxml.cssselect import CSSSelector
from lxml.html import fromstring
import pymongo
import datetime as dt
from operator import itemgetter
%load_ext autosave
%autosave 30
We need to connect to the database, assuming it's already running (mongod
from the terminal).
connection = pymongo.Connection("localhost", 27017 )
db = connection.nyt
After using your secret API key...
from key import apikey
apiparams = {'api-key': apikey}
...the first thing we need to get is the urls for all the articles that match our search criterion. [Big caveat: I used a v1 api query for the original dataset that I used, and modified it for v2 after discovering it].
I searched for scandal with the q
parameter, and narrowed it down using republican OR democrat with the f[ilter]q[uery]
parameter. I found out that there are lots of really interesting curated details you can use in the search, such as searching for articles pertaining to certain geographic areas, people or organizations (with a feature called facets. I used other parameters to restrict the dates to years 1992-2013, and just return certain fields I thought would be relevant:
page = 0
q = 'http://api.nytimes.com/svc/search/v2/articlesearch.json?'
params = {'q': 'scandal*',
'fq': 'republican* OR democrat*',
'fl': 'web_url,headline,pub_date,type_of_material,document_type,news_desk',
'begin_date': '19920101',
'end_date': '20131231',
'page': page,
'api-key': apikey,
'rank': 'newest',
}
After constructing the query, we grab the search results with requests. There's no way to tell how many results there will be, so we go as long as we can, shoving everything into MongoDB, incrementing the offset
query parameter and pausing for a break before the next page of results (the NYT has a limit on how many times you can query them per second).
def memoize(f):
"Memoization for args and kwargs"
@functools.wraps(f)
def wrapper(*args, **kwargs):
kw_tup = tuple((kargname, tuple(sorted(karg.items()))) for kargname, karg in kwargs.items())
memo_args = args + kw_tup
try:
return wrapper.cache[memo_args]
except KeyError:
print '*',
wrapper.cache[memo_args] = res = f(*args, **kwargs)
return res
wrapper.cache = {}
return wrapper
@memoize
def search_nyt(query, params={}):
r = requests.get(query, params=params)
res = json.loads(r.content)
sleep(.1)
return res
fdate = lambda d, fmt='%Y%m%d': dt.datetime.strptime(d, fmt)
for page in itertools.count(): #keep looping indefinitely
params.update({'page': page}) #fetch another ten results from the next page
res = search_nyt(q, params=params)["response"]
if res['docs']:
for dct in res['docs']:
dct = dct.copy() #for memoization purposes
url = dct.pop('web_url')
dct['pub_date'] = fdate(dct['pub_date'].split('T')[0], '%Y-%m-%d') #string -> format as datetime object
dct['headline'] = dct['headline']['main']
db.raw_text.update({'url': url}, {'$set': dct}, upsert=True)
else: #no more results
break
if page % 100 == 0:
print page,
We can see from the response's metadata that we should expect about 11876 article links to be saved to our database:
search_nyt(q, params=params)['response']['meta']
Here are a few of the resulting URLS that we'll use to get the full text articles:
[doc['url'] for doc in db.raw_text.find()][:5]
The scraping wasn't as difficult as I was expecting; over the 20 or so years that I searched for, the body text of the articles could be found by looking at 5 html elements (formatted as CSS selectors in _sels
below). The following two functions do most of the scraping work-- get_text
...well...gets the text from the CSSSelector
parser, and grab_text
uses this after pulling the html with requests.
def get_text(e):
"Function to extract text from CSSSelector results"
try:
return ' '.join(e.itertext()).strip().encode('ascii', 'ignore')
except UnicodeDecodeError:
return ''
def grab_text(url, verbose=True):
"Main scraping function--given url, grabs html, looks for and returns article text"
if verbose and (grab_text.c % verbose == 0): #page counter
print grab_text.c,
grab_text.c += 1
r = requests.get(url, params=all_pages)
content = fromstring(r.content)
for _sel in _sels:
text_elems = CSSSelector(_sel)(content)
if text_elems:
return '\n'.join(map(get_text, text_elems))
return ''
#Selectors where text of articles can be found; several patterns among NYT articles
_sels = ['p[itemprop="articleBody"]', "div.blurb-text", 'div#articleBody p', 'div.articleBody p', 'div.mod-nytimesarticletext p']
all_pages = {'pagewanted': 'all'}
And here is the main loop and counter. Pretty simple.
On the first run, the output counts up from zero, but since political scandals seem to be popping up by the hour, I've updated the search a few times, but only pulling articles that aren't already in the database (hence the very sparse output below).
exceptions = []
grab_text.c = 0
for doc in db.raw_text.find(timeout=False):
if ('url' in doc) and ('text' not in doc):
# if we don't already have this in mongodb
try:
txt = grab_text(doc['url'], verbose=1)
except Exception, e:
exceptions.append((e, doc['url']))
print ':(',
continue
db.raw_text.update({'url': doc['url']}, {'$set': {'text': txt}})
else:
pass
db.raw_text.remove({'text': u''}) #there was one weird result that didn't have any text...
I used the following code to clean up after I downloaded most of the articles and modified the query, which changed some of the output fields. This just renames the original fields and sets the title
to an empty string where there was none.
for doc in db.raw_text.find(timeout=False):
if ('pub_date' in doc) and ('date' not in doc):
# cleanup from v1 queries
updates = {'date': doc['pub_date'],
'title': doc['headline']}
db.raw_text.update({'url': doc['url']}, {'$set': updates})
if ('title' not in doc) and ('headline' not in doc):
#cleanup
db.raw_text.update({'url': doc['url']}, {'$set': {'title': ''}})
A few of the articles set off exceptions when I tried pulling them; these weren't included in the dataset:
exceptions
res = map(itemgetter('date', 'url', 'title'), sorted(db.raw_text.find(), key=itemgetter('date'), reverse=1))
res[:3]
And, we got more than 9700 scandalous stories...but still counting!
len(list(db.raw_text.find()))
Though it turned out to be pretty brief, I thought this first part of my NYT scandals project deserved its own post. Luckily it doesn't take too much effort or space when you're working with a nice, expressive language, though. And you can reproduce this for yourself--you can find a copy of this notebook on Github.


s |
focus search bar ( enter to select, ▲ / ▼ to change selection) |
g {{ key }} |
go to {{ key }}{{ label | remove_first: key }} |
? |
toggle this help ( esc also exits) |
s |
focus search bar ( enter to select, ▲ / ▼ to change selection) |
g {{ key }} |
go to {{ key }}{{ label | remove_first: key }} |
? |
toggle this help ( esc also exits) |


Your Item List for current cateogory
Category
Name
Quantity
You have no items in your items list
Add an item
Category:
Name:
Quantity:


PLANET SICK-BOY: http://www.sick-boy.com "We Put the SIN in Cinema"
Trolls … elves … gnomes … hey, that's not even what Dungeons and Dragons is about. It was more of a description of the film's target demographic. Now calm down, Poindexter. A movie isn't worth hyperventilating over.
Dragons is easily one of the year's worst films, and there's a very good chance it could run away with multiple Razzie Award nominations for its excessive crapulence. The film not only rips off major elements and themes from a bunch of other movies, but it fails to execute them in a successful manner, as well.
Dragons is set in chaotic Izmer, a land ruled by Empress Savina (Thora Birch, American Beauty). Savina wants to restore power to the common people of Izmer, but she meets great resistance in the form of the diabolical Mage Profion (Jeremy `What the Hell Happened to My Career' Irons). Together with his bald, blue-lipped henchman, Profion has just come into control of some magic stick that can control the powerful Red Dragons of Izmer. For some reason, he needs to get his hands on Savina's magic stick to complete his evil doings.
Considering that the battle over the magic sticks is the main plot of the film, it's quite odd that both Savian and Profion disappear for the 80 minutes in the middle of the movie. That large chunk of time is filled with the story of two thieves – Ridley (Justin Whalin, Jimmy Olsen from the Lois & Clark series) and Snails (Marlon Wayans, Requiem For a Dream) – and their adventures with a cute apprentice Mage named Marina (newcomer Zoe McLellan).
Here's a question for you, Poindexter: Who in their right mind would make a film based on a game that, as far as I can tell, hit its popularity about 15 years ago? I'll tell you who – producer Thomas M. Hammel, who also greenlit dead-in-the-water projects like Howie Long's Firestorm and Cindy Crawford's Fair Game. Dragons' director has no feature-film experience, which is pretty obvious from his inability to pull anything but wooden performances from any of his actors.
Irons (Lolita) seems way too enthusiastic to be in this film, and Birch performs like she's been run over with a Rohypnol truck. This isn't what you'd expect from, respectively, an Oscar winner and somebody who is hot off a role in last year's Best Picture champ. The pick of the litter is the newcomer McLellan, who kind of resembles a dark-haired Claire Danes (right down to her inability to pick a good script). Wayans is awful, and his character is only slightly less annoying than Jar-Jar Binks.
Wayans has accomplished the Triple Crown of film this year. He's been in one of the year's most profitable films (Scary Movie) and one of the year's best-reviewed films (Requiem). Now he's in one of the year's worst, too.
1:49 – PG-13 for fantasy action violence
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


Neo
Home
About
Portifolio
some text
Read More
Another text
Lorem ipsum dolor sit amet consectetur adipisicing elit.
Read More
And Another one
Read More


Treebank Statistics: UD_French-FQB: POS Tags: ADP
There are 43 ADP
lemmas (1%), 21 ADP
types (0%) and 2869 ADP
tokens (12%).
Out of 16 observed tags, the rank of ADP
is: 8 in number of lemmas, 11 in number of types and 3 in number of tokens.
The 10 most frequent ADP
lemmas: de, à, en, dans, pour, sur, par, _, sous, comme
The 10 most frequent ADP
types: de, à, d’, en, dans, pour, sur, par, sous, comme
The 10 most frequent ambiguous lemmas: _ (NOUN 33, ADP 31, DET 18, SCONJ 10, ADV 9, VERB 7, PRON 6, ADJ 5, CCONJ 1, SYM 1, X 1), du (ADP 3, DET 1)
The 10 most frequent ambiguous types: de (ADP 1372, DET 8), d’ (ADP 248, DET 2), entre (ADP 14, VERB 1), après (ADP 4, ADV 1), avant (ADP 2, ADV 1), vers (ADP 2, NOUN 1)
- de
- d’
- entre
- après
- avant
- vers
Morphology
The form / lemma ratio of ADP
is 0.488372 (the average of all parts of speech is 1.163777).
The 1st highest number of forms (4) was observed with the lemma “_”: après, d’, de, à.
The 2nd highest number of forms (2) was observed with the lemma “de”: d’, de.
The 3rd highest number of forms (1) was observed with the lemma “après”: après.
ADP
occurs with 2 features: Gender (3; 0% instances), Number (3; 0% instances)
ADP
occurs with 2 feature-value pairs: Gender=Fem
, Number=Sing
ADP
occurs with 2 feature combinations.
The most frequent feature combination is _
(2866 tokens).
Examples: de, à, d’, en, dans, pour, sur, par, sous, comme
Relations
ADP
nodes are attached to their parents using 8 different relations: case (2669; 93% instances), mark (120; 4% instances), fixed (63; 2% instances), det (7; 0% instances), advmod (5; 0% instances), obl:arg (3; 0% instances), amod (1; 0% instances), conj (1; 0% instances)
Parents of ADP
nodes belong to 9 different parts of speech: NOUN (1796; 63% instances), PROPN (728; 25% instances), VERB (118; 4% instances), PRON (64; 2% instances), NUM (59; 2% instances), ADV (57; 2% instances), ADP (30; 1% instances), X (13; 0% instances), ADJ (4; 0% instances)
2817 (98%) ADP
nodes are leaves.
16 (1%) ADP
nodes have one child.
14 (0%) ADP
nodes have two children.
22 (1%) ADP
nodes have three or more children.
The highest child degree of a ADP
node is 3.
Children of ADP
nodes are attached using 2 different relations: fixed (109; 99% instances), cc (1; 1% instances)
Children of ADP
nodes belong to 9 different parts of speech: NOUN (32; 29% instances), ADP (30; 27% instances), DET (28; 25% instances), ADJ (5; 5% instances), ADV (5; 5% instances), SCONJ (4; 4% instances), VERB (4; 4% instances), CCONJ (1; 1% instances), PRON (1; 1% instances)


--- layout: newsstory title: News Story match: Yeltz 2 Worcester 0 ---
Another important victory - 2-0 at home to Worcester - keeps us in touch at the top of the table. Goals from Woody and Evran means we're up to 4th place, near the top of a large pack in pursuit of leaders Merthyr.


{% extends 'layouts/base.html' %} {% set page_title = _('Page not found') %} {% block body %}
It looks like this was the result of:


# Welcome To Scrupal API Documentation
Since you're reading this, you must have used the ```/doc/api``` URL in your browser. Congratulations! You've learned
how to access the API documentation for Scrupal.  Or, you can just go to ```/apidoc``` and select the
part of the API that you want to get information about. Below you'll find the relevant sections organized for you.
1+1=={{1+1}}


Test::Assign::IntTestSpace Class Reference
Inherits Gecode::Space.
Detailed Description
Space for executing integer tests.Definition at line 47 of file assign.cc.
Collection of possible arguments for integer assignments | |
| BoolTestSpace | |
| const Gecode::IntAssign | int_assign [] |
| Integer value assignments. | |
| const int | n_int_assign |
| Number of integer value selections. | |
| const char * | int_assign_name [] |
| Names for integer assignments. | |
Public Member Functions | |
| IntTestSpace (int n, Gecode::IntSet &d) | |
| Initialize test space. | |
| IntTestSpace (bool share, IntTestSpace &s) | |
| Constructor for cloning s. | |
| virtual Gecode::Space * | copy (bool share) |
| Copy space during cloning. | |
Public Attributes | |
| Gecode::IntVarArray | x |
| Variables to be tested. |
Constructor & Destructor Documentation
| Test::Assign::IntTestSpace::IntTestSpace | ( | int | n, | |
| Gecode::IntSet & | d | |||
| ) | [inline] |
| Test::Assign::IntTestSpace::IntTestSpace | ( | bool | share, | |
| IntTestSpace & | s | |||
| ) | [inline] |
Member Function Documentation
| virtual Gecode::Space* Test::Assign::IntTestSpace::copy | ( | bool | share | ) | [inline, virtual] |
Friends And Related Function Documentation
const Gecode::IntAssign int_assign[] [related] |
Initial value:
Integer value assignments.
const int n_int_assign [related] |
const char* int_assign_name[] [related] |
Member Data Documentation
The documentation for this class was generated from the following file: