Overview
Package
Class
Use
Tree
Deprecated
Index
Help
PREV PACKAGE
NEXT PACKAGE
FRAMES
NO FRAMES
All Classes
Package org.jclouds.vcloud.director.v1_5.domain
Class Summary
AbstractVAppType
Represents a base type for VAppType and VmType.
AbstractVAppType.Builder<B extends AbstractVAppType.Builder<B>>
AccessSetting
Specifies who can access the resource.
AccessSetting.Builder
AdminCatalog
Admin representation of the container for meta data (key-value pair) associated to different entities in the system.
AdminCatalog.Builder<B extends AdminCatalog.Builder<B>>
AdminVdc
Provides an administrative view of a vDC.
AdminVdc.Builder<T extends AdminVdc.Builder<T>>
Capabilities
Collection of supported hardware capabilities.
Capabilities.Builder
CapacityType<T extends CapacityType<T>>
Represents a capacity of a given resource.
CapacityType.Builder<T extends CapacityType<T>>
CapacityWithUsage
Represents a capacity and usage of a given resource.
CapacityWithUsage.Builder
Catalog
Container for references to
VAppTemplate
and
Media
objects.
Catalog.Builder<B extends Catalog.Builder<B>>
CatalogItem
Contains a reference to a VappTemplate or Media object and related metadata.
CatalogItem.Builder<B extends CatalogItem.Builder<B>>
CatalogReference
CatalogReference.Builder<B extends CatalogReference.Builder<B>>
ComputeCapacity
Represents a compute capacity with units.
ComputeCapacity.Builder
Entity
Basic entity type in the vCloud object model.
Entity.Builder<B extends Entity.Builder<B>>
Error
The standard error message type used in the vCloud REST API.
Error.Builder
File
Represents a file to be transferred (uploaded or downloaded).
File.Builder<B extends File.Builder<B>>
Group
Represents group in the system.
Group.Builder<B extends Group.Builder<B>>
Link
A link.
Link.Builder<B extends Link.Builder<B>>
Media
Represents removable media, such as a CD-ROM, DVD or Floppy disk.
Media.Builder<B extends Media.Builder<B>>
Metadata
Represents a set of metadata
Metadata.Builder<B extends Metadata.Builder<B>>
MetadataEntry
Represents a metadata entry
MetadataEntry.Builder<B extends MetadataEntry.Builder<B>>
Owner
Represents the owner of this entity.
Owner.Builder<B extends Owner.Builder<B>>
ProductSectionList
Essentially a container with a list of product sections.
ProductSectionList.Builder<B extends ProductSectionList.Builder<B>>
Property
Contains key/value pair as property.
Property.Builder
RasdItemsList
Represents a list of RASD items.
RasdItemsList.Builder<B extends RasdItemsList.Builder<B>>
Reference
A reference to a resource.
Reference.Builder<B extends Reference.Builder<B>>
References
This is the container for returned elements in referenceView
References.Builder<T extends References.Builder<T>>
Resource
The base type for all objects in the vCloud model.
Resource.Builder<B extends Resource.Builder<B>>
ResourceEntity
Base type that represents a resource entity such as a vApp template or virtual media.
ResourceEntity.Builder<B extends ResourceEntity.Builder<B>>
Role
RoleReference
RoleReference.Builder<B extends RoleReference.Builder<B>>
RoleReferences
Container for ReferenceType elements that reference RoleType objects.
RoleReferences.Builder<B extends RoleReferences.Builder<B>>
ScreenTicket
The ticket for accessing the console of a VM.
ScreenTicket.Builder
Session
Returns a representation of the current session that can serve as a single entry point to the system, as it provides user, admin, and extension (sysadmin) entry links depending on the privileges of the current user.
Session.Builder
SessionWithToken
Session and its corresponding token
SessionWithToken.Builder
Task
Represents an asynchronous or long-running task in the vCloud environment.
Task.Builder<B extends Task.Builder<B>>
TasksList
Task List
TasksList.Builder<B extends TasksList.Builder<B>>
User
Represents users in the vCloud system.
User.Builder<B extends User.Builder<B>>
VApp
Represents a vApp.
VApp.Builder<B extends VApp.Builder<B>>
VAppChildren
Represents vApp children.
VAppChildren.Builder
VAppReference
VAppReference.Builder<B extends VAppReference.Builder<B>>
VAppTemplate
Represents a vApp template.
VAppTemplate.Builder<B extends VAppTemplate.Builder<B>>
Vdc
Represents a virtual data center (vDC).
Vdc.Builder<B extends Vdc.Builder<B>>
Vm
Represents a virtual machine.
Vm.Builder<B extends Vm.Builder<B>>
VmPendingQuestion
Represents a question which vSphere issued for a VM in a stuck state(WAITING_FOR_INPUT).
VmPendingQuestion.Builder<B extends VmPendingQuestion.Builder<B>>
VmQuestionAnswer
Represents a VM answer to a question when the VM is in a stuck
ResourceEntityType.Status#WAITING_FOR_INPUT
state.
VmQuestionAnswer.Builder
VmQuestionAnswerChoice
Represents a pair of ID and text of an answer choice of a VM question.
VmQuestionAnswerChoice.Builder
VMWareTools
VMWareTools.Builder
Enum Summary
Error.Code
Link.Rel
Media.ImageType
ResourceEntity.Status
Role.DefaultRoles
Task.Status
Overview
Package
Class
Use
Tree
Deprecated
Index
Help
PREV PACKAGE
NEXT PACKAGE
FRAMES
NO FRAMES
All Classes
Copyright © 2009-2013
jclouds
. All Rights Reserved.


This is the 2.2 version of commons-attributes. It is available in both binary and source distributions.
Note: The tar files in the distribution use GNU tar extensions and must be untarred with a GNU compatible version of tar. The version of tar on Solaris and Mac OS X will not work with these files
The changes in this release are detailed in the release notes.
Thank you for using Commons-Attributes.
From the Apache Jakarta Project
http://jakarta.apache.org/
Many of the files have been digitally signed using GnuPG. If so, there will be an accompanying file.asc signature file in the same directory as the file (binaries/ or source/). The signing keys can be found in the distribution directory at <http://www.apache.org/dist/jakarta/commons/attributes/KEYS>.
Always download the KEYS file directly from the Apache site, never from a mirror site.
Always test available signatures, e.g., $ pgpk -a KEYS $ pgpv commons-attributes-2.2.tar.gz.asc or, $ pgp -ka KEYS $ pgp commons-attributes-2.2.tar.gz.asc or, $ gpg --import KEYS $ gpg --verify commons-attributes-2.2.tar.gz.asc


Build your own web-enabled universal remote.
Usable from any web-enabled device or service
The bridge between the web and your infrared devices
Control your infrared devices from the web


Connection Status
Offline
Online
Connect
Dashboard
Portfolio
Exchange
Backup Wallet
Settings
Help
Welcome to the
Nebula Wallet
Please add your blockchain parameters to <
config.json
>
Status Report
×
Warning!
Better check your settings, looks like you're not connected.
Blockchain Details
Primary
A Link to something..


Schematic has opened a new office in Boston, and i am happy to announce that i have accepted a position there and looking forward to working alongside some extremely talented people.
Just finishing up some documentation on the numerous projects and products i have worked on as an xplanaPloyee, and am anxious to get my hands dirty with a different and exciting company and get back to some personal projects i’ve put on hold ( cause of a wonderfully busy month ).
Also celebrating a birthday Monday- so if anyone out there is going to the Radio Birdman show on Saturday, buy me a beer.


--- title: "Pricing Plans" slug: "pricing" subTitle: "Insomnia is free to use with paid features for team and enterprise" ---
** All plans come with a 14-day free trial **
Please send any questions to support@insomnia.rest


Hazard Surveillance Survey
SURVEY TEAM MEMBER
ROLE
Jeff Miller
EDC
Steve Retherford
LS
Michael Davolt
LAS
Arif Kahn
RAD
Fajad Aziz
C
n/a
-
n/a
-
n/a
-
n/a
-
Start Survey


soil diversity species plant study tropical significantly different vegetation phylogenetic plants forest forests China Sciences composition Ecology Soil abandoned {border-style plantation Plant properties px;} secondary #ffffff;} Hainan site Asia distribution index total vascular Biology SOM area families shrubs trees volcanic Environmental Ma’anling Science important nitrogen using volcano Chinese Fig Management number organic species, taxonomic America MNTD biodiversity diversity. refers richness Evolutionary MPD affected based community genera invasive species. types Haikou, Life TN, Table Tropical WC, Wang Yang communities disjuncted increased low natural px; showed significant soils {font-family Forest Nature Press. Species Zhu conditions content differences distance environmental floristic font-size forest, formations genera, herbs land land. management mean native park properties. structure studies Analysis Biodiversity China. Ecological List PD, Phylogenetic University Zhang activities analyzed correlated correlation difference distribution, distributions. dominated double; elements endangered evenness family genus plants. plots results similar site, tree types. urban use used water (.%) *** Data However, Island Liu Reserve Shannon USA: Writing Zhou abundance analysis available border-color border-width contributed data diversity, ecological ecosystem effect evolutionary factors key life marginally ntaxa, nutrient nutrients physic-chemical plantations positively related samples seed solid; temperate tourism type value varied {font-style {font-weight ./journal.pone. Africa American Available Beijing: Community DNR, Diversity Earth Environment Forests Investigation JNR Methodology Methods NMDS NRI NTI National Natural Organic Peng Pickering Plants Province, Society State Systematics TNR Taxonomic Taxonomy Vegetation adjacent areas bold carried coexistence commercial compared courier; distributions; dominant effects elevation em; established evaluation followed following forests. formations. functional grasslands high highest highly human impacts included investigation lead matter nodes original pantropic plots, processes protected pt;} recreation relationship review role site. surface taxa taxon values world


class: center, middle, inverse, title-slide # Lecture 07 ## Multiple Market Failures and Second-Best Policies ### Ivan Rudik ### AEM 4510 --- exclude: true ```r if (!require("pacman")) install.packages("pacman") pacman::p_load( tidyverse, xaringanExtra, rlang, patchwork, nycflights13, tweetrmd, vembedr ) options(htmltools.dir.version = FALSE) knitr::opts_hooks$set(fig.callout = function(options) { if (options$fig.callout) { options$echo <- FALSE } knitr::opts_chunk$set(echo = TRUE, fig.align="center") options }) ``` ``` ## Warning: 'xaringanExtra::style_panelset' is deprecated. ## Use 'style_panelset_tabs' instead. ## See help("Deprecated") ``` ``` ## Warning in style_panelset_tabs(...): The arguments to `syle_panelset()` changed in xaringanExtra 0.1.0. Please refer to the ## documentation to update your slides. ``` --- # Roadmap 1. What happens when we have another distortion like market power? 3. How do second-best policies like output taxes or intensity standards work? --- class: inverse, center, middle name: tradable permits # Market power and pollution

 --- # Market power Lets consider two extreme cases to understand whether and how market power matters 1. Perfect competition 2. Monopoly -- In both cases we assume that: 1. Marginal costs of production are constant `\(MC\)` 2. The marginal damage from a unit of output is constant giving us constant social marginal costs `\(SMC = MC + MD\)` --- # Perfect competition .pull-left[ ![perfect competition](07-slides-second-best_files/figure-html/perf-comp-1.png) ] .pull-right[ The effect of moving from `\(q_0 \rightarrow q^*\)` using a tax equal to marginal damage (SMC - MC): ] --- # Perfect competition .pull-left[ ![perfect competition](07-slides-second-best_files/figure-html/perf-comp-1.png) ] .pull-right[ The effect of moving from `\(q_0 \rightarrow q^*\)` using a tax equal to marginal damage (SMC - MC): Loss in CS: -(A+B) ] --- # Perfect competition .pull-left[ ![perfect competition](07-slides-second-best_files/figure-html/perf-comp-1.png) ] .pull-right[ The effect of moving from `\(q_0 \rightarrow q^*\)` using a tax equal to marginal damage (SMC - MC): Loss in CS: -(A+B) Avoided damages: B+C ] --- # Perfect competition .pull-left[ ![perfect competition](07-slides-second-best_files/figure-html/perf-comp-1.png) ] .pull-right[ The effect of moving from `\(q_0 \rightarrow q^*\)` using a tax equal to marginal damage (SMC - MC): Loss in CS: -(A+B) Avoided damages: B+C Tax revenue: A ] --- # Perfect competition .pull-left[ ![perfect competition](07-slides-second-best_files/figure-html/perf-comp-1.png) ] .pull-right[ The effect of moving from `\(q_0 \rightarrow q^*\)` using a tax equal to marginal damage (SMC - MC): Loss in CS: -(A+B) Avoided damages: B+C Tax revenue: A .hi-blue[Net gain: -(A+B) + (B+C) + A = C] ] --- # Monopoly Now consider a monopolist with the same marginal cost and marginal damage structure -- What is the difference with a monopolist? -- The monopolist can set the price -- This means that the MR curve lies beneath the demand curve -- Why? -- The monopolist accounts for how additional output lowers the market price on inframarginal units --- # Monopoly .pull-left[ ![perfect competition](07-slides-second-best_files/figure-html/monopoly-1.png) ] .pull-right[ The socially efficient allocation is where social marginal cost is equal to the social marginal benefit This is where SMC crosses the demand curve: `\((q^*,p^*)\)` What is the welfare outcome under the unregulated monopolist outcome? ] --- # Monopoly .pull-left[ ![perfect competition](07-slides-second-best_files/figure-html/monopoly2-1.png) ] .pull-right[ In the absence of regulation, the monopolist maximizes profit where MR = MC: `\((q^m, p^m)\)` This results in deadweight loss equal to the .hi-red[red] area Now what happens if we set a Pigouvian tax equal to marginal damage? ] --- # Monopoly .pull-left[ ![monopoly](07-slides-second-best_files/figure-html/monopoly3-1.png) ] .pull-right[ The Pigouvian tax restricts output even more, adding deadweight loss equal to the .hi-blue[blue] area on top of the deadweight loss in the .hi-red[red] area The tax actually made us worse off by the blue area! Why? ] --- # Monopoly .pull-left[ ![monopoly](07-slides-second-best_files/figure-html/monopoly3-1.png) ] .pull-right[ We now have two distortions: 1. Market power 2. Pollution externality ] --- # Monopoly .pull-left[ ![monopoly](07-slides-second-best_files/figure-html/monopoly3-1.png) ] .pull-right[ We now have two distortions: 1. Market power 2. Pollution externality With market power, the unregulated equilibrium quantity is .hi[too low] ] --- # Monopoly .pull-left[ ![monopoly](07-slides-second-best_files/figure-html/monopoly3-1.png) ] .pull-right[ We now have two distortions: 1. Market power 2. Pollution externality With market power, the unregulated equilibrium quantity is .hi[too low] With a pollution externality, the unregulated equilibrium quantity is .hi[too high] ] --- # Monopoly .pull-left[ ![monopoly](07-slides-second-best_files/figure-html/monopoly3-1.png) ] .pull-right[ They have opposing forces on quantities, so the market failures offset each other (partially) ] --- # Monopoly .pull-left[ ![monopoly](07-slides-second-best_files/figure-html/monopoly3-1.png) ] .pull-right[ They have opposing forces on quantities, so the market failures offset each other (partially) This means that if we fully correct the pollution externality, we no longer get the off-setting benefit and have the full welfare cost of market power ] --- # Monopoly .pull-left[ ![monopoly](07-slides-second-best_files/figure-html/monopoly4-1.png) ] .pull-right[ What is the actual optimal thing to do here? ] --- # Monopoly .pull-left[ ![monopoly](07-slides-second-best_files/figure-html/monopoly5-1.png) ] .pull-right[ What is the actual optimal thing to do here? .hi[subsidize output] at rate `\(s\)` so `\(MC - s\)` crosses `\(MR\)` at `\(q^*\)` ] --- # Monopoly .pull-left[ ![monopoly](07-slides-second-best_files/figure-html/monopoly5-1.png) ] .pull-right[ What is the actual optimal thing to do here? .hi[subsidize output] at rate `\(s\)` so `\(MC - s\)` crosses `\(MR\)` at `\(q^*\)` In this example, the market power externality dominates the pollution externality: we need to increase output ] --- # Monopoly What did we learn? -- With multiple market failures we don't necessarily want to .hi[fully] correct for a single market failure -- In this example we actually wanted to do the .hi-red[opposite] of what you likely thought -- You can always draw this example in a different way where you should tax output -- You just need marginal damages to be sufficiently large relative to the market power effect on quantity --- # Monopoly: more generally So this was a .hi[special case]: we assumed the marginal damage from production was constant -- If we generalize this so that the emission and output decisions are separate, we still have the two opposing market failures1 .footnote[ 1 The key thing here is that emissions are no longer a single function of output like `\(E = f(q)\)`. This means we can no longer write MD as a function of output `\(q\)`. ] -- What changes is we can no longer fix them both with just a pollution tax/subsidy --- # Monopoly: more generally Typically we must follow the .hi[Tinbergen rule:] you need as many policy instruments as you have market failures to achieve the efficient outcome -- What does that mean here? -- We need: 1. Pollution tax -- 2. Output subsidy The tax incentivizes abatement, the subsidy incentivizes production --- # Output taxes Sometimes emission taxes and abatement subsidies are difficult to administer because monitoring is hard -- What can we do instead? -- We can tax the output of the production process -- e.g. tax on electricity, cement -- Will this be efficient? -- If so, what assumptions do we need about the production process? --- # Output taxes .pull-left[ ![monopoly](07-slides-second-best_files/figure-html/output-1.png) ] .pull-right[ Assume emissions are proportional to output And MD is constant The firm chooses to produce/emit at `\(q^u\)` in the unregulated equilibrium If we tax output equal to MD we can achieve the socially optimal allocation `\(q^*\)` ] --- # Output taxes .pull-left[ ![monopoly](07-slides-second-best_files/figure-html/output-1.png) ] .pull-right[ An output tax can be efficient, if we assume that emissions are proportional to output Now let's break the tight link between output and emissions by writing down a slightly more complicated model where the firm chooses emissions and output separately ] --- # Output taxes, part two Here's our model: - Cobb-Douglas production using labor and emissions as inputs: `\(L^\alpha E^{1-\alpha}\)` - The firm pays wages `\(w\)`, rental rate `\(r\)` to emissions (capital) - The firm receives a price `\(p\)` per unit of output - Emissions cause marginal damage `\(d\)` -- The firm can increase output without more emissions by increasing `\(L\)` -- What does an output tax `\(\tau_o\)` do versus a regular emission tax `\(\tau_e\)`? --- # Output taxes, part two The regulator's problem is: `$$\max_{L,E} p\,L^\alpha E^{1-\alpha} - wL - rE - dE$$` -- The first-order conditions for a socially efficient allocation of `\(L\)` and `\(E\)` are: `$$\underbrace{\alpha p L^{\alpha-1} E^{1-\alpha}}_{\text{MR}} = \underbrace{w}_{\text{MC}} \qquad \underbrace{(1-\alpha) p L^{\alpha} E^{-\alpha}}_{\text{MR}} = \underbrace{r + d}_{\text{MC}}$$` -- The for a social optimum we want to equate the MR (left hand side) with the SMC (right hand side) for both inputs --- # Output taxes, part two The firm's problem for the output tax is: `$$\max_{L,E} (p-\tau_o)L^\alpha E^{1-\alpha} - wL - rE$$` -- The firm's profit-maximizing choices are given by the first-order conditions: `$$\alpha(p-\tau_o)L^{\alpha-1} E^{1-\alpha} = w \qquad (1-\alpha)(p-\tau_o)L^{\alpha} E^{-\alpha} = r$$` -- The firm equates the MR and MC of each input -- The output tax penalizes the use of clean labor despite it not causing any externalities at a marginal rate of: `\(\tau_o L^{\alpha-1} E^{1-\alpha}\)`, this is .hi-red[not efficient] --- # Output taxes, part two How does this compare to a pure emission tax? -- The firm's problem when facing an emission tax is: `$$\max_{L,E} pL^\alpha E^{1-\alpha} - wL - (r+\tau_e)E$$` -- The firm's profit-maximizing choices are given by the first-order conditions: `$$\alpha(p)L^{\alpha-1} E^{1-\alpha} = w \qquad (1-\alpha) p L^{\alpha} E^{-\alpha} = r + \tau_e$$` -- A tax of `\(\tau_e = d\)` can achieve the efficient allocation! --- # Output taxes takeaways If emissions are perfectly determined by output, we can use output taxes to achieve the efficient outcome -- If emissions can be chosen separately from outcome by the firm, this is no longer true -- In this case an output tax incorrectly taxes our clean inputs --- # Intensity standards One of the most commonly used regulations for environmental problems is the .hi[intensity standard] -- Intensity standards regulate the intensity of something -- E.g. -- Intensity of emissions in output -- Intensity of clean electricity sources in the total electricity portfolio -- Intensity of ethanol in the fuel supply --- # Intensity standards: RPS    --- # Intensity standards: RPS    --- # Intensity standards: RPS    --- # Intensity standards: RPS RPSs combine intensity standards and tradable credit markets (Holt, 2014)    --- # Intensity standards: gas flaring Flaring of natural gas at oil wells in North Dakota is regulated with an intensity standard    --- # Intensity standards: gas flaring Mandates a minimum fraction of gas captured (max fraction of gas flared)    --- # Intensity standards: gas flaring The regulation pushed flaring rates down    --- # Intensity standards Consider a case where we have a good with two types: - a high type `\(H\)` that results in a high level of emissions - a low type `\(L\)` that results in a low level of emissions -- The emission rate per unit of output for each is `\(\beta_H\)` and `\(\beta_L\)` -- The marginal damage from emissions is `\(d\)` -- The cost function to produce each type of output is `\(C_H(Q_H)\)` and `\(C_L(Q_L)\)` -- The social benefit of consuming the goods is given by a social utility function `\(U(Q_H,Q_L)\)` --- # Intensity standards: social planner That's our set up! -- The social planner's problem is: `$$\max_{Q_H,Q_L} U(Q_H,Q_L) - C_H(Q_H) - C_L(Q_L) - \tau(\beta_H Q_H + \beta_L Q_L)$$` -- Maximize the social utility of the good, minus the private and external costs -- The first-order conditions tell us how social welfare is maximized: `$$\frac{\partial U(Q_H,Q_L)}{\partial Q_i} = \frac{\partial C_i(Q_i)}{\partial Q_i} + \tau \beta_i \,\,\, i = L,H$$` --- # Intensity standards: social planner `$$\frac{\partial U(Q_H,Q_L)}{\partial Q_i} = \frac{\partial C_i(Q_i)}{\partial Q_i} + \tau \beta_i \,\,\, i = L,H$$` What is this condition saying? -- The marginal benefit of producing the good must equal the private marginal cost of production, plus the marginal damages -- Now what if we try to address the pollution externality with an intensity standard: a cap on the emissions per unit of output? --- # Intensity standards: social planner An emission standard might look something like this: `$$\frac{\beta_H Q_H + \beta_L Q_L}{Q_H+Q_L} = \sigma$$` -- The left hand side is emissions (top) per unit of total output (bottom) -- The right hand side is the standard: `\(\sigma\)` is the required emissions intensity -- For the standard to make any sense it must be: `\(\beta_L \leq \sigma \leq \beta_H\)`, otherwise it doesn't do anything `\(\sigma > \beta_H\)` or its unattainable `\(\sigma < \beta_L\)` --- # Intensity standards: firm Now how does the firm respond to an intensity standard? -- Suppose there are prices `\(p_H\)` and `\(p_L\)` for each type of the good -- The firm's problem is: `$$\max_{Q_H,Q_L} \pi(Q_H,Q_L) = p_H Q_H + p_L Q_L - C_H(Q_H) - C_L(Q_L) \,\,\, \\ \text{subject to: } \frac{\beta_H Q_H + \beta_L Q_L}{Q_H+Q_L} = \sigma$$` --- # Intensity standards: firm Notice that we can solve the intensity standard constraint for `\(Q_H\)`: `$$Q_H = \frac{\sigma - \beta_L}{\beta_H - \sigma}Q_L$$` -- We can plug it into the firm's profit function to get rid of one of the output variables: `$$\max_{Q_L} p_H \frac{\sigma - \beta_L}{\beta_H - \sigma}Q_L + p_L Q_L - C_H\left(\frac{\sigma - \beta_L}{\beta_H - \sigma}Q_L\right) - C_L(Q_L)$$` -- Next, the first-order condition for a maximum --- # Intensity standards: firm The first-order condition is: `$$p_H \frac{\sigma - \beta_L}{\beta_H - \sigma} + p_L = \frac{\sigma - \beta_L}{\beta_H - \sigma} MC_H + MC_L$$` which is equivalent to: `$$\frac{p_L - MC_L}{\beta_L - \sigma} = \frac{p_H - MC_H}{\beta_H - \sigma}$$` -- To get to the final part of the intuition let: `$$\lambda \equiv (p_i - MC_i) / (\beta_i-\sigma)$$` --- # Intensity standards: firm `$$\lambda \equiv (p_i - MC_i) / (\beta_i-\sigma)$$` This lets us write the `\(Q_L\)` FOC as: `$$p_L = MC_L(Q_L) + \lambda(\beta_L-\sigma)$$` and it turns out if we instead framed the problem instead of `\(Q_H\)` we'd get the same FOC: `$$p_H = MC_H(Q_H) + \lambda(\beta_H-\sigma)$$` -- What are these FOCs telling us about the firm's problem: `$$p_i = MC_i(Q_i) + \lambda(\beta_i-\sigma) \,\,\, i=L,H$$` --- # Intensity standards: firm The firm equates marginal revenue `\(p_i\)` and total marginal cost for each type `\(i\)` -- The marginal cost is composed of two pieces: 1. The actual marginal cost of production `\(MC_i\)` 2. The .hi[implicit] marginal cost imposed by the regulation: `\(\lambda(\beta_i-\sigma)\)` -- The regulation forces the firm to choose an allocation that is away from its unconstrained optimum, 2. is what picks up this economic force -- What is the sign of `\(\lambda(\beta_i-\sigma)\)`? --- # Intensity standards: firm What is the sign of `\(\lambda(\beta_i-\sigma)\)`? -- Recall: `\(\beta_L \leq \sigma \leq \beta_H\)` -- `\(\lambda(\beta_i-\sigma) \geq 0\)` for `\(i = H\)`, `\(\lambda(\beta_i-\sigma) \leq 0\)` for `\(i = L\)` -- The regulation is acting like an implicit marginal .hi-red[tax] on the high emission good, and an implicit .hi-blue[subsidy] on the low emission good! -- The intensity standard aims to shift production from high emission intensity to low emission intensity goods -- Is the intensity standard efficient? --- # Intensity standards: efficiency Social welfare is maximized when: `$$\frac{\partial U(Q_H,Q_L)}{\partial Q_i} = \frac{\partial C_i(Q_i)}{\partial Q_i} + \tau \beta_i \,\,\, i = L,H$$` -- The firm maximizes profit under the intensity standard at: `$$p_i = MC_i(Q_i) + \lambda(\beta_i-\sigma) \,\,\, i=L,H$$` `\(\frac{\partial U(Q_H,Q_L)}{\partial Q_i} = p_i\)` from household utility maximization1 .footnote[ 1Prices reflect the marginal value of consumption. ] --- # Intensity standards: efficiency Social efficiency: `$$\frac{\partial U(Q_H,Q_L)}{\partial Q_i} = \frac{\partial C_i(Q_i)}{\partial Q_i} + \tau \beta_i \,\,\, i = L,H$$` Firm choice: `$$\frac{\partial U(Q_H,Q_L)}{\partial Q_i} = MC_i(Q_i) + \lambda(\beta_i-\sigma) \,\,\, i=L,H$$` -- These conditions show us that an intensity standard is .hi[not] efficient -- Why? --- # Intensity standards: efficiency At a social optimum, we want to .hi[tax] both `\(L\)` and `\(H\)` goods because they are both polluting -- But the intensity standard .hi[subsidizes] `\(L\)` -- The intensity standard cannot reach the efficient allocation because it is subsidizing a good that produces a negative externality1 .footnote[ 1Technically it can in the specific case when the `\(L\)` type good does not emit any pollution, `\(\beta_L = 0\)`, but in general this won't be true. ] -- We call policies that can't achieve the social optimum .hi[second-best] --- # Intensity standards: graphical Now lets look at intensity standards graphically A few things you'll need to know: 1. .hi[Iso-profit curves:] ovals that tell us the combinations of `\(Q_H,Q_L\)` that achieve the same profit 2. .hi[Iso-welfare curves:] ovals that tell us the combinations of `\(Q_H,Q_L\)` that achieve the same social welfare --- # Intensity standards: graphical These are like indifference curves for consumers, but are ovals instead of convex curves Why ovals? -- Producing too much can decrease profit and/or welfare so eventually profit starts falling With consumption, more is always better so increasing consumption always moves onto higher ICs --- # Intensity standards: what happens? .pull-left[    ] .pull-right[ The circles are iso-private welfare (iso-profit) curves A is where profit is maximized for the firm The line `\(Q_L = \frac{\beta_H-\sigma}{\sigma-\beta_L}Q_H\)` tells us which combos of `\(Q_L,Q_H\)` satisfy the intensity standard Holland, Hughes, and Knittel (2010) ] --- # Intensity standards: what happens? .pull-left[    ] .pull-right[ The intensity standard forces the firm to produce on the line The highest iso-profit curve it can achieve is at point C This is more `\(Q_L\)` and less `\(Q_H\)` than is optimal, consistent with the subsidy/tax combination implicit in the policy ] --- # Intensity standards: perverse incentives .pull-left[    ] .pull-right[ Intensity standards can actually backfire and increase emissions How? ] --- # Intensity standards: perverse incentives .pull-left[    ] .pull-right[ `\(\beta_H Q_H + \beta_L Q_L = K\)` is the line showing all combinations of `\(Q_L,Q_H\)` that generate `\(K\)` units of emissions K crosses through point `\(A\)` which is the unregulated profit-maximizing choice by the firm Anything to the top right of the line is .hi-red[more emissions] ] --- # Intensity standards: perverse incentives .pull-left[    ] .pull-right[ The regulation induces the firm to move to point `\(C\)` This is slightly less `\(Q_H\)`, but .hi[a lot] more `\(Q_L\)` The increase in emissions from `\(Q_L\)` is more than the decrease from the lowering of `\(Q_H\)` Overall emissions went up! ] --- # Intensity standards: perverse incentives .pull-left[    ] .pull-right[ This perverse outcome was possible because production of the `\(L\)` type was very elastic while the `\(H\)` type was inelastic ] --- # Intensity standards: second-best .pull-left[    ] .pull-right[ What is the best intensity standard? The dashed ovals are the iso-profit curves The solid ovals are the iso-welfare curves Welfare is maximized at point B Profit is maximized at point A ] --- # Intensity standards: second-best .pull-left[    ] .pull-right[ The solid line shows the firm's choices of `\(Q_L,Q_H\)` as we increase the intensity standard `\(\sigma\)` Increasing `\(\sigma\)` pivots the intensity standard counter-clockwise: `\(Q_L = \frac{\beta_H-\sigma}{\sigma-\beta_L}Q_H\)` The optimal intensity standard is the one that lets us get on the highest iso-welfare curve, which is at point `\(C\)` ] --- # Intensity standards: gas flaring .pull-left[    ] .pull-right[ Moving from a flaring intensity standard to tradable permits or a tax generates massive welfare gains! A tax that captures the same quantity of gas would have >40% lower cost than the actual intensity standard ]


If the 'id' parameter is specified, the details will be that of the user. However, if 'id' is not specified, the details will be of the currently logged in user.


CSS Property - Background Attachment
Value: scroll | fixed
Initial: scroll
Applies to: all elements
Inherited: no
Percentage values: N/A
If a background image is specified, the CSS property "background-attachment" determines if the image is in a fixed position in relation to the screen or if it scrolls with the content.
Example:
body{
background-color: red;
background-image:
url(image.gif);
background-repeat: repeat-y;
background-attachment: fixed;
}
CSS1 core: UAs may treat "fixed" as "scroll". However, it is recommended they interpret "fixed" correctly, at least on the "HTML" and "BODY" elements, since there is no way for an author to provide an image only for those browsers that support "fixed". (CSS1 conformance)


Welcome to BotJS by
Sarps
Project Phuture
;
Emmanuel Oppong-Sarpong
, Mechanical Engineering, KNUST-Ghana


MEN
WOMEN
KIDS
BEAUTY
LIVING
DEALS OF THE DAY
MARVEL OFFICIAL MERCHANDISE
Show More
TRENDING FOOTWAER
TRENDING FOOTWAER FOR WOMEN
TRENDING IN ACCESSORIES
Show More
TRENDING IN WESTERN WEAR
CATEGORIES TO BAG
EXPLORE TOP BRANDS


| Date | Name/Number | Message | Amount |
|---|---|---|---|
| 11/21/2017 | Andy Chun | For a better grade! | -HKD50.00 |
| 10/20/2017 | Sherman Smith | Dinner last night! | HKD124.00 |
| 10/18/2017 | +460709876567 | Bus ticket.Thanks for the help! | HKD15.00 |
| 10/18/2017 | ChinaMobile | Order nr #454583937 | -HKD150.00 |
| 10/20/2017 | Gill Bates | Small loan of a million dollars | HKD1000000.00 |
| 10/20/2017 | Gill Bates | Small loan of a million dollars | HKD1000000.00 |
| 10/20/2017 | Gill Bates | Small loan of a million dollars | HKD1000000.00 |
| 10/20/2017 | Gill Bates | Small loan of a million dollars | HKD1000000.00 |


Question: What costs might a team or organization incur in switching stacks? What benefits might they obtain as well?
Angle: Focus on time and money required by maintaining existing tech strategy or adopting a new one.
Topic 2: Team Dynamics
Question: What reactions might team members have to a technical shift? How do we support team members through a technical shift?
Angle: Focus on team dynamics, training, and hiring; managing different roles and their needs, desires, and reactions during technical shifts.
Topic 3: Sustainability and Community
Question: How can we determine if a new technology is sustainable for us to adopt? What are some ways to evaluate the robustness of a technology’s community support?
Angle: Focus on how to research, contact, and participate in the open source developer community for a particular technology.


--- layout: post esbma_id: 1500 date: 2004-01-12 12:00:00 keywords: cornsharp title: Dogfooding ---
I manage this weblog with a tool I wrote called CornSharp. It's a bare-bones app which may not ever be useful for anybody but me. Nonetheless, I've had a few requests for the source code.
Meanwhile, I've been wrestling with an issue from my day job: Vault's integration with Visual Studio .NET really needs to improve. We do support this feature, but it has some annoyances and some performance problems.
In fairness to ourselves, the primary reason our IDE integration is lame is that all source control tools are lame when they are integrated into Visual Studio. The concept of having source control inside the IDE is great, but Visual Studio's implementation is really poor. The integration API is awful. It shoehorns every source control tool into a very constraining little box. Vault has a number of advanced features that don't fit in that box very well at all.
But there is another important reason why our IDE client suffers: In general, the developers at SourceGear don't use it. We much prefer using our standalone source control client. It's faster and it has more features. It allows us to take full advantage of all of Vault's capabilities, not just the subset which happens to fit into the source control UI prescribed by Visual Studio.
But a lot of our customers still prefer to do their source control operations inside the IDE. The IDE client is an important part of our product. It deserves to be excellent.
This situation is a great example of how important "dogfooding" is. In a nutshell, dogfooding means "using your own product". A product which is being dogfooded tends to be a lot more polished. When a normal user is annoyed by the product, they can't do anything about it. But when a developer is annoyed by the product, they can stop what they are doing and make the product less annoying.
So we've started trying to dogfood our IDE client more. We are still very constrained by Visual Studio's source control architecture, but within those boundaries, we want our IDE client to be as good as it can be.
As part of this effort, today I moved the CornSharp source code to VaultPub, and I am now using the Vault IDE client for its development. In addition to giving me another way to dogfood the Vault IDE client, the source code for CornSharp is now available.
(For all three of the people on earth who care, you'll need to download the Vault client installer so you can use it to grab a copy of the CornSharp code. Start with your browser pointed at vaultpub.sourcegear.com and follow the instructions.)


%! title = 'App Install' %> <%namespace name="lib" file="//lib.html" import="*"/> <%inherit file="//layout/admin.html" /> <% import splunk from splunk.appserver.mrsparkle.lib import util, i18n appText = 'add-on' if util.isLite() else 'app' %>
${_('The requested app is already installed and no updates are currently available.')} ${_('If you have a newer version of the app stored locally, you may install it by clicking the button below.')}


--- title: Wigner_d_recursion sidebar: function_reference_sidebar permalink: Wigner_d_recursion.html folder: function_reference toc: false ---
Compute Wigner-d matrices by recursion formula. Therefore it is possible to generate a Wigner-d matrix by input of the two Wigner-d matrices with next smaller harmonic degree. It is also possible to calculate all Wigner-d matrices up to given harmonc degree L.
| L | harmonic degree |
| beta | second Euler angle |
| dlmin1,dlmin2 | Wigner-d matrices of harmonic degree L-1 and L-2 |
| dmn | Wigner d matrix d^L_(m,n) |
| or cell | array of all Wigner-d matrices up to harmonic degree L |


Installation¶
Prerequisites¶
Python interpreter
Adjust your path
Packaging tools
Python interpreter¶
Install Python for your operating system. Consult the official Python documentation for details.
You can install the Python binaries from python.org. Alternatively on macOS, you can use the homebrew package manager.
$ brew install python3
Adjust your path¶
Ensure that your bin
folder is on your path for your platform. Typically ~/.local/
for UNIX and macOS, or %APPDATA%\Python
on Windows. (See the Python documentation for site.USER_BASE for full details.)
UNIX and macOS¶
For bash shells, add the following to your .bash_profile
(adjust for other shells):
# Add ~/.local/ to PATH
export PATH=$HOME/.local/bin:$PATH
Remember to load changes with source ~/.bash_profile
or open a new shell session.
Windows¶
Ensure the directory where cookiecutter will be installed is in your environment’s Path
in order to make it possible to invoke it from a command prompt. To do so, search for “Environment Variables” on your computer (on Windows 10, it is under System Properties
–> Advanced
) and add that directory to the Path
environment variable, using the GUI to edit path segments.
Example segments should look like %APPDATA%\Python\Python3x\Scripts
, where you have your version of Python instead of Python3x
.
You may need to restart your command prompt session to load the environment variables.
See also
See Configuring Python (on Windows) for full details.
Unix on Windows
You may also install Windows Subsystem for Linux or GNU utilities for Win32 to use Unix commands on Windows.
Packaging tools¶
pip
and setuptools
now come with Python 3 >=3.6. See the Python Packaging Authority’s (PyPA) documentation Requirements for Installing Packages for full details.
Install cookiecutter¶
At the command line:
$ python3 -m pip install --user cookiecutter
Or, if you do not have pip:
$ easy_install --user cookiecutter
Though, pip is recommended.
Or, if you are using conda, first add conda-forge to your channels:
$ conda config --add channels conda-forge
Once the conda-forge channel has been enabled, cookiecutter can be installed with:
$ conda install cookiecutter
Alternate installations¶
Homebrew (Mac OS X only):
$ brew install cookiecutter
Pipx (Linux, OSX and Windows):
$ pipx install cookiecutter
Debian/Ubuntu:
$ sudo apt-get install cookiecutter
Upgrading from 0.6.4 to 0.7.0 or greater¶
First, read History in detail. There are a lot of major changes. The big ones are:
Cookiecutter no longer deletes the cloned repo after generating a project.
Cloned repos are saved into ~/.cookiecutters/.
You can optionally create a ~/.cookiecutterrc config file.
Upgrade Cookiecutter either with easy_install:
$ easy_install --upgrade cookiecutter
Or with pip:
$ python3 -m pip install --upgrade cookiecutter
Then you should be good to go.


Our dream is to build an architecture which is easy to design and easy to adopt to other applications.
By using the Abstract DAO Pattern, as less code as possible have to be written.
Flexible Frontend because of Restful Webservices
By using restful webservices, you are completely free to choose the frontend technologie you want.
Easy Job for Webdesigners
Nearly no Java-Knowledge is needed to design the application.


Go Channel Axioms
Dec 14, 2015A while ago I was watching a tech talk by Blake Caldwell on Building Resilient Services with Go. In his presentation he had a slide which listed go channel axioms. I have listed his channel axioms here and provided some short code snippets to hopefully clarify them.
A send to a nil channel blocks forever
var ch chan bool
ch <- true // will always block
We declare a channel ‘ch’ but do not initialize it (with make), so it is a nil channel. We then attempt to send a value down the channel, this causes a blocking operation.
A receive from a nil channel blocks forever
var ch chan bool
v := <-ch // will always block
We declare a channel ‘ch’ but do not initialize it (with make), so it is a nil channel, We then attempt to receive a value from the channel, this causes a blocking operation.
A send to a closed channel panics
ch := make(chan bool)
...
close(ch)
...
ch <- true // panics!
We initialize a channel ‘ch’ then later close the channel, and then later attempt to send a value down the channel. This causes a panic, and we receive a stack trace. In this case, before we send a value down the channel, we may want check if the channel is open:
if v, ok := <-ch; ok {
// ch is open
}
A receive from a closed channel returns the zero value immediately
ch := make(chan int)
...
close(ch)
...
v := <-ch // v = 0
We initialize a channel ‘ch’ then later close the channel, and then later attempt to receive a value from the channel. This causes the zero value to be returned immediately, this is a non-blocking operation.


Treps
This is a popup message goes away after
seconds.
Device Info
storage available:
content
Device Info
Contact Info
Exit
toggle the popup
a
b
c
real name:
| email:
| twitterhandle:
Lookup a Trep
Get Trep List


Waiting...
Waiting Office...
Waiting...
Waiting Office...
Waiting...
Waiting Office...
Waiting...
Waiting Office...


Merging¶
A rather complex operation involves merging new waypoints into an existing chartplotters set of waypoints.
The reason it’s interesting is the need to remove duplicates.
Simple duplication by name is a potential problem. However, names are not really required to be globally unique. Because routes include copies of selected waypoints – chosen by location – there’s no reason for a name to be globally unique.
The duplicates must be flagged by location. Two names for the same waypoint are more of a problem than two waypoints named “Fish Trap”.
Data Model¶
There are two inputs:
An extract from the new chartplotter. This has some initial points, and some manually-entered points. These points should be preserved without (much) modification.
The data is in GPX notation because that’s what the new chartplotter emits.
The JSON capture from the legacy chartplotter. This can be transformed into GPX format so that it’s all consistent.
The merged data is a list of waypoints, in GPX. This is a new file, the merged waypoints to be uploaded to the new chartplotter to create happy boaters, and complete the user story.
What about routes?
They’re much easier to deal with. They tend to be much less volatile. A route modification is (actually) a relatively infrequent event.  Discussed separately.
Process¶
We have the legacy waypoints on a MicroSD card from the chartplotter.
We have the new waypoints captured on a laptop computer.
The default filenames are wired into the waypoint_merge
application.
It would be good to generalize this to work with other filenames.
PYTHONPATH=. python3 -m nmeatools.waypoint_merge >merged_waypoints.gpx
The output is list of unique waypoints that are copied back to the MicroSD card for upload.
Example¶
MacBookPro-SLott:NMEA-Tools slott$ PYTHONPATH=. python3 -m nmeatools.waypoint_merge >merged_waypoints.gpx
INFO:merge:MASTER
INFO:merge:UPDATE
INFO:merge:CHES 59A near 0.0002 Chesapeake 59A
INFO:merge:GWICO 1 near 0.0002 Great Wicomico 1
INFO:merge:GWICO 2 near 0.0002 Great Wicomico Light
...
This shows waypoints in the update file with names like 'CHES 59A'
which are very close to existing waypoints with names like 'Chesapeake 59A'
.
The distance of 0.0002 NM is about 1 foot.
The practical threshold for GPS without careful correction is 25.6ft, about 7.8m, 95% of the time. We use a wider factor of about 32ft (about 9.7m) to determine that two waypoints appear to be the same.


open_null_stream/1
open_null_stream(
-Stream)
opens an output text stream that is not connected to any file and unifies its stream object with Stream.
Characters or terms that are sent to this stream are thrown away.
This predicate is useful because various pieces of local state are
kept for null streams: the predicates
character_count/2
, line_count/2
, and
line_position/2
can be used on these streams.


| File | Statements | Branches | Functions | Lines | |||||
|---|---|---|---|---|---|---|---|---|---|
| buffering/ | 65% | 13/20 | 0% | 0/2 | 37.5% | 3/8 | 66.67% | 12/18 | |
| controls/ | 80.33% | 49/61 | 75% | 9/12 | 60% | 9/15 | 81.82% | 45/55 | |
| controls/vg-fullscreen/ | 64.52% | 20/31 | 20% | 2/10 | 40% | 4/10 | 66.67% | 18/27 | |
| controls/vg-mute/ | 69.7% | 23/33 | 50% | 8/16 | 50% | 5/10 | 73.33% | 22/30 | |
| controls/vg-play-pause/ | 70.97% | 22/31 | 36.36% | 4/11 | 50% | 5/10 | 75% | 21/28 | |
| controls/vg-playback-button/ | 63.33% | 19/30 | 20% | 2/10 | 40% | 4/10 | 66.67% | 18/27 | |
| controls/vg-quality-selector/ | 47.06% | 8/17 | 0% | 0/6 | 0% | 0/7 | 57.14% | 8/14 | |
| controls/vg-scrub-bar/ | 75.86% | 66/87 | 60.27% | 44/73 | 72.73% | 16/22 | 77.11% | 64/83 | |
| controls/vg-scrub-bar/vg-scrub-bar-buffering-time/ | 69.57% | 16/23 | 66.67% | 6/9 | 42.86% | 3/7 | 75% | 15/20 | |
| controls/vg-scrub-bar/vg-scrub-bar-cue-points/ | 70.21% | 33/47 | 60% | 12/20 | 50% | 5/10 | 72.73% | 32/44 | |
| controls/vg-scrub-bar/vg-scrub-bar-current-time/ | 66.67% | 12/18 | 25% | 1/4 | 42.86% | 3/7 | 73.33% | 11/15 | |
| controls/vg-time-display/ | 46.15% | 18/39 | 42.86% | 6/14 | 37.5% | 3/8 | 47.22% | 17/36 | |
| controls/vg-track-selector/ | 82.35% | 28/34 | 50% | 3/6 | 69.23% | 9/13 | 86.67% | 26/30 | |
| controls/vg-volume/ | 71.11% | 32/45 | 44.44% | 8/18 | 57.14% | 8/14 | 73.81% | 31/42 | |
| core/events/ | 100% | 2/2 | 100% | 0/0 | 100% | 0/0 | 100% | 2/2 | |
| core/services/ | 88.46% | 184/208 | 71.08% | 59/83 | 88.46% | 46/52 | 88.24% | 180/204 | |
| core/states/ | 100% | 2/2 | 100% | 0/0 | 100% | 0/0 | 100% | 2/2 | |
| core/vg-cue-points/ | 50% | 18/36 | 0% | 0/4 | 40% | 4/10 | 51.52% | 17/33 | |
| core/vg-media/ | 57.09% | 141/247 | 32.93% | 27/82 | 51.61% | 32/62 | 57.08% | 137/240 | |
| core/vg-player/ | 87.1% | 27/31 | 100% | 4/4 | 42.86% | 3/7 | 88.89% | 24/27 | |
| overlay-play/ | 77.08% | 37/48 | 61.54% | 8/13 | 33.33% | 4/12 | 79.07% | 34/43 |


| Beyonwiz::WizPnP |
use Beyonwiz::WizPnP;
Provides access data for the Beyonwiz devices on the local network using WizPnP.
DESC
The URL path part for the WizPnP device descriptor
document on the Beyonwiz PVR (tvdevicedesc.xml
;
SSDPADDR
The IP multicast address used for Simple Service Discovery Protocol
(SSDP) used to search for PnP devices (<IP_ADDRESS>
).
SSDPPORT
The IP multicast port number used for Simple Service Discovery Protocol
(SSDP) used to search for PnP devices (1900
);
SSDPPEER
SSDPADDR:<SSDPPORT>; <IP_ADDRESS>:1900
Beyonwiz WizPnP servers appear to only wait about 40ms =item C<SSDPNPOLL>
Default maximum number of SSDP search requests (3). Maximum time for a search to complete ~= SSDPNPOLL * SSDPTIMEOUT = 0.9 sec
SSDPMAXDELAY
Default maximum random delay (3 seconds, integer) that a responding SSDP server may insert before replying. The Beyonwiz WizPnP server seems to ignore this, and replys in about 35-40ms.
SSDPTIMEOUT
Default time to wait (0.3 sec) for an SSDP response.
Should be > SSDPMAXDELAY
, but testing shows 0.3 sec to be adequate
with SSDPNPOLL
set to 3.
See comment about response delay in /SSDPMAXDELAY
.
SSDPPOLLTIME
Response polling timeout granularity (0.1 sec).
Beyonwiz::WizPnP->new
Create a new Beyonwiz WizPnP search object.
$wpnp->maxDevs([$val]);
Returns (sets) the maximum number of devices to search for. If set to 0, the search is unlimited, and runs until it times out. Defaults to 0.
$wpnp->devices([$val]);
Returns (sets) the reference to the hash of discovered devices
(Beyonwiz::WizPnPDevice
),
indexed by the lower-case version of the device name.
$wpnp->wizpnpPoll([$val]);
Returns (sets) the maximum number of search requests sent by
$wpnp->search();
before terminating the search.
Defaults to SSDPNPOLL
.
$wpnp->useLongNames([$val]);
Returns (sets) the flag to use the long or short form of device names in searches and name functions. Defaults to false.
$wpnp->wizpnpTimeout([$val]);
Returns (sets) the maximum timeout used when waiting for a respnse to a WizPnP SSDP device search request. Defaults to SSDPTIMEOUT sec.
$wpnp->httpTimeout([$val]);
Returns (sets) the timeout used when fetching the Beyonwiz device descriptor
using HTTP. Defaults to undef
. When set to undef
uses the LWP
default timeout (180 sec).
$wpnp->deviceNames;
Returns the list of discovered device names. All lower-cased. No particular order.
$wpnp->device($name);
Return the named device's
Beyonwiz::WizPnPDevice
entry.
Lookup is case-insensitive.
$wpnp->ndevices;
Returns the number of discovered devices.
$wpnp->addDevice($location);
Request the device description XML from the URL
given in $location
, and install the
device Beyonwiz::WizPnPDevice
into $wpnp
.
$location
is typically the LOCATION
header in the
response to an SDDP M-SEARCH
request.
Returns the index name of the device (as in $wpnp->deviceNames;
)
if successful, undef
otherwise.
$wpnp->process($data);
Process an SDDP M-SEARCH
response
(or, for now, an SSDP NOTIFY
message) in $data
,
and install the device pointed to by the LOCATION
header
in the message.
Returns the index name of the device (as in $wpnp->deviceNames;
)
if the message contained an installable SSDP device, undef
otherwise.
$wpnp->sort;
Sort the devices by name, then host number, then port.
$wpnp->search;
Search the local net for Beyonwiz PnP devices and install
them in $wpnp
.
If $wpnp->maxDevs
non-zero, terminate
the search when $self->maxDevs
devices have been installed,
otherwise search until the search times out.
Sorts the device entries using $wpnp->sort;
.
Returns the number of devices found.
$wpnp->_quietLocation([$val]);
Returns (sets) a flag to suppress some warning messages during device location specifier processing. Intended for use by derived clases when they are testing for the presence of a Beyonwiz device and will take recovery action.
$wpnp->_requestSock([$val]);
Returns (sets) the multicast socket on which WizPnP's SSDP search
requests are sent.
Normally set by $wpnp->_openRequestSock();
and $wpnp->_closeRequestSock();
.
$wpnp->_responseSock([$val]);
Returns (sets) the socket on which WizPnP's SSDP search
responses are received.
Normally set by $wpnp->_openResponseSock();
and $wpnp->_closeResponseSock();
.
$wpnp->_responsePort([$val]);
Returns (sets) the port on which WizPnP's SSDP search
requests were sent and on which its responses are received.
Normally set by $wpnp->_openRequestSock();
and $wpnp->_openRequestSock();
.
$wpnp->_request([$val]);
Returns (sets) the HTTP::Request
that will be sent
by WizPnP's SSDP search requests.
Normally set in the class constructor.
$wpnp->_openRequestSock;
Opens the multicast socket on which WizPnP's SSDP search
requests are sent.
Also sets $wpnp->_requestSock;
and $wpnp->_responsePort;
$wpnp->_closeRequestSock;
Closes the socket on which WizPnP's SSDP search
requests are sent.
Sets $wpnp->_requestSock;
to undef
.
$wpnp->_openResponseSock();
Opens the socket on which WizPnP's SSDP search
responses are received.
Sets $wpnp->_responseSock;
to undef
.
$wpnp->_closeResponseSock();
Opens the socket on which WizPnP's SSDP search
responses are received.
Sets $wpnp->_responseSock;
and $wpnp->_responsePort;
to undef
.
Beyonwiz::WizPnP::_isMacOs
Returns true if the system runnung is MacOS X or Darwin.
Beyonwiz::WizPnP::_netmask
Returns the local interface netmask, if known. Defaults to <IP_ADDRESS>.
Uses packages:
Beyonwiz::WizPnPDevice
,
IO::Socket::Multicast
,
IO::Select
,
IO::Interface::Simple
,
HTTP::Response
,
HTTP::Request
,
HTTP::Status
,
LWP::Simple
,
URI
,
XML::DOM
Time::HiRes
.
IO::Socket::Multicast
is not available in ActivePerl's
PPM for Windows, see README.txt for a download location.
Beyonwiz::Recording::WizPnP->new
will die with a
message suggesting workarounds if IO::Socket::Multicast
can't be loaded.
| Beyonwiz::WizPnP |


--- layout: layout-site title: Atlanta Lindy Exchange menu: full ---
It'll be a blast. We promise.
This is a paragraph. It's regular body text. "My word," the Hat said. "What a peculiar mind. I certainly do love a challenge! Let's see what we have to work with here. Smart, certainly. But you're not the Ravenclaw type. They care only for books and spells, not creativity and ingenuity. Hufflepuff is a possibility; you seem like a fine fellow. But there's a vein of courage and pride that that dear Helga would not have approved of. No, no: that's Gryffindor's expertise."  Everyone wanted to be in Gryffindor; that was the house of Harry and Hermoine and Ron!


Pair programming
Why and how?
+ Why will cover the management and general workflow first then the pure
programming benefits;
+ Second part: How can we improve our technics
Arguments against...
Is it just a technique where one person programs and the other watches?
Product: Devs are scarce resources, why doubling the number of people for one task?
Experienced programmer: Code is "personal", and working with someone will only slow me down
+ Why should I use PP? What are the benefits?
+ But before to answer that let me tell you what I think/thought about it.
+ Some dev even said: I choosed to be developer to not have to talk to someone
Xtreme Programming
Approach of Agile
@Geckoboard we are using some part of it
Responsive to changing customer requirement (for us product)
+ Agile, scrum and Xtreme programming: Really flou
+ Set of practices conform to values & principles of Agile
**Our flow**
+ Need to go back to our current development flow:
Feedback Loop
PP 🆕
TDD
Code review 🙋
CI
Deployment
QA 🙋
All familiar with methodology: [start from deployment]
Continuous feedback on each step
+ What about the first line of code => Pair Programming!
+ See this as continuous code review
Kanban 🐘🔪
Limit # of WIP tasks
Kanban: Aims to improve our flow of work by removing the friction. Carpaccio
Limit the number of work in progress task in order to have a continuous flow of work
+ Product: Easier to follow from a product point of view
+ Avoid overwheelming one developer. PP can help that
* Should help us to go faster 15min rules!
cl: Continuous flow!
+ [JDID] shared the benefits from a project management point of view
From a technical point of view
Experienced programmer: "Code is 'personal', and working with someone will only slow me down"
+ Now let's focus on what how PP serve developers
+ A lot of mechanisms can be extracted from PP but hightlight some of them
+ Mostly **Driver navigator** technique that I cover here
Rubber duck effect
One of the mechanism that power the PP technique: Programming chat
+ Studies show that explaning a problem loud will help you to solve it
+ Back-and-forth chat should serve to unstick you (15min rules from :squirrel:)
+ Time to celebrate also "highfive"
Notice more details
👀 X 2
+ Mechanism: Pair programmers notice more details
+ Concentrate on the same thing !== notice the same thing
+ No the same prior knowledge or categorisation
+ Ability to catch mistakes and opportunities early on an online code review
+ Cliché: If you're doing it rigth, your screen should be covered with greasy finger-marks by the end of the day
Fighting Poor Practices
👮
**Mechanism: Fighting Poor practices**
Pair pressure to enforce best practices and avoid short cuts
+ Example of TDD [Share past experience]
* Small commit. Tip Break will help you to split your commit. Easier to detect an end-to-end part of the feature while pairing
Sharing Knowledge
General knowlege about code (framework, library, language...)
Tips and tools (Vagrant, plugin ...)
Business knowledge!
Mechanism: Sharing and judging expertise
+ You can learn a LOT from your peer. Sharing tricks
+ Resilience in the team (Holiday or sick)
+ A good challenge for introverts developers
How?
Environment
Editor + keyboard(s)
You need space!
Good environment is key to good programming.
Take all the space you need don't stay up in a corner
+ Sit comfortably (with plenty of space for your feet and arms) side by side.
Use your own keyboard if you feel more confortable
Editor is important. Vimer you are lucky. You can install your own .vim session
Tips: Which one should drive? The Least experienced developer! He needs to learn by doing
Flexibility
Pair switching
Keep fresh perpective
Try to sync, if one of you need a break do not continue to work by yourself
Organise session in advance
Rotate every two hours: However, pair fatigue means they’ll ultimately be much less productive
Pairing == Tiring
You need to take breaks!
Pomodoro?
🍅
Pairing is more tiring because less natural breaks
+ Pomodoro 25 + 5 min
Never used but seems to be good while pairing
Remote Pairing
Bunch of tools: Tmux, Vim, Hangout, Mosh etc..
Something we should improve. Tools should not be an excuse to not pairing
Happy to take a look at this if we want to go in that direction
When should I pair?
+ Correlated with difficulty. [ Draw diagram on the board ]
+ When important to share knowledge like refactoring
Example with Carl's refactoring
+ Also pairing is **fun**! => Illustration
Let's pair!
👯;
Covered Driver + Navigator
To go further: Other techniques:
+ Ping Pong: Test / code
+ Ball and board: One have the mouse the other the keyboard
## Sources
+ How pair programming really works, *Stuart Wray*, Royal School of Signals
+ The Costs and Benefits of Pair Programming, *Alistair Cockburn*, *Laurie Williams*


Leonardo’s Notebook
问题描述 :
―How do you know it is genuine?
― Oh, it must be, at that price. And it is written in the da Vinci code. Sarah browsed a few of the pages. It was obvious to her that the code was a substitution cipher, where each letter of the alphabet had been substituted by another letter.
―Leonardo would have written the plain-text and left it to his assistant to encrypt, she said. And he must have supplied the substitution alphabet to be used. If we are lucky, we can find it on the back cover!
She turned up the last page and, lo and behold, there was a single line of all 26 letters of the alphabet:
QWERTYUIOPASDFGHJKLZXCVBNM
― This may be Leonardo’s instructions meaning that each A in the plain-text was to be replaced by Q, each B withW, etcetera. Let us see… To their disappointment, they soon saw that this could not be the substitution that was used in the book. Suddenly, Stan brightened.
― Maybe Leonardo really wrote the substitution alphabet on the last page, and by mistake his assistant coded that line as he had coded the rest of the book. So the line we have here is the result of applying some permutation TWICE to the ordinary alphabet! Sarah took out her laptop computer and coded fiercely for a few minutes. Then she turned to Stan with a sympathetic expression.
― No, that couldn’t be it. I am afraid that you have been duped again, my friend. In all
probability, the book is a fake. Write a program that takes a permutation of the English alphabet as input and decides if it may be the result of performing some permutation twice.
输入:
输出:
样例输入:
2 QWERTYUIOPASDFGHJKLZXCVBNM ABCDEFGHIJKLMNOPQRSTUVWXYZ
样例输出:
No Yes
#include <iostream> #include <string.h> using namespace std; int c[30],vis[30]; char a[30]; int main() { int T; cin>>T; while(T--) { int i,j,k,t,flag=0; cin>>a; memset(c,0,sizeof(c)); memset(vis,0,sizeof(vis)); for(i=0;i<26;i++) { if(vis[i])continue; t=1; vis[i]=1; j=i; while(a[j]-'A'!=i) { t++; j=a[j]-'A'; vis[j]=1; } c[t]++; } for(i=2;i<=26;i+=2) if(c[i]%2==1){flag=1;break;} if(flag)cout<<"No"<<endl; else cout<<"Yes"<<endl; } } /* (a1,a2,a3)就是a1->a2,a2->a3,a3->a1 (a1,a2,a3)*(a1,a2,a3)就是a1->a2->a3,a2->a3->a1,a3->a1->a2=(a1,a3,a2) (b1,b2,b3,b4)*(b1,b2,b3,b4)就是b1->b2->b3,b2->b3->b4,b3->b4->b1,b4->b1->b2=(b1,b3)(b2,b4) 本题求得是是否存在A*A=B，B为输入的置换 通过研究我们可以得出,奇数长度相同循环相乘还是奇数循环， 偶数长度n相同循环相乘会分裂成两个长度为n/2的循环 所以本题本题我们只要找B中偶数循环中是否出现奇数个，出现就是No，否则Yes。 因为奇数循环可以由相同长的奇数循环相乘得到，而偶数循环只能是成对的，由偶数循环相乘分裂得到。 */
解题转自：http://blog.csdn.net/a601025382s/article/details/9817917
好的，多谢指出
第一题是不是可以这样想，生了n孩子的家庭等价于n个家庭各生了一个1个孩子，这样最后男女的比例还是1:1
失误失误，转载错了。已经改正，抱歉。
对，还是这种实现比较好理解。虽然效率有点低
太好了，收藏
这排版…你都打开来看看改改
有意思，有难度
程序是错的吧，明显没有判断不和该节点相邻的其他节点是否相互相邻
已更正。
看似简单，还是不少坑的
very good solutions.
“可以发现,树将是满二叉树,”这句话不对吧，构造的树应该是“完全二叉树”，而非“满二叉树”。
思路二可以用一个长度为k的队列来实现，入队后判断下队尾元素的next指针是否为空，若为空，则出队指针即为所求。
学习了。找到这题


{% extends 'tweet_display/application.html' %} {% block content %} {% if oh_id == current_user_oh_id %} {% include 'tweet_display/partials/graph_status.html' %} {%endif%}
Tweets come with a lot of metadata these days. Amongst the most powerful and/or interesting kinds is the location data that many of us attach to our tweets. Twitter and Third-party Twitter clients allow the use of exact latitude/longitude for the location-data that is being associated with tweets. Thanks to this a Twitter archive can give a good overview of where all those tweets have been sent from. Be it tweets from our sofa, out of the office or while traveling and posting the holiday snapshots.
This map visualizes all tweets out of the Twitter archive that have a latitude and longitude attached to them. It converts them into a simple heatmap. Regions with many tweets are shown in red, while regions with less tweets are given in blue. The exact scale depends on the zoom level. Zoom in to see exactly where you sent all these posts from. Can you identify the main places you post from?
Not all tweets come with geo locations enabled. But all geotagged tweets come with a time stamp of when they have been posted. This allows us to add another dimension to these maps: The time when they were posted, enabling us to have a movie that can serve as a proxy of movement across the globe.
Instead of converting the geotagged tweets into a heatmap, this map shows the movement profile by turning a Twitter archive into an interactive map visualization. Press play to start the movement. Each geotagged tweet will appear as a pink blip on the map on the day it was posted. To make them more visible each tweet will stay on the map for 28 days.


The list below has 4 list items. NVDA reports 7 list items, because it's counting the whitespace between the <li> elements in the source code when calculating the number of items. This seems to only happen when the list items are styled with display: inline;
Below is the same list, now without any white space between the <li> elements. Eventhough the actual mark up has not changed, NVDA now correctly counts 4 items in the list.
Below is the same list again, but this time the list items are not styled using display:inline;
NVDA should correctly count the actual number of list items, regardless of the white space between them.


To confirm that you'd like to cancel your membership just click the button below.
Note: you'll still be an active member until your current subscription period ends.


Module
Base neural network module class.
tf.compat.v1.Module
tf.compat.v2.Module
A module is a named container for tf.Variable
s, other tf.Module
s and
functions which apply to user input. For example a dense layer in a neural
network might be implemented as a tf.Module
:
class Dense(tf.Module): def __init__(self, in_features, output_features, name=None): super(Dense, self).__init__(name=name) self.w = tf.Variable( tf.random.normal([input_features, output_features]), name='w') self.b = tf.Variable(tf.zeros([output_features]), name='b') def __call__(self, x): y = tf.matmul(x, self.w) + self.b return tf.nn.relu(y)
You can use the Dense layer as you would expect:
d = Dense(input_features=64, output_features=10) d(tf.ones([100, 64])) #==> <tf.Tensor: ...>
By subclassing tf.Module
instead of object
any tf.Variable
or
tf.Module
instances assigned to object properties can be collected using
the variables
, trainable_variables
or submodules
property:
d.variables #==> (<tf.Variable 'b:0' ...>, <tf.Variable 'w:0' ...>)
Subclasses of tf.Module
can also take advantage of the _flatten
method
which can be used to implement tracking of any other types.
All tf.Module
classes have an associated tf.name_scope
which can be used
to group operations in TensorBoard and create hierarchies for variable names
which can help with debugging. We suggest using the name scope when creating
nested submodules/parameters or for forward methods whose graph you might want
to inspect in TensorBoard. You can enter the name scope explicitly using
with self.name_scope:
or you can annotate methods (apart from __init__
)
with @tf.Module.with_name_scope
.
class MLP(tf.Module): def __init__(self, input_size, sizes, name=None): super(MLP, self).__init__(name=name) self.layers = [] with self.name_scope: for size in sizes: self.layers.append(Dense(input_size=input_size, output_size=size)) input_size = size @tf.Module.with_name_scope def __call__(self, x): for layer in self.layers: x = layer(x) return x
__init__
__init__(name=None)
Initialize self. See help(type(self)) for accurate signature.
name
Returns the name of this module as passed or determined in the ctor.
NOTE: This is not the same as the self.name_scope.name
which includes
parent module names.
name_scope
Returns a tf.name_scope
instance for this class.
submodules
Sequence of all sub-modules.
Submodules are modules which are properties of this module, or found as properties of modules which are properties of this module (and so on).
a = tf.Module() b = tf.Module() c = tf.Module() a.b = b b.c = c assert list(a.submodules) == [b, c] assert list(b.submodules) == [c] assert list(c.submodules) == []
A sequence of all submodules.
trainable_variables
Sequence of variables owned by this module and it's submodules.
Note: this method uses reflection to find variables on the current instance and submodules. For performance reasons you may wish to cache the result of calling this method if you don't expect the return value to change.
A sequence of variables for the current module (sorted by attribute name) followed by variables from all submodules recursively (breadth first).
variables
Sequence of variables owned by this module and it's submodules.
Note: this method uses reflection to find variables on the current instance and submodules. For performance reasons you may wish to cache the result of calling this method if you don't expect the return value to change.
A sequence of variables for the current module (sorted by attribute name) followed by variables from all submodules recursively (breadth first).
with_name_scope
@classmethod with_name_scope( cls, method )
Decorator to automatically enter the module name scope.
class MyModule(tf.Module): @tf.Module.with_name_scope def __call__(self, x): if not hasattr(self, 'w'): self.w = tf.Variable(tf.random.normal([x.shape[1], 64])) return tf.matmul(x, self.w)
Using the above module would produce tf.Variable
s and tf.Tensor
s whose
names included the module name:
mod = MyModule() mod(tf.ones([8, 32])) # ==> <tf.Tensor: ...> mod.w # ==> <tf.Variable ...'my_module/w:0'>
method
: The method to wrap.The original method wrapped such that it enters the module's name scope.


A reference to an open file.
More...
HFFileReference encapsulates a reference to an open file. Multiple instances of HFFileByteSlice may share an HFFileReference, so that the file only needs to be opened once.
HFFileReference is an abstract class. You must instantiate HFConcreteFileReference.
All HFFileReferences use non-caching IO (F_NOCACHE is set).
§ initWritableWithPath:error:()
| - (instancetype) initWritableWithPath: |
|
(NSString *) |
path |
| error: |
|
(NSError **) |
error |
|
|
| |
Open a file for reading and writing at the given path. The permissions mode of any newly created file is 0644. Returns nil if the file could not be opened, in which case the error parameter (if not nil) will be set.
§ initWithPath:error:()
| - (instancetype) initWithPath: |
|
(NSString *) |
path |
| error: |
|
(NSError **) |
error |
|
|
| |
Open a file for reading only at the given path. Returns nil if the file could not be opened, in which case the error parameter (if not nil) will be set.
§ close()
§ readBytes:length:from:()
| - (void) readBytes: |
|
(unsigned char *) |
buff |
| length: |
|
(NSUInteger) |
length |
| from: |
|
(unsigned long long) |
offset |
|
|
| |
Reads from the file into a local memory buffer. The sum of the length and the offset must not exceed the length of the file.
- Parameters
-
| buff | The buffer to read into. |
| length | The number of bytes to read. |
| offset | The offset in the file to read. |
§ writeBytes:length:to:()
| - (int) writeBytes: |
|
(const unsigned char *) |
buff |
| length: |
|
(NSUInteger) |
length |
| to: |
|
(unsigned long long) |
offset |
|
|
| |
Writes data to the file, which must have been opened writable.
- Parameters
-
| buff | The data to write. |
| length | The number of bytes to write. |
| offset | The offset in the file to write to. |
- Returns
- 0 on success, or an errno-style error code on failure
§ length()
| - (unsigned long long) length |
|
|
|
Returns the length of the file, as a 64 bit unsigned long long.
§ setLength:error:()
| - (BOOL) setLength: |
|
(unsigned long long) |
length |
| error: |
|
(NSError **) |
error |
|
|
| |
Changes the length of the file via ftruncate
. Returns YES on success, NO on failure; on failure it optionally returns an NSError by reference.
§ isEqual:()
| - (BOOL) isEqual: |
|
(id) |
val |
|
isEqual: returns whether two file references both reference the same file, as in have the same inode and device.
§ isPrivileged
§ isFixedLength
The documentation for this class was generated from the following file:


The contents of this panel are transmitted to Supplier with every order.
To use FBA your supplier code MUST be named "FBA"
The welcome message is displayed in the customer portal for members of this pricing schedule.
Please select a warehouse from the list below prior to using a WMS utility.
It appears you have not created any warehouses. Please create a warehouse through utilities » warehouse manager prior to using this interface.


Web Developer
My name is Luke Poirrier, and I currently reside in North Georgia. I have over 10 years of experience in various types of coding. Since I was in grade school, I've been infatuated with writing code and creating web sites. I am currently enrolled at a coding boot camp at the Georgia Institute of Technology(GA Tech) to solidify my foundational knowledge of development.
I have experience in front-end web development, working with technologies like AJAX, Bootstrap, CSS, HTML, JavaScript, JSON, Materialize.css, Node.JS, and various other modern development media. I am currently searching for a role as a Front-end Developer or Jr. Software Engineer. I'm looking to be part of a team that is innovative and challenging. Let's build something wonderful.


Education (College and above, Graduate Year, degree, major and school)
Working experience (Title, Company and Years)
Expectation for this course(Anything you want me to cover in the class)
I'd like to learn how to create an online shopping website. I am a begginer in the website and computer programing so i would like to see examples to follow along in class.


Happening now
Join Twitter today.
By signing up, you agree to the
Terms of Service
and
Privacy
Policy
, including
Cookie Use.
Already have an account? Log in
By signing up, you agree to the
Terms of Service
and
Privacy
Policy
, including
Cookie Use.
Already have an account? Log in


Though the state of Ohio has yet to legalize the use of marijuana products, students at Ohio University looking to find safe, legal marijuana are not left without hope.
State, local and university laws
Recreational use of marijuana is illegal in Ohio, but medical use has been legal since 2016, making Ohio one of 38 states to legally allow people to purchase medical marijuana. However, Ohio decriminalized the possession of 100 grams or less of the drug in 1975.
According to state law, a possession offense of fewer than 100 grams is a misdemeanor with no prison time and a maximum fine of $150. A possession offense of 100 to 200 grams is also a misdemeanor of 30 days in jail and a maximum fine of $250.
In 2017, voters in Athens passed The Athens Cannabis Ordinance with a 77% majority vote. The ordinance officially depenalized misdemeanor marijuana offenses.
According to the ordinance, possession of up to 200 grams of marijuana will result in no fines or court costs. Other misdemeanors with reduced penalties include cultivation or growing 200 grams, gifts of up to 20 grams and possession and sale of paraphernalia.
Despite city laws, Ohio University has strict drug policies for students living on campus. In adherence to the Drug-Free School and Community Act Amendments of 1989, OU has adopted drug and alcohol policies "designed to prevent drug and alcohol problems within the university setting."
Any OU student or employee found to be in possession or illegally using drugs and/or alcohol may be subject to referral for prosecution, termination of employment or referral to the Office of Community Standards and Student Responsibility for violations of the Student Code of Conduct, according to the policy.
Laws in Ohio and Athens and policies at OU all differ on details; however, students still have many options to obtain marijuana.
Cans and cannots about cannabis
Cannabis and marijuana are often used interchangeably, but they refer to different products.
Cannabis refers to all products derived from the plant Cannabis sativa. Marijuana refers to the parts of the plants that contain substantial amounts of tetrahydrocannabinol (also known as THC), according to the National Center for Complementary and Integrative Health.
The 2018 Federal Farm Bill states that hemp, defined as cannabis, and derivatives of cannabis below a 0.3% Delta-9 THC dry weight, is federally legal. The law was then enacted into Ohio state law through Ohio Senate Bill 57.
Nicholas Marie, the owner of Buddy's Bud Co. and Buddy's Lounge, focuses on creating products from hemp in adherence with the bill. Those differ from products derived from marijuana, which are required to be purchased at legal dispensaries.
With locations in Pennsylvania, West Virginia and Ohio, Marie said he started his company as an alternative to the bar scene on college campuses. Buddy's offers beverages, edibles, cartridges, flowers and concentrates.
Marie said his company focuses on creating products from naturally derived cannabinoids, and his goal is to hold higher standards for his products than large private equity funds in the marijuana industry.
"If I'm able to establish a brand name, a quality control standard and a pipeline for locally grown products, which I've been able to do, I'm going to be looked at more favorably," Marie said.
All of Buddy's branded products are sourced from three different farms across Pennsylvania, except edibles. The company's edibles are sourced from partner farms in West Virginia. According to Buddy's Bud Co. website, all Buddy's branded products are tested by ACS Laboratory, which is one of the only Drug Enforcement Administration-certified testing facilities in the country.
"We rely on lab tests from reputable labs, but also only source from very reputable partners so there's no potential mix-ups," Marie said.
Although the 2018 Federal Farm Bill does not provide any age requirements for users, consumers are required to be at least 18 years old to purchase products from Buddy's Bud Co. and Buddy's Lounge.
Pursuant to the 2018 Federal Farm Bill, hemp-derived Delta-8 and Delta-9 THC products are legal in Ohio and can be found at Buddy's Lounge. Delta-8, also known as "diet weed," has comparable psychoactive properties to Delta-9 but typically has less intense effects.
“(Delta-8 THC) is one oxygen bond away from being true Delta-9 THC,” Marie said. "So, that missing oxygen bond is going to make it about 33% less psychoactive."
Marie said the main difference between hemp-derived products from Buddy's Lounge and marijuana-derived products from out-of-state legal dispensaries is the effects.
"The desired effect is definitely going to be significantly more mild than what you're expected to see in Michigan, but for a lot of people, it has the desired effect," Marie said. "The way we do things is that (consumers) are going to achieve that effect safely compared to going anywhere else in this market until it becomes recreational."
Marijuana in Michigan
Though recreational marijuana is illegal in Ohio, 21 states have legalized the drug, including the neighboring state of Michigan.
Michigan became the first Midwestern state to allow medical and recreational marijuana use in 2018. Anyone age 21 or older can purchase it, and there are no THC limits on commercially available products. An adult may possess up to 2.5 ounces of marijuana flower, which translates to 70 grams of concentrate, 40 ounces of a solid edible and 90 liquid ounces toward the flower limit.
However, public consumption is not permitted, and individuals cannot cross state lines with the drug, according to the Michigan Marijuana Regulatory Agency. Ohioans can purchase marijuana in Michigan but must consume it before returning to the state.
James Fernandez, a senior studying management information systems, has previously purchased marijuana in Michigan from a dispensary while he was there on a trip.
Fernandez said he smokes the drug as an alternative to drinking because it is more relaxing than going to bars.
"As you get older, you want to go to the bars a little less than you did when you first got to college," Fernandez said. "You've been there, done that."
Though Ohio has options, such as purchasing from Buddy's Lounge or obtaining a medical card, Fernandez said purchasing from a dispensary was an "easy solution" for people who want to indulge in full-strength marijuana without the need for a medical card.
"(Dispensaries) are very readily available in Michigan," Fernandez said. "They're pretty much everywhere."
He described the process of purchasing marijuana as easy as "ordering Chipotle." He said he viewed the dispensary's options online, then he ordered and picked it up from the store after an employee scanned his driver's license.
Medicinal solutions
However, with Ohio's marijuana legislation expansion, some students no longer have to turn to out-of-state dispensaries or even wait until their 21st birthday.
Bella Bolin, a freshman studying retail and fashion merchandising, said she got her medical marijuana card in December 2022 as a Christmas gift after turning 18 in June. She said she had the idea of getting a medical card after listening to her stepdad, a practicing physician, talk about how much the card has helped his patients in a year's time.
"I asked him, 'When I turn 18, do you think that would work for me?' and he was like, 'Absolutely.'" Bolin said. "There's so many different qualifying conditions, but I really like the more natural approach to it and how he recommends it; he's not like prescribing you."
Bolin listed her qualifying conditions as depression, anxiety and post-traumatic stress disorder, which are very common among medical marijuana card applicants.
Brandon Wendel-Oliver, a freshman studying sports management, just received his medical card in early April with the same qualifications as Bolin. Wendel-Oliver said he could easily apply for the card with Veriheal, an online application resource his psychiatrist at Hudson Health Center directed him to. From then on, the process was simple.
Bolin affirmed that her medical card application was also quick and easy. Other than filling out and providing the necessary documents, she said all that is required of an applicant is a same-day 15-minute Zoom call with an expert explaining the uses and benefits of the card.
"It's a very chill and relaxed process," Bolin said. "They just tell you different things that might work for you or what you should try … They send you an informational sheet and then a link to get your card."
The process from beginning to end took just one day, Bolin said. After the Zoom meeting, she gained access to a QR code on her phone that could be used until she eventually received the physical card.
Since receiving the card, Bolin has explored multiple dispensaries in Ohio, including one in her home city of Cincinnati and Harvest of Athens, 711 W. Union St.
"The process in the dispensary was a little intimidating at first," Bolin said. "(It's) very formal but also relaxed at the same time. There are big glass windows, you talk through a microphone, it's kind of like you're at the bank."
Since receiving his medical card, Wendel-Oliver said he has also visited Harvest. He said the staff was very accommodating and provided a personalized experience.
"They just asked me, 'What are you looking for? What do you prefer in the weed you smoke?'" Wendel-Oliver said. "They gave me some products that they thought would be best for me, and it was pretty fast and easy."
Bolin said she usually opts for the mobile order option that Harvest offers. She said the quick pick-up lessens the daunting energy the building exudes.
Bolin added the resources and products Harvest offers to the Athens medical card community are comparable to the dispensaries she has visited in bigger cities like Cincinnati.
"(They have) lots of deals, especially because it is more on the pricey side for some products," Bolin said. "They have a really good selection, a lot of local (products)."
Wendel-Oliver, originally from California, said that the prices of Harvest's products were similar to those of dispensaries in states that have legalized marijuana for recreational use.
Despite the similarities between Ohio's dispensaries and the dispensaries in his home state, Wendel-Oliver said there is one major difference: he can only legally purchase Ohio dispensary products.
He explained California does not recognize medical cards from Ohio, so he cannot use his card when he goes home for the summer. Without a medical card, the legal age for recreational marijuana use is 21.
Though he could technically acquire medical cards in both states, he said it could be too costly. The medical marijuana card fee is $50 annually once one qualifies, which can add up quickly when adding the price of dispensary marijuana products.
“It helps relax me on days where I'm dealing with a lot of anxiety or depression. It definitely helps me at the end of the day to calm down and feel better.”-Brandon Wendel-Oliver, a freshman studying sports management
"I do think that's a little bit much," Wendel-Oliver said. "I feel like it should just be like a one-time thing and not something you have to renew every year."
However, Wendel-Oliver said the significant improvements in his life within the first two weeks alone were enough to make up for the drawbacks of the medical card.
"It helps relax me on days where I'm dealing with a lot of anxiety or depression," he said. "It definitely helps me at the end of the day to calm down and feel better."
Bolin said she visits Harvest about once every two to three weeks as long as she can get a ride to the dispensary. Even though she has only had the medical card for a semester, she said it improved her day-to-day life immensely, and she appreciates that the medication process is on her own terms.
"If I don't use it, it's not like, 'Oh my gosh, I need it,' because the CBD part of it is the healing effect that carries on whether you use it or you don't," Bolin said. "Knowing that what you are using is safe and approved and not completely addictive, as opposed to depression and anxiety medication."
With the prominence of illegal marijuana usage on college campuses, Bolin said it is a relief to know that what she uses is safe and regulated.
"Nowadays, you don't know where it's coming from," Bolin said. "If it's coming from the streets or it's coming from your friend, you never know. I personally feel like it's a lot safer to go this route. It's healthier … Even though it's a little pricier than what you buy on the corner, I definitely think it's a lot more worth it."


20.1 [bayes-candy-exercise] The data used for Figure bayes-candy-figure on page bayes-candy-figure can be viewed as being generated by $h_5$. For each of the other four hypotheses, generate a data set of length 100 and plot the corresponding graphs for $P(h_i{{\,|\,}}{d}_1,\ldots,{d}_N)$ and $P({D}_{N+1}{{\,{=}\,}}{lime}{{\,|\,}}{d}_1,\ldots,{d}_N)$. Comment on your results.
20.2 Repeat Exercise bayes-candy-exercise, this time plotting the values of $P({D}_{N+1}{{\,{=}\,}}{lime}{{\,|\,}}{h_{{\rm MAP}}})$ and $P({D}_{N+1}{{\,{=}\,}}{lime}{{\,|\,}}{h_{{\rm ML}}})$.
20.3 [candy-trade-exercise] Suppose that Ann’s utilities for cherry and lime candies are $c_A$ and $\ell_A$, whereas Bob’s utilities are $c_B$ and $\ell_B$. (But once Ann has unwrapped a piece of candy, Bob won’t buy it.) Presumably, if Bob likes lime candies much more than Ann, it would be wise for Ann to sell her bag of candies once she is sufficiently sure of its lime content. On the other hand, if Ann unwraps too many candies in the process, the bag will be worth less. Discuss the problem of determining the optimal point at which to sell the bag. Determine the expected utility of the optimal procedure, given the prior distribution from Section statistical-learning-section.
20.4 Two statisticians go to the doctor and are both given the same prognosis: A 40% chance that the problem is the deadly disease $A$, and a 60% chance of the fatal disease $B$. Fortunately, there are anti-$A$ and anti-$B$ drugs that are inexpensive, 100% effective, and free of side-effects. The statisticians have the choice of taking one drug, both, or neither. What will the first statistician (an avid Bayesian) do? How about the second statistician, who always uses the maximum likelihood hypothesis?
The doctor does some research and discovers that disease $B$ actually comes in two versions, dextro-$B$ and levo-$B$, which are equally likely and equally treatable by the anti-$B$ drug. Now that there are three hypotheses, what will the two statisticians do?
20.5 [BNB-exercise] Explain how to apply the boosting method of Chapter concept-learning-chapter to naive Bayes learning. Test the performance of the resulting algorithm on the restaurant learning problem.
20.6 [linear-regression-exercise] Consider $N$ data points $(x_j,y_j)$, where the $y_j$s are generated from the $x_j$s according to the linear Gaussian model in Equation (linear-gaussian-likelihood-equation). Find the values of $\theta_1$, $\theta_2$, and $\sigma$ that maximize the conditional log likelihood of the data.
20.7 [noisy-OR-ML-exercise] Consider the noisy-OR model for fever described in Section canonical-distribution-section. Explain how to apply maximum-likelihood learning to fit the parameters of such a model to a set of complete data. (Hint: use the chain rule for partial derivatives.)
20.8 [beta-integration-exercise] This exercise investigates properties of the Beta distribution defined in Equation (beta-equation).
By integrating over the range $[0,1]$, show that the normalization constant for the distribution ${{\rm beta}}[a,b]$ is given by $\alpha = \Gamma(a+b)/\Gamma(a)\Gamma(b)$ where $\Gamma(x)$ is the Gamma function, defined by $\Gamma(x+1){{\,{=}\,}}x\cdot\Gamma(x)$ and $\Gamma(1){{\,{=}\,}}1$. (For integer $x$, $\Gamma(x+1){{\,{=}\,}}x!$.)
Show that the mean is $a/(a+b)$.
Find the mode(s) (the most likely value(s) of $\theta$).
Describe the distribution ${{\rm beta}}[\epsilon,\epsilon]$ for very small $\epsilon$. What happens as such a distribution is updated?
20.9 [ML-parents-exercise] Consider an arbitrary Bayesian network, a complete data set for that network, and the likelihood for the data set according to the network. Give a simple proof that the likelihood of the data cannot decrease if we add a new link to the network and recompute the maximum-likelihood parameter values.
20.10 Consider a single Boolean random variable $Y$ (the “classification”). Let the prior probability $P(Y{{\,{=}\,}}true)$ be $\pi$. Let’s try to find $\pi$, given a training set $D{{\,{=}\,}}(y_1,\ldots,y_N)$ with $N$ independent samples of $Y$. Furthermore, suppose $p$ of the $N$ are positive and $n$ of the $N$ are negative.
Write down an expression for the likelihood of $D$ (i.e., the probability of seeing this particular sequence of examples, given a fixed value of $\pi$) in terms of $\pi$, $p$, and $n$.
By differentiating the log likelihood $L$, find the value of $\pi$ that maximizes the likelihood.
Now suppose we add in $k$ Boolean random variables $X_1, X_2,\ldots,X_k$ (the “attributes”) that describe each sample, and suppose we assume that the attributes are conditionally independent of each other given the goal $Y$. Draw the Bayes net corresponding to this assumption.
Write down the likelihood for the data including the attributes, using the following additional notation:
$\alpha_i$ is $P(X_i{{\,{=}\,}}true | Y{{\,{=}\,}}true)$.
$\beta_i$ is $P(X_i{{\,{=}\,}}true | Y{{\,{=}\,}}false)$.
$p_i^+$ is the count of samples for which $X_i{{\,{=}\,}}true$ and $Y{{\,{=}\,}}true$.
$n_i^+$ is the count of samples for which $X_i{{\,{=}\,}}false$ and $Y{{\,{=}\,}}true$.
$p_i^-$ is the count of samples for which $X_i{{\,{=}\,}}true$ and $Y{{\,{=}\,}}false$.
$n_i^-$ is the count of samples for which $X_i{{\,{=}\,}}false$ and $Y{{\,{=}\,}}false$.
[Hint: consider first the probability of seeing a single example with specified values for $X_1, X_2,\ldots,X_k$ and $Y$.]
By differentiating the log likelihood $L$, find the values of $\alpha_i$ and $\beta_i$ (in terms of the various counts) that maximize the likelihood and say in words what these values represent.
Let $k = 2$, and consider a data set with 4 all four possible examples of thexor function. Compute the maximum likelihood estimates of $\pi$, $\alpha_1$, $\alpha_2$, $\beta_1$, and $\beta_2$.
Given these estimates of $\pi$, $\alpha_1$, $\alpha_2$, $\beta_1$, and $\beta_2$, what are the posterior probabilities $P(Y{{\,{=}\,}}true | x_1,x_2)$ for each example?
20.11 Consider the application of EM to learn the parameters for the network in Figure mixture-networks-figure(a), given the true parameters in Equation (candy-true-equation).
Explain why the EM algorithm would not work if there were just two attributes in the model rather than three.
Show the calculations for the first iteration of EM starting from Equation (candy-64-equation).
What happens if we start with all the parameters set to the same value $p$? (Hint: you may find it helpful to investigate this empirically before deriving the general result.)
Write out an expression for the log likelihood of the tabulated candy data on page candy-counts-page in terms of the parameters, calculate the partial derivatives with respect to each parameter, and investigate the nature of the fixed point reached in part (c).


This html version of the GrADS documentation has become the standard base documentation for GrADS. If you would like to download a compressed tar file containing all the html source code, it is located in the GrADS anonymous FTP directory. The most recent version was posted on 1 May 2001:
Although there are no immediate plans to produce a printed version of the GrADS documentation, a limited set of html tags were used so that a filter could be developed that would make it possible to create a printed document from the html source code.

<
>
&