In Brief
I studied Slavic Languages and Literatures in grad school, during which time I wrote a very fun dissertation on scandal and literature. Now I am continuing my career in the field of education as a software developer at a great EdTech company.
Some Thoughts on Language
The transition from natural languages to programming languages has been an interesting one for me. On the one hand, Russian and Polish contain tens of thousands of words, an extensive case system, and complicated syntax. The sheer size of a human language and its rules (and exceptions to the rules) dwarfs any programming language. Furthermore, natural languages exist inside a big messy framework called “culture” where, as groundbreaking 20th-century philosophers have pointed out, every utterance is intimately interconnected with both past and future utterances. The scale is unthinkably immense.
On the other hand, programming languages present their own challenges—getting from here to there efficiently often requires excellent logical and mathematical skills, while the task of modeling real-world objects within a programming language in a maximally effective manner requires a type of creativity very different than the one poets or authors exercise. In my mind, the thing that links together natural and programming languages is that they’re both incredibly fun to work with.
Trivia
When I’m not writing code concisely or writing words loquaciously, my hobbies these days include playing and watching soccer, going to concerts (jazz, art rock, metal, you name it), trying to coax not-quite-awful sounds out of my guitar, hiking, traveling (because where can one hike in the Chicagoland area?), cooking, and taking pictures of stuff, including the 15th-century walls of medieval Russian fortresses as seen at the top of the desktop version of this page.


Islands
Bali
Bali is an Indonesian island known for its forested volcanic mountains, iconic rice paddies, beaches and coral reefs. The island is home to religious sites such as cliffside Uluwatu Temple.
ExploreIslands
Maldives
Maldives, officially the Republic of Maldives, is a small archipelagic state in South Asia situated in the Indian Ocean. It lies southwest of Sri Lanka and India, about 700 kilometres from the Asian continent's mainland.
ExploreIslands
Kalalau
Kalalau Beach is a beach on the Nā Pali Coast at the base of the Kalalau Valley in north-west Kauaʻi in Hawaiʻi. It is the final destination of the Kalalau Trail, one of the most difficult trails on the Hawaiian Islands.
Explore


Triangle Tracker takes the lengths of three sides and determines if they form a valid triangle. If so, the tracker returns the name of the kind of triangle the sides make (equilateral, isosceles, scalene).
A triangle is scalene if all of its three sides are different (in which case, the three angles are also different). If two of its sides are equal, a triangle is called isosceles. A triangle with all three equal sides is called equilateral.


The reveloution will not be centralised
ddemonstrate provides a platform for anyone to freely create and co-ordinate activist campaigns and to make anonymous financial contributions via cryptocurrency. By using cryptocurrencies and the Ethereum blockchain, it allows safe and secure socialisation of demonstrations.
The platform enables supporters and contributors of the cause who could not otherwise participate, to donate funds securely and anonymously without requiring third party banks or payment gateways who can reverse transactions or close accounts.
Lorem ipsum dolor sit amet, consectetur adipisicing elit...
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris...
Individual campaigns can be funded by Ethereum only, by selecting one below. Or if you wish to donate to the project to help development costs:
Bitcoin: bc1qejx6pwfcvya5z3q5h2cua5wffz0n8rey4th2q9
Ethereum: 0x9943d42D7a59a0abaE451130CcfC77d758da9cA0
Participants who attend in person can earn cryptocurrency for their efforts.
Lorem ipsum dolor sit amet, consectetur adipisicing elit...
Lorem ipsum dolor sit amet, consectetur adipisicing elit... 0x214eF53697a507a2b0d4D86E8beb1ccA134C3CaD
Lorem ipsum dolor sit amet, consectetur adipisicing elit...0x1969258694Ffd20205A8b61832eE748f2e5E9Bcc
Our code can be found at https://github.com/ddemonstrate


Immortalize precious travel moments with on-demand photography
by Muthi Achadiat KautsarWhat is even bigger than the dream of traveling to your favorite destination? Immersing yourself in new experiences that change your life is one. But bringing home good photos as keepsakes or to be shared on social media is another. Hundreds of thousands of people, therefore, have booked professional photographers to ensure that the most precious moments of their trips are well-captured. In the past few years, booking photographers in your travel destination has been made easier by on-demand photography platforms such as SweetEscape and Frame a Trip. Popular among Indonesian travelers, the platforms offer a booking process as easy as opening a smartphone app for SweetEscape, or logging in to a website in the case of Frame a Trip. As soon as users are logged in, they only need to input their desired date and location for the photo session and make payment. Within hours, the com...
LOG IN
Don't have an account? Register here
Forgot Password ?
Log in with your social account


The Enumerable module brings many useful methods to Ruby. One of the most widely used is map
.
The map
function has a twin named collect
which performs the same function. However, the keyword map
is conventionally used most often so that's the one that I'll focus on.
When map is run on a hash or array, it will run a block of code on every element and automagically insert the results of running that code into an array. If you add the 'bang' (!) symbol at the end (so map
becomes map!
), it even transforms the original array or hash.
One could actually acheive a similar feet with the simpler method of each
, but it's more work and less elegant. For example, if running each
to turn an array of integers into strings, one must first create a new or temporary array, run the to_s
method on each element to convert it, then insert that converted element into the temporary array, and finally return the temporary array. It would probably look something like this:
num = [1, 2, '3', 4, '5', '6']
puts "Before method is run: " + num.inspect
temp_array = []
num.each {|number|
int = number.to_i
temp_array << int
}
puts "After method is run: " + temp_array.inspect
Result:
Before method is run: [1, 2, '3', 4, '5', '6']
After method is run: [1, 2, 3, 4, 5, 6]
We can use map to accomplish the same feet, with the exact same output, and cut out a few lines of code along the way:
num = [1, 2, '3', 4, '5', '6']
puts "Before method is run: " + num.inspect
array = num.map {|number| number.to_i}
puts "Before method is run: " + array.inspect
Cutting out a few lines of code is always a nice way to end a blog post.


- Description
- Groups the members of this field by dates, according to the passed
settings.
If this field is already grouped by dates, a new DataPilot field
will be created and returned. If this field is not grouped at all, the
date grouping is perfomed inside of this field (no new field will be
created). There must not be any other grouping (by member names or by
numeric ranges), otherwise an exception is thrown.
- Parameter aInfo
- contains the information how to group the items of the field. The
members of this struct have to fulfill the following requirements:
- If the member
DataPilotFieldGroupInfo::HasAutoStart is set to false, then the value of
DataPilotFieldGroupInfo::Start must be a floating-point
value representing a valid date/time value (if
DataPilotFieldGroupInfo::HasAutoStart is set to true,
the value of DataPilotFieldGroupInfo::Start will
be ignored).
- If the member
DataPilotFieldGroupInfo::HasAutoEnd is set to false, then the value of
DataPilotFieldGroupInfo::End must be a floating-point
value representing a valid date/time value( if
DataPilotFieldGroupInfo::HasAutoEnd is set to true,
the value of DataPilotFieldGroupInfo::End will be
ignored).
- If the members
DataPilotFieldGroupInfo::HasAutoStart and DataPilotFieldGroupInfo::HasAutoEnd
are set to false both, then the value of
DataPilotFieldGroupInfo::Start must be less than or equal
to the value of DataPilotFieldGroupInfo::End.
- The member DataPilotFieldGroupInfo::HasDateValues
must be set to true.
- The member DataPilotFieldGroupInfo::Step must
be zero, unless ranges of days have to be grouped (see the
description of the member GroupBy below), in that case the value
must be greater than or equal to 1 and less than or equal to 32767.
The fractional part of the value will be ignored.
- The member DataPilotFieldGroupInfo::GroupBy
must contain exactly one of the flags from DataPilotFieldGroupBy.
A combination of several flags will not be accepted. If
DataPilotFieldGroupBy::DAYS is specified, the
value of the member DataPilotFieldGroupInfo::Step
will specify the type of day grouping (see above). If that value
is zero, grouping is performed on all days of the year (e.g. the
members containing the 1st of January of any year are grouped
together). If that value is greater than zero, grouping is done on
ranges of days, and the value specifies the number of days grouped
into one range (e.g. a value of 7 groups the members of a week
into a range).
- The contents of the member
DataPilotFieldGroupInfo::SourceField will be ignored.
- The contents of the member
DataPilotFieldGroupInfo::Groups will be ignored.
- Returns
- the new created field if there is one created. NULL is returned,
if date grouping is performed inside this field (i.e. this field
was not grouped by dates before).
- Throws
- com::sun::star::lang::IllegalArgumentException
if the passed struct does not contain valid settings as described,
or if this field is already grouped by member names or numeric
ranges.
- See also
- DataPilotField
|


In researching different sensor options, today we analyzed the reverse car sensor with a jsn-sr04t pcb. This seems to be a good option because it is already weather resistant and the pcb allows us to measure the distance accurately. In testing, we found that sensor has a minimum detection distance at 19cm but we concluded that the trash can would be considered full at this level anyway. We also worked on running all three sensors in a trash can with one pcb to save space and resources.
Although the pins of the pcb is Vcc, Trig, Echo, and GND (the same as the HC-SR04 studied earlier), there is only one transceiver transducer used as the ultrasonic transmitter AND receiver. Two wires connect the transceiver to the pcb. We used an oscilloscope to observe the wire signals and observed one wire sends 8 pulses of a 40kHz square wave while the other wire goes HIGH when the pulses begin and LOW when the pulses echo back. Since both wires are important and the pulse wave is high voltage (-65V to 45V), we researched relay switches to turn the sensors on, one at a time.
Additionally, CAD drawings were made to visualize what the housings would look like.
On the software side, we created a model template for displaying the trash can data. We struggled with the PUSH and POST for the server.
We did more research on different wire housings today. Conduits seem to be the most promising option as they provide enough flexibility and are waterproof. Also, more CAD design was done on the enclosure in order to 3D print it in the future.
Further testing with the reverse car sensors gave us more insight on what the wires within each sensor do. We noted that the green channel has a corner turn-down (where the green line intersects the vertical orange line in the image above) at the point in time at which the pulse returns to the sensor.
We also received several relays to play with! We hooked up a 5VD PDT relay to an oscilloscope (outputting a sin wave), connected a protection diode in parallel with the inductor within the relay, and observed its behavior. Although the relay was specified to be 5V, when the relay was supplied with ~3V we could hear and see on the oscilloscope that the switch within the relay had closed. When we decreased the voltage supplied to the relay, the switch opened at ~1V. We also began to think about how we can use relays to turn each of our three sensors (per trash can) on and off, and what the most optimal setup would be.
The software team finished up server configuration. They obtained the ability to archive data while also being able to write access to the server.
On the software side, several scripts were created to delete and create PI points and elements using the PI Web API. The software engineers got more familiar with the REST API and are debugging small problems with the visualization software. We are now able to create the 40 trash can elements in the PI server and update them accordingly. We were succesful in creating and deleting test points. We have a sample of one detailed trashcan created as shown below using PI Vision. We also have a less detailed version that will show the fills of all 40 trash cans. The visualization tools may not be up to par for our needs, so we will design our in-house custom solutions.
On the engineering side, we received the housing for the sensors from McMaster-Carr, which we drilled custom holes using a CNC machine at the PhaseSpace Cave. The engineers also searched fro different tubing methods for wiring the sensors. We also have CAD drawings for the drilled parts within specifications for the small enclosure.
Today, we also measured the range of the car distance sensors. We found that they have a 20 degree half angle, which has a wider sweep than the HC204 (~15 degree half angle). This may be problematic because the sensor detects the edge of the trash cans. To fix this problem, we can angle the sensors, so it does not detect the walls.
We are still waiting for a solid trash can model and a module for the network connection. This is limiting our engineering time.
We also have a team logo for Midro now courtesy of Sati's epic design skills~
The software has been progressing nicely. Currently, all parts of the PI software that is being used has been completed. A python script can create trashcans and PI points, and then update attributes of the trashcans with provided data. The data is randomly generated now, so the team will have to tie this in when it becomes available. Below is one of our attempts to visualize the data. This will allow anyone who works on or wants to see the trashcan data to not have to look at unappealing tables. The aforementioned picture was created using OSISoft's PI Vision, which already interfaces with the PI AF Server that we set up earlier. PI Vision is an easy start up solution as it automatically updates data from the server and allows the user to switch and create different vies easily. However, we want more freedom in how we customize and display data, and will therefore explore different approaches.
On the engineering side, we finished the circuity we've been working on for the past few days. We hooked up all three reverse car sensors to one of the provided PCB boards by using two relays. Below, you can see our proof of concept in which we had LEDs in place of the sensors. The leftmost relay either switches on the LED or switches to the relay on the right. This relay then switches between the two LEDs connected to it. After we established that the relay circuit was working with LEDs, we replaced the LEDs with the actual car sensors. Thus, we are able to take measurements from each car sensor at different times.
We have decided to use the ultrasonic car sensor since it is cheap, durable, and waterproof. It comes with an PCB that we can easily integrate into our microcontroller. However, the majority of our housing design was based off of the HCSR-04 transceiver. As mentioned before, the only relevant difference between the two is that the car sensor has a 20 degree sweep whereas the transceiver has a 15 degree sweep. While it may seem that a larger sweep would be better, in our case, a larger sweep means that we might read the walls of the trash can, giving us incorrect readings. Instead of angling the sensors away from the walls, another intuitive solution to this problem is to reduce the sweep angle of the sensor.
We designed casings for the sensor that would reduce the sweep, one with a cylinder, the other with a cone. Unfortunately, the material we used, PLA, bounced the signal around, creating a lot of noise and eventually increased the range of the sensor, returning odd results in the process. We heard back from our client at San Leandro Improvement Association, and found out that the lid of the trash can is convex upward. This means that the sensors will point away from the walls during installation, but we cannot test this without an actual model. So now, we wait.
The software team's website will be a written-from-scratch alternative to OSISoft's PI Vision. It will have all of the functionality of PI Vision, but will be tailored to our project specifically. Ideally, we would be able to implement anything we would need in the software, which might not be possible with PI Vision. It will be open-source, therefore open for everyone to improve.


