|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface BetterActivity
| Method Summary | ||
|---|---|---|
android.content.Intent |
getCurrentIntent()
Retrieves the current intent that was used to create or resume this activity. |
|
int |
getWindowFeatures()
|
|
boolean |
isApplicationBroughtToBackground()
Android doesn't distinguish between your Activity being paused by another Activity of your own application, or by an Activity of an entirely different application. |
|
boolean |
isLandscapeMode()
|
|
boolean |
isLaunching()
|
|
boolean |
isPortraitMode()
|
|
boolean |
isRestoring()
|
|
boolean |
isResuming()
|
|
android.app.AlertDialog |
newAlertDialog(int titleResourceId,
int messageResourceId)
|
|
android.app.AlertDialog |
newErrorHandlerDialog(java.lang.Exception error)
Creates a new error dialog, with the option to either dismiss or -- if an email application is installed -- report the given error. |
|
android.app.AlertDialog |
newErrorHandlerDialog(int titleResourceId,
java.lang.Exception error)
Creates a new error dialog, with the option to either dismiss or -- if an email application is installed -- report the given error. |
|
android.app.AlertDialog |
newInfoDialog(int titleResourceId,
int messageResourceId)
|
|
|
newListDialog(java.lang.String title,
java.util.List<T> listItems,
DialogClickListener<T> listener,
boolean closeOnSelect)
Creates a new list style dialog from a list of objects. |
|
android.app.AlertDialog |
newYesNoDialog(int titleResourceId,
int messageResourceId,
android.content.DialogInterface.OnClickListener listener)
|
|
void |
setProgressDialogMsgId(int progressDialogMsgId)
|
|
void |
setProgressDialogTitleId(int progressDialogTitleId)
|
| Method Detail |
|---|
int getWindowFeatures()
void setProgressDialogTitleId(int progressDialogTitleId)
void setProgressDialogMsgId(int progressDialogMsgId)
boolean isRestoring()
boolean isResuming()
boolean isLaunching()
boolean isApplicationBroughtToBackground()
android.content.Intent getCurrentIntent()
Intent
boolean isLandscapeMode()
boolean isPortraitMode()
android.app.AlertDialog newYesNoDialog(int titleResourceId, int messageResourceId, android.content.DialogInterface.OnClickListener listener)
android.app.AlertDialog newInfoDialog(int titleResourceId, int messageResourceId)
android.app.AlertDialog newAlertDialog(int titleResourceId, int messageResourceId)
android.app.AlertDialog newErrorHandlerDialog(int titleResourceId, java.lang.Exception error)
Creates a new error dialog, with the option to either dismiss or -- if an email application is installed -- report the given error. Clicking the report button will cause the app to collect diagnostic information, compile it to a single text body, and launch the email application with the error report being preset as the email's body.
For this to work, you must define the following string resources in your application:
titleResourceId
- the string resource that should be used as the dialog titleerror
- the exception that should be displayed and/or reported
android.app.AlertDialog newErrorHandlerDialog(java.lang.Exception error)
Creates a new error dialog, with the option to either dismiss or -- if an email application is installed -- report the given error. Clicking the report button will cause the app to collect diagnostic information, compile it to a single text body, and launch the email application with the error report being preset as the email's body.
For this to work, you must define the following string resources in your application:
error
- the exception that should be displayed and/or reported
<T> android.app.Dialog newListDialog(java.lang.String title, java.util.List<T> listItems, DialogClickListener<T> listener, boolean closeOnSelect)
T
- the type of the list itemsdialogTitle
- the title or null to disable the titlelistItems
- the list itemslistener
- the listener used for processing list item clickscloseOnSelect
- if true, the dialog will close when an item has been clicked
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Kevin Schneider
Born: Kissimmee, FL
Goals: To one day move into the field of Video Game development and write stories, hopefully combining the two.
Favorite Joke: I ordered a chicken and an egg from Amazon. I’ll let you know.
Visit Me!Jason Cruz
Born: San Antonio, TX
Goals: Doing some meaningful work, mentorship, helping kids, assisting people in natural diasters.
Favorite Joke: Did you hear about that man cut himself in half? He's all right now!
Visit Me!Kyle Richardson
Born: California, raised in Dallas, TX
Goals: Create great content that others can use and benefit from daily.
Favorite Joke: How does Moses make his coffee? Hebrews it
Visit Me!Aciel Ochoa
Born: Uvalde, TX
Goals: To one day be great enough pass the first level of Pac-Man.
Favorite Joke: I ordered a chicken and an egg from Amazon. I’ll let you know.
Visit Me!Joshua Cowley
Born: El Paso, TX
Goals: To become a great developer who has a hand in many large-scale projects
Favorite Joke: I bought some shoes from a drug dealer. I don't know what he laced them with, but I was tripping all day!
Visit Me!Joshua Cowley
Born: El Paso, TX
Goals: To become a great developer who has a hand in many large-scale projects
Favorite Joke: I bought some shoes from a drug dealer. I don't know what he laced them with, but I was tripping all day!
Visit Me!


This package contains interfaces and classes for generating the initial cluster seeds used by algorithms such as k-means clustering.


App online
Menu:
Random user
|
Primes #s
|
Random image
|
Clear HTML
Intervals:
Start
|
Stop
Users
Latest Prime #
Image


Input
Give textual form controls like input upgrade with custom styles, sizing, focus states, and more.
Basic Inputs
Find helper text here for given textbox.
<EMAIL_ADDRESS>Input Styles
To set rounded border to input box, use .round
class and
to set square border to input box, use .sqaure
class alongwith
.form-control
class.
Horizontal Input
To make label in center of form-control, use .col-form-label
class with
<label>
element. This is default bootstrap class.
File Input
Input with Icons
For Input Box with icon use .position-relative
class with
.form-group
and use class .has-icon-left
or
.has-icon-right
class for icon on
left side.
Left Icon
Right Icon
Control Sizing Option
For different sizes of Input, Use classes like .form-control-lg
&
.form-control-sm
for Large, Small input box.
Large
Default
Small
Input Validation States
You can indicate invalid and valid form fields with .is-invalid
and
.is-valid
. Note that .invalid-feedback
is also supported
with these classes.


This intention adds clarifying parentheses to complex binary expressions. The parentheses inserted clarify the associativity between the different binary operators.


This starter project comes with simple tabs-based layout for apps that are going to primarily use a Tabbed UI.
Take a look at the src/pages/ directory to add or change tabs, update any existing page or create new pages.
src/pages/


{% extends "base.html"%} {% block content %}
Well Location: {{ well.location|capfirst }}
Well Name: {{ well.wellName|capfirst }}
Distance to Well (ft bTOC): {{ well.distanceToWell }}
Groundwater Elevation (ft amsl): {{ well.groundWaterElev }}
Coliform Amount (MPN/100 ml): {{ well.coliform }}
EColi Present: {{ well.eColiPresent }}
Nitrate Amount (mg/l): {{ well.nitrate }}
B. Alkalinity Amount (mg/l): {{ well.bAlkalinity }}
Field PH Level: {{ well.fieldPH }}
Electric Charge (µS/cm): {{ well.electricCharge }}
Total Dissolved Solids: {{ well.totalDissolvedSoilds }}
Sulfate Amount: {{ well.sulfate }}
Chloride Amount: {{ well.chloride }}
Calcium Amount: {{ well.calcium }}
Sodium Amount: {{ well.sodium }}
Potassium Amount: {{ well.potassium }}
Iron Amount: {{ well.iron }}
Magnesium Amount: {{ well.magnesium }}
Barium Amount: {{ well.barium }}
Bicarbonate Amount: {{ well.bicarbonate }}
Carbonate Amount: {{ well.carbonate }}
Fluoride Amount: {{ well.fluoride }}
Total Hardness: {{ well.totalHardness }}
Date Taken: {{ well.dtTaken | date:"M d Y"}}


Man convicted of raping woman he helped with NYC house-hunt
NEW YORK (AP) - A Pennsylvania man has been convicted of raping a woman in a New York apartment that he helped her find.
Court records show Ashok Singh was found guilty Wednesday. The 58-year-old from Easton, Pennsylvania, is set for sentencing Dec. 19.
A message was left Friday for his attorney.
Queens Acting District Attorney John Ryan says the 40-year-old woman was looking for apartments-for-rent fliers at a house of worship in December 2015 when she encountered Singh, who offered to help her house-hunt.
Prosecutors say he called her four days later to say he'd found a place. He helped her move and bought food and wine.
Ryan says Singh became enraged and forcibly raped the woman after she refused to drink alcohol with him. She ran for help after he fell asleep.
Copyright 2019 The Associated Press. All rights reserved. This material may not be published, broadcast, rewritten or redistributed.


We're sorry but html doesn't work properly without JavaScript enabled. Please enable it to continue.


---
title: "Call for Doctoral Consortium Papers"
updated: 2015-12-23 00:00:00
layout: default
group: calls
menu: sub
ordered: 7
status: published
---
{{ page.title }}
The ISWC 2016 Doctoral Consortium will take place as part of the 15th International Semantic Web Conference in Kobe, Japan. This forum will provide PhD students an opportunity to share and develop their research ideas in a critical but supportive environment, to get feedback from mentors who are senior members of the Semantic Web research community, to explore issues related to academic and research careers, and to build relationships with other Semantic Web PhD students from around the world.
The Consortium aims to broaden the perspectives and to improve the research and communication skills of these students.
The Doctoral Consortium is intended for students who have a specific research proposal and some preliminary results, but who have sufficient time prior to completing their dissertation to benefit from the consortium experience. Generally, students in their second or third year of PhD will benefit the most from the Doctoral Consortium. In the Consortium, the students will present their proposals and get specific feedback and advice on how to improve their research plan.
All proposals submitted to the Doctoral Consortium will undergo a thorough reviewing process with a view to providing detailed and constructive feedback. The international program committee will select the best submissions for presentation at the Doctoral Consortium.
We anticipate that students with accepted submissions at the Doctoral Consortium will receive travel fellowships to offset some of the travel costs.
Submission information
We ask the PhD students to submit an 8 page description of their PhD research proposal. All proposal have to be submitted electronically via the EasyChair conference submission System
(https://www.easychair.org/conferences/?conf=iswc2016dc).
The proposal text must have at least 8 sections (some can be very short), addressing each of the following questions:
- Problem statement: What is the problem that you are addressing?
- Relevancy: Why is the problem important? Who will benefit if you succeed? Who should care?
- Related work: How have others attempted to address this problem? Why is the problem difficult?
- Research question(s): What are the research questions that you plan to address?
- Hypotheses: What hypotheses are related to your research questions?
- Preliminary results: Do you have any preliminary results that demonstrate that your approach is promising?
- Approach: How are you planning to address your research questions and test your hypotheses? What is the main idea behind your approach? The key innovation?
- Evaluation plan: How will you measure your success - faster/ more accurate/ less failures/ etc.? How do you plan to test your hypothesis? What will you measure? What will you compare to?
- Reflections: Why do you think you will succeed where others failed? Provide an argument, based either on common knowledge or on evidence that you have accumulated, the your approach is likely to succeed.
Additional submission requirements
- All submissions must be single-author submissions. Please acknowledge your PhD advisor(s) and other contributors in the Acknowledgements section
- Students accepted to present at the Doctoral Consortium must plan to attend the DC for the whole day in order to gain as much value as possible from the experience.
- Please remember that the DC submission is not the same as a research paper.
- Submissions must be in pdf and be formatted according to the Springer Publications format for Lecture Notes in Computer Science (LNCS).
Topics of Interest
Topics of interest include, but are not limited to the topics listed below. Please note that these topics are the same as for the main ISWC Research track:
- Database, information retrieval, information extraction, natural language processing and artificial intelligence techniques for the Semantic Web
- Knowledge graph creation, reasoning, and usage
- Knowledge representation and reasoning on the Web
- Management of semantics and data on the Web, including Linked Data
- Semantic Web data analysis
- Languages, tools, and methodologies for representing and managing semantics and data on the Web
- Cleaning, quality assurance, and provenance of Semantic Web data, services, and processes
- Ontology-based data access and integration/exchange on the Web
- Ontology engineering and ontology patterns for the Web
- Ontology modularity, mapping, merging, and alignment for the Web
- Searching and querying the Semantic Web
- Supporting multi-linguality in the Semantic Web
- User interfaces and interaction with semantics and data on the Web
- Information visualization and exploratory analysis methods for Semantic Web data
- Personalized access to Semantic Web data and applications
- Social semantics methods and applications
- Geospatial semantics and data on the Web
- Data streams and the Internet of Things
- Semantic technologies for mobile platforms
- Trust, privacy, and security on the Semantic Web
- Semantic Web and Linked Data for cloud environments
Important Dates
| Submission: | May 30th, 2016 |
| Notifications: | June 30th, 2016 |
| Camera-ready versions: | July 18, 2015 |
All deadlines are midnight Hawaii time.
Program Chairs
-
Philippe Cudré-Mauroux
University of Freiburg, Switzerland
-
Natasha Noy
Google Inc.
-
Riichiro Mizoguchi
JAIST, Japan


Vinay Mavram
An undergraduate Computer Science student graduating June 14
bla bla bla
Work Experience
- Amazon.com - Software Development Engineering Intern
- Websense - Software Engineering Intern
Projects
- myCity
- TaskPlus
- class projects involving data structures
- various Android projects


the and al., wildlife for trade illegal that with are The from {background global should species infectious European health diseases margin {border-style bushmeat px;} #ffffff;} DNA forensic such not which zoonotic has this virus Wildlife disease have risk emerging humans international into major public also human Ebola Union animals outbreak (Pike EID SARS-CoV- control countries its most one only research will African This all but can extinction more they trade, trafficking use Infectious United any biodiversity conservation crime developing development economic epidemics importation including live measures px; were worldwide {font-family COVID- HIV combat decision developed font-size important makers origin pandemic people policies potential role science sequencing threat transmission was â€" Karesh Lancet./S-()- animal could current double; first food future hunting million often primate reported scale still their them trade. wild within years (Wolfe Africa April CITES EU, EU. Elsevier Health National Royal Society Trade address anthropogenic between border border-color border-width burden caused considered cost emergence endangered environmental epidemic events exotic genetic high identification law make markets novel number other part pathogenic pet points predict prevent represent severe solid; than world {font-style {font-weight (Allen (Jones (Ogden (e.g. Academy Action Additionally, Biological Bloom CITES-listed Diseases./eid. Ecology Even Global Illegal Jacobsen Journal Public Science World among associated because birds bold borders both central centre change considerable courier; cross-species data devastating diseases: drivers efforts em; enforcement evidence example, field funding highly illegally imported improve influenza legal lymphotropic millions mitigating must network new origins pathogens play proactive probably procedures products pt;} recent reemerging represents resource respiratory review risks scientific scientists some species, specific tackle technologies technology these though threats transit used vaccine would year


--- layout: post title: Capistrano deployment for Rails date: 2014-02-07 17:30:37.000000000 -06:00 type: post published: true status: publish categories: - Ruby on Rails tags: [] meta: _edit_last: '15714693' _publicize_pending: '1' author: login: broberts65 email<EMAIL_ADDRESS>display_name: Bob Roberts first_name: '' last_name: '' ---
I think I have found my all time favorite gem; capistrano-unicorn
Simply put, if you use Capistrano and Unicorn, you have to use this gem. I have messed around with setting up init.d scripts for starting and stopping Unicorn and they have all been more trouble than help.
All I had to do was add a couple of lines to my deploy.rb file:
# Unicorn tasks require 'capistrano-unicorn' after 'deploy:restart', 'unicorn:reload' after 'deploy:restart', 'unicorn:restart'
I think that the best thing about this gem is the added cap tasks that can be run from your machine:
cap unicorn:add_worker # Add a new worker cap unicorn:remove_worker # Remove amount of workers cap unicorn:reload # Reload Unicorn cap unicorn:restart # Restart Unicorn cap unicorn:show_vars # Debug Unicorn variables cap unicorn:shutdown # Immediately shutdown Unicorn cap unicorn:start # Start Unicorn master process cap unicorn:stop # Stop Unicorn


Tags
- Others 4
- Java 25
- Chinese 9
- Fedora 3
- OS 4
- JBoss 12
- jBPM 7
- Scala 1
- BPM 12
- Security 1
- WS-Security 1
- Drools 1
- ESB 3
- JBossESB 2
- Web Service 3
- REST 2
- RESTEasy 2
- BPEL 3
- XML 1
- jwchat 1
- Openfire 1
- Database 5
- IOC 1
- MicroContainer 1
- Open Source 1
- JPA 1
- Git 3
- SCM 3
- BPMN 1
- Maven 1
- ODE 5
- RiftSaw 7
- Book 2
- CXF 1
- Review 2
- SOA 1
- Mac OSX 1
- Hibernate 1
- Thoughts 2
- Javascript 1
- Programming Languages 1
- Back to Basics 2
- Artificial Intelligence 1
- Robotics 1
- SwitchYard 1
- JUDCon 1
- Events 1
Others
- Good presentation about XMPP and Web.
- I am a Duty Fulfiller??
- 十篇每个程序员应该读的文章,论文.(至少两遍)
- Reflection on 2008, and 2009's resolution.
Java
- Building your Own Service In SwitchYard (JUDCon China)
- "Functional Programming for Java Developer" book review.
- Upgrading Hibernate 3.3.2 to Hibernate 4.0.0
- Getting/Using services deployed in JBoss AS 5.x
- Exploring ODE part V: implemenation of scheduler-simple module.
- Exploring ODE Part IV: BpelServer API
- Exploring ODE Part III: architecture and modules introduction
- Exploring ODE Part II: JACOB Framework
- Exploring ODE Part I: Bpel Compiler and its internal model.
- JPA implementation patterns
- JBoss AS5 MC articles and presentations.
- Openfire + jwchat + Tomcat = Realtime collaboration
- 简说xml的namespace
- Soft delete, or Hard delete.
- Publishing web service in JBoss ESB
- jBPM 4.0 restful service introduction.
- Build restful service with RESTEasy
- code against web service.
- Getting Started with jBPM 4.0 (Part IV)
- 浅谈ws-security: 加密,签名,证书等
- Getting Started with jBPM 4.0 (Part III)
- Getting Started with jBPM 4.0 (Part II)
- java concurrency and scala links
- jBPM4.0 framework exploring
- JUL Logger setting
Chinese
- JavaScript中的函数对象
- 迎接新的教育模式,新的学习方式
- Openfire + jwchat + Tomcat = Realtime collaboration
- 简说xml的namespace
- PartnerLink,PartnerLinkType详解
- 浅谈ws-security: 加密,签名,证书等
- jBPM4.0 framework exploring
- Fedora 10 使用NetworkManager配置ADSL
- 十篇每个程序员应该读的文章,论文.(至少两遍)
Fedora
- Install VirtualBox and Chrome beta in Fedora 10
- Fedora environment setting.
- Fedora 10 使用NetworkManager配置ADSL
OS
- My Roadmap on Mac OS X
- Install VirtualBox and Chrome beta in Fedora 10
- Fedora environment setting.
- Fedora 10 使用NetworkManager配置ADSL
JBoss
- Building your Own Service In SwitchYard (JUDCon China)
- Upgrading Hibernate 3.3.2 to Hibernate 4.0.0
- Getting/Using services deployed in JBoss AS 5.x
- Exploring ODE Part I: Bpel Compiler and its internal model.
- JBoss AS5 MC articles and presentations.
- jBPM 4.0 restful service introduction.
- Updates on JBoss ESB.
- Getting Started with jBPM 4.0 (Part IV)
- Getting Started with jBPM 4.0 (Part III)
- Getting Started with jBPM 4.0 (Part II)
- Getting Started with jBPM 4.0 - (Part I )
- jBPM4.0 framework exploring
jBPM
- jBPM 4.0 restful service introduction.
- Updates on JBoss ESB.
- Getting Started with jBPM 4.0 (Part IV)
- Getting Started with jBPM 4.0 (Part III)
- Getting Started with jBPM 4.0 (Part II)
- Getting Started with jBPM 4.0 - (Part I )
- jBPM4.0 framework exploring
Scala
BPM
- Exploring ODE part V: implemenation of scheduler-simple module.
- Exploring ODE Part IV: BpelServer API
- Exploring ODE Part III: architecture and modules introduction
- Exploring ODE Part II: JACOB Framework
- Exploring ODE Part I: Bpel Compiler and its internal model.
- Hightlights from BPMN2.0
- PartnerLink,PartnerLinkType详解
- jBPM 4.0 restful service introduction.
- Getting Started with jBPM 4.0 (Part IV)
- Getting Started with jBPM 4.0 (Part III)
- Getting Started with jBPM 4.0 (Part II)
- Getting Started with jBPM 4.0 - (Part I )
Security
WS-Security
Drools
ESB
- Building your Own Service In SwitchYard (JUDCon China)
- Publishing web service in JBoss ESB
- Updates on JBoss ESB.
JBossESB
Web Service
- Apache CXF Web Service Development book.
- Publishing web service in JBoss ESB
- code against web service.
REST
RESTEasy
BPEL
- Exploring ODE Part II: JACOB Framework
- Exploring ODE Part I: Bpel Compiler and its internal model.
- PartnerLink,PartnerLinkType详解
XML
jwchat
Openfire
Database
- Back To Basics - Review notes on Database System Implementation I
- Install Mysql and Postgres in Mac OS through MacPorts
- Connecting to various DBs by using ant's sql command.
- Using Oracle Instant and Sqlplus in Fedora
- Create Database and user in Postgres and Mysql.
IOC
MicroContainer
Open Source
JPA
Git
- Git merge or rebase?
- Git Cheat Sheet for history/difference.
- open source projects should really use Git
SCM
- Git merge or rebase?
- Git Cheat Sheet for history/difference.
- open source projects should really use Git
BPMN
Maven
ODE
- Exploring ODE part V: implemenation of scheduler-simple module.
- Exploring ODE Part IV: BpelServer API
- Exploring ODE Part III: architecture and modules introduction
- Exploring ODE Part II: JACOB Framework
- Exploring ODE Part I: Bpel Compiler and its internal model.
RiftSaw
- Upgrading Hibernate 3.3.2 to Hibernate 4.0.0
- Getting/Using services deployed in JBoss AS 5.x
- Exploring ODE part V: implemenation of scheduler-simple module.
- Exploring ODE Part IV: BpelServer API
- Exploring ODE Part III: architecture and modules introduction
- Exploring ODE Part II: JACOB Framework
- Exploring ODE Part I: Bpel Compiler and its internal model.
Book
CXF
Review
SOA
Mac OSX
Hibernate
Thoughts
Javascript
Programming Languages
Back to Basics
- Back To Basics - Review notes on Robot Software Architecture Course
- Back To Basics - Review notes on Database System Implementation I


class ActiveRecord::ConnectionAdapters::ConnectionPool
Connection pool base class for managing Active Record database connections.
Introduction¶ ↑
A connection pool synchronizes thread access to a limited number of database connections. The basic idea is that each thread checks out a database connection from the pool, uses that connection, and checks the connection back in. ConnectionPool is completely thread-safe, and will ensure that a connection cannot be used by two threads at the same time, as long as ConnectionPool's contract is correctly followed. It will also handle cases in which there are more threads than connections: if all connections have been checked out, and a thread tries to checkout a connection anyway, then ConnectionPool will wait until some other thread has checked in a connection.
Obtaining (checking out) a connection¶ ↑
Connections can be obtained and used from a connection pool in several ways:
-
Simply use ActiveRecord::Base.connection as with Active Record 2.1 and earlier (pre-connection-pooling). Eventually, when you're done with the connection(s) and wish it to be returned to the pool, you call ActiveRecord::Base.clear_active_connections!. This will be the default behavior for Active Record when used in conjunction with Action Pack's request handling cycle.
-
Manually check out a connection from the pool with ActiveRecord::Base.connection_pool.checkout. You are responsible for returning this connection to the pool when finished by calling ActiveRecord::Base.connection_pool.checkin(connection).
-
Use ActiveRecord::Base.connection_pool.with_connection(&block), which obtains a connection, yields it as the sole argument to the block, and returns it to the pool after the block completes.
Connections in the pool are actually AbstractAdapter objects (or objects compatible with AbstractAdapter's interface).
Options¶ ↑
There are several connection-pooling-related options that you can add to your database connection configuration:
-
pool
: number indicating size of connection pool (default 5) -
checkout_timeout
: number of seconds to block and wait for a connection before giving up and raising a timeout error (default 5 seconds). -
reaping_frequency
: frequency in seconds to periodically run the Reaper, which attempts to find and recover connections from dead threads, which can occur if a programmer forgets to close a connection at the end of a thread or a thread dies unexpectedly. Regardless of this setting, the Reaper will be invoked before every blocking wait. (Default nil, which means don't schedule the Reaper).
Attributes
Public Class Methods
Creates a new ConnectionPool object.
spec
is a ConnectionSpecification object
which describes database connection information (e.g. adapter, host name,
username, password, etc), as well as the maximum size for this ConnectionPool.
The default ConnectionPool maximum size is 5.
# File lib/active_record/connection_adapters/abstract/connection_pool.rb, line 233 def initialize(spec) super() @spec = spec @checkout_timeout = (spec.config[:checkout_timeout] && spec.config[:checkout_timeout].to_f) || 5 @reaper = Reaper.new(self, (spec.config[:reaping_frequency] && spec.config[:reaping_frequency].to_f)) @reaper.run # default max pool size to 5 @size = (spec.config[:pool] && spec.config[:pool].to_i) || 5 # The cache of reserved connections mapped to threads @reserved_connections = ThreadSafe::Cache.new(:initial_capacity => @size) @connections = [] @automatic_reconnect = true @available = Queue.new self end
Public Instance Methods
Is there an open connection that is being used for the current thread?
# File lib/active_record/connection_adapters/abstract/connection_pool.rb, line 268 def active_connection? synchronize do @reserved_connections.fetch(current_connection_id) { return false }.in_use? end end
Check-in a database connection back into the pool, indicating that you no longer need this connection.
conn
: an AbstractAdapter
object, which was obtained by earlier by calling checkout
on
this pool.
# File lib/active_record/connection_adapters/abstract/connection_pool.rb, line 360 def checkin(conn) synchronize do owner = conn.owner conn._run_checkin_callbacks do conn.expire end release conn, owner @available.add conn end end
Check-out a database connection from the pool, indicating that you want to use it. You should call checkin when you no longer need this.
This is done by either returning and leasing existing connection, or by creating a new connection and leasing it.
If all connections are leased and the pool is at capacity (meaning the number of currently leased connections is greater than or equal to the size limit set), an ActiveRecord::ConnectionTimeoutError exception will be raised.
Returns: an AbstractAdapter object.
Raises:
-
ConnectionTimeoutError: no connection can be obtained from the pool.
# File lib/active_record/connection_adapters/abstract/connection_pool.rb, line 347 def checkout synchronize do conn = acquire_connection conn.lease checkout_and_verify(conn) end end
Clears the cache which maps classes.
# File lib/active_record/connection_adapters/abstract/connection_pool.rb, line 316 def clear_reloadable_connections! synchronize do @reserved_connections.clear @connections.each do |conn| checkin conn conn.disconnect! if conn.requires_reloading? end @connections.delete_if do |conn| conn.requires_reloading? end @available.clear @connections.each do |conn| @available.add conn end end end
Returns true if a connection has already been opened.
# File lib/active_record/connection_adapters/abstract/connection_pool.rb, line 298 def connected? synchronize { @connections.any? } end
Retrieve the connection associated with the current thread, or call checkout to obtain one if necessary.
connection can be called any number of times; the connection is held in a hash keyed by the thread id.
# File lib/active_record/connection_adapters/abstract/connection_pool.rb, line 259 def connection # this is correctly done double-checked locking # (ThreadSafe::Cache's lookups have volatile semantics) @reserved_connections[current_connection_id] || synchronize do @reserved_connections[current_connection_id] ||= checkout end end
Disconnects all connections in the pool, and clears the pool.
# File lib/active_record/connection_adapters/abstract/connection_pool.rb, line 303 def disconnect! synchronize do @reserved_connections.clear @connections.each do |conn| checkin conn conn.disconnect! end @connections = [] @available.clear end end
Recover lost connections for the pool. A lost connection can occur if a programmer forgets to checkin a connection at the end of a thread or a thread dies unexpectedly.
# File lib/active_record/connection_adapters/abstract/connection_pool.rb, line 390 def reap stale_connections = synchronize do @connections.select do |conn| conn.in_use? && !conn.owner.alive? end end stale_connections.each do |conn| synchronize do if conn.active? conn.reset! checkin conn else remove conn end end end end
Signal that the thread is finished with the current connection. release_connection releases the connection-thread association and returns the connection to the pool.
# File lib/active_record/connection_adapters/abstract/connection_pool.rb, line 279 def release_connection(with_id = current_connection_id) synchronize do conn = @reserved_connections.delete(with_id) checkin conn if conn end end
Remove a connection from the connection pool. The connection will remain open and active but will no longer be managed by this pool.
# File lib/active_record/connection_adapters/abstract/connection_pool.rb, line 376 def remove(conn) synchronize do @connections.delete conn @available.delete conn release conn, conn.owner @available.add checkout_new_connection if @available.any_waiting? end end
If a connection already exists yield it to the block. If no connection exists checkout a connection, yield it to the block, and checkin the connection when finished.
# File lib/active_record/connection_adapters/abstract/connection_pool.rb, line 289 def with_connection connection_id = current_connection_id fresh_connection = true unless active_connection? yield connection ensure release_connection(connection_id) if fresh_connection end
Private Instance Methods
Acquire a connection by one of 1) immediately removing one from the queue of available connections, 2) creating a new connection if the pool is not at capacity, 3) waiting on the queue for a connection to become available.
Raises:
-
ConnectionTimeoutError if a connection could not be acquired
# File lib/active_record/connection_adapters/abstract/connection_pool.rb, line 418 def acquire_connection if conn = @available.poll conn elsif @connections.size < @size checkout_new_connection else reap @available.poll(@checkout_timeout) end end
# File lib/active_record/connection_adapters/abstract/connection_pool.rb, line 454 def checkout_and_verify(c) c._run_checkout_callbacks do c.verify! end c rescue remove c c.disconnect! raise end
# File lib/active_record/connection_adapters/abstract/connection_pool.rb, line 445 def checkout_new_connection raise ConnectionNotEstablished unless @automatic_reconnect c = new_connection c.pool = self @connections << c c end
# File lib/active_record/connection_adapters/abstract/connection_pool.rb, line 437 def new_connection Base.send(spec.adapter_method, spec.config) end
# File lib/active_record/connection_adapters/abstract/connection_pool.rb, line 429 def release(conn, owner) thread_id = owner.object_id if @reserved_connections[thread_id] == conn @reserved_connections.delete thread_id end end


Source Imports
- Start an import
- Get import progress
- Update existing import
- Get commit authors
- Map a commit author
- Set Git LFS preference
- Get large files
- Cancel an import
The source import APIs are currently in public preview. During this period, the APIs may change in a backwards-incompatible way. To access the API during the preview period, you must provide a custom media type in the Accept
header:
application/vnd.github.barred-rock-preview
The Source Import API lets you start an import from a Git, Subversion, Mercurial, or Team Foundation Server source repository. This is the same functionality as the GitHub Importer.
A typical source import would start the import and then (optionally) update the authors and/or set the preference for using Git LFS if large files exist in the import.
PUT /repos/:owner/:repo/import
Parameters
| Name | Type | Description |
|---|---|---|
vcs_url |
url |
Required The URL of the originating repository. |
vcs |
string |
The originating VCS type. Can be one of subversion , git , mercurial , or tfvc . Please be aware that without this parameter, the import job will take additional time to detect the VCS type before beginning the import. This detection step will be reflected in the response. |
vcs_username |
string |
If authentication is required, the username to provide to vcs_url . |
vcs_password |
string |
If authentication is required, the password to provide to vcs_url . |
tfvc_project |
string |
For a tfvc import, the name of the project that is being imported. |
Example
{
"vcs": "subversion",
"vcs_url": "http://svn.mycompany.com/svn/myproject",
"vcs_username": "octocat",
"vcs_password": "secret"
}
Response
Status: 201 Created
Location: https://api.github.com/repos/spraints/socm/import
{
"vcs": "subversion",
"use_lfs": "undecided",
"vcs_url": "http://svn.mycompany.com/svn/myproject",
"status": "importing",
"status_text": "Importing...",
"has_large_files": false,
"large_files_size": 0,
"large_files_count": 0,
"authors_count": 0,
"percent": 42,
"commit_count": 1042,
"url": "https://api.github.com/repos/octocat/socm/import",
"html_url": "https://import.github.com/octocat/socm/import",
"authors_url": "https://api.github.com/repos/octocat/socm/import/authors",
"repository_url": "https://api.github.com/repos/octocat/socm"
}
Get import progress
View the progress of an import.
GET /repos/:owner/:repo/import
Response
Status: 200 OK
{
"vcs": "subversion",
"use_lfs": "opt_in",
"vcs_url": "http://svn.mycompany.com/svn/myproject",
"status": "complete",
"status_text": "Done",
"has_large_files": true,
"large_files_size": 132331036,
"large_files_count": 1,
"authors_count": 4,
"url": "https://api.github.com/repos/octocat/socm/import",
"html_url": "https://import.github.com/octocat/socm/import",
"authors_url": "https://api.github.com/repos/octocat/socm/import/authors",
"repository_url": "https://api.github.com/repos/octocat/socm"
}
status
Import This section includes details about the possible values of the status
field of the Import Progress response.
An import that does not have errors will progress through these steps:
-
detecting
- the "detection" step of the import is in progress because the request did not include avcs
parameter. The import is identifying the type of source control present at the URL. -
importing
- the "raw" step of the import is in progress. This is where commit data is fetched from the original repository. The import progress response will includecommit_count
(the total number of raw commits that will be imported) andpercent
(0 - 100, the current progress through the import). -
mapping
- the "rewrite" step of the import is in progress. This is where SVN branches are converted to Git branches, and where author updates are applied. The import progress response does not include progress information. -
pushing
- the "push" step of the import is in progress. This is where the importer updates the repository on GitHub. The import progress response will includepush_percent
, which is the percent value reported bygit push
when it is "Writing objects". -
complete
- the import is complete, and the repository is ready on GitHub.
If there are problems, you will see one of these in the status
field:
-
auth_failed
- the import requires authentication in order to connect to the original repository. To update authentication for the import, please see the Update Existing Import section. -
error
- the import encountered an error. The import progress response will include thefailed_step
and an error message. Contact support for more information. -
detection_needs_auth
- the importer requires authentication for the originating repository to continue detection. To update authentication for the import, please see the Update Existing Import section. -
detection_found_nothing
- the importer didn't recognize any source control at the URL. To resolve, Cancel the import and retry with the correct URL. -
detection_found_multiple
- the importer found several projects or repositories at the provided URL. When this is the case, the Import Progress response will also include aproject_choices
field with the possible project choices as values. To update project choice, please see the Update Existing Import section.
project_choices
field
The When multiple projects are found at the provided URL, the response hash will include a project_choices
field, the value of which is an array of hashes each representing a project choice. The exact key/value pairs of the project hashes will differ depending on the version control type.
[
{
"vcs": "tfvc",
"tfvc_project": "project0",
"human_name": "project0 (tfs)"
},
{
"vcs": "tfvc",
"tfvc_project": "project1",
"human_name": "project1 (tfs)"
},
{
"vcs": "tfvc",
"tfvc_project": "project2",
"human_name": "project2 (tfs)"
},
{
"vcs": "tfvc",
"tfvc_project": "project3",
"human_name": "project3 (tfs)"
}
]
Git LFS related fields
This section includes details about Git LFS related fields that may be present in the Import Progress response.
-
use_lfs
- describes whether the import has been opted in or out of using Git LFS. The value can beopt_in
,opt_out
, orundecided
if no action has been taken. -
has_large_files
- the boolean value describing whether files larger than 100MB were found during theimporting
step. -
large_files_size
- the total size in gigabytes of files larger than 100MB found in the originating repository. -
large_files_count
- the total number of files larger than 100MB found in the originating repository. To see a list of these files, make a "Get Large Files" request.
Update existing import
An import can be updated with credentials or a project choice by passing in the appropriate parameters in this API request. If no parameters are provided, the import will be restarted.
PATCH /repos/:owner/:repo/import
Parameters for updating authentication
| Name | Type | Description |
|---|---|---|
vcs_username |
string |
The username to provide to the originating repository. |
vcs_password |
string |
The password to provide to the originating repository. |
Example
{
"vcs_username": "octocat",
"vcs_password": "secret"
}
Response
Status: 200 OK
{
"vcs": "subversion",
"use_lfs": "undecided",
"vcs_url": "http://svn.mycompany.com/svn/myproject",
"status": "detecting",
"url": "https://api.github.com/repos/octocat/socm/import",
"html_url": "https://import.github.com/octocat/socm/import",
"authors_url": "https://api.github.com/repos/octocat/socm/import/authors",
"repository_url": "https://api.github.com/repos/octocat/socm"
}
Parameters for updating project choice
Some servers (e.g. TFS servers) can have several projects at a single URL. In those cases the import progress will have the status detection_found_multiple
and the Import Progress response will include a project_choices
array. You can select the project to import by providing one of the objects in the project_choices
array in the update request.
The following example demonstrates the workflow for updating an import with "project1" as the project choice. Given a project_choices
array like such:
[
{
"vcs": "tfvc",
"tfvc_project": "project0",
"human_name": "project0 (tfs)"
},
{
"vcs": "tfvc",
"tfvc_project": "project1",
"human_name": "project1 (tfs)"
},
{
"vcs": "tfvc",
"tfvc_project": "project2",
"human_name": "project2 (tfs)"
},
{
"vcs": "tfvc",
"tfvc_project": "project3",
"human_name": "project3 (tfs)"
}
]
Example
{
"vcs": "tfvc",
"tfvc_project": "project1",
"human_name": "project1 (tfs)"
}
Response
Status: 200 OK
{
"vcs": "tfvc",
"use_lfs": "undecided",
"vcs_url": "http://tfs.mycompany.com/tfs/myproject",
"tfvc_project": "project1",
"status": "importing",
"status_text": "Importing...",
"has_large_files": false,
"large_files_size": 0,
"large_files_count": 0,
"authors_count": 0,
"percent": 42,
"commit_count": 1042,
"url": "https://api.github.com/repos/octocat/socm/import",
"html_url": "https://import.github.com/octocat/socm/import",
"authors_url": "https://api.github.com/repos/octocat/socm/import/authors",
"repository_url": "https://api.github.com/repos/octocat/socm"
}
Parameters for restarting import
To restart an import, no parameters are provided in the update request.
Response
Status: 200 OK
Location: https://api.github.com/repos/spraints/socm/import
{
"vcs": "subversion",
"use_lfs": "undecided",
"vcs_url": "http://svn.mycompany.com/svn/myproject",
"status": "importing",
"status_text": "Importing...",
"has_large_files": false,
"large_files_size": 0,
"large_files_count": 0,
"authors_count": 0,
"percent": 42,
"commit_count": 1042,
"url": "https://api.github.com/repos/octocat/socm/import",
"html_url": "https://import.github.com/octocat/socm/import",
"authors_url": "https://api.github.com/repos/octocat/socm/import/authors",
"repository_url": "https://api.github.com/repos/octocat/socm"
}
Get commit authors
Each type of source control system represents authors in a different way. For example, a Git commit author has a display name and an email address, but a Subversion commit author just has a username. The GitHub Importer will make the author information valid, but the author might not be correct. For example, it will change the bare Subversion username hubot
into something like hubot <hubot@12341234-abab-fefe-8787-fedcba987654>
.
This API method and the "Map a commit author" method allow you to provide correct Git author information.
GET /repos/:owner/:repo/import/authors
Parameters
| Name | Type | Description |
|---|---|---|
since |
string |
Only authors found after this id are returned. Provide the highest author ID you've seen so far. New authors may be added to the list at any point while the importer is performing the raw step. |
Response
Status: 200 OK
[
{
"id": 2268557,
"remote_id": "nobody@fc7da526-431c-80fe-3c8c-c148ff18d7ef",
"remote_name": "nobody",
"email"<EMAIL_ADDRESS>"name": "Hubot",
"url": "https://api.github.com/repos/octocat/socm/import/authors/2268557",
"import_url": "https://api.github.com/repos/octocat/socm/import"
},
{
"id": 2268558,
"remote_id": "svner@fc7da526-431c-80fe-3c8c-c148ff18d7ef",
"remote_name": "svner",
"email": "svner@fc7da526-431c-80fe-3c8c-c148ff18d7ef",
"name": "svner",
"url": "https://api.github.com/repos/octocat/socm/import/authors/2268558",
"import_url": "https://api.github.com/repos/octocat/socm/import"
},
{
"id": 2268559,
"remote_id": "svner@example.com@fc7da526-431c-80fe-3c8c-c148ff18d7ef",
"remote_name"<EMAIL_ADDRESS>"email": "svner@example.com@fc7da526-431c-80fe-3c8c-c148ff18d7ef",
"name"<EMAIL_ADDRESS>"url": "https://api.github.com/repos/octocat/socm/import/authors/2268559",
"import_url": "https://api.github.com/repos/octocat/socm/import"
}
]
Map a commit author
Update an author's identity for the import. Your application can continue updating authors any time before you push new commits to the repository.
PATCH /repos/:owner/:repo/import/authors/:author_id
Parameters
| Name | Type | Description |
|---|---|---|
email |
string |
The new Git author email. |
name |
string |
The new Git author name. |
Example
{
"email"<EMAIL_ADDRESS>"name": "Hubot the Robot"
}
Response
Status: 200 OK
{
"id": 2268557,
"remote_id": "nobody@fc7da526-431c-80fe-3c8c-c148ff18d7ef",
"remote_name": "nobody",
"email"<EMAIL_ADDRESS>"name": "Hubot",
"url": "https://api.github.com/repos/octocat/socm/import/authors/2268557",
"import_url": "https://api.github.com/repos/octocat/socm/import"
}
Set Git LFS preference
You can import repositories from Subversion, Mercurial, and TFS that include files larger than 100MB. This ability is powered by Git LFS. You can learn more about our LFS feature and working with large files on our help site.
PATCH /:owner/:name/import/lfs
Parameters
| Name | Type | Description |
|---|---|---|
use_lfs |
string |
Required Can be one of opt_in (large files will be stored using Git LFS) or opt_out (large files will be removed during the import). |
Example
{
"use_lfs": "opt_in"
}
Response
Status: 200 OK
{
"vcs": "subversion",
"use_lfs": "opt_in",
"vcs_url": "http://svn.mycompany.com/svn/myproject",
"status": "complete",
"status_text": "Done",
"has_large_files": true,
"large_files_size": 132331036,
"large_files_count": 1,
"authors_count": 4,
"url": "https://api.github.com/repos/octocat/socm/import",
"html_url": "https://import.github.com/octocat/socm/import",
"authors_url": "https://api.github.com/repos/octocat/socm/import/authors",
"repository_url": "https://api.github.com/repos/octocat/socm"
}
Get large files
List files larger than 100MB found during the import
GET /:owner/:name/import/large_files
Response
Status: 200 OK
[
{
"ref_name": "refs/heads/master",
"path": "foo/bar/1",
"oid": "d3d9446802a44259755d38e6d163e820",
"size": 10485760
},
{
"ref_name": "refs/heads/master",
"path": "foo/bar/2",
"oid": "6512bd43d9caa6e02c990b0a82652dca",
"size": 11534336
},
{
"ref_name": "refs/heads/master",
"path": "foo/bar/3",
"oid": "c20ad4d76fe97759aa27a0c99bff6710",
"size": 12582912
}
]
Cancel an import
Stop an import for a repository.
DELETE /repos/:owner/:repo/import
Response
Status: 204 No Content


--- title: Common Design ---
This styleguide no longer accurately reflects the Common Design.
The Common Design project aims to provide a visual framework that will help:
General styles required for the Common Design, including variables, icons and mixins, are in common-design/sass/.
The OCHA Basic Drupal theme includes the Common Design layout, header and footer.
Full support: Chrome (Windows, Mac, iOS, Android), Firefox (Windows, Mac, iOS, Android), Safari (Mac, iOS), IE11, Opera (Windows, Mac), Samsung Internet v6+ (Android)
Functional support: IE10, IE9, IE8, Opera Mini (Android), Android Browser, Samsung Internet v5.
The following Modernizr detects are required for full browser support: mediaqueries, svg, flexbox, cssgrid & cssgridlegacy.
Autoprefixer is also required for full browser support.
The demo uses Bootstrap dropdown, if your theme already has dropdown functionality adapt the header to use that instead.
An icon font generated with Icomoon is used in the demo. These icons can be included with your theme's existing icon system instead of being included seperately. The icons are in common-design/icons/.
All the classes are prefixed 'cd-' to prevent clashes with existing theme styles.
Sass is used for the Common Design, the Sass files from /common-design/sass/ can be added directly to your theme. See /common-design/css/styles.scss for the order the files should be included in and notes in the individual files on their usage.
If you are not using Sass, the generated CSS can be downloaded from /common-design/css/styles.css


--- layout: post title: Docker Port-forwarding with boot2docker tagline: it's forwarded ports all the way down categories: computers tags: virtualbox docker port mac osx boot2docker networking port forwarding ---
Port-forwarding from an application in Docker to a host running
boot2docker
involves three OS instances and two port forwards. This
document will describe how to get a simple web application in a Docker
container to be accessible from the Mac OS X or Microsoft Windows
host.
Running this on a Mac or Windows computer is a little complicated, because the Docker container is running in a VirtualBox VM, not natively on the host as it does with Linux, so there is another layer to get through to get networking working.
Build your image with the Dockerfile that is in this directory (.
)
and give it the name (or tag) acaird/flask
by typing:
docker build -t "acaird/flask" .
The tag (the thing in the quotes) can be anything; see the Docker documentation for more on naming conventions, versioning, etc.
The Dockerfile looks something like:
FROM centos:centos6 MAINTAINER Andrew Caird<EMAIL_ADDRESS># Apply all the updates RUN yum update -y # Install Apache and mod_wsgi for our Flask app RUN yum install httpd mod_wsgi -y # Get the new packages and python27 RUN yum install centos-release-SCL -y RUN yum install python27 -y # Install pip then use it to install Flask and its dependancies RUN (. /opt/rh/python27/enable && easy_install-2.7 pip && pip install flask) # Copy in our flask-virthost config file COPY webserver/flask-virthost.conf /etc/httpd/conf.d/ # Copy in our flask app and templates ADD web-app-reports.py /var/www/softwarereport/ ADD templates/ /var/www/softwarereport/templates/ # Expose Flask's default port 5000 EXPOSE 5000 CMD cd /var/www/softwarereport && . /opt/rh/python27/enable && python2.7 web-app-reports.py
The thing that matters most in this Dockerfile for the purpose of
networking is the EXPOSE 5000
line; this isn’t technically
required (more later) but I think it’s nice to keep it here for
documentation.
Now you have to get the port (port 5000, in our example) forwarded from your computer to the VirtualBox host’s port. These steps will do that:
boot2docker-vm
from the list on the left.
+
sign on the right to add a rule.
<IP_ADDRESS>
for the
Host IP
column, and 5000
in both the Host Port
and Guest
Port
columns. You can leave the Guest IP
field empty.
You can do this while the boot2docker-vm
image is running, if it’s
convenient for you.
Once this is done, VirtualBox will connect port 5000 on the Mac (or
Windows) computer to port 5000 on the boot2docker-vm
server. This
is Link #2.
To start a container from the image and do the Docker container to
the boot2docker-vm
host port-forwarding, type:
docker run -t -i -p 5000:5000 acaird/flask
This will start an instance, forward port 5000 between the
VirtualBox host (boot2docker-vm
) and the Docker container; if your
command is /bin/bash
, the -t -i
options will connect you to the
shell; if you are using the Dockerfile above will show you the
output from Flask.
This is Link #1.
Also, as promised, the reason the EXPOSE
command in the Dockerfile
isn’t required is that the -p 5000:5000
sets up the port
forwarding whether or not you have an EXPOSE
statement; for more
see http://docs.docker.com/reference/builder/#expose
If you are running a shell (and not the exact Docker file from above), from here you can start the test Flask server by typing:
. /opt/rh/python27/enable cd /var/www/softwarereports python2.7 web-app-report.py
This loads the Python v2.7 environment and starts the Flask app with Python’s web server. If all went well, you should see:
* Running on http://<IP_ADDRESS>:5000/
And if everything went super well, you should be able to open a
web browser on your computer, go to http://localhost:5000
and see
your Flask app’s @app.route('/')
index page.
This isn’t supposed to be a Flask tutorial, it was just a handy way
to have a server. The goal is to point out that you have to get the
port of interest forwarded twice, once from the container to the
host (which is a virtual machine) and once from the virtual machine
to the physical machine that is running boot2docker
. There are
lots of ways to do this, this is only one.


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/Use.20list.20as.20an.20argument.html ---
I define a function which takes a list as a argument but I do not know why it always break when I use it in my other theorem or function.
my function no error:
def f_span (l : list V) : set V := span {vc : V | vc ∈ l}
use it later in
def are_basis_equal (l₀ : list V) (l₁ : list V) : Prop := ∀vc : V, vc ∈ (f_span l₀) ∧ vc ∈ (f_span l₁)
it reports error :
[Lean] type mismatch at application f_span l₀ term l₀ has type list V : Type v but is expected to have type Type ? : Type (?+1)
You have some variable V
somewhere, I guess?
If you look at what you wrote as the definition of f_span
then it looks like it is expecting one input, namely l
of type list V
But after the definition of f_span
, if you write #check f_span
you will probably see a different story!
Probably f_span
is also expecting you to input V
itself. So that's my guess as to what your error is caused by -- you need f_span V l_0
The trick is to make V
a {}
variable; then f_span
won't ask for it. I've got to run but that's the idea
But after the definition of
f_span
, if you write#check f_span
you will probably see a different story!
Even better would be to write #check @f_span
. That fills in those pesky metavariables with something readable.
I added more argument using []
and it works now. thank you !
@Blair Shi Can you show us what it looks like now?
def f_span (l : list V) : set V := span {vc : V | vc ∈ l} def are_basis_equal (l₀ : list V) (l₁ : list V) : Prop := ∀vc : V, vc ∈ (f_span k V l₀) ∧ vc ∈ (f_span k V l₁)
I just added k V everywhere when I using the function f_span
without any change of f_span
Because if you check my f_span
, the type is
f_span : Π (k : Type u_1) (V : Type u_2) [_inst_1 : field k] [_inst_2 : ring k] [_inst_3 : module k V], list V → set V
I also tried like added (k : Type u_1) (V : Type u_2) [_inst_1 : field k] [_inst_2 : ring k] [_inst_3 : module k V]
all of them as arguments to my f_span
but I realized I don't need to do so. But adding arguments also works for me.
Are you sure you're not duplicating stuff around https://github.com/leanprover/mathlib/blob/master/linear_algebra/basic.lean#L122?
@Patrick Massot because the vector space in mathlib does not support finite dimensional vector space. I am currently working on finite dimensional vector space and in the definition of finite dimensional vector space, the basis is a list.
@Sean Leather
I realized I have wrote the global variables and if I delete them the code does not work
variables (k : Type u) (V : Type v) variable [field k] variables [ring k] [module k V] variables (a : k) (b : V) include k
Ok. I remember we had this discussion about ordering basis elements here.
You want variables {k : Type u} {V : Type v}
in the first line
I change it to be {k : Type u} {V : Type v}
as you said. Now I delete all k V
when I use the function:)
ordering basis elements -- it's a funny situation! In the general case you seem to want a basis to be a set. But to prove the standard undergraduate theorems about linear maps = matrices you seem to want the basis to be a finite totally ordered set.
@Blair Shi yes -- if you are doing vector spaces over a field field k
then you don't want to have to keep mentioning k
. If you're doing k
-linear maps between vector spaces V
and W
then you probably want to mention V
but if you're doing things with a fixed V
like showing that sets of size less than dim(V) can't span then you might not even want to mention V
. This is how those {}
and ()
brackets that I talked about in my lecture on Monday work in practice. There are tricks to change the variable from ()
to {}
and back in the middle of a file which I can tell you about later if you need them.
Last updated: Apr 24 2020 at 19:02 UTC


Add Pokémon
Home
Register
Profile
Pokemon
Pokédex
User Information
National Pokédex number:
Name:
Category:
Image file:
First type:
Second type:


The installation is organized so that all three modes of public transportation – train, bus, Divvy bikes – are simultaneously visible. Each inside their own literal box, the data of each socioeconomic class is revealed through lighting and allowed their own moment to be compared to other modes of transportation.
Eventually, one socioeconomic class fades to reveal the next, to again be compared. Each class’ data presents itself for study without commentary, instead allowing the user to interpret and observe areas of overlap and sparseness for themselves over repeated viewings.
The project evolved through an iterative process beginning with two themes of data accessed through the Chicago Open Data Portal and questions about the relationship between public transportation and socioeconomic status.
Layered panels were chosen early as a material to best demonstrate overlapping and changing data. From there, details and tectonics were evolved to the most minimal and clear form of presentation.
We are a group of undergraduate and graduate students at Northwestern University and the School of Art Institute of Chicago.


Authentication
Documentation
LearningStudio API Authentication can be tricky at first. We recommend you read up on our Authentication Concepts in the documentation.
API Keys
You will need keys to work with the APIs.
- Application ID: Identifies your Application for analytics and quota limits.
- Campus Keys: A Token Key Moniker (TKM), Shared Secret, and Client String identifies the LearningStudio campus where your data comes from.
You can get an Application ID for your app and campus keys for our Sandbox Campus by creating an app on the PDN. Learn more here.
Contents
Background Information
There are two main use cases for Authentication: System-to-System API calls, and API calls on behalf of a user.
System-to-System calls are most often used by administration systems that are looking up or processing changes for many courses or users at once. For example, retrieving a course roster or all the grades for a course, or many grade updates. These don't require a user context, and for these we use OAuth 1.0a. With OAuth 1, every request is signed individually, and the signature is compared by LearningStudio to ensure you have permission to access that data. Not all APIs are enabled for system-to-system requests.
API Calls on behalf of Users are made when you need to perform an action that should be associated to a user in LearningStudio such as posting a thread discussion, retrieving the content a student is permitted to see, submitting homework, etc. For these requests, we use OAuth 2, where you will generate a token for that user and send the token with every request in an HTTP header.
To get a token in OAuth 2, you have two options. First, if you are able to collect the user's password, you can use the Password grant type. If you don't know the user's password, you can use an Assertion grant type which generates a token request using only the user's username and the campus keys. This library, especially when combined with Core, simplifies this work.
Lastly, our Authentication schemes both require the use of a CMAC-AES algorithm for generating the appropriate signature. This algorithm is more obscure than most, so this library handles the cryptography heavy lifting.
Using Authentication
OAuth 1 (System to System)
Setup
To begin, import the classes you'll be instantiating.
import com.pearson.pdn.learningstudio.oauth.config.OAuthConfig;
import com.pearson.pdn.learningstudio.oauth.OAuthServiceFactory;
import com.pearson.pdn.learningstudio.oauth.OAuth1SignatureService;
import com.pearson.pdn.learningstudio.oauth.request.OAuth1Request;
Configuration
In OAuth 1, you need your Application ID, Token Key Moniker and Secret. In the OAuth 1.0a standard, the TKM and secret are called the Consumer Key and Consumer Secret.
The OAuthConfig
class is a generic carrier for the configuration information for all authentication methods. You'll add the three keys you need using these methods:
OAuthConfig config = new OAuthConfig();
config.setApplicationId("{applicationId}");
config.setConsumerKey("{tokenKeyMoniker}");
config.setConsumerSecret("{consumerSecret}");
The Factory
The OAuthServiceFactory
object instantiates an appropriate service for the authentication method you want to use. With this approach, you need only use the factory object and tell it which auth method you want to use, and it returns an object that will handle the signature generation. When creating the factory object, pass the config object to the constructor:
OAuthServiceFactory oauthFactory = new OAuthServiceFactory(oauthConfig);
OAuth1SignatureService oauthService = oauthFactory.build(OAuth1SignatureService.class);
Signature Generation
In this example, oauthService
is an object of the OAuth1SignatureService
class. This object will take the configuration information and the details of the API request you'll be making, and generates a signature. In OAuth 1, every API call is individually signed, so you always pass it the URI of the endpoint you're calling.
The method you will use to generate the signature is generateOAuth1Request
method, which has the following signature:
OAuth1Request generateOAuth1Request(String httpMethod, URL url, String body) throws IOException
| Parameter | Description |
|---|---|
httpMethod |
Any of GET , POST , PUT , or DELETE , depending on the operation you're performing. Required for all requests. |
url |
The URL of the API endpoint you're calling. Required for all requests. |
body |
The body of the API request. Required for POST and PUT operations only. Otherwise, a null value should be given. |
Results
When you call the generateOAuth1Request
method, it will return an object of the OAuth1Request
class. This object has two getter methods:
| Method | Description |
|---|---|
Map<String,String> getHeaders() |
Returns all the OAuth1 related HTTP headers to include in your API call. They are returned as key value pairs in a Map<String,String> . These headers are ready to use, you don't need to encode any values. Example: [ "oauth_consumer_key" : "{value}", "application_id" : "{value}" ... ] |
String getSignature() |
Returns only the signature that was generated. Example: n55cLjl02ejAJCEV1QTnvg== |
Example
import com.pearson.pdn.learningstudio.oauth.config.OAuthConfig;
import com.pearson.pdn.learningstudio.oauth.OAuthServiceFactory;
import com.pearson.pdn.learningstudio.oauth.OAuth1SignatureService;
import com.pearson.pdn.learningstudio.oauth.request.OAuth1Request;
import javax.net.ssl.HttpsURLConnection;
import java.net.URL;
import java.util.Map;
public class OAuth1Example {
public static void main(String[] args) throws Exception {
String applicationID = ""; // Identifies your Application
String tokenKeyMoniker = ""; // Called "Consumer Key" in OAuth 1 standard
String sharedSecret = ""; // Called "Consumer Secret" in OAuth 1 standard
URL apiUrl = new URL(""); // e.g., /users/{userID}
OAuthConfig config = new OAuthConfig();
config.setApplicationId(applicationID );
config.setConsumerKey(tokenKeyMoniker );
config.setConsumerSecret(sharedSecret );
OAuthServiceFactory oauthFactory = new OAuthServiceFactory(config);
OAuth1SignatureService oauthService = oauthFactory.build(OAuth1SignatureService.class);
// If using POST or PUT, also send the body in the third parameter:
OAuth1Request oauthRequest = oauthService.generateOAuth1Request("GET",apiUrl,null);
Map httpHeaders = oauthRequest.getHeaders();
// Returns HTTP Header key and value pairs
// ready to use in your API Call, e.g.
// X-Authorization: OAuth realm="...
String signatureOnly = oauthRequest.getSignature();
// Returns the unencoded signature value, e.g.
// n55cLjl02ejAJCEV1QTnvg==
/* Using the HTTP Header */
HttpsURLConnection httpConn = (HttpsURLConnection) apiUrl.openConnection();
httpConn.setRequestMethod("GET");
for(String headerName : httpHeaders.keySet()) {
httpConn.addRequestProperty(headerName, httpHeaders.get(headerName));
}
int responseCode = httpConn.getResponseCode();
System.out.println(responseCode);
}
}
OAuth 2 (Password Grant Type)
Setup
To begin, import the classes you'll be instantiating.
import com.pearson.pdn.learningstudio.oauth.config.OAuthConfig;
import com.pearson.pdn.learningstudio.oauth.OAuthServiceFactory;
import com.pearson.pdn.learningstudio.oauth.OAuth2PasswordService;
import com.pearson.pdn.learningstudio.oauth.request.OAuth2Request;
Configuration
In OAuth 2 Password Grant Type, you need your Application ID, Token Key Moniker, and Client String.
The OAuthConfig
class is a generic carrier for the configuration information for all authentication methods. You'll add the three keys you need using these methods:
OAuthConfig config = new OAuthConfig();
config.setApplicationId("{applicationId}");
config.setTokenKeyMoniker("{tokenKeyMoniker}");
config.setClientString("{clientString}");
The Factory
The OAuthServiceFactory
object instantiates an appropriate service for the authentication method you want to use. With this approach, you need only use the factory object and tell it which auth method you want to use, and it returns an object that will handle the signature generation. When creating the factory object, pass the config object to the constructor:
OAuthServiceFactory oauthFactory = new OAuthServiceFactory(config);
OAuth2PasswordService oauthService = oauthFactory.build(OAuth2PasswordService.class);
Token Request
In this example, oauthService
is an object of the OAuth2PasswordService
class. This object will take the configuration information and the username and password, and requests an access token for the user. Use the token in an HTTP Header for all subsequent requests. The token lasts an hour, after which time you can use the refresh token to get a new access token without requiring the user to sign in again.
The method you will use to request the token is generateOAuth2PasswordRequest
method, which has the following signature:
OAuth2Request generateOAuth2PasswordRequest(String username, String password) throws IOException
Results
When you call the generateOAuth2PasswordService
method, it will return an object of the OAuth2Request
class. This object has several methods:
| Method | Description |
|---|---|
Map<String,String> getHeaders() |
Returns all the OAuth2 related HTTP headers to include in your API call. They are returned as key value pairs in a Map<String,String> . These headers are ready to use, you don't need to encode any values. Example: [ "grant_type" : "password", "client_id" : "{value}", "username" : "{value}" ... ] |
String getAccessToken() |
Returns only the access token that was generated. |
String getRefreshToken() |
Returns the refresh token that was generated along with the access token. |
Long getExpirationTime() |
Returns the Unix timestamp of when the token will expire. |
Long getCreationTime() |
Returns the Unix timestamp of when the token was generated. |
Integer getExpiresInSeconds() |
Returns the lifespan in seconds of the token. This is always set to 3600. |
Refresh Token
When using the Password grant type workflow, you can get a new token for the user by using the refresh token, instead of having the user sign in again after an hour. The refresh token only lasts about 5-10 minutes longer, so you'll need to use it soon after the access token expires. To generate a new access token using a refresh token, use the refreshOAuth2PasswordRequest
method of the OAuth service. Pass this method the OAuth2Request
object that the service provided you (see previous section):
OAuth2Request refreshOAuth2PasswordRequest(OAuth2Request lastOAuthRequest) throws IOException
The service will return a new OAuth2Request
object described in the results section above.
Example
import com.pearson.pdn.learningstudio.oauth.config.OAuthConfig;
import com.pearson.pdn.learningstudio.oauth.OAuthServiceFactory;
import com.pearson.pdn.learningstudio.oauth.OAuth2PasswordService;
import com.pearson.pdn.learningstudio.oauth.request.OAuth2Request;
import javax.net.ssl.HttpsURLConnection;
import java.net.URL;
import java.util.Map;
public class OAuth2PasswordExample {
public static void main(String[] args) throws Exception {
String applicationId = ""; // Identifies your Application
String clientString = "";
String userName = ""; // provided by user through a sign-in box
String password = ""; // provided by user through a sign-in box
URL apiUrl = new URL(""); // e.g., /me
OAuthConfig config = new OAuthConfig();
config.setApplicationId(applicationId);
config.setClientString(clientString);
OAuthServiceFactory oauthFactory = new OAuthServiceFactory(config);
OAuth2PasswordService oauthService = oauthFactory.build(OAuth2PasswordService.class);
OAuth2Request oauthRequest = oauthService.generateOAuth2PasswordRequest(userName, password);
Map httpHeaders = oauthRequest.getHeaders();
// Returns HTTP Header key and value pairs,
// ready to use in your API Calls, e.g.
// X-Authorization: Access_Token access_token="...
/* Using the HTTP Header */
HttpsURLConnection httpConn = (HttpsURLConnection) apiUrl.openConnection();
httpConn.setRequestMethod("GET");
for(String headerName : httpHeaders.keySet()) {
httpConn.addRequestProperty(headerName, httpHeaders.get(headerName));
}
int responseCode = httpConn.getResponseCode();
System.out.println(responseCode);
// Get a New Access Token using the Refresh Token
oauthRequest = oauthService.refreshOAuth2PasswordRequest(oauthRequest);
}
}
OAuth 2 (Assertion Grant Type)
Setup
To begin, import the classes you'll be instantiating.
import com.pearson.pdn.learningstudio.oauth.config.OAuthConfig;
import com.pearson.pdn.learningstudio.oauth.OAuthServiceFactory;
import com.pearson.pdn.learningstudio.oauth.OAuth2AssertionService;
import com.pearson.pdn.learningstudio.oauth.request.OAuth2Request;
Configuration
In OAuth 2 Assertion Grant Type, you need your Application ID, Token Key Moniker, Shared Secret, and Client String. You also need to provide the name of your application (avoid spaces).
The OAuthConfig
class is a generic carrier for the configuration information for all authentication methods. You'll add the information you need using these methods:
OAuthConfig config = new OAuthConfig();
config.setApplicationId("{applicationId}");
config.setApplicationName("{applicationName}");
config.setConsumerKey("{tokenKeyMoniker}");
config.setClientString("{clientString}");
config.setConsumerSecret("{sharedSecret}")
The Factory
The OAuthServiceFactory
object instantiates an appropriate service for the authentication method you want to use. With this approach, you need only use the factory object and tell it which auth method you want to use, and it returns an object that will handle the signature generation. When creating the factory object, pass the config object to the constructor:
OAuthServiceFactory oauthFactory = new OAuthServiceFactory(config);
OAuth2AssertionService oauthService = oauthFactory.build(OAuth2AssertionService.class);
Token Request
In this example, oauthService
is an object of the OAuth2AssertionService
class. This object will take the configuration information and the username, and requests an access token for the user. Use the token in an HTTP Header for all subsequent requests. The token lasts an hour, after which time you can repeat the same process to get a new access token.
The method you will use to request the token is generateOAuth2AssertionRequest
method, which has the following signature:
OAuth2Request generateOAuth2AssertionRequest(String username) throws IOException
Results
When you call the OAuth2AssertionService
method, it will return an object of the OAuth2Request
class. This object has several methods:
| Method | Description |
|---|---|
|
Returns the full HTTP header to include in your API call. It is returned as a full header in a single string, including the header name and header value. This header is ready to use, you don't need to encode any values. Example: X-Authorization: Access_Token access_token="... |
String getAccessToken() |
Returns only the access token that was generated. |
Long getExpirationTime() |
Returns the Unix timestamp of when the token will expire. |
Long getCreationTime() |
Returns the Unix timestamp of when the token was generated. |
Integer getExpiresInSeconds() |
Returns the lifespan in seconds of the token. This is always set to 3600. |
Refresh Token
When using the Assertion grant type workflow, there is no refresh token. Simply request a new token using the same process above.
Example
import com.pearson.pdn.learningstudio.oauth.config.OAuthConfig;
import com.pearson.pdn.learningstudio.oauth.OAuthServiceFactory;
import com.pearson.pdn.learningstudio.oauth.OAuth2AssertionService;
import com.pearson.pdn.learningstudio.oauth.request.OAuth2Request;
import javax.net.ssl.HttpsURLConnection;
import java.net.URL;
import java.util.Map;
public class OAuth2AssertionExample {
public static void main(String[] args) throws Exception {
String applicationId = ""; // Identifies your Application
String applicationName = ""; // No spaces for best results (e.g., MyAppName)
String tokenKeyMoniker = "";
String sharedSecret = "";
String clientString = "";
String userName = ""; // provided by user through a sign-in box
URL apiUrl = new URL(""); // e.g., /me
OAuthConfig config = new OAuthConfig();
config.setApplicationId(applicationId);
config.setApplicationName(applicationName);
config.setConsumerKey(tokenKeyMoniker);
config.setClientString(clientString);
config.setConsumerSecret(sharedSecret);
OAuthServiceFactory oauthFactory = new OAuthServiceFactory(config);
OAuth2AssertionService oauthService = oauthFactory.build(OAuth2AssertionService.class);
OAuth2Request oauthRequest = oauthService.generateOAuth2AssertionRequest(userName);
Map httpHeaders = oauthRequest.getHeaders();
// Returns HTTP Header key and value pairs,
// ready to use in your API Calls, e.g.
// X-Authorization: Access_Token access_token="...
/* Using the HTTP Header */
HttpsURLConnection httpConn = (HttpsURLConnection) apiUrl.openConnection();
httpConn.setRequestMethod("GET");
for(String headerName : httpHeaders.keySet()) {
httpConn.addRequestProperty(headerName, httpHeaders.get(headerName));
}
int responseCode = httpConn.getResponseCode();
System.out.println(responseCode);
}
}


Athletes List
First Name
Last Name
Email
${athletes.map(athlete => `
${athlete.firstName}
${athlete.lastName}
${athlete.email}
` ).join('')}


--- layout: archive title: Zulip Chat Archive permalink: /stream/113489-new-members/topic/.5Bdecideable_pred.20p.5D.html ---
I am very new to lean, and was going through the book "An introduction to lean".
Is there a reason why functions seem to have the signature (p : α → Prop) [_inst_1 : decidable_pred p]
rather than (p : α → bool)
.
Two examples that I found thus far are list.filter
and char.is_punctuation
.
"An introduction to Lean" is very out of date. You may want to look at Theorem Proving in Lean instead. In particular, stuff like [_inst_1 : decidable_pred p]
is explained in the chapter on Type Classes.
There are also some easier sources to get into Lean; have you seen the Natural Number Game?
Thanks for the reply @Bryan Gin-ge Chen . Theorem Proving in Lean was next on my reading list. I know about the Natural Number Game but haven't tried it yet.
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


Jose Mourinho's salary at Tottenham as former Man Utd boss replaces Mauricio Pochettino
Jose Mourinho has replaced Mauricio Pochettino as Tottenham manager - penning a three-and-a-half-year deal after the Argentine was sacked on Tuesday night
by James Whaling, https://www.mirror.co.uk/authors/james-whaling/Jose Mourinho will reportedly earn double the salary of Mauricio Pochettino at Tottenham - pocketing £15million-a-year over the course of his stay in north London.
Former Manchester United boss Mourinho has penned a three-and-a-half-year deal with Spurs after Pochettino was axed by owner Daniel Levy on Tuesday night.
He joins with Tottenham 14th in the Premier League - 11 points off the top four as Mourinho is tasked with resurrecting their season.
But Spurs are well-placed to reach the last 16 of the Champions League as they look to follow up on last season's campaign where they reached the final - only to lose to Liverpool in Madrid.
And Mourinho will trouser twice what Pochettino earned, report the Daily Mail.
"I am excited to be joining a club with such a great heritage and such passionate supporters," Mourinho said after being appointed by Spurs.
"The quality in both the squad and the academy excites me. Working with these players is what has attracted me."
While appreciating the job Pochettino has done at Spurs, Levy has hailed the appointment of Mourinho.
The Tottenham chairman said: "In Jose we have one of the most successful managers in football.
"He has a wealth of experience, can inspire teams and is a great tactician. He has won honours at every club he has coached.
"We believe he will bring energy and belief to the dressing room."


Bough signs NLI to Niagara
by Jacob SeusTOWN OF CHENANGO (WBNG) – On Tuesday, Emma Bough signed her national letter of intent to continue her soccer career at Niagara.
Bough played a key role on Chenango Forks state title run in 2018 and helped lead the team to a Section IV title this past season. She joins a Purple Eagles team that finished with a 9-8-2 record in 2019.
“Just like getting better and experiencing, pushing myself and playing at the next level is going to be a challenge but I’m excited for it,” said Chenango Forks senior Emma Bough.
“Like” Nicole Menner on Facebook and “Follow” her on Twitter.


Control Placement:
Display Mode:
Default View:
Chart
Grid
Toggle Panel:
True
False
Responsive:
True
False
Apply


High Fidelity (2000)
It's been several days since we saw HIGH FIDELITY - longer than I usually take to write about a film - but its feel is still with me. Director Stephen Frears has put together an engaging piece about two big subjects, love and music, and the result is the best film released yet this year.
John Cusack gets credit as a screenwriter, along with D. V. DeVincentis, Steve Pink and Scott Rosenberg. Cusack is also the film's star; his character, Rob Gordon, owns Championship Vinyl, a quirky and eclectic music store in a Chicago neighborhood you wouldn't want to be caught in after dark. This set is by far the most fun in the story; when the script locates us here, we watch the characters' true selves emerge. Perhaps the film's success is ensured by the store and everything surrounding it. It functions both as a meeting place and as a source of a surefire premise: theme and variations on romance.
Rob Gordon takes center stage by giving us a top-five list of breakups that gnaw at him the most. Hence we watch clever flashbacks of Rob from the time he is fourteen and kissing a girl in the school playground, to the time of his most recent heartbreak, the present, his lover Laura (Iben Hjejle) having just left. It takes Rob awhile to admit that Laura's moving her things to the upstairs apartment of an aging New Ager - Ian Raymond, who's played by Tim Robbins - is devastating enough to belong on this short list. But quickly we realize Rob's preoccupation with the topic emphasizes that this is the worst his heart has felt, ever.
When Cusack addresses the camera, it's a cool form of authorial intrusion, dear reader. His character comes off as endlessly self-reflexive, the post-modern malaise dripping from his monologues and casual clothes. His various sundered relationships come off as funny and touching, and you know things really get moving when he gets to the just-out number five on the list of all-time heartaches, the lissome Laura. Really Cusack is brilliant in his nonchalance. Whether talking to his audience or to his eccentric cadre of friends, he flashes wit and humanity, and we end up liking him, even if he seems the eternal child-man.
Cusack's acting is matched by the acting of Jack Black and Todd Louiso, who play Barry and Dick, clerks in Championship Vinyl. They began as part-timers and now Rob can't get them to stop coming in every day. Clearly, they need lives, and what's neat is that by the end of the story, they are closer to getting lives. Louiso, a Cincinnati native, is especially good: low-key and slow-talking, he exudes a deep compassion belied by shyness. I would tune in every week if there were a show starring these two music geeks.
Iben Hjejle is fine as Laura, perhaps overly calm is spots, but sympathetic and smooth. The script treats her well, calling for a peak of emotions late in the story.
Frears uses a strong supporting cast. Besides Black and Louiso, there's Cusack's sister Joan, who plays Liz, a friend of Laura and odd confidante of Rob. Though Joan Cusack has a hard time not being funny, her role here calls for a more serious turn, a sort of go-between in the edgy romance between Rob and Laura.
As one of Rob's former girlfriends, Charlie, Catherine Zeta-Jones plays a bright but very superficial woman. And Lisa Bonet ably helps the story achieve another of its points about love: there is an incredible amount of amorality out there.
Another main character is the music. The songs played in the store, Rob's apartment, bars and other locales serve not only as background but as characterization. When Barry is not allowed to play the tape of Monday-morning songs he's compiled, he takes it as a serious offense. Even the title plays off the theme of fidelity - or faithfulness - making the piece directly about love and the loyal that is a clear sign of it.
HIGH FIDELITY is rated R for language and sexuality, essentially unnecessary tidbits of sex scenes. I wouldn't take anyone under 16. I suspect the film will have a wide audience, as the musical styles appeal to many generations of taste, and of course the love themes engage the owners of hearts of any age.
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


Application
| Include Statements Summary |
| INCLUDE TYPE | INCLUDED FILENAME | DESCRIPTION |
|---|
| Global Variable Summary |
| VARIABLE NAME | VARIABLE VALUE | DESCRIPTION |
|---|
| Constant Summary |
| CONSTANT NAME | CONSTANT VALUE | DESCRIPTION |
|---|---|---|
| CAROSHI_RELEASE_DATE | 2002/08/25 1:11:55 CET | |
| CAROSHI_VERSION | 0.2.0 | General library info. |
| CAROSHI_VERSION_MAJ | ' | |
| CAROSHI_VERSION_MICRO | ' | |
| CAROSHI_VERSION_MIN | 2 |
| Function Summary |
| Include Statements Detail |
| Global Variable Detail |
| Constant Detail |
CAROSHI_RELEASE_DATE = ->2002/08/25 1:11:55 CET<-
CAROSHI_VERSION = ->0.2.0<-
public
CAROSHI_VERSION_MAJ = ->'<-
CAROSHI_VERSION_MICRO = ->'<-
CAROSHI_VERSION_MIN = ->2<-
| Function Detail |


WITNESS LIST Appropriations Committee February 26, 2003-8:00A Budget For: Gurney, Gerald (Texans Credit Union) Lederer, John B. (Credit Union Legislative Coalition; Credit Union of Texas) Against: Sandberg, Eric (Texas Savings and Community Bankers Association) On: Beran, Douglas A. (Board of Barber Examiners) Bordelon, Rod (Office of Public Insurance Counsel) Brady, Jim (Cosmetology Commission) Feeney, Harold (Credit Union Department) Hendricks, Cathy L. (Self and Board of Architectural Examiners) Hsu, Victoria (Board of Professional Engineers) Humphrey, Antoinette (Cosmetology Commission) James, Randall S. (Department of Banking) Montemayor, Jose (Department of Insurance) Parker, Glenn D. (Board of Barber Examiners) Pettijohn, Leslie (Office of Consumer Credit Commissioner) Pledger, Jim (Savings and Loan Department) Schmidt, Bobby D. (Texas State Board of Dental Examiners) Scurlock, Stephen Y. (Independent Bankers Association of Texas) Smith, Sandra (Board of Chiropractic Examiners) Smith, Sandy (Board of Professional Land Surveying) Smith, PE, Brenda Bradley (Board of Professional Engineers) Steinbrueck, Diane (Self and Board of Architectural Examiners) Taylor, Shelia Bailey (State Office of Administrative Hearings) Thomas, Hal (Credit Union Department) Tippit, Dr. Nathaniel G. (Texas State Board of Dental Examiners)


abbott
Businessmodel of Abbott
Customer Segments
Abbott sells directly or through third party wholesalers, retailers, and distributors to retail consumers and institutions, including government agencies, health care facilities, pharmacies, blood banks, hospitals, commercial laboratories, clinics, and others – depending on the business segment. Its sales are evenly split between developed, mostly in the US and Western Europe, and developing markets.
That said, sales in developing markets are growing at a rapid rate – 17.1 percent in 2015 and 12.5 percent in 2014.
- Established Pharmaceutical Products – These are sold generally outside the US directly to wholesalers, distributors, government agencies, health care facilities, pharmacies, and independent retailers.
- Diagnostic Products – These are sold worldwide directly to blood banks, hospitals, commercial laboratories, clinics, physicians’ offices, government agencies, alternate care testing sites, and plasma protein therapeutic companies.
- Nutritional Products – These are sold worldwide directly to consumers and to institutions, wholesalers, retailers, health care facilities, government agencies, and third-party distributors.
- Vascular Products – These are sold worldwide, directly to hospitals in the US and directly to customers and third-party distributors outside the US. ### Value Proposition
Abbott has three main value propositions – its commercial presence, leading-edge innovation, and its brand.
- Commercial presence – Abbott sells its products all over the world, in over 150 countries and is a leading company in many key markets including India and Latin America.
- Leading-edge Innovation – Abbott invests heavily in research and development, and many of its products are not available from other companies – this ties customers who require its products to Abbott.
- Brand – Abbott is an established brand with over 125 years of history. It was recently awarded the Most Admired Company in the pharmaceutical industry in *Fortune *magazine’s annual rankings. ### Channels
Abbott uses a multi-channel approach, with channels depending on the region or country of operation and the type of product being sold. Abbott has almost half of its sales directly to consumers, through its Abbott-owned distribution centers, public warehouses, or third-party affiliates and distributors.
Customer Relationships
Abbott maintains customer relationships though it’s in-house sales teams, through its country offices, and through 24/7 live online customer support – the latter provides customers with immediate self-help access to important information such as orders, product information, guide literature, and product support.
Key Activities
Abbott’s key activity is the discovery, development, manufacture, and sale of a broad and diversified line of health care products.
Key Partners
Abbott’s key partners are its suppliers and its licensees.
Its suppliers are other corporates that produce and supply various products used in the manufacturing of Abbott products, in research and development, and for general operations. Products purchased range from physical goods, such as biological products and food, to services, such as transport and logistics.
Abbott’s licensees are also key partners as they allow Abbott to enter new markets and to reach regions that would have otherwise been difficult to service through proprietary means.
Key Resources
Abbott’s key resources would be its property, plant and equipment, its goodwill, and other intangible assets including patents and other intellectual property, product rights, and technology.
Cost Structure
Abbott’s key cost drivers are price rebates, research and development costs and selling, general and administrative expenses.
Revenue Streams
Abbott’s key revenue streams come from its main segments - Established Pharmaceutical Products, Diagnostic Products, Nutritional Products, and Vascular Products. Of these, the nutritional products segment is the largest, covering over half of Abbott’s annual revenue.
Source of Revenue/Cost Revenue (FY 2015, million euros) % of Total Revenue Revenue 20,405 100% Established Pharmaceuticals
3,720 18% Nutritionals
6,975 34% Diagnostics
3,529 17% Vascular Products
2,696 13% Other (Including items from all business segments)
3,485 17% Expenses 17,538 86% Cost of products sold, excluding amortization
8,747 43% Research and development
1,405 7% Selling, general and administrative
6,785 33% Other
601 3% Operating Earnings 2,867 14% *Note that “Other” revenues include products from all the four main business segments. These products are individually insignificant and were thus not itemized in Abbott’s reported financials.


We are a Non-Commission based Online Art Gallery. Our aim is to create a global platform for artists to showcase and sell their works by connecting to art collectors directly. We wish to create a global art community for free flowing creative exchange between the artists and audience. Through this endeavour we hope to bring together artists from various cultures and countries to truly create a collection without boundaries
Shajee Mathew is an art connoisseur who has been passionately collecting and investing in Contemporary and modern art for the past two decades. He has an expert understanding of the dizzying auction prices and the art of investment purchasing. He has been regularly putting up works for auction from his extensive private collection.
He is the owner of a Print and Publishing house in Mumbai, India.
email<EMAIL_ADDRESS>Shireen Kamboj is currently based in Houston, Texas, USA and is currently training as a Docent at the MFAH (Museum of Fine Arts Houston).
After finishing her school from The Lawrence School, Sanawar, she went on to study at Delhi University, from where she graduated in 1989 in Economic Honours.
She has always had an instinctive affinity towards the creative and visual arts and an uncanny knack of building strong kinship with creatively inclined individuals. She rarely misses an opportunity to tour a gallery or art museum anywhere in the world. She has had the opportunity to work on various projects alongside Maqbool Fida Husain, who was one of India’s the leading Contemporary artist.
email<EMAIL_ADDRESS>Anjum Siddiqui is an artist who is originally from the India, but now works and lives in Toronto, Canada.
After finishing her school from The Lawrence School, Sanawar, she went on to study at the Delhi College of Art – a leading Art School in New Delhi, India, from where she graduated in 1991 with a Bachelor of Fine Arts degree in Applied Arts.
Although she has been working as a graphic designer and a visualiser, she has always had a passion and a keen eye for the fine arts and has continued to paint in various mediums. She has had the rare opportunity of working with and learning from Maqbool Fida Husain, who was one of India’s leading contemporary artist. Husain has been Anjum’s mentor and Guru since the tender age of 10 and over the years. She has had the privilege of being his only pupil.
email<EMAIL_ADDRESS>Susan Mathew is a graduate from Kishinchand Chellaram College, Mumbai University, India, with a major in history and economics, along with a course in travel and tourism from the same College.
She is an avid reader and is her love for history that drew her towards an appreciation of Art. Susan is intrigued how art interacts with its subjects; stimulates the senses and results in complex emergent behaviours.
In her words.. “art can be pleasant, soothing, exquisite or simply mind-blowing but never dull”.
email susan@artfreaksindia.com


{% if username %}
You are logged in as {{ username }}
Log out
{% else %}
You are a guest
Username:
Password:
Log in
{% endif %}
Register New User
Username:
Password:
Email:
Register
{% if username %}
Say something:
Send
{% endif %}
{% for post in posts %}
{{ post.id }}
{{ post.username }}
{{ post.reply }}
{% endfor %}
Show More


Disappearing Ninjas
No ninjas here???!!!
Find all ninjas here
Ninja Turtle Raphael
Ninja Turtle Leonardo
Ninja Turtle Donatello
Ninja Turtle Michelangelo
Some other ninjas???


One Life Adventure
HOME
RATE US
ABOUT US
Book Adventure
TRAVELER DETAILS
Experience Jordan Adventures
location name:
Your name:
phone number:
Your email:
number Of Visitors
check meals would you love to eat:
Mansaf-5JD
number Of Meals:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Makmora-8JD
number Of Meals:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Barbecue-10JD
number Of Meals:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sea food-15JD
number Of Meals:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20


Alert
This dashboard includes information that I think would be useful for a company as well as a user. I included a pie graph showing which memberships were purchased, highlighting Indego30 as the most popular membership. I also included recent trips that show a map of pick up and drop off locations. I wanted to include a variation of data, without being too specific to simplify the dashboard.


| tiff2bw - convert a color TIFF image to greyscale |
| tiff2bw [ options ] input.tif output.tif |
| Tiff2bw converts an RGB or Palette color TIFF image to a greyscale image by combining percentages of the red, green, and blue channels. By default, output samples are created by taking 28% of the red channel, 59% of the green channel, and 11% of the blue channel. To alter these percentages, the -R, -G, and -B options may be used. |
| -c |
| Specify a compression scheme to use when writing image data: -c none for no compression, -c packbits for the PackBits compression algorithm, -c zip for the Deflate compression algorithm, -c g3 for the CCITT Group 3 compression algorithm, -c g4 for the CCITT Group 4 compression algorithm, and -c lzw for Lempel-Ziv & Welch (the default). |
| -r |
| Write data with a specified number of rows per strip; by default the number of rows/strip is selected so that each strip is approximately 8 kilobytes. |
| -R |
| Specify the percentage of the red channel to use (default 28). |
| -G |
| Specify the percentage of the green channel to use (default 59). |
| -B |
| Specify the percentage of the blue channel to use (default 11). |
| pal2rgb(1), tiffinfo(1), tiffcp(1), tiffmedian(1), libtiff(3) |


We have planned some optional activities for Wednesday afternoon. If you're
interested in joining one of these activities, sign up sheets will be available
at the registration desk. Alternatively, there are further suggestions
below that you can explore in your own time.
Option 1: Botanic Gardens (everyone has been given an entry pass in your conference pack)
Option 2: Oriental Museum (everyone has been given an entry pass in your conference pack)
Option 3: Cathedral and Durham Castle. The Cathedral is free entry, and has recently undergone restoration work. There are fabulous views if you want to climb the 325 steps to the top.
Durham Castle have a special self-guided tour day. Tickets can be purchased at the Palace Green Library (by the Castle, on the green). Last admission to the Castle will be at 3:30pm. For prices, see this website.
Option 4: If weather permits, we'll organise a 5-mile circular walk
into the countryside. If you're keen to hike regardless of the weather conditions,
here is a map with a 5 mile walk, and
here is a map with a shorter walk.
There are plenty of pubs around Durham catering to a wide range of tastes. Here is a short list of the more traditional style pubs where you can typically get a good range of traditional-style British ales as well as a variety of Scotch whiskies to aid in the evening's scientific debates.
Durham has a wealth of gentle countryside surrounding the City, which makes a great setting for exploring, both walking and running. A good start is usually to follow the river bank paths, but if you'd like any suggestions, speak to one of the locals.


We're sorry but Admin Two doesn't work properly without JavaScript enabled. Please enable it to continue.


money
startups
religion
self development
save
draft
delete
delete
publish
publish
title
your story here...


Classes
The following classes are available globally.
-
Declaration
Swift
@objc public class BarcodeDetectionSettings : BaseBarcodeDetectionSettings, TorchSettings
-
Declaration
Swift
@objc public class BaseBarcodeDetectionSettings : NSObject
-
Declaration
Swift
public class BarcodeDetectionViewController : ObjectDetectionViewController
-
Declaration
Swift
@objc public class CardAndBarcodeDetectionSettings : NSObject, TorchSettings
-
Declaration
Swift
@objc public class CardAndBarcodeDetectionViewController : BaseCardDetectionViewController
-
Declaration
Swift
@objc public class CardDetectionSettings : BaseCardDetectionSettings, TorchSettings
-
Declaration
Swift
@objc public class BaseCardDetectionSettings : NSObject
-
View controller used to run a camera session that collects an image of an card with a given aspect ratio and returns an image with corrected perspective
See moreSince
1.0.0Declaration
Swift
@objc public class CardDetectionViewController : BaseCardDetectionViewController


Normal Foundation dropdowns containing a list of links are awkward for mobile; the links are close together and the spacing is unbalanced.
Dropdowns containing both the f-dropdown
class and the mobile-list
class will automatically apply additional styling for attractive mobile-friendly dropdown lists.