Search
Preparing search index...
The search index is not available
iexcloud_api_wrapper
Options
All
Public
Public/Protected
All
Inherited
Externals
Only exported
Menu
Globals
"Services/CeoCompensation.service"
CeoCompensation
Class CeoCompensation
Hierarchy
DynamicObject
CeoCompensation
Implements
KVP
IEXCeoCompensation
Indexable
[
k:
string
]:
any
Index
Constructors
constructor
Properties
bonus
company
Name
location
name
non
Equity
Incentives
option
Awards
other
Comp
pension
And
Deferred
salary
stock
Awards
symbol
total
year
Constructors
constructor
new
Ceo
Compensation
(
theObject
:
{}
)
:
CeoCompensation
Parameters
theObject:
{}
[
x:
string
]:
any
Returns
CeoCompensation
Properties
bonus
bonus
:
number
= 0
company
Name
company
Name
:
string
= ""
location
location
:
string
= ""
name
name
:
string
= ""
non
Equity
Incentives
non
Equity
Incentives
:
number
= 0
option
Awards
option
Awards
:
number
= 0
other
Comp
other
Comp
:
number
= 0
pension
And
Deferred
pension
And
Deferred
:
number
= 0
salary
salary
:
number
= 0
stock
Awards
stock
Awards
:
number
= 0
symbol
symbol
:
string
= ""
total
total
:
number
= 0
year
year
:
string
= ""
Globals
"
Services/
Ceo
Compensation.service"
Ceo
Compensation
constructor
bonus
company
Name
location
name
non
Equity
Incentives
option
Awards
other
Comp
pension
And
Deferred
salary
stock
Awards
symbol
total
year
IEXCeo
Compensation
ceo
Compensation
Generated using
TypeDoc


|
|
Las Vegas Style SlotMachineMy contribution to the Norwegian challenge in the European Silverlight ChallengeBuilt using Silverlight 2 If the game doesn't show up or the installation link for Silverlight 2 doesn't show up. Please download the runtime for Both Windows and Mac and then refresh the page. This application is a bit graphic-intense and can take a minute or so to download. Depending on your connection speed. UsageGive Silverlight focus by clicking your mouse into the Silverlight portion of the screen. When the slotmachine has been downloaded and the download bar has faded out, you press space to start the slotmachine.The purpose of the game is to get the best combination of symbols. You get 15 rounds to play and have 2 symbol swaps for each round. Swapping is done by using the keys 1,2 and 3 to toggle holding of a symbol. |


This notebook is an introduction to the soil agent-based social network simulation framework. In particular, we will focus on a specific use case: studying the propagation of news in a social network.
The steps we will follow are:
But before that, let's import the soil module and networkx.
import soil
import networkx as nx
%load_ext autoreload
%autoreload 2
%pylab inline
# To display plots in the notebooed_
There are three main elements in a soil simulation:
Soil is based on simpy
, which is an event-based network simulation library.
Soil provides several abstractions over events to make developing agents easier.
This means you can use events (timeouts, delays) in soil, but for the most part we will assume your models will be step-based.
Our first step will be to model how every person in the social network reacts when it comes to news. We will follow a very simple model (a finite state machine).
There are two types of people, those who have heard about a newsworthy event (infected) or those who have not (neutral). A neutral person may heard about the news either on the TV (with probability prob_tv_spread) or through their friends. Once a person has heard the news, they will spread it to their friends (with a probability prob_neighbor_spread). Some users do not have a TV, so they only rely on their friends.
The spreading probabilities will change over time due to different factors. We will represent this variance using an environment agent.
A basic network agent in Soil should inherit from soil.agents.BaseAgent
, and define its behaviour in every step of the simulation by implementing a run(self)
method.
The most important attributes of the agent are:
agent.state
, a dictionary with the state of the agent. agent.state['id']
reflects the state id of the agent. That state id can be used to look for other networks in that specific state. The state can be access via the agent as well. For instance:
a = soil.agents.BaseAgent(env=env)
a['hours_of_sleep'] = 10
print(a['hours_of_sleep'])
The state of the agent is stored in every step of the simulation:
print(a['hours_of_sleep', 10]) # hours of sleep before step #10
print(a[None, 0]) # whole state of the agent before step #0
agent.env
, a reference to the environment. Most commonly used to get access to the environment parameters and the topology:
a.env.G.nodes() # Get all nodes ids in the topology
a.env['minimum_hours_of_sleep']
Since our model is a finite state machine, we will be basing it on soil.agents.FSM
.
With soil.agents.FSM
, we do not need to specify a step
method.
Instead, we describe every step as a function.
To change to another state, a function may return the new state.
If no state is returned, the state remains unchanged.[
It will consist of two states, neutral
(default) and infected
.
Here's the code:
import random
class NewsSpread(soil.agents.FSM):
@soil.agents.default_state
@soil.agents.state
def neutral(self):
r = random.random()
if self['has_tv'] and r < self.env['prob_tv_spread']:
return self.infected
return
@soil.agents.state
def infected(self):
prob_infect = self.env['prob_neighbor_spread']
for neighbor in self.get_neighboring_agents(state_id=self.neutral.id):
r = random.random()
if r < prob_infect:
neighbor.state['id'] = self.infected.id
return
Environment agents allow us to control the state of the environment. In this case, we will use an environment agent to simulate a very viral event.
When the event happens, the agent will modify the probability of spreading the rumor.
NEIGHBOR_FACTOR = 0.9
TV_FACTOR = 0.5
class NewsEnvironmentAgent(soil.agents.BaseAgent):
def step(self):
if self.now == self['event_time']:
self.env['prob_tv_spread'] = 1
self.env['prob_neighbor_spread'] = 1
elif self.now > self['event_time']:
self.env['prob_tv_spread'] = self.env['prob_tv_spread'] * TV_FACTOR
self.env['prob_neighbor_spread'] = self.env['prob_neighbor_spread'] * NEIGHBOR_FACTOR
Feel free to skip this section if this is your first time with soil.
Testing agents is not easy, and this is not a thorough testing process for agents. Rather, this section is aimed to show you how to access internal pats of soil so you can test your agents.
First of all, let's check if our network agent has the states we would expect:
NewsSpread.states
Now, let's run a simulation on a simple network. It is comprised of three nodes:
G = nx.Graph()
G.add_edge(0, 1)
G.add_edge(0, 2)
G.add_edge(2, 3)
G.add_node(4)
pos = nx.spring_layout(G)
nx.draw_networkx(G, pos, node_color='red')
nx.draw_networkx(G, pos, nodelist=[0], node_color='blue')
Let's run a simple simulation that assigns a NewsSpread agent to all the nodes in that network. Notice how node 0 is the only one with a TV.
env_params = {'prob_tv_spread': 0,
'prob_neighbor_spread': 0}
MAX_TIME = 100
EVENT_TIME = 10
sim = soil.Simulation(topology=G,
num_trials=1,
max_time=MAX_TIME,
environment_agents=[{'agent_class': NewsEnvironmentAgent,
'state': {
'event_time': EVENT_TIME
}}],
network_agents=[{'agent_class': NewsSpread,
'weight': 1}],
states={0: {'has_tv': True}},
default_state={'has_tv': False},
environment_params=env_params)
env = sim.run_simulation()[0]
Now we can access the results of the simulation and compare them to our expected results
agents = list(env.network_agents)
# Until the event, all agents are neutral
for t in range(10):
for a in agents:
assert a['id', t] == a.neutral.id
# After the event, the node with a TV is infected, the rest are not
assert agents[0]['id', 11] == NewsSpread.infected.id
for a in agents[1:4]:
assert a['id', 11] == NewsSpread.neutral.id
# At the end, the agents connected to the infected one will probably be infected, too.
assert agents[1]['id', MAX_TIME] == NewsSpread.infected.id
assert agents[2]['id', MAX_TIME] == NewsSpread.infected.id
# But the node with no friends should not be affected
assert agents[4]['id', MAX_TIME] == NewsSpread.neutral.id
Lastly, let's see if the probabilities have decreased as expected:
assert abs(env.environment_params['prob_neighbor_spread'] - (NEIGHBOR_FACTOR**(MAX_TIME-1-10))) < 10e-4
assert abs(env.environment_params['prob_tv_spread'] - (TV_FACTOR**(MAX_TIME-1-10))) < 10e-6
To run a simulation, we need a configuration. Soil can load configurations from python dictionaries as well as JSON and YAML files. For this demo, we will use a python dictionary:
config = {
'name': 'ExampleSimulation',
'max_time': 20,
'interval': 1,
'num_trials': 1,
'network_params': {
'generator': 'complete_graph',
'n': 500,
},
'network_agents': [
{
'agent_class': NewsSpread,
'weight': 1,
'state': {
'has_tv': False
}
},
{
'agent_class': NewsSpread,
'weight': 2,
'state': {
'has_tv': True
}
}
],
'environment_agents':[
{'agent_class': NewsEnvironmentAgent,
'state': {
'event_time': 10
}
}
],
'states': [ {'has_tv': True} ],
'environment_params':{
'prob_tv_spread': 0.01,
'prob_neighbor_spread': 0.5
}
}
Let's run our simulation:
soil.simulation.run_from_config(config, dump=False)
In real life, you probably want to run several simulations, varying some of the parameters so that you can compare and answer your research questions.
For instance:
network_1 = {
'generator': 'erdos_renyi_graph',
'n': 500,
'p': 0.1
}
network_2 = {
'generator': 'barabasi_albert_graph',
'n': 500,
'm': 2
}
for net in [network_1, network_2]:
for i in range(5):
prob = i / 10
config['environment_params']['prob_neighbor_spread'] = prob
config['network_params'] = net
config['name'] = 'Spread_{}_prob_{}'.format(net['generator'], prob)
s = soil.simulation.run_from_config(config)
The results are conveniently stored in pickle (simulation), csv and sqlite (history of agent and environment state) and gexf (dynamic network) format.
!tree soil_output
!du -xh soil_output/*
Once the simulations are over, we can use soil to analyse the results.
Soil allows you to load results for specific trials, or for a set of trials if you specify a pattern. The specific methods are:
analysis.read_data(<directory pattern>)
to load all the results from a directory. e.g. read_data('my_simulation/')
. For each trial it finds in each folder matching the pattern, it will return the dumped configuration for the simulation, the results of the trial, and the configuration itself. By default, it will try to load data from the sqlite database. analysis.read_csv(<csv_file>)
to load all the results from a CSV file. e.g. read_csv('my_simulation/my_simulation_trial0.environment.csv')
analysis.read_sql(<sqlite_file>)
to load all the results from a sqlite database . e.g. read_sql('my_simulation/my_simulation_trial0.db.sqlite')
Let's see it in action by loading the stored results into a pandas dataframe:
from soil.analysis import *
df = read_csv('soil_output/Spread_barabasi_albert_graph_prob_0.0/Spread_barabasi_albert_graph_prob_0.0_trial_0.environment.csv', keys=['id'])
df
Soil can also process the data for us and return a dataframe with as many columns as there are attributes in the environment and the agent states:
env, agents = process(df)
agents
The index of the results are the simulation step and the agent_id. Hence, we can access the state of the simulation at a given step:
agents.loc[0]
Or, we can perform more complex tasks such as showing the agents that have changed their state between two simulation steps:
changed = agents.loc[1]['id'] != agents.loc[0]['id']
agents.loc[0][changed]
To focus on specific agents, we can swap the levels of the index:
agents1 = agents.swaplevel()
agents1.loc['0'].dropna(axis=1)
If you don't want to work with pandas, you can also use some pre-defined functions from soil to conveniently plot the results:
plot_all('soil_output/Spread_barabasi_albert_graph_prob_0.0/', get_count, 'id');
plot_all('soil_output/Spread_barabasi*', get_count, 'id');
plot_all('soil_output/Spread_erdos*', get_value, 'prob_tv_spread');
Although the simplest way to visualize the results of a simulation is to use the built-in methods in the analysis module, sometimes the setup is more complicated and we need to explore the data a little further.
For that, we can use native pandas over the results.
Soil provides some convenience methods to simplify common operations:
analysis.split_df
to separate a history dataframe into environment and agent parameters.analysis.get_count
to get a dataframe with the value counts for different attributes during the simulation.analysis.get_value
to get the evolution of the value of an attribute during the simulation.And, as we saw earlier, analysis.process
can turn a dataframe in canonical form into a dataframe with a column per attribute.
p = read_sql('soil_output/Spread_barabasi_albert_graph_prob_0.0/Spread_barabasi_albert_graph_prob_0.0_trial_0.db.sqlite')
env, agents = split_df(p);
Let's look at the evolution of agent parameters in the simulation
res = agents.groupby(by=['t_step', 'key', 'value']).size().unstack(level=[1,2]).fillna(0)
res.plot();
As we can see, event_time
is cluttering our results,
del res['event_time']
res.plot()
processed = process_one(agents);
processed
Which is equivalent to:
get_count(agents, 'id', 'has_tv').plot()
get_value(agents, 'event_time').plot()
from soil import analysis
!du -xsh ../rabbits/soil_output/rabbits_example/
If we tried to load the entire history, we would probably run out of memory. Hence, it is recommended that you also specify the attributes you are interested in.
p = analysis.plot_all('../rabbits/soil_output/rabbits_example/', analysis.get_count, 'id')
df = analysis.read_sql('../rabbits/soil_output/rabbits_example/rabbits_example_trial_0.db.sqlite', keys=['id', 'rabbits_alive'])
states = analysis.get_count(df, 'id')
states.plot()
alive = analysis.get_value(df, 'rabbits_alive', 'rabbits_alive', aggfunc='sum').apply(pd.to_numeric)
alive.plot()
h = alive.join(states);
h.plot();
states[[('id','newborn'),('id','fertile'),('id', 'pregnant')]].sum(axis=1).sub(alive['rabbits_alive'], fill_value=0)


---
layout: definitions
---
Let $I=[a_1, b_1]\times \dots \times [a_n, b_n]$ be a box. For each $k\in\{1, \dots, n\}$, the set $P_k=\{x_k^{(i)}:0\leq i\leq l_k\}$ is a partition of the interval [a_k, b_k].
The set of all possible partitions of a box $I$ is denoted by $\mathbb{R}_I$.
Concepts
Coming soon
Used In
Coming soon
Hypothesis
Coming soon
Results
Coming soon
Related
Coming soon


CONNECTIONS-statistics.
Statistical data about the operation of the Server and the Traffic Log.
O : Activity of the different groups. Percentage of usage for the
different activities.
G : Global statistics.
- Number of active messages.
- Number of connections.
- Time of connections.
- Peak traffic periods.
L : Lists the connections (Traffic Log). For each and every connection,
the channel - callsign - date and time - as well as the connection
duration are indicated. These informations are listed in reverse
chronological order.
H : Hourly usage.
J : Daily usage.
I : Users Callsign list.
List of the callsigns that have connected the server. This list is
given in alphanumeric order.
F : Switches back to the Server main menu.
B : Quit and Disconnect.
This page was last updated


Before Change
// superclass constructor, to see if there are arguments there that we should try to also
// constructor.
has_kwargs = False
for param in parameters.values():
if param.kind == param.VAR_KEYWORD:
has_kwargs = True
if has_kwargs:
// "mro" is "method resolution order". The first one is the current class, the next is the
// first superclass, and so on. Taking the first superclass should work in all cases that
// we"re looking for here.
After Change
// with multiple values for a single parameter (e.g., the default value gives you lazy=False
// for a dataset reader inside **kwargs, but a particular dataset reader actually hard-codes
// lazy=True - the superclass sees both lazy=True and lazy=False in its constructor).
if constructed_arg is not param.default:
kwargs[param_name] = constructed_arg
params.assert_empty(cls.__name__)
return kwargs


1
260%
Newcomer Bonus
40 Free Spins
on Wild Hog Luau
+40$
Free Chip
40$ Free Chip Promo Code:
COPIED
TOPSECRET40
40 Free Spins Promo Code:
COPIED
WILD260
PLAY NOW
PLAY NOW
2
280%
Slots Bonus Up to
$14000
40 Free Spins
on 5 Wishes
75 Free Spins
on Mermaid's Pearls
Welcome Offer Promo Code:
COPIED
LAWELCOME
PLAY NOW
PLAY NOW
3
Up To
$12500
Welcome Bonus
250%
Bonus For Slot Games
70 Free Spins
on Aladdin Wishes
Welcome Offer Promo Code:
COPIED
TRUECROWN
PLAY NOW
PLAY NOW
4
260%
Welcome Bonus
+ 100%
Cashback
50 Free Spins
on Bubble Bubble 2
+35$
Free Chip
Welcome Offer Promo Code:
COPIED
WELCOME
35$ Free Chip Promo Code:
COPIED
RICHIP35
50 Free Spins Promo Code:
COPIED
BUBBLE250
PLAY NOW
PLAY NOW
5
Up To
$12500
Welcome Package
225%
Welcome Bonus
25 Free Spins
on Cash Bandits 2
25 Free Spins Promo Code:
COPIED
25BANDITS2
PLAY NOW
PLAY NOW
6
Welcome Package Up To
$12000
220%
Signup Bonus
20 Free Spins
on Secret Jungle
Welcome Offer Promo Code:
COPIED
INFANTRY
20 Free Spins Promo Code:
COPIED
20JUNGLE
PLAY NOW
PLAY NOW


Home
Documentation
More
About
Jobs
Contact
Report an issue
Sign up
Log in
{{item.name}}
{{item.description}}
${{item.price}}
Your Cart
{{x.name}}
${{x.price}}
Total
{{total()}}


A Palindrome is a word or sentence that's spelled the same way both forward and backward, ignoring punctuation, case, and spacing.
Result:


| Opening hours | SID (Streatham Campus) | Info at St Luke's |
|---|---|---|
| Monday to Friday (term time) |
08:00 - 18:00 (Desk) 09:00 - 17:00 (Phones) 24 hour access via SID Online |
|
| Monday to Friday (vacation) | 09:00 - 17:00 | 09:00 - 17:00 |
| Saturday (term time only) | 10:00 - 15:00 | CLOSED |


Members
canceled :boolean
The flag to indicate it has been canceled.
Type:
- boolean
- Source:
reason :Error
The error object which indicates the reason of cancel.
Type:
- Error
- Source:
Methods
(static) new() → {CancelToken}
Create a cancel token.
- Source:
Returns:
The created token.
- Type
- CancelToken
(static) race(parentTokens) → {CancelToken}
Create a cancel token which will be canceled if one of the given tokens was canceled.
Parameters:
| Name | Type | Description |
|---|---|---|
parentTokens |
Array.<CancelToken> | The tokens to forward events. |
- Source:
Returns:
The created race token.
- Type
- CancelToken
cancel(reasonopt) → {void}
Cancel this token.
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
reason |
Error |
<optional> |
The error object which indicates the reason of cancel. |
- Source:
Returns:
- Type
- void
throwIfCanceled() → {void}
Throw an error if this token has been canceled already.
- Source:
Returns:
- Type
- void


Mandurah tennis ace inducted to Hall of Championships
by Aaron KirbyMANDURAH tennis ace Lesley Hunt has been inducted into the Tennis West Hall of Champions (HOC).
Four tennis stars made up the inaugural inductees.
Hunt’s highest World Ranking in the Women’s Singles was number seven.
She was also ranked third in Australia behind Margaret Court and Evonne Goolagong-Crawley.
In recognition of her considerable achievements, Hunt was inducted into the WA Sports Hall of Champions in 1993.
She was a semi-finalist in the Australian Open singles in 1971 and a quarter-finalist in the US Open four times between 1970-1978.
She was also a regular semi-finalist or quarter-finalist in both singles and doubles in many other Grand Slam events in the 1970s and was notably a member of the winning Federation Cup Team alongside Court and Goolagong-Crawley in Perth in 1971.
Hunt said she was proud to be inducted into the HOC.
“It is probably one of the best awards I’ve ever received,” she said.
“It’s huge for me to be recognised by my home State… and I’m just so happy and grateful to be one of the first nominees.”
Since retiring from competition, Hunt has been a professional tennis coach for many young Australian players such as Alicia Molik and Lleyton Hewitt.
She gives the same advice to all young players.
“Mostly I say to them work hard and be joyful; be glad you’re doing it,” she said.


Post-16 statistics team
Email<EMAIL_ADDRESS>Telephone: Sally Marshall 0114 274 2317
Beta This is a test version of the layout of this page. Take the survey to help us improve it
National Statistics
16- to 18-year-olds in school, further education (FE) colleges, work-based learning or higher education.
This statistical first release ( SFR ) draws together information from the different post-16 learning options (school, FE colleges, work-based learning, higher education, etc) to give a coherent and comprehensive picture of the participation of 16- to 18-year-olds.
The SFR provides provisional information on the percentages of 16- to 18-year-olds in England in education and training and those who are not in education, employment or training ( NEET ) for end 2012. Key breakdowns are by age, gender, mode of study, type of learning, institution type ( FE college, schools, etc), labour market status and highest qualification being studied. There are additional tables showing a time series back to 1985.
The SFR includes additional tables showing local participation in education and training for 16- and 17-year-olds for end 1994 to end 2012.
Please direct queries to:
Email<EMAIL_ADDRESS>Telephone: Sally Marshall 0114 274 2317


This software is intended to assist with the process of creating Conversation templates for use with SWGEmu's server daemon.


Sys.GetPid
Syntax
Sys.GetPid : int
Description
The Sys.GetPid function is used to determine the I.D. (number) that identifies the current operating system task (process). Beware that there are processes, activated by the fork statement, that are independent of the operating systems tasks.
Under UNIX, the number is used, for example, for creating a unique name of a file.
Status
Exported qualified.
This means that you can only call the function by calling Sys.GetPid, not by calling GetPid.
See also
Sys.Nargs, Sys.FetchArg and Sys.GetEnv.


Preparation time
less than 30 mins
Cooking time
no cooking required
Serves
Serves 4
Buy top-notch beef for this spicy Korean-style beef tartare served with sliced pear and the garnish of a raw quails’ egg. Trust us on this one.
Trim away any sinew from the beef and thinly slice. Pile a few slices at a time and cut into super thin strips. Place the beef in a large mixing bowl.
Crush the garlic, peel and chop the ginger and crush the onion through a garlic press into a small bowl (or all in a pestle and mortar).
Finely chop the spring onions and add to the bowl with the soy sauce, sesame oil, chilli powder and sugar and mix together. Add to the beef and mix well with a spoon.
Core and slice the pear into strips, remove the leaves from the Little Gem, wash and dry with a little kitchen paper or salad spinner. Divide onto four serving plates with a handful of Asian pear on each and the beef on top. Sprinkle with sesame seeds and top each serving with half a shell of quails’ egg filled with the egg.


CSS Components
/ Forms
Form Elements
A variety of form elements and their styling.
Checkbox, Toggles, & Radios
Dropdowns
Ranges
Text & Textarea


Saathi Web Application
Home
(current)
Link
Dropdown
Action
Another action
Something else here
Disabled
Search
TB Treatment Form
Name of the State
Name of the District
Name of the Town
Name of the TB UNIT
Name of the PHI where treatment started
Case Identified Place
Public Sector
Private Sector
Name of the facility where identified
Name of the Child
Sex of the Child
Male
Female
Age of the Child
NIKSHAY ID
Weight of the Child
Height of the Child
Name of the Parent/Gaurdian
Contact Number of the Parent/Gaurdian
Address of the child
Name of the Town / Mandal of the child
Name of the District of the child
Aadhar Number of the child / Parent
Area of Living
Slum
Tribal
Migrant
Refugee
Occupation of the Parent
Socio Economic Status
APL
BPL
Name of Treatment Supporter
Designation
MobiLe Number
Initial Home Visit By
Date of Home Visit
Type of Treatment
DOT
Family DOT
ICT Supported
Date of Onset of First Symptom
HCP visited before diagnosis
Disease Classification
Pulmonary
Extra Pulmonary
Type of Patient
None Selected
New
Recurrent
Transfer in
Rx Failure
RX
Others
Previously treated after LFU
Basis Of Diagnosis
None Selected
Microbiologically Confirmed
Clinical TB
Diagnosis Done facility type
Public
Private
H/O of previous ATT
YES
NO
No of months of Treatment
No of months since last episode
Source of Treatment
Public
Private
Treatment Regimen
HIV Related Info
HIV Status
Unknowm
Reactive
NR
Date of Testing
PID Number
CPT initiation Date
Initiated on ART
YES
NO
Date of ART initiation
ART Number
Diabetes Related Info
Diabetes Status
Unknowm
Diabetic
Non Diabetic
RBS
FBS
Initiated on ADT
YES
NO
Date Of Initiation
ADT Number
Other co-morbidity details
TB Treatment
DS-TB
DR-TB
Not initiated
Treatment Facility Type
Public
Private
TB Initiation Date
Date of Initiation of IP Phase
Status of TB Treatment
None Selected
Initiated on 1st Line treatment in same health facility
Initiated on 2nd Line treatment in same health facility
Initiated treatment outside health facility / Outside RNTCP
Dosage Frequency
None Selected
Daily
Intermittent
Drug Formulations
None Selected
FDC
Combipack
Loose Drugs
Type of Regimen
Drug Package
None Selected
PWB
Strips
Weight Band
None Selected
4-7 kgs
8-11 kgs
12-15 kgs
16-24 kgs
24-29 kgs
Follow-up
Pre Treatment
Date of Specimen Collected
CBNAAT test done by facility name
Smear Result
None Selected
Detected
Not Detected
NA
DST Result
End of IP - Date
Date of Specimen Collected
CBNAAT test done by facility name
Smear Result
None Selected
Detected
Not Detected
NA
DST Result
End of Treatment - date
Date of Specimen Collected
CBNAAT test done by facility name
Smear Result
None Selected
Detected
Not Detected
NA
DST Result
Treatment Outcome
Date of Treatment Outcome
Outcome of Treatment
None Selected
Cured
Treatment Completed
Died
Failure
LFU
NE or TE
Post Treatment follow-up
At 6 Months
Follow up Date
Symptoms
C
F
H
W
N
O
NS
CXR
None Selected
Normal
Abnormal Consistent With TB
Smear
None Selected
Detected
Not Detected
Culture
At 12 Months
Follow up Date
Symptoms
C
F
H
W
N
O
NS
CXR
None Selected
Normal
Abnormal Consistent With TB
Smear
None Selected
Detected
Not Detected
Culture
At 18 Months
Follow up Date
Symptoms
C
F
H
W
N
O
NS
CXR
None Selected
Normal
Abnormal Consistent With TB
Smear
None Selected
Detected
Not Detected
Culture
At 24 Months
Follow up Date
Symptoms
C
F
H
W
N
O
NS
CXR
None Selected
Normal
Abnormal Consistent With TB
Smear
None Selected
Detected
Not Detected
Culture
DBT Status-Nutritional Support
Not Selected
Received
Not Received
Not Applied
In Case of Change in Address
Current State
Current District
Current TBU name
Current PHI name
Submit


TheWakar Music
Home
About
Contact
My New Web Album
This is my first Musical webpage! I was so exciting about Music out for Rock!


@(app: controllers.Application, query: String, result: mimir.web.WebResult, lastQuery: String) @import mimir.web.{WebQueryResult, WebStringResult, WebErrorResult} @import mimir.algebra.Type
Mimir wraps around a traditional relational database system and allows users to explicitly track data quality through a construct called a Lens. Lenses in Mimir are analogous to stages in an ETL pipeline -- responsible for performing data cleaning or analytics tasks. However, unlike a traditional ETL pipeline, Lenses explicitly track conditions that could compromise data quality: Bulk data copies without considering data volatility, entity-resolution, missing values. Lenses create the illusion that you're working with high quality data, allowing you to start analyzing the data right away. Using the power of provenance, Mimir can tell you how reliable your query results are, and what you can do about it.
Active Database:
@app.db_name
@string
@string
Create a lens to infer the types of a newly imported table, which all default to String
The ratio of values that must conform to a particular type in order for me to definitively conclude that is the type for the entire column
| 0 | 1 |
Create a lens to calculate best estimate guesses for missing values for an attribute
Create a lens to match the schema for one table to another table, to enable unions
Create a lens to find missing values for an sequence attribute
Create a lens to add an attribute from an expression and add an uncertainty annotation with a provided comment as the reason
The expression can have standard arithmatic operators and vars from current table/view
An explanation for why the above experssion makes the added attribute uncertain.
Create a lens to merge tuples with the the same key
Create a lens that uses a set of expressions to choose a value for an added attribute
|
The attributes to choose from |
Pick From attributes to hide |
|
The name of the result attribute that will be added (Optional) |
|
|
Expressions to choose value for result attribute and DO NOT mark as uncertain. |
Expressions to choose value for result attribute and mark as uncertain. |


Hello, I'm Sharjeel Anjum. I Have 10 years of experience in Web & UX design and Frontend Developer. I have worked on a variety of brands and with agencies both big and small.
A bright, talented, ambitious and self-motivated web designer with a strong technical background who possesses self-discipline and the ability to work with the minimum of supervision. Able to play a key role throughout a sites development to ensure maximum accessibility, customer experience and usability.
A bright, talented, ambitious and self-motivated web designer with a strong technical background who possesses self-discipline and the ability to work with the minimum of supervision. Able to play a key role throughout a sites development to ensure maximum accessibility, customer experience and usability.
A quick learner who can absorb new ideas and can communicate clearly and effectively. Currently looking for an opportunity to join a dynamic, ambitious, growing company and forge a career as a first class website designer.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velitus sed quia non num quam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velitus sed quia non num quam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.
Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velitus sed quia non num quam eius modi tempora incidunt ut labore et dolore magnam aliquam quaerat voluptatem.


| | |
- formatJson(dicts, key='')
- Converts a list of dictionaries into a JSON-formatted object hierarchy
that begins with a blank-keyed list of objects.
- getJson(file, filters={})
- Given a specific JSON file (string) and a set of filters (dictionary
key-values pairs), will return a JSON-formatted tree of the matching data
entries from that file (starting as a null-key list of objects).
- getUnqlite(file, filters={})
- Given a specific UnQLite file (string) and a set of filters (dictionary
key-values pairs), will return a JSON-formatted tree of the matching data
entries from that file (starting as a null-key list of objects).
Key-value pairs can be selected using the '_key' parameter, while
specific collections can be selected using the '_collection' parameter.
If neither parameter is used, all contents of the database are returned.
- getXml(file, filters={})
- Given a specific XML file (string) and a set of filters (dictionary
key-values pairs), will return a JSON-formatted tree of the matching data
entries from that file (starting as a null-key list of objects).
- parseElement(el)
- Recursively converts an XML element to a dictionary object. After the
initial pass, children are checked for single-value elements that are
duplicated as element attributes. Meta-attributes include:
_tag, the tag name of the element
_children, a list of dictionaries defining child elements
_text, the parsed value of any element text content
All attribute and text values are parsed for boolean and numeric values.
|


Deleting Modules from the Recycle Bin
How to permanently delete one or more modules (including module content) from your site using the Recycle Bin module.
- Navigate to Admin > Recycle Bin - OR - Navigate to a Recycle Bin module.
- Select the Modules tab.
- Optional. If multiple languages are enabled on your site, select one of the following options:
- Show pages and modules from all languages
- Show pages and modules in current language only
- Click on a module name to select it. To select multiple modules, hold down the Ctrl key when selecting.
- Click the Delete Selected Module(s) link.
- Click the Yes button to confirm.


You can calculate the volume of an ellipsoid with the following formula:
Lenght \( a \) =
Width \( b \) =
Height \( c \) =
Volume =
Back


webify
`Prev `__
W
`Next `__
--------------
**webify**: n.
To put a piece of (possibly already existing) material on the WWW.
Frequently used for papers (“Why don't you webify all your
publications?”) or for demos (“They webified their 6.866 final
project”). This term seems to have been (rather logically) independently
invented multiple times in the early 1990s.
--------------
+--------------------------------+----------------------------+------------------------------+
| `Prev `__ | `Up <../W.html>`__ | `Next `__ |
+--------------------------------+----------------------------+------------------------------+
| web toaster | `Home <../index.html>`__ | webmaster |
+--------------------------------+----------------------------+------------------------------+


Property Monster
Housing Data For Washoe County Made Easy
Join the Home Mind Email List!
Keep Me In The Loop
Toggle navigation
Home
API
About Us


|
|
|
@855
|
5 months |
mmckerns |
updated copyright to 2016
|
|
|
|
@849
|
5 months |
mmckerns |
added synchronized to tools, which enables easy input synchronization
|
|
|
|
@839
|
7 months |
mmckerns |
fix spelling error for suppress
|
|
|
|
@826
|
8 months |
mmckerns |
remove old equals None; add suppressed and clipped; fix import in svctools
|
|
|
|
@807
|
10 months |
mmckerns |
functional interface for support_convergence and support_hypercube
|
|
|
|
@801
|
11 months |
mmckerns |
windows comparibility in getch, and pathos; added better read_import
|
|
|
|
@793
|
11 months |
mmckerns |
add scale to wrap_function, enable wrap_function in diffev2 and ensemble
|
|
|
|
@791
|
11 months |
mmckerns |
use len(stepmon) more uniformly; fix _fcalls for DESolvers;
generations …
|
|
|
|
@781
|
15 months |
mmckerns |
rename _bootstrap_decorate to _bootstrap_objective;
fix: diffev solver …
|
|
|
|
@776
|
17 months |
mmckerns |
copyright updated to 2015; added to examples2
|
|
|
|
@772
|
18 months |
mmckerns |
fix: remove stray random.seed causing seeding of random number generation; …
|
|
|
|
@760
|
20 months |
mmckerns |
convert most eq and ne checks against None to is and is not
|
|
|
|
@753
|
20 months |
mmckerns |
remove upper bound on sympy version; bugfix: import dill in forward_model
|
|
|
|
@743
|
22 months |
mmckerns |
add tools.partial for setting selected input params to fixed values; …
|
|
|
|
@741
|
22 months |
mmckerns |
replaced tools.masked with 'array-centric' masked; added insert_missing
|
|
|
|
@740
|
22 months |
mmckerns |
fix: python25 compatability for tools.masked
|
|
|
|
@739
|
22 months |
mmckerns |
make trajectory_plotter more script-ready (get model by name, select …
|
|
|
|
@737
|
22 months |
mmckerns |
simplified internal reducer state to always use arraylike; added …
|
|
|
|
@727
|
22 months |
mmckerns |
add SetReducer? to solvers; add reduced in tools; use SetReducer? in …
|
|
|
|
@726
|
22 months |
mmckerns |
change tools so each wrap_* uses different name for 'function' (for …
|
|
|
|
@721
|
22 months |
mmckerns |
use seterr to ignore warnings in constraints solver and wrap_bounds
fix: …
|
|
|
|
@713
|
2 years |
mmckerns |
added license and copyright to each file
|
|
|
|
@712
|
2 years |
mmckerns |
updated import in mystic.tools from dill.source
|
|
|
|
@691
|
3 years |
mmckerns |
|
|
|
|
@687
|
3 years |
mmckerns |
renaming of some of the measure methods, including dirac_measure to …
|
|
|
|
@677
|
3 years |
mmckerns |
updated solver docs to use Pool; nested solver examples use …
|
|
|
|
@676
|
3 years |
mmckerns |
fix: fixed typo in save state for nested optimizers;
updated UQ 'examples' …
|
|
|
|
@604
|
3 years |
mmckerns |
added SetPenalty? method for penalty functions, and penalty kwd for …
|
|
|
|
@536
|
4 years |
mmckerns |
added guard against null and empty logs in munge; added isNull;
allow …
|
|
|
|
@470
|
5 years |
mmckerns |
migrated "Null" to monitors; set StepMon/Evalmon? is now a method
|
|
|
|
@466
|
5 years |
mmckerns |
moved monitors from mystic.tools to mystic.monitors
|
|
|
|
@430
|
6 years |
mmckerns |
moved permutations to tools;
new names for _replace_variable_names, …
|
|
|
|
@429
|
6 years |
mmckerns |
copied src function from pathos.pyina.ez_map to tools
moved …
|
|
|
|
@425
|
6 years |
mmckerns |
bugfix to allow SOWs to correctly handle 0-d ndarrays
|
|
|
|
@422
|
6 years |
mmckerns |
added several new termination conditions;
added tools.wrap_nested …
|
|
|
|
@372
|
6 years |
mmckerns |
marker toggleable on log_reader; all=False is default on Sows
|
|
|
|
@370
|
6 years |
mmckerns |
modified Sows to allow capture of "population" not just "best" value; …
|
|
|
|
@335
|
6 years |
mmckerns |
increment trunk to 0.2a2.dev; cleaned by-file copyright, added Alta Fang
|
|
|
|
@296
|
6 years |
mmckerns |
extended Sows/Solvers? to log solver 'rank' (see ticket #94)
|
|
|
|
@247
|
6 years |
mmckerns |
DEsolver uses 'best' defaults (see ticket #113);
SOW always prints or logs …
|
|
|
|
@245
|
6 years |
mmckerns |
bugfix for ticket #110
|
|
|
|
@242
|
6 years |
mmckerns |
edits to fix epydoc formatting and content
|
|
|
|
@225
|
6 years |
mmckerns |
added LoggingSow?, a monitor that writes to a file
|
|
|
|
@219
|
6 years |
mmckerns |
bugfix for #102, DE uses initial population;
SOW now captures initial …
|
|
|
|
@126
|
7 years |
mmckerns |
added tutorial examples (see ticket #24);
commented out addModelNew (see …
|
|
|
|
@124
|
7 years |
mmckerns |
coerce source to mostly play nice with epydoc;
added epydoc config file
|
|
|
|
@123
|
7 years |
mmckerns |
most of remaining module and method documentation for mystic-0.1a1; …
|
|
|
|
@115
|
7 years |
mmckerns |
Null object now compatabile w/ python2.6
|
|
|
|
@110
|
7 years |
mmckerns |
added maxfun & scipy's callback to DE;
maxiter, maxfun are now kwds, with …
|
|
|
|
@107
|
7 years |
mmckerns |
added CustomSow? -- a user-configurable n-variable monitor
|
|
|
|
@89
|
7 years |
mmckerns |
restructured top-level to have trunk for mystic & pyina (also branches)
|
|
copied from branches/merge-pyina-at-r87/trunk/mystic/mystic/tools.py:
|
|
|
|
@88
|
7 years |
mmckerns |
added branch that merges mystic/trunk and branches/pyina at r87;
reduced …
|


gacutil(Mono 1.0) gacutil(Mono 1.0) NAME gacutil - Global Assembly Cache management utility. SYNOPSIS gacutil [-user] [command] [options] DESCRIPTION gacutil is a tool used by developers to install versioned assemblies into the system Global Assembly Cache (GAC) to become part of the assemblies that are available for all applications at runtime. Notice that they are not directly available to the compiler. The conven‐ tion is that assemblies must also be placed in a separate directory to be accessed by the compiler. This is done with the -package directive to gacutil. The tool allows for installation, removal, and listing of the contents of the assembly cache. The GAC is relative to the Mono installation prefix: mono_pre‐ fix/lib/mono. COMMANDS -i <assembly_path> [-check_refs] [-package NAME] [-root ROOTDIR] [-gacdir GACDIR] Installs an assembly into the global assembly cache. <assembly_path> is the name of the file that contains the assembly manifest The -package option can be used to also create a directory in in pre‐ fix/lib/mono with the name NAME, and a symlink is created from NAME/assembly_name to the assembly on the GAC. This is used so develop‐ ers can reference a set of libraries at once. The -root option is used to specify the "libdir" value of an installation prefix which differs from the prefix of the system GAC. Typical automake usage is "-root $(DESTDIR)$(prefix)/lib". To access assemblies installed to a prefix other than the mono prefix, it is necessary to set the MONO_GAC_PREFIX environment variable. The -gacdir option is included for backward compatibility but is not rec‐ ommended for new code. Use the -root option instead. The -check_refs option is used to ensure that the assembly being installed into the GAC does not reference any non strong named assem‐ blies. Assemblies being installed to the GAC should not reference non strong named assemblies, however the is an optional check. -l [assembly_name] [-root ROOTDIR] [-gacdir GACDIR] Lists the contents of the global assembly cache. When the <assembly_name> parameter is specified only matching assemblies are listed. -u <assembly_display_name> [-package NAME] [-root ROOTDIR] [-gacdir GACDIR] Uninstalls an assembly from the global assembly cache. <assembly_dis‐ play_name> is the name of the assembly (partial or fully qualified) to remove from the global assembly cache. If a partial name is specified all matching assemblies will be uninstalled. As opposed to the install option that takes a filename, this takes as an argument the assembly name, which looks like this: MyLibrary.Something, version=<IP_ADDRESS>, publicKeyToken=xxxx,culture=neutral Notice that you can have spaces in the command line. There is no need to quote them. Performs a greedy removal. If you only specify one component like, "MyLi‐ brary.Something", it will remove all versions of the library. -us <assembly_path> [-package NAME] [-root ROOTDIR] [-gacdir GACDIR] Uninstalls an assembly using the specified assembly's full name. <assem‐ bly path> is the path to an assembly. The full assembly name is retrieved from the specified assembly if there is an assembly in the GAC with a matching name, it is removed. Unlike the -u option this option takes a file name, like this: Example: -us myDll.dll -ul <assembly_list_file> [-package NAME] [-root ROOTDIR] [-gacdir GACDIR] Uninstalls one or more assemblies from the global assembly cache. <assembly_list_file> is the path to a test file containing a list of assembly names on separate lines. Example -ul assembly_list.txt assembly_list.txt contents: assembly1,Version=<IP_ADDRESS>,Culture=en,PublicKeyToken=0123456789abcdef assembly2,Version=<IP_ADDRESS>,Culture=en,PublicKeyToken=0123456789abcdef FILES On Unix assemblies are loaded from the installation lib directory. If you set `prefix' to /usr, the assemblies will be located in /usr/lib. On Windows, the assemblies are loaded from the directory where mono and mint live. /etc/mono/config, ~/.mono/config Mono runtime configuration file. See the mono-config(5) manual page for more information. WEB SITE Visit: http://www.go-mono.com for details SEE ALSO mcs(1),mono(1) gacutil(Mono 1.0)


{% extends "layout.html" %} {% block page_title %} Clear data {% endblock %} {% block content %} Data cleared The session data has been cleared. Prototype home page {% endblock %}
The session data has been cleared.
Prototype home page


The end.


Constructor
new Mobilitybox(access_token, base_url)
Create the API access object with your API key
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
access_token |
String | You API Access Token | |
base_url |
String | https://api.themobilitybox.com/v1 | The base URL used (optional) |
Methods
find_stations_by_name(query, callback)
Find stations by name
Parameters:
| Name | Type | Description |
|---|---|---|
query |
String | The query to use for station name search |
callback |
stationCallback | A callback receiving the stations |
find_stations_by_position(position, callback)
Find stations by positions
Parameters:
| Name | Type | Description |
|---|---|---|
position |
Object | An object containing latitude and longitude for positions |
callback |
stationCallback | A callback receiving the stations |
get_attributions(callback)
Get the attribution text and url to use in your app
Parameters:
| Name | Type | Description |
|---|---|---|
callback |
attributionsCallback | A callback receiving the attributions as HTML, text and a URL |
get_trip(trip_id, callback)
Get a trip by ID
Parameters:
| Name | Type | Description |
|---|---|---|
trip_id |
String | The Trip ID |
callback |
tripCallback | A callback receiving a single trip |


Welcome to Web App Day Ahead Clearing’s documentation!
Welcome to the documentation of the Wep application for clearing the day ahead market.
Below you will vind various in depth explinations of how the web application works and is put togheter.
The web application is largley implemented in PyPSA
and Django
to get a good understanding of both technologies we recommend to read them
The web application is live at
Documentation may also be found at..


Microdot + uTemplate + Bootstrap
This example demonstrates how to create an application that uses
Bootstrap
styling. The page layout is defined in a base template that is inherited by several pages.


This is inside example-parent
This is content of the parent!
Parent has total of '{{children.length}}' children!


Automator Workflow to stitch PDFs into a single document
by Devon Zuegel19 March 2015
I recently made a Mac Automator Workflow that allows you to easily stitch together multiple PDFs into a single document. The workflow creates a new PDF while also To use the workflow on your own computer:
- Download the
.zip
file and extract the workflow from the archive. - When OSX prompts you with "Do you want to install the “Combine PDF Files” service?", click "Install".
- Navigate to the directory in which the PDFs you wish to combine can be found. Select all of the files at once, and right-click the selection. At the bottom of the menu, click the option called "Combine PDF Files".
- The workflow will ask you to name the new file (including its extension) and to choose its location. Voila!


Production Budget ($1000 to $500mil):
Part of Franchise?:
Rating:
Genre:
Production Method:
Creative Type:
Source:
Release Month:
Movie studios are bombarded with thousands of ideas every year. Based upon the limited amount of data available to them, how can they know whether or not to greenlight a movie?
A web application where a user can input features and it will give a prediction for movie revenue. Also provided are upper and lower bounds for the predictions. These values are based upon the upper and lower bounds of 60% of the Decision Tree predictions within the Random forest model.
If you are interested in learning more about this tool or the data science behind it, you can contact me and/or view the project repository here.


Toggle navigation
MOH Data Service Layer
DSL
DSL Home
DSL Analytics
Dashboard
Indicator
Fully Immunized Child Coverage
Proportion of pregnant women attending 4
ANC visits according to
Focused ANC schedule
TB curative Rate
TB curative Rate
Organisation Unit
Level
National
County
Counstituency
Ward
Facility
Period
Period Type
Monthly
Yearly
-- year --
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
-- From: --
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
-- To: --
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
Filter
Display Other Data Sources
Ihris
Kemsa
Human resource(Cadre)
Commodity
Issue
Loading


|
template
Syntax:
template <class data-type> return-type name( parameter-list ) { statement-list; } Templates are used to create generic functions and can operate on data without knowing the nature of that data. They accomplish this by using a placeholder data-type for which many other data types can be substituted. |


Thomas R. Stegelmann
I love technology.
Reading
Books are the quietest and most constant of friends; they are the most accessible and wisest of counselors, and the most patient of teachers.”
- Charles William Eliot
My current Book
- Discover Your True North
- George, Bill
My Recommendations
- Thinking in Systems: A Primer
- Donella H. Meadows
- Wealth of Nations
- Adam Smith
- How to Lie with Statistics
- Huff
My Library
- Animation 1: Learn to Animate Cartoons Step by Step (Cartooning)
- Preston Blair
- The Back of the Napkin (Expanded Edition): Solving Problems and Selling Ideas with Pictures
- Dan Roam
- Bad Science
- Ben Goldacre
- The 80/20 Principle
- Richard Koch
- The Autobiography of Benjamin Franklin
- Benjamin Franklin
- Ben and Jerry's Homemade Ice Cream and Dessert Book
- Ben R. Cohen, Jerry Greenfield
- Blue Ocean Strategy
- W. Chan Kim & Renée Mauborgne
- Brain Rules: 12 Principles for Surviving and Thriving at Work, Home, and School
- John Medina
- The Brand Bubble: The Looming Crisis in Brand Value and How to Avoid It
- Peter Stringham
- Brand Thinking and Other Noble Pursuits
- Debbie Millman
- Business Adventures: Twelve Classic Tales from the World of Wall Street
- John Brooks
- Business Stripped Bare: Adventures of a Global Entrepreneur
- Richard Branson
- Car Guys vs. Bean Counters: The Battle for the Soul of American Business
- Bob Lutz
- The Checklist Manifesto: How To Get Things Right
- Atul Gawande
- Churchill on Leadership: Executive Success in the Face of Adversity
- Steven F. Hayward
- Competitive Strategy
- Michael Porter
- Confessions of a Public Speaker
- Scott Berkun
- Crucial Conversations: Tools for Talking When Stakes are High
- Kerry Patterson, Ron McMillan, Joseph Grenny, Al Switzler
- 10 Days to Faster Reading
- Abby Marks-Beale
- Democratizing Innovation
- Eric von Hippel
- The Design of Everyday Things
- Don Norman
- Designing with the Mind in Mind: Simple Guide to Understanding User Interface Design Rules
- Jeff Johnson
- Discover Your True North
- George, Bill
- Drive: The Surprising Truth About What Motivates Us
- Daniel H. Pink
- Effective Programming: More Than Writing Code
- Jeff Atwood (Coding Horror)
- The Elements of Style
- William, Jr. Strunk, E. B. White
- The Elements of Typographic Style
- Robert Bringhurst
- The End of Fashion: The Mass Marketing of the Clothing Business Forever
- Teri Agins
- The Essential Drucker
- Peter Drucker
- The First 90 Days, Updated and Expanded: Proven Strategies for Getting Up to Speed Faster and Smarter
- Michael D. Watkins
- Getting Started with Arduino (Make: Projects)
- Massimo Banzi
- Getting Things Done
- David Allen
- Good Calories, Bad Calories
- Gary Taubes
- Good to Great, Why Some Companies Make the Leap... and Others Don't... An Executive Summary and Critique
- Michael Collins
- Harvard Business Review on Customer Relationship Management (Harvard Business Review Paperback Series)
- C. K. Prahalad, Jon R. Katzenbach, Patrica B. Ramaswamy et al.
- Harvard Business Review on Effective Communication (Harvard Business Review Paperback Series)
- Harvard Business School Press
- Harvard Business Review on Brand Management (Harvard Business Review Paperback Series)
- Harvard Business School Press
- Harvard Business Review Guide to Better Business Writing
- Harvard Business Review
- HBR's 10 Must Reads on Strategy (including featured article What Is Strategy? by Michael E. Porter)
- Harvard Business Review
- HBR's 10 Must Reads on Managing People (with featured article Leadership That Gets Results, by Daniel Goleman)
- Daniel Goleman, W. Chan Kim, Jon R. Katzenbach, Renee Mauborgne
- HBR's 10 Must Reads on Managing Yourself (with bonus article "How Will You Measure Your Life?" by Clayton M. Christensen)
- Peter Ferdinand Drucker, Clayton M. Christensen, Daniel Goleman
- The Heart and the Fist: The education of a humanitarian, the making of a Navy SEAL
- Eric Greitens
- How to Lie with Statistics
- Huff
- How to Speak and Write Correctly
- Joseph Devlin
- Hypercompetitive Rivalries: Competing in Highly Dynamic Environments
- Richard A. D'aveni
- If You Want to Write
- Brenda Ueland
- Influence: The Psychology of Persuasion
- Robert B. Cialdini
- Information Architecture for the World Wide Web: Designing Large-Scale Web Sites
- Peter Morville, Louis Rosenfeld
- Innovation and Entrepreneurship
- Peter Drucker
- The Innovator's Dilemma: When New Technologies Cause Great Firms to Fail (Management of Innovation and Change)
- Clayton M. Christensen
- The Innovator's DNA: Mastering the Five Skills of Disruptive Innovators
- Clayton M. Christensen, Jeff Dyer, Hal Gregersen
- INSIDE GROUPON: The Truth About The World's Most Controversial Company
- Business Insider, Nicholas Carlson
- Just Listen: Discover the Secret to Getting Through to Absolutely Anyone
- Mark Goulston M.D.
- Kellogg on Branding: The Marketing Faculty of The Kellogg School of Management
- Tim Calkins
- Landing Page Optimization: The Definitive Guide to Testing and Tuning for Conversions
- Tim Ash
- Leading Change
- John P. Kotter
- The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses
- Eric Ries
- Lean UX: Applying Lean Principles to Improve User Experience
- Jeff Gothelf
- Learn Ruby on Rails
- Daniel Kehoe
- Lessons of a Brand Manager
- Michael F. Golden
- Liespotting: Proven Techniques to Detect Deception
- Pamela Meyer
- The Life-Changing Magic of Tidying: A simple, effective way to banish clutter forever
- Marie Kondo
- Little Bets: How Breakthrough Ideas Emerge from Small Discoveries
- Peter Sims
- Logo Design Love: A Guide to Creating Iconic Brand Identities (Voices That Matter)
- David Airey
- Made to Stick
- Chip and Dan Heath
- Making Sense of People: Decoding the Mysteries of Personality (FT Press Science)
- Samuel Barondes
- Making Things Happen
- Scott Berkun
- Man's Search for Meaning
- Viktor E. Frankl
- The New Rules: Eight Business Breakthroughs to Career Success in the 21st Century
- John P. Kotter
- On Writing
- Stephen King
- On Writing Well
- William Zinsser
- One Click: Jeff Bezos and the Rise of Amazon.com
- Richard L. Brandt
- Only the Paranoid Survive
- Andrew Grove
- Outliers: The Story of Success
- Malcolm Gladwell
- Phonegap Beginner's Guide
- Andrew Lunny
- Pictures of the Mind: What the New Neuroscience Tells Us About Who We Are (FT Press Science)
- Miriam Boleyn-Fitzgerald
- The Power of Focus: How to Hit Your Business, Personal and Financial Targets with Absolute Certainty
- Jack Canfield, Mark Victor Hansen, Les Hewitt
- The Power of Habit: Why We Do What We Do, and How to Change
- Charles Duhigg
- Power of Less
- Leo Babauta
- The Power of Scrum
- Jeff Sutherland, Rini van Solingen, Eelco Rustenberg
- A Practical Guide to Information Architecture
- Donna Spencer
- Predictably Irrational, Revised Intl: The Hidden Forces That Shape Our Decisions
- Dan Ariely
- Presentation Zen
- Garr Reynolds
- Presenting to Win: The Art of Telling Your Story, Updated and Expanded Edition
- Jerry Weissman
- The Prince
- Niccolo Machiavelli
- A Project Guide to UX Design: For user experience designers in the field or in the making (Voices That Matter)
- Russ Unger, Carolyn Chandler
- Save the Cat
- Blake Snyder
- Seeing What’s Next
- Clayton M. Christensen et al
- A Sense of Urgency
- John P. Kotter
- Show Me The Numbers
- Stephen Few
- Steve Jobs
- Walter Isaacson
- Story Engineering
- Larry Brooks
- The Story of My Experiments with Truth
- Gandhi, Mohandas
- Strategies for Success in Retail (Collection) (FT Press Delivers Collections)
- Jagmohan John Raju, Herb Sorensen, Z. John Zhang, Rick DeHerder, Dick Blatt
- Stupid, Ugly, Unlucky and RICH (Spike's Guide to Success)
- Richard St John
- Rework
- Jason Fried & David Heinemeier Hansson
- Thinking in Systems: A Primer
- Donella H. Meadows
- Thinking, Fast and Slow
- Daniel Kahneman
- Thomas Jefferson: The Art of Power
- Jon Meacham
- To Sell is Human: The Surprising Truth About Persuading, Convincing, and Influencing Others
- Daniel H Pink
- The Starfish and the Spider: The Unstoppable Power of Leaderless Organizations
- Ori Brafman, Rod A. Beckstrom
- The Truth About What Customers Want
- Michael R. Solomon
- Understanding Comics: The Invisible Art
- Scott Mccloud
- Universal Methods of Design: 100 Ways to Research Complex Problems, Develop Innovative Ideas, and Design Effective Solutions
- Martin, Bella
- Universal Principles of Design: A Cross-Disciplinary Reference: 100 Ways to Enhance Usability, Influence Perception, Increase Appeal, Make Better Desin
- William Lidwell, et al
- Vim and Vi Tips: Essential Vim and Vi Editor Skills, 3rd ed.
- Jacek Artymiak
- Wealth of Nations
- Adam Smith
- Why We Buy: The Science Of Shopping
- Paco Underhill
- Wooden on Leadership: How to Create a Winning Organizaion
- John Wooden
- Write Great Fiction - Plot & Structure
- James Scott Bell
- You Should Test That: Conversion Optimization for More Leads, Sales and Profit or The Art and Science of Optimized Marketing
- Chris Goward
- Your Brain at Work: Strategies for Overcoming Distraction, Regaining Focus, and Working Smarter All Day Long
- David Rock


A third-person twin-stick shooter. You've just stolen a shipment of powerful weapons from Sun Eater Systems, using your newfound equipment you must fly deep into the heart of the city to take down the evil corporation that has been terrorizing the citizens of your city.
Project started with a proof of concept in unity created by a fellow team member. This proof of concept had a very clear vision of most of the final product systems and feel, allowing the team to get started quickly on what was needed.
Misunderstanding of some systems coupled with miscommunication slowed the project down slightly.
Going forward, I've learned moderation is a very helpful tool. After having issues with programming systems on the project, I had reached a breaking point and had to take a step back. During this time I took an in-depth look at the engine documentation for Unreal. Taking a step back allowed me to clear my head and begin fixing issues quickly and efficently.


Our favorite things
These are a few of our favorite things.
People
Here are some of our favorite people!
- My cousin Noah!
- My cousin Maldon!
- Noah's wife Abbie
- Maldon's Mom and Dad
- Noah's friend Terry
- Maldon's friend Nancy
Favorite Exercizes
Check out LA Fitness
These are our favorites, in order:
- Walking
- Swimming
- Bulk the Hulk (weight lifting!)
Thanks for reading about us!


Kubernetes
The Kubernetes builder extension offers native support for running Ballerina programs on Kubernetes with the use of annotations that you can include as part of your service code.
The Kubernetes builder extension takes care of the creation of the Docker images, so you don’t need to explicitly create Docker images prior to deployment on Kubernetes.
Supported Configurations
The following Kubernetes configurations are supported:
- Kubernetes deployment support
- Kubernetes service support
- Kubernetes liveness probe support
- Kubernetes readiness probe support
- Kubernetes ingress support
- Kubernetes horizontal pod autoscaler support
- Docker image generation
- Docker push support with remote Docker registry
- Kubernetes secret support
- Kubernetes config map support
- Kubernetes persistent volume claim support
- Kubernetes resource quotas
- Istio gateways support
- Istio virtual services support
- OpenShift build config and image stream support
- OpenShift route support
Using Kubernetes Annotations
The following Ballerina code section explains how you can use some of these Kubernetes capabilities by using Kubernetes annotation support in Ballerina.
import ballerina/config;
import ballerina/http;
import ballerina/kubernetes;
import ballerina/log;
@kubernetes:Ingress {
hostname: "ballerina.guides.io",
name: "ballerina-guides-user-retrieval-ingress"
}
@kubernetes:Service {
serviceType: "NodePort",
name: "ballerina-guides-user-retrieval-service"
}
listener http:Listener userRetrievalEP = new (9090, config = {
secureSocket: {
keyStore: {
path: "./security/ballerinaKeystore.p12",
password: config:getAsString("keystore-password")
}
}
});
@kubernetes:ConfigMap {
conf: "service-config.toml"
}
@kubernetes:Deployment {
image: "ballerina.guides.io/user_retrieval_service:v1.0",
name: "ballerina-guides-user-retrieval-service"
}
@http:ServiceConfig {
basePath: "/users"
}
service userRetrievalService on userRetrievalEP {
@http:ResourceConfig {
methods: ["GET"],
path: "/{userId}"
}
resource function getUserInfo(http:Caller caller, http:Request request, string userId) {
string name = config:getAsString(string `${<@untainted>userId}.name`);
string email = config:getAsString(string `${<@untainted>userId}.email`);
// check if user exists
json payload = { message: "user not found" };
if (name != "" && email != "") {
payload = {
name: name,
email: email
};
}
var responseResult = caller->respond(payload);
if (responseResult is error) {
log:printError("error responding back to client.", responseResult);
}
}
}
Sample content of service-config.toml
:
keystore-password="ballerina"
[john]
name="John Doe"
<EMAIL_ADDRESS>[jane]
name="Jane Doe"
<EMAIL_ADDRESS>Here, @kubernetes:Deployment
is used to specify the Docker image name, which will be created as part of building this service.
The @kubernetes:Service {}
annotation will create a Kubernetes service that will expose the Ballerina service running on a Pod.
In addition, you can use @kubernetes:Ingress
, which is the external interface to access your service (with path / and host name ballerina.guides.io
).
Minikube users please see the Kubernetes Extension samples for additional configurations required for Minikube.
Create a folder called security
and copy the ballerinaKeystore.p12. This is to secure the endpoint of the service.
Building the Deployed Service
Now, you can use the following command to build the Ballerina service that we developed above. This will also create the corresponding Docker image and the Kubernetes artifacts using the Kubernetes annotations that you have configured above.
$ ballerina build user_retrieval_service.bal
Compiling source
user_retrieval_service.bal
Generating executables
user_retrieval_service.jar
Generating artifacts...
@kubernetes:Service - complete 1/1
@kubernetes:Ingress - complete 1/1
@kubernetes:Secret - complete 1/1
@kubernetes:ConfigMap - complete 1/1
@kubernetes:Deployment - complete 1/1
@kubernetes:Docker - complete 2/2
@kubernetes:Helm - complete 1/1
Run the following command to deploy the Kubernetes artifacts:
kubectl apply -f ./kubernetes
Run the following command to install the application using Helm:
helm install --name ballerina-guides-user-retrieval-service ./kubernetes/ballerina-guides-user-retrieval-service
You can use the docker images
command to verify that the Docker image specified in the @kubernetes:Deployment
was created. The Kubernetes artifacts related to your service will be generated in addition to the .jar
file.
$ tree
├── service-config.toml
├── user_retrieval_service.bal
├── user_retrieval_service.jar
├── security
│ └── ballerinaKeystore.p12
├── docker
│ └── Dockerfile
├── kubernetes
│ ├── ballerina-guides-user-retrieval-service
│ │ ├── Chart.yaml
│ │ └── templates
│ │ └── user_retrieval_service.yaml
│ └── user_retrieval_service.yaml
Creating the Kubernetes Deployment
Now, you can create the Kubernetes deployment using:
$ kubectl apply -f ./kubernetes
service/ballerina-guides-user-retrieval-service created
ingress.extensions/ballerina-guides-user-retrieval-ingress created
secret/userretrievalep-keystore created
configmap/userretrievalservice-ballerina-conf-config-map created
deployment.apps/ballerina-guides-user-retrieval-service created
You can verify Kubernetes deployment, service, and ingress are running properly by using the following Kubernetes commands.
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
ballerina-guides-user-retrieval-service-7cfd8b6874-nkdw9 1/1 Running 0 4s
This is the container based on the deployment annotation. This container has the .jar
file, secrets, config-maps, and dependencies wrapped within.
$ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ballerina-guides-user-retrieval-service NodePort <IP_ADDRESS> <none> 9090:31417/TCP
This is the Kubernetes service that exposes the listener endpoint.
$ kubectl get ingress
NAME HOSTS ADDRESS PORTS AGE
ballerina-guides-user-retrieval-ingress ballerina.guides.io localhost 80, 443 38s
This is the Kubernetes nginx rule that exposes the hostname to the outside world.
$ kubectl get secrets
NAME TYPE DATA AGE
userretrievalep-keystore Opaque 1 3m45s
The secrets are generated automatically for endpoint keystores.
$ kubectl get configmap
NAME DATA AGE
userretrievalservice-ballerina-conf-config-map 1 4m38s
This is the config-map created for the service-config.toml
file, as the conf: "service-config.toml"
attribute is used. At run time, it is equivalent to:
$ ballerina run user_retrieval_service.jar --b7a.config.file=service-config.toml
The Kubernetes extension automatically passes the config file to the Ballerina program.
If everything is successfully deployed, you can invoke the service either via Node port or ingress.
Accessing via Node Port
$ curl -k https://localhost:31417/users/john
{"name":"John Doe"<EMAIL_ADDRESS>Accessing via Ingress
Add an /etc/hosts
entry to match hostname.
<IP_ADDRESS> ballerina.guides.io
Setup the NGINX Ingress Controller.
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.27.0/deploy/static/mandatory.yaml
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/nginx-0.27.0/deploy/static/provider/cloud-generic.yaml
kubectl patch deployments -n ingress-nginx nginx-ingress-controller -p '{"spec":{"template":{"spec":{"containers":[{"name":"nginx-ingress-controller","args":["\/nginx-ingress-controller","--configmap=$(POD_NAMESPACE)\/nginx-configuration","--tcp-services-configmap=$(POD_NAMESPACE)\/tcp-services","--udp-services-configmap=$(POD_NAMESPACE)\/udp-services","--publish-service=$(POD_NAMESPACE)\/ingress-nginx","--annotations-prefix=nginx.ingress.kubernetes.io","--annotations-prefix=nginx.ingress.kubernetes.io","--enable-ssl-passthrough"]}]}}}}'
Accessing the Service
$ curl -kv https://ballerina.guides.io/users/jane
{"name":"Jane Doe"<EMAIL_ADDRESS>Supported Kubernetes Annotations
@kubernetes:Deployment{}
- Supported with Ballerina services, listeners and functions.
| Annotation Name | Description | Default value |
|---|---|---|
| name | Name of the deployment | |
| labels | Labels for deployment | { app: |
| annotations | Annotations for deployment | {} |
| dockerHost | Docker host IP and Docker PORT.(e.g “tcp://<IP_ADDRESS>:2376”) | DOCKER_HOST environment variable. If DOCKER_HOST is unavailable, use “unix:///var/run/docker.sock” for Unix or use “npipe:////./pipe/docker_engine” for Windows 10 or uses “localhost:2375” |
| dockerCertPath | Docker cert path | DOCKER_CERT_PATH environment variable |
| registry | Docker registry URL | null |
| username | Username for the Docker registry | null |
| password | Password for the Docker registry | null |
| baseImage | Base image to create the Docker image | ballerina/jre8:v1 |
| image | Docker image with tag | |
| buildImage | Building the Docker image | true |
| push | Push the Docker image to registry. This will be effective if the buildImage field of the image is true |
false |
| copyFiles | Copy external files of the Docker image | null |
| singleYAML | Generate a single YAML file for all K8s resources | true |
| namespace | Namespace of the deployment | null |
| replicas | Number of replicas | 1 |
| livenessProbe | Enable or disable liveness probe | false |
| readinessProbe | Enable or disable readiness probe | false |
| imagePullPolicy | Docker image pull policy | IfNotPresent |
| env | List of environment variables | null |
| podAnnotations | Pod annotations | {} |
| podTolerations | Pod tolerations | {} |
| buildExtension | Extension for building Docker images and artifacts | null |
| dependsOn | Listeners on which this deployment depends | null |
| imagePullSecrets | Image pull secret’s value | null |
| strategy | Update strategy | null |
@kubernetes:Service{}
- Supported by Ballerina services and listeners.
| Annotation Name | Description | Default value |
|---|---|---|
| name | Name of the Service | |
| labels | Labels for the service | { app: |
| portName | Name for the port | The protocol of the listener |
| port | Service port | Port of the Ballerina service |
| targetPort | Target pod(s) port | Port of the Ballerina service |
| nodePort | NodePort to expose the service | None |
| sessionAffinity | Pod session affinity | None |
| serviceType | Service type of the service | ClusterIP |
@kubernetes:Ingress{}
- Supported by Ballerina services and listeners.
| Annotation Name | Description | Default value |
|---|---|---|
| name | Name of the ingress | |
| labels | Labels for the service | { app: |
| annotations | Map of additional annotations | null |
| hostname | Host name of the ingress | |
| path | Resource path. | / |
| targetPath | This will use for rewriting the URL. | null |
| ingressClass | Ingress class | nginx |
| enableTLS | Enable ingress TLS | false |
@kubernetes:HPA{}
- Supported by Ballerina services and functions.
| Annotation Name | Description | Default value |
|---|---|---|
| name | Name of the Horizontal Pod Autoscaler | |
| labels | Labels for the service | { app: |
| annotations | Map of annotations | null |
| minReplicas | Minimum number of replicas | Number of replicas in the deployment |
| maxReplicas | Maximum number of replicas | minReplicas + 1 |
| cpuPrecentage | CPU percentage to start scaling | 50 |
@kubernetes:Secret{}
- Supported by Ballerina services and functions.
| Annotation Name | Description | Default value |
|---|---|---|
| name | Name of the secret mount | |
| labels | Labels for the service | { app: |
| annotations | Map of annotations | null |
| mountPath | Path to mount on container | null |
| readOnly | Is mount read only | true |
| data | Paths to data files | null |
@kubernetes:ConfigMap{}
- Supported by Ballerina services and functions.
| Annotation Name | Description | Default value |
|---|---|---|
| name | Name of the configmap volume mount | <service_name>-config-map |
| mountPath | Path to mount on container | null |
| readOnly | Is mount read only | true |
| ballerinaConf | Ballerina conf file location | null |
| data | Paths to data files | null |
@kubernetes:PersistentVolumeClaim{}
- Supported by Ballerina services and functions.
| Annotation Name | Description | Default value |
|---|---|---|
| name | Name of the volume mount | null |
| mountPath | Path to mount on container | null |
| readOnly | Is mount read only | false |
| accessMode | Access mode | ReadWriteOnce |
| volumeClaimSize | Size of the volume claim | null |
@kubernetes:Job{}
- Supported with the Ballerina
main()
function.
| Annotation Name | Description | Default value |
|---|---|---|
| name | Name of the job | |
| labels | Labels for the job | { app: |
| annotations | Metadata Annotations map | {} |
| dockerHost | Docker host IP and Docker PORT.(e.g “tcp://<IP_ADDRESS>:2376”) | DOCKER_HOST environment variable. If DOCKER_HOST is unavailable, use “unix:///var/run/docker.sock” for Unix or use “npipe:////./pipe/docker_engine” for Windows 10 or uses “localhost:2375” |
| dockerCertPath | Docker cert path | DOCKER_CERT_PATH environment variable |
| registry | Docker registry URL | null |
| username | Username for the Docker registry | null |
| password | Password for the Docker registry | null |
| baseImage | Base image to create the Docker image | ballerina/jre8:v1 |
| image | Docker image with tag | |
| buildImage | Building the Docker image | true |
| push | Push the Docker image to registry. This will be effective if the buildImage field of the image is true |
false |
| copyFiles | Copy external files for the Docker image | null |
| singleYAML | Generate a single YAML file for all K8s resources | true |
| namespace | Namespace for the Job | default |
| imagePullPolicy | Docker image pull policy | IfNotPresent |
| env | List of the environment variables | null |
| restartPolicy | Restart policy | Never |
| backoffLimit | Backoff limit | 3 |
| activeDeadlineSeconds | Active deadline seconds | 20 |
| schedule | Schedule for CRON jobs | none |
| imagePullSecrets | Image pull secret’s value | null |
Extending Ballerina Deployment and Annotations
Ballerina can be augmented with your own annotations that represent your own unique deployment artifacts. You can also write builder extensions that generate these files during compilation. Refer to the example at https://github.com/ballerinax/hello.


Meredith's Maze
Your desk is at the top-left corner of the grid. Your mission is to find the coffee.
You may or may not be able to find it. Your fate is determined by Math.random--it is
random
who makes the walls.
Columns:
Rows:
% of walls:
make maze
solve it


Bud Peters
Call me Bud. I'm a rising senior and math major at Berkeley. When I'm not working on proofs, I do research in machine learning and compete in triathlons. For fun, I'm big on music, reading, and going on adventures with friends. I'm Phoenix born, Jersey raised, and California assimilated.


Hello and welcome to the Code Quiz. Rules for the quiz: You have 90 seconds to answer the following questions. Once you click start you must continue till the very end. Your score will be your time remaining. Oh, and you will lose 10 seconds for every incorrect answer. Have fun!


Breadcrumb
Axure Kit
Carbon
Updates
Common widgets
Style effects
Variables
Selection group
Repeater
Dynamic panel
Introduction
Axure elements
Utilities
UI shell
Tooltip
Toggle
Tile
Text input
Tag
Tabs
Structured list
Slider
Select
Search
Radio button
Progress indicator
Pagination
Overflow menu
Number input
Notification
Modal
Loading
List
Link
Inline loading
Form
File upoader
Dropdown
Date picker
Data table
Content switcher
Code snippet
Checkbox
Button
Breadcrumb
Accordion
Components
Typography
Spacing
Icons
Color
Design elements
Library index
Getting started
Components
Breadcrumb
Library section:
Interactions:
Search and Navigation
Dynamic panel
Style effects
Privacy
Have questions? Open an issue on GitHub.
Last updated 29 January 2020
Copyright © 2020 IBM
Terms of Use
Contribute
IBM.com
Breadcrumb 6
/
Breadcrumb 5
/
...
/
Breadcrumb 1


« CSS « CSS Reference
none is a common value for most CSS properties. It is often the default value, but can always be considered as a sort of "standard" value. It is comparable to the value
normal
, used in a similar manner for other properties.
float
text-decoration
max-height
/
max-width


Man stabs wife before setting house on fire, police say
NEW YORK (WABC/CNN) - New York police say a man stabbed his wife and then set their house on fire.
Firefighters pulled the man from the home in Staten Island Saturday. He is now in critical condition.
Police say his wife escaped the home after her husband attacked her. She is in stable condition.
Copyright 2019 WABC via CNN. All rights reserved.


Overview of Chemical Properties¶
| Release: | 1.1 |
|---|---|
| Date: | Nov 08, 2017 |
Chemical Properties Script¶
Create a dictionary of chemical properties
This script creates a dictionary of the properties of several hydrocarbons and chemicals of environmental interest in a global dictionary for use by other programs that need to know chemical properties.
Parameters¶
The chemical data are stored in ./data/ChemData.csv
. Header rows are
denoted by %, the last row of pure text is taken as the variable names and
the last row with `() is taken as the units. The columns should include
a key name (e.g., methane), the molecular weight, critical point pressure,
critical point temperature, critical point molar volumne, boiling point
temperature, molar volume at the boiling point, acentric factor, Henry’s
law constant at 298.15 K, negative of the enthalpy of dilution, parameters
B and dE of the diffusivity model (no longer used), and the Setschenow
salting out correction constant. For unknown parameter values, use -9999.
For the data provided by the model, the data sources and more details are
documented in the file ../docs/ChemData_ReadMe.txt
.
This module can read in any number of columns of chemical data, including parameters not listed below. Units will be converted to standard SI units, and the conversion function will operate on g/mol, psia, F, mol/dm^3 atm, mm^2/s, cal/mol. The returned variables units will contain the final set of units for the database. To use the TAMOC suite of models, all parameters listed below in the data dictionary must be provided with the variable names listed.
Returns¶
- data : dict
a nested dictionary containing the chemical name as the first key and the following list of secondary keys matched with the numerical value of each variable:
M : molecular weight (kg/mol) Pc : pressure at the critical point (Pa) Tc : temperature at the critical point (K) Vc : molar volume at the critical point (m^3/mol) Tb : boiling point (K) Vb : molar volume at the boiling point (m^3/mol) omega : acentric factor (–) kh_0 : Henry’s law constant at 298.15 K (kg/(m^3 Pa)) -dH_solR : negative of the enthalpy of solution / R (K) nu_bar : specific volume at infinite dilution (m^3/mol) B : diffusivity model coefficient (m^2/s) dE : diffusivity model coefficient (J/mol) K_salt : Setschenow salting out correction for solubility (m^3/mol)- units : dict
- dictionary with the same keys as the variables names listed above (e.g., M, Pc, Tc, etc.) linked to a string containing the units of each variable.
Notes¶
To use the properties database distributed by TAMOC, simply import this
file in Python: the results will be returned in chemical_properties.data.
To import a user-defined database of properties, use the function
load_data
provided in this module. The TAMOC
suite of models will
pull data from both the default and any user-specified database, giving
first priority to parameter keys found in the user-specified database.
Examples¶
>>> from tamoc import chemical_properties as chem
>>> chem.data['oxygen']['M']
0.031998800000000001
>>> chem.units['M']
'(kg/mol)'
Input Data Documentation¶
This script loads the chemical properties database into the name space. If the import command is:
import chemical_properties
then the database is in the chemical_properties
namespace. The TAMOC
package usually imports using:
import chemical_properties as chem
so that the database is in the chem
namespace.
The data loaded into these namespaces is stored in the file:
./data/ChemData.csv
The format for these data is described in Sources of Data in ChemData.csv