Honey Bee Colonies
Released May 12, 2016, by the National Agricultural Statistics Service (NASS), Agricultural Statistics Board, United States Department of Agriculture (USDA).
|
| Page |
File Name |
Table Description |
| |
hcny_all_tables.csv |
All tables in the report |
| 1 |
hcny_p01_t005.csv |
Number of Colonies, Maximum, Lost, Percent Lost, Added, Renovated, and Percent Renovated with Five or More Colonies – States and United States: January 1, 2015 and January-March 2015 |
2 |
hcny_p02_t001.csv |
Number of Colonies, Maximum, Lost, Percent Lost, Added, Renovated, and Percent Renovated with Five or More Colonies – States and United States: April 1, 2015 and April-June 2015 |
3 |
hcny_p03_t007.csv |
Number of Colonies, Maximum, Lost, Percent Lost, Added, Renovated, and Percent Renovated with Five or More Colonies – States and United States: July 1, 2015 and July-September 2015 |
4 |
hcny_p04_t008.csv |
Number of Colonies, Maximum, Lost, Percent Lost, Added, Renovated, and Percent Renovated with Five or More Colonies – States and United States: October 1, 2015 and October-December 2015 |
5 |
hcny_p05_t011.csv |
Number of Colonies, Maximum, Lost, Percent Lost, Added, Renovated, and Percent Renovated with Five or More Colonies – States and United States: January 1, 2016 and January-March 2016 |
6 |
hcny_p06_t002.csv |
Colony Health Stressors with Five or More Colonies – States and United States: January-March 2015 |
7 |
hcny_p07_t013.csv |
Colony Health Stressors with Five or More Colonies – States and United States: April-June 2015 |
8 |
hcny_p08_t009.csv |
Colony Health Stressors with Five or More Colonies – States and United States: July-September 2015 |
9 |
hcny_p09_t010.csv |
Colony Health Stressors with Five or More Colonies – States and United States: October-December 2015 |
10 |
hcny_p10_t012.csv |
Colony Health Stressors with Five or More Colonies – States and United States: January-March 2016 |
11 |
hcny_p11a_t003.csv |
Colonies Lost with Colony Collapse Disorder Symptoms with Five or More Colonies – United States: Quarterly January-December 2015 and January-March 2016 |
11 |
hcny_p11b_t021.csv |
Number of Colonies, Lost, Percent Lost, Added, Renovated, and Percent Renovated with Inventory of Less than Five Colonies – United States: First of Quarter and Quarterly 2015 |
11 |
hcny_p11c_t017.csv |
Colony Health Stressors with Less than Five Colonies – United States: Annual 2015 |
11 |
hcny_p11d_t018.csv |
Colonies Lost with Colony Collapse Disorder Symptoms with Less than Five Colonies – United States: Annual 2015 |


Vanessa Bayer to star in Showtime comedy 'Big Deal'
by Karen ButlerNov. 18 (UPI) -- Showtime said it has ordered a pilot for Big Deal, a half-hour comedy starring and co-created by Saturday Night Live alum Vanessa Bayer.
Jessi Klein -- whose credits include Inside Amy Schumer and Big Mouth -- will serve as show-runner.
The Big Sick director Michael Showalter is to helm the first episode.
The series is loosely based on Bayer's own past as a childhood leukemia survivor. Her fictionalized character overcomes illness and achieves her lifelong dream of being a QVC host.
"Vanessa Bayer is such a sharp and joyful comic talent, and in Big Deal she mines the story of her own life to deliver hard comedy with deep resonance," Gary Levine, president of entertainment at Showtime Networks, said in a statement.


: HTTP GET query parameters (parameters in the URL such as params.php?name=value&name=value)
Array ( )
: uploaded files
Array ( )
: cookies sent by your browser along with the request
Array ( [$Version] => 1 [PHPSESSID] => ot3vfivv5ho26ed0fpk71s112i [$Path] => / )s
: web server state and settings
Array ( [HTTP_HOST] => selab.hanyang.ac.kr [HTTP_REFERER] => http://selab.hanyang.ac.kr/courses/cse326/2019/lecture/06-forms.html [HTTP_COOKIE] => $Version=1; PHPSESSID=ot3vfivv5ho26ed0fpk71s112i; $Path=/ [HTTP_USER_AGENT] => Mozilla/4.5 (compatible; HTTrack 3.0x; Windows 98) [HTTP_ACCEPT] => text/html,image/png,image/jpeg,image/pjpeg,image/x-xbitmap,image/svg+xml,image/gif;q=0.9,*/*;q=0.1 [HTTP_ACCEPT_LANGUAGE] => en, * [HTTP_ACCEPT_ENCODING] => gzip, identity;q=0.9 [HTTP_X_FORWARDED_PROTO] => https [HTTP_X_FORWARDED_PORT] => 443 [HTTP_X_APPLE_SERVICE_WEBCALSSL_ENABLED] => true [HTTP_X_APPLE_SERVICE_PROFILE_MANAGER_ENABLED] => true [HTTP_X_FORWARDED_HOST] => selab.hanyang.ac.kr [HTTP_X_FORWARDED_SERVER] => selab.hanyang.ac.kr [HTTP_CONNECTION] => Keep-Alive [PATH] => /usr/bin:/bin:/usr/sbin:/sbin [SERVER_SIGNATURE] => Apache Server at selab.hanyang.ac.kr Port 80 [SERVER_SOFTWARE] => Apache [SERVER_NAME] => selab.hanyang.ac.kr [SERVER_ADDR] => <IP_ADDRESS> [SERVER_PORT] => 80 [REMOTE_ADDR] => <IP_ADDRESS> [DOCUMENT_ROOT] => /Library/Server/Web/www [REQUEST_SCHEME] => http [CONTEXT_PREFIX] => [CONTEXT_DOCUMENT_ROOT] => /Library/Server/Web/www [SERVER_ADMIN] =><EMAIL_ADDRESS>[SCRIPT_FILENAME] => /Library/Server/Web/www/courses/cse326/2019/lecture/resources/params.php [REMOTE_PORT] => 56689 [GATEWAY_INTERFACE] => CGI/1.1 [SERVER_PROTOCOL] => HTTP/1.1 [REQUEST_METHOD] => GET [QUERY_STRING] => [REQUEST_URI] => /courses/cse326/2019/lecture/resources/params.php [SCRIPT_NAME] => /courses/cse326/2019/lecture/resources/params.php [PHP_SELF] => /courses/cse326/2019/lecture/resources/params.php [REQUEST_TIME_FLOAT] =><PHONE_NUMBER>.562 [REQUEST_TIME] =><PHONE_NUMBER> )


To view this video please enable JavaScript, and consider upgrading to a web browser that supports HTML5 video


Prefect Tazki:
Find Prefect Lakan in Goddard Castle Town and you'll meet the strongest warrior of the Atuba tribe!


Star Wars Jedi: Fallen Order patch addresses slow loading times
by Aran SuddiRespawn Entertainment has been working on a patch for Star Wars Jedi: Fallen Order which addresses some of the technical issues that the game has been facing. These include the slow loading times, texture flickering during certain missions, settings not saving correctly, and input issues for players using the keyboard. The patch should be or will soon be available on PC, and it will be released on PS4 and Xbox One at some point this week.
The full list of fixes are as follows:
•
We’ve fixed a texture flickering issue that would display on the screen while driving the AT-AT on Kashyyyk
•
Sometimes the input from the arrow keys would fail to respond within menus, this has now been fixed.
•
Dynamic resolution settings will now save properly.
•
Fixed an issued where the game could become slow and loading times longer than expected.
In our review for Star Wars Jedi: Fallen Order Jim summarised the game by saying:
“Star Wars Jedi: Fallen Order is exactly the kind of single player game we had originally hoped to see when EA and Disney joined forces. Even if you strip away the license, you’re left with a super satisfying mix or combat, story, and exploration, deftly crafted by a studio best known for spearheading an entirely different genre.”
You can read the full Star Wars Jedi: Fallen Order review here.
Source: Reddit


You clicked on: {{ selected }}
Clicking these will navigate:
With buttons position before
With ul/li, position top


Could vast parts of Suffolk be at greater risk of flooding in 30 years?
by Holly HumeVast parts of Suffolk could be at greater risk of flooding in just 30 years due to the effects of climate change, a study has warned.
However, the Environment Agency has cast doubt on the findings US-based Climate Central, saying it does not take into account the £70million Ipswich Flood Defence Management Strategy.
MORE: Use the interactive tool to see if your home could be at risk
The New Jersey-based group predicts sea levels will rise by 10cm every decade until 2050.
Its map shows areas in red predicted to be below the annual flood level, which it believes would be exceeded on average once a year.
However an Environment Agency spokesman said: "The online data being used does not take into account the benefits of the £70million Ipswich Flood Defence Management Strategy (IFDMS), which was officially opened earlier this year.
"The scheme significantly increases the standard of protection for the town and takes into account current climate change predictions."
However the study says coastal towns such as Aldeburgh, Lowestoft, Orford and Southwold will be more vulnerable, according to the study.
Hugo Girard, a spokesman for Climate Central, agreed that defences such as those in Ipswich "allow millions of people to live below the sea level permanently and they should continue being able to in the future".
However he said: "The existing defences will certainly need to be developed and strengthened to continue protecting those below the sea level."
The Alde and Ore Estuary Partnership has been campaigning for a £26.9m flood programme to upgrade vital river walls along the Suffolk coast to prevent flood predictions like this becoming reality.
Edward Greenwell, chairman of the partnership, said: "We are living below sea level and protected by the clay sea wall defences and have been for hundreds of years.
"When there is a tidal surge the water currently comes up to the wall and sometimes comes down the other side but not too much.
"But in the future in 2050 the sea levels rising could mean that if the walls aren't strengthened, they could be eroded and instead of a 10cm of water there will be 10metres of it."
East Suffolk Council, which is responsible for coastal management from Felixstowe to Lowestoft, also said it has a dedicated team which helps to manage potential problems along its coastline.
Martha Meek, a representative from Extinction Rebellion Ipswich, said: "This study should be taken seriously and it's being discussed globally by thousands of scientists, so we have to take it seriously.
"Anyone not choosing to is being foolhardy and it's because it's an inconvenient truth.
"We know that a rise in sea levels is coming and we can't protect against everything, not enough is being done."


| Home | Trees | Indices | Help |
|
|---|
|
|
object --+ | client.RedlinkClient --+ | RedlinkData
Redlink Data Client
| Instance Methods | |||
|
|||
|
|||
bool
|
|
||
rdflib.Graph
|
|
||
bool
|
|
||
bool
|
|
||
rdflib.Graph
|
|
||
bool
|
|
||
dict
|
|
||
rdflib.Graph
|
|
||
|
|||
dict
|
|
||
|
Inherited from Inherited from |
| Class Variables | |
path =
|
|
release_path =
|
|
resource_path =
|
|
param_uri =
|
|
sparql_path =
|
|
sparql_select_path =
|
|
sparql_update_path =
|
|
ldpath_path =
|
|
|
Inherited from |
| Properties | |
|
Inherited from |
| Method Details |
x.__init__(...) initializes x; see help(type(x)) for signature
|
Release the data in the dataset to be used for analysis
|
Import RDF data into the dataset
|
Export the RDF data from a dataset
|
Clean a data in a dataset
|
Import data for a resource
|
Export the RDF data from a resource
|
Delete a resource
|
Execute a tuple query (SELECT or ASK)
|
Execute a graph query (CONSTRUCT or DESCRIBE)
|
Execute an update query
|
Ezecute a LDPath program
|
| Home | Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1 on Sat Nov 7 12:46:13 2015 | http://epydoc.sourceforge.net |


| name | location | capacity | mounted VF | task status | |
|---|---|---|---|---|---|
| West-Life VF 17.05 | EGI FedCloud, CESNET | 8GB RAM, 50GB scratch disc | mounted - all (b2drop,dropbox,pcloud) | OK, CPU utilization 50% | Connect to console |
| West-Life VF 17.05 | EGI FedCloud, INFN | 16GB RAM, 50GB scratch disc | mounted - all (b2drop,dropbox,pcloud) | halted | |


UCLA Center for Vaccine Research (SCK) Implementation
of Model 2.5
Table of Contents
A.
Introduction
Model 2.5 is a system whereby SAS programmers can submit to the
CDC SAS jobs to be run on data located in remote sites. To this end the
CDC has made available an FTP server for programmers to upload their SAS
jobs. The SAS jobs are usually accompanied by a RUN file that contains the
order in which the SAS jobs are to be executed. Each site that houses data
implements a system to periodically check the CDC FTP server for new job
submissions waiting to be processed, download the SAS jobs, and process
them. Each site also implements a series of cross-site compatible SAS
macros to aid the programmers in the process of creating new libraries,
sending email notifications, and uploading files back to the CDC FTP server,
among other tasks.
This paper describes how SCK implemented its system for checking
the CDC FTP server and processing job submissions. SCK has a Windows 2000
based system with a script scheduled to check the CDC FTP server at one
hour intervals. If the script finds that there are new files in the FTP
server, it will download them and launch a different script to process the
files. The script that processes the downloads, reads the RUN files and executes
the SAS jobs in the proper order. SCK has also in place the SAS macros that
programmers can use in their jobs. These cross-site SAS macros are based 90%
on the original macros the CDC provided to SCK, and the %10 difference is
transparent to the programmers. The changes were made in order to accommodate
the differences between Windows and UNIX environments, as UNIX was the original
environment used to develop the macros.
Accompanying this document are all the scripts, SAS files, and file
system structures used to implement Model 2.5 at SCK. For each script
there are two versions: one in VBScript and other in Perl Script.
B.
Details
SCK implementation of Model 2.5 consists of
the following:
- A script called GetFiles.wsf (vbs or perl) that periodically
logs into the CDC FTP server and gets a listing of its files. If the script
finds new SAS jobs, it will:
- download the new SAS or RUN files into a new, time-coded
folder,
- launch a different script that will process the downloads,
- send an email to the system administrator with information
about the files downloaded, and
- exit.
The script will not download files with suffixes other than
.sas or .run. If the script does not find new files in the FTP server,
it will send an email to the system administrator reporting that there
were no new files to download. The script launches a different script
to process the SAS jobs to be able to exit and be ready for the next check
of the FTP server.
- A script called ProcessJobs.wsf (vbs or perl) that processes
all the downloaded SAS jobs. When the GetFiles script launches the ProcessJobs
script, it passes to the ProcessJobs script, as an argument, the name of
the time-stamped folder where the SAS jobs where downloaded. The ProcessJobs
script will:
- Process all the RUN files.
- For each RUN file, the script will sequentially
run all the jobs included, starting with the first job listed.
- For each SAS job it runs, the script will pass, as a
command line argument, a SAS autoexec file called START.SAS. This file includes
a LIBNAME statement for the compiled cross-site SAS macros.
- The script will make sure that every SAS file has been
processed. After the script finishes with the RUN files, it will run every
SAS fine that was downloaded but not included in any of the RUN files.
- Lastly, the script will send the system administrator
an email reporting
- the total number of SAS jobs processed,
- how many of these jobs were included in RUN files,
- how many of the jobs were not included in the RUN
files, and
- any errors that occurred, for example, a SAS job that
was included in a RUN file but that was not included for download.
- SCK also implements the cross-site SAS macros. The definitions
for these macros are contained in the file called smacro1.sas. Every programmer
can use the macros to work with the data residing in remote sites. For the
most part SCK's macro definition file is the same
the CDC provided. The file was originally developed on UNIX environment,
so some modifications where necessary to make it compatible with our Windows
environment. In modifying the macros the highest priority was to maintain
the way the macros where called, so that programmers would not have to use
the macros differently at SCK. Further, all the path variables contained in
the original macro file were maintained; only their UNIX syntax was changed.
In our implementation the equivalent to the UNIX root directory is the C:\
drive. Other than mere path syntax changes, we changed only three macros:
ML Macro
The macro that changed the most was the ML macro. This macro
is used to send email notifications from within SAS jobs. In our environment
we noticed that every time the ML macro was called a window popped-up.
The window alerted the user that a third party program was accessing the
mail system. As the window required user intervention, the SAS jobs that
used the ML macro could not exit automatically. To get around this problem,
instead of using SAS email facility, the ML macro uses a script called
sendmail.wsf (vbs
or perl).
When the ML macro is called, it will use the MAKEFILE macro to write the
contents of the subject variable into a file called subject.txt. Then, the
macro will launch the sendmail script and pass to it the email acronym as
an argument. Next, the sendmail script will read the contents of subject.txt,
map the acronym to the appropriate email address and send the email. The
way the programmer calls the macro did not change; only the way the macro
carries out the task of sending the email.
PUTFILE Macro
This macro allows programmers to upload files onto the CDC
FTP server from within their SAS jobs. The only change made to this macro
was to add "options noxwait" before the system call. This way the command
window exits automatically after executing the system call. We supplied
the system script the macro uses to upload the files onto the FTP server.
The script is called snd.wsf (vbs or perl). The
script takes the filename and path as its only argument, and after successfully
uploading the file, it moves the file to a time-stamped folder.
MAKEFILE Macro
This macro allows the programmers to create files within
their SAS jobs. When we first tested this macro, the files were being placed
at the root of the C:\ drive. We changed value of the variable at line 5
of the macro to c:\sastemp. This way the files are created in the c:\sastemp
directory.
C. Setup
To setup a server for Model 2.5 a system administrator should
follow these steps: a) Change the appropriate variables in the scripts.
b) Configure the server so that it can run the scripts. c) Setup the file
system so that the scripts and SAS macros can run. d) Run the SAS file containing
the macro definitions. And e) Schedule the GetFiles script to run at regular
intervals.
a) Change the appropriate variables in the
scripts.
For the scripts to work the variables indicating the username
and password for the CDC FTP server have to be modified to reflect the
site's own credentials. Other variables such as smpt server name, email
sender, and email recipient (for the script's email report portions) have
to be adjusted too. Each script has comments indicating what variables (with
line numbers) have to be changed. (Note: The included scripts have
to be renamed before they can work. The suffix ".txt" and the prefix
"vbs." or "perl." have to be removed.)
b) Configuring the server to run the scripts.
Depending on what scripting language the system administrator
wishes to use and what operating system the server is running, different
components might need to be installed.
VBScript Requirements
If VBScripts will be used, the server needs to run Windows
2000, as the VBScripts contain features not compatible with Windows NT.
Also, the latest Windows Scripting Engine should be installed on the server.
The latest version of the script engine right now is Windows Script Host
5.6. The installation file can be downloaded from this page:
Windows Script 5.6 for Windows 2000
Furthermore, the VBScripts that access the FTP server rely
on a custom dll to be able to create FTP objects. The dll is called cvrftp.dll,
and it is located in the included folder called uclacvr_ftpdll. In order
for it to work, the dll file has to be registered in the operating system.
To register the dll the system administrator can simply run the batch file
called registerdll.bat, included in the same folder. Another way to register
the dll is to start a command session, CD into the uclacvr_ftpdll directory
and run "regsvr32 cvrftp.dll".
Perl Script Requirements
If perl scripts will be used, ActivePerl has to be installed
in the system. (The perl scripts run in both Windows 2000 and NT servers.)
ActivePerl can be downloaded form this page:
ActivePerl 5.8.0 build 806
Preferably the MSI package should be downloaded
and installed, but some Windows installations cannot use the MSI package
because they have out-dated versions of the Microsoft Windows Installer.
To solve this problem the latest version of Windows Installer should be
installed. The latest version can be downloaded from this page:
Windows Installer 2.0
c) Setup the file system so that the scripts
and SAS macros can run.
The scripts and macros refer to files and folders in predefined
locations of the file system, so the server's file system must have
the folder hierarchy the scripts require. There should be three folders
in the C:\ drive: C:\export, C:\rsub
and C:\sastemp. This is the file tree for these folders
showing the files contained in each of them:
+---export
| +---cdc
| | +---cycle8
| | | +---adult
| | | \---youth
| | +---cycle9
| | | +---adult
| | | \---youth
| | +---storea
| | \---vsd2001
| |
+---adult
| |
+---allages
| |
\---youth
| +---home1
| | \---eml
| |
\---rst
| |
| sendmail.wsf
| |
| snd.wsf
| |
|
| |
\---vsdcat
| \---lstor
| \---eml
|
\---cdc
|
+---tmpbase
|
| +---per1
|
| +---per2
|
| +---per3
|
| +---per4
|
| +---per5
|
| +---per6
|
| +---tmp1
|
| +---tmp2
|
| +---tmp3
|
| +---tmp4
|
| +---tmp5
|
| \---tmp6
|
+---vsdbase
|
\---xptbase
+---rsub
| | Getfiles.wsf
| | ProcessJobs.wsf
| | smacro1.sas
| | START.SAS
| |
| +---downloads
| \---processed
+---sastemp
The scripts used by the SAS macros go into the C:\export\home1\eml\rst
folder. The scripts to download and process the SAS jobs go into the C:\rsub
folder. The time-coded folders for the new SAS
jobs are created inside the c:\rsub\downloads folder, and uploaded files are
moved to time-coded folders inside the c:\rsub\processed folder. To create
this file structure simply copy the enclosed folders into the server's C:\
drive. The folder containing the dll can be placed in any location, but it
has to remain in that location after the dll has been registered or the dll
will stop working. The smacro1.sas file can be placed
anywhere.
d) Run the SAS file containing the macro
definitions.
After the file system has been set, run the smacro1.sas.
Running this file creates the compiled SAS macro files (address1.sas7bdat,
libasgn.sas7bdat and sasmacr.sas7bcat) in the C:\export\home1\eml\rst\vsdcat
folder. This folder path is used by the LIBNAME statement of the START.SAS
file.
e) Schedule the GetFiles script to run at
regular interval.
Once all previous steps have been completed, add a system
scheduled tasks to run the GetFiles script at regular intervals. This can
be accomplished by using the AT command or by using the "Scheduled Tasks"
program located in Start | Programs | Accessories | Tools.
Conclusion
This is how Model 2.5 was implemented at SCK. If you have any questions
or comments, please direct them to:
Federico
Cantón
Manager Information Systems
UCLA Center for Vaccine Research


View 1
Choose weekly off
{{day}}
«
{{state.year}}
»
{{hd.innerValue}}
{{d.innerValue}}
View 2
<<
{{state.year-2}}
{{state.year-1}}
{{state.year}}
{{state.year+1}}
{{state.year+2}}
>>
{{month}}
{{day}}
{{d.innerValue}}


Your Mattermost incoming webhook url.
It is possible to override this setting per project.
See documentation
Note: the plugin uses the HTTP Proxy Configuration set in Plugin Manager. Fill the 'No Proxy Host' field if your Mattermost instance is hosted internally.


WITNESS LIST Business & Industry Committee February 22, 2005-2:00P HB 511 For: Reeser, Rose Ann (Texas Attorney General) Schumann, Gary (Self) Smith, Tom "Smitty" (Public Citizen) HB 982 For: Gaylor, Tom (Texas Municipal Police Association (TMPA)) Against: Jackson, Richie (Texas Restaurant Association) On: Edmonds, Shannon (Texas District & County Attorneys Association (TDCAA)) HB 1021 For: Parpounas, Marios (Lakeway World of Tennis Condominium Homeowner's Association) On: Place, Allen (Texas Land Title Association) HB 1130 For: Mintz, David (Texas Apartment Association) Smith, Tom "Smitty" (Public Citizen) Against: Nation, Brenda (American Council of Life Insurers) Pollard, Mike (Texas Association of Life & Health Insurers) On: Neeley, Karen (Independent Bankers Association of Texas) SORM On: Vollbrecht, Stephen (State Office of Risk Management)


In 2016, the City of Orlando, Florida took the initiative to increase public transparency by launching a website of theirs to "provide the public with immediate access to valuable City-specific data."
"The public publishing of data will also help the City to drive internal efficiencies at the City, develop opportunities for economic development, enhance community engagement, increase community trust and fuel Orlando’s civic tech ecosystem."
An Open Data API is available for public use! With this API software developers can query City of Orlando's records for: Building Permits Issued, Business Tax Receipts Issued, Orlando Police Department Cases and Calls for Service and Orlando Police Department Response to Resistance
The catalog is where all available datasets that this application currently provides.


See what is being discussed currently at the PTG, and what's coming next.
Content on this page is being driven by room operators through the ptgbot on the #openstack-ptg IRC channel.


Mayonnaise (Canola)
Mayonnaise (Canola) is a Green food. Green foods are safe to eat as a regular part of a diet.
Category Quotes
Guideline related quotes related to Fats-Oils, Plant Oils and Green throughout Geoff Bond's publications.
In nature, fats and oils do not occur on their own: They are always part of something else. The Bushman could not eat the mongongo oil without eating the nut; he could not eat the animal fat without eating the animal. Fats and oils in their separated state are in a very concentrated form and therefore more potent. That is why they should always be treated with caution. ~Paleo in a Nutshell p.73
The general injunction is to consume oils sparingly. We should focus on omega-3 oils. ~Paleo in a Nutshell p.73
omega-3 oils should only be used cold—in a salad dressing, for example. Omega-3 oils do not resist heat very well and the oil oxidizes and becomes toxic. If you need to heat the oil for cooking, then a monounsaturated (and thus inert) oil is best. ~Paleo in a Nutshell p.74
The trouble in the modern diet is that omega-6 vegetable oils are in everything and thus overwhelm our omega-3 consumption. We must therefore avoid any unnecessary intake. For this reason, you should strictly avoid knowingly consuming omega-6 oils ~Paleo in a Nutshell p.74
In all cases, fats and oils should be consumed with restraint. ~Paleo in a Nutshell p.74
Be frugal with fats and oils, even the "Green" classes. Never cook at high temperatures. Only bake or sauté at low temperatures— less than 320°F (160°C), although this may be a little higher for baking. Only use olive oil or canola (rapeseed) oil. Hot or cold, replace "Red" classes of fats and oils with "Green" classes such as olive oil, canola (rapeseed, colza) oil, hempseed oil, and flax oils ... ~Paleo in a Nutshell p.83
Examples of one serving include 1 teaspoon margarine; 1 tablespoon mayonnaise or spread; 1 teaspoon canola, vegetable, olive, fish, coconut, etc. oil. ~Paleo in a Nutshell p.95
Replace butter and margarine with “Green” spreads. ~Paleo in a Nutshell p.103
Restrict total fats and oils consumption to 5 tablespoons (80 ml) per day. ~Paleo in a Nutshell p.103
Eat no more than 10% of calories as fat/oil. Focus on consumption of bioavailable omega-3 fatty acids, reduce consumption of bioavailable omega-6 fatty acids, and avoid foods with bioavailable "bad" fatty acids. ~Deadly Harvest p.137
Consume fats and oils generally sparingly. In addition, eliminate saturated fats in non-conforming foods, drastically curtail omega-6 oils, and boost consumption of omega-3 oils. ~Deadly Harvest p.139


This article is a continuation of an article about aligning html elements to 3d. If you haven't read that yet you should start there before continuing here.
Sometimes using three.js requires coming up with creative solutions. I'm not sure this is a great solution but I thought I'd share it and you can see if it suggests any solutions for your needs.
In the previous article we displayed country names around a 3d globe. How would we go about letting the user select a country and show their selection?
The first idea that comes to mind is to generate geometry for each country. We could use a picking solution like we covered before. We'd build 3D geometry for each country. If the user clicks on the mesh for that country we'd know what country was clicked.
So, just to check that solution I tried generating 3D meshes of all the countries using the same data I used to generate the outlines in the previous article. The result was a 15.5meg binary GLTF (.glb) file. Making the user download 15.5meg sounds like too much to me.
There are lots of ways to compress the data. The first would probably be to apply some algorithm to lower the resolution of the outlines. I didn't spend any time pursuing that solution. For borders of the USA that's probably a huge win. For a borders of Canada probably much less.
Another solution would be to use just actual data compression. For example gzipping the file brought it down to 11meg. That's 30% less but arguably not enough.
We could store all the data as 16bit ranged values instead of 32bit float values. Or we could use something like draco compression and maybe that would be enough. I didn't check and I would encourage you to check yourself and tell me how it goes as I'd love to know. 😅
In my case I thought about the GPU picking solution we covered at the end of the article on picking. In that solution we drew every mesh with a unique color that represented that mesh's id. We then drew all the meshes and looked at the color that was clicked on.
Taking inspiration from that we could pre-generate a map of countries where each country's color is its index number in our array of countries. We could then use a similar GPU picking technique. We'd draw the globe off screen using this index texture. Looking at the color of the pixel the user clicks would tell us the country id.
So, I wrote some code to generate such a texture. Here it is.
Note: The data used to generate this texture comes from this website and is therefore licensed as CC-BY-SA.
It's only 217k, much better than the 14meg for the country meshes. In fact we could probably even lower the resolution but 217k seems good enough for now.
So let's try using it for picking countries.
Grabbing code from the gpu picking example we need a scene for picking.
const pickingScene = new THREE.Scene(); pickingScene.background = new THREE.Color(0);
and we need to add the globe with the our index texture to the picking scene.
{ const loader = new THREE.TextureLoader(); const geometry = new THREE.SphereGeometry(1, 64, 32); + const indexTexture = loader.load('resources/data/world/country-index-texture.png', render); + indexTexture.minFilter = THREE.NearestFilter; + indexTexture.magFilter = THREE.NearestFilter; + + const pickingMaterial = new THREE.MeshBasicMaterial({map: indexTexture}); + pickingScene.add(new THREE.Mesh(geometry, pickingMaterial)); const texture = loader.load('resources/data/world/country-outlines-4k.png', render); const material = new THREE.MeshBasicMaterial({map: texture}); scene.add(new THREE.Mesh(geometry, material)); }
Then let's copy over the GPUPickingHelper
class we used
before with a few minor changes.
class GPUPickHelper { constructor() { // create a 1x1 pixel render target this.pickingTexture = new THREE.WebGLRenderTarget(1, 1); this.pixelBuffer = new Uint8Array(4); - this.pickedObject = null; - this.pickedObjectSavedColor = 0; } pick(cssPosition, scene, camera) { const {pickingTexture, pixelBuffer} = this; // set the view offset to represent just a single pixel under the mouse const pixelRatio = renderer.getPixelRatio(); camera.setViewOffset( renderer.getContext().drawingBufferWidth, // full width renderer.getContext().drawingBufferHeight, // full top cssPosition.x * pixelRatio | 0, // rect x cssPosition.y * pixelRatio | 0, // rect y 1, // rect width 1, // rect height ); // render the scene renderer.setRenderTarget(pickingTexture); renderer.render(scene, camera); renderer.setRenderTarget(null); // clear the view offset so rendering returns to normal camera.clearViewOffset(); //read the pixel renderer.readRenderTargetPixels( pickingTexture, 0, // x 0, // y 1, // width 1, // height pixelBuffer); + const id = + (pixelBuffer[0] << 16) | + (pixelBuffer[1] << 8) | + (pixelBuffer[2] << 0); + + return id; - const id = - (pixelBuffer[0] << 16) | - (pixelBuffer[1] << 8) | - (pixelBuffer[2] ); - const intersectedObject = idToObject[id]; - if (intersectedObject) { - // pick the first object. It's the closest one - this.pickedObject = intersectedObject; - // save its color - this.pickedObjectSavedColor = this.pickedObject.material.emissive.getHex(); - // set its emissive color to flashing red/yellow - this.pickedObject.material.emissive.setHex((time * 8) % 2 > 1 ? 0xFFFF00 : 0xFF0000); - } } }
Now we can use that to pick countries.
const pickHelper = new GPUPickHelper(); function getCanvasRelativePosition(event) { const rect = canvas.getBoundingClientRect(); return { x: (event.clientX - rect.left) * canvas.width / rect.width, y: (event.clientY - rect.top ) * canvas.height / rect.height, }; } function pickCountry(event) { // exit if we have not loaded the data yet if (!countryInfos) { return; } const position = getCanvasRelativePosition(event); const id = pickHelper.pick(position, pickingScene, camera); if (id > 0) { // we clicked a country. Toggle its 'selected' property const countryInfo = countryInfos[id - 1]; const selected = !countryInfo.selected; // if we're selecting this country and modifiers are not // pressed unselect everything else. if (selected && !event.shiftKey && !event.ctrlKey && !event.metaKey) { unselectAllCountries(); } numCountriesSelected += selected ? 1 : -1; countryInfo.selected = selected; } else if (numCountriesSelected) { // the ocean or sky was clicked unselectAllCountries(); } requestRenderIfNotRequested(); } function unselectAllCountries() { numCountriesSelected = 0; countryInfos.forEach((countryInfo) => { countryInfo.selected = false; }); } canvas.addEventListener('pointerup', pickCountry);
The code above sets/unsets the selected
property on
the array of countries. If shift
or ctrl
or cmd
is pressed then you can select more than one country.
All that's left is showing the selected countries. For now let's just update the labels.
function updateLabels() { // exit if we have not loaded the data yet if (!countryInfos) { return; } const large = settings.minArea * settings.minArea; // get a matrix that represents a relative orientation of the camera normalMatrix.getNormalMatrix(camera.matrixWorldInverse); // get the camera's position camera.getWorldPosition(cameraPosition); for (const countryInfo of countryInfos) { - const {position, elem, area} = countryInfo; - // large enough? - if (area < large) { + const {position, elem, area, selected} = countryInfo; + const largeEnough = area >= large; + const show = selected || (numCountriesSelected === 0 && largeEnough); + if (!show) { elem.style.display = 'none'; continue; } ...
and with that we should be able to pick countries
The code stills shows countries based on their area but if you click one just that one will have a label.
So that seems like a reasonable solution for picking countries but what about highlighting the selected countries?
For that we can take inspiration from paletted graphics.
Paletted graphics or Indexed Color is what older systems like the Atari 800, Amiga, NES, Super Nintendo, and even older IBM PCs used. Instead of storing bitmaps as RGBA colors 8bits per color, 32 bytes per pixel or more, they stored bitmaps as 8bit values or less. The value for each pixel was an index into a palette. So for example a value of 3 in the image means "display color 3". What color color#3 is is defined somewhere else called a "palette".
In JavaScript you can think of it like this
const face7x7PixelImageData = [ 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 2, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 3, 3, 3, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, ]; const palette = [ [255, 255, 255], // white [ 0, 0, 0], // black [ 0, 255, 255], // cyan [255, 0, 0], // red ];
Where each pixel in the image data is an index into palette. If you interpreted the image data through the palette above you'd get this image
In our case we already have a texture above that has a different id per country. So, we could use that same texture through a palette texture to give each country its own color. By changing the palette texture we can color each individual country. For example by setting the entire palette texture to black and then for one country's entry in the palette a different color, we can highlight just that country.
To do paletted index graphics requires some custom shader code. Let's modify the default shaders in three.js. That way we can use lighting and other features if we want.
Like we covered in the article on animating lots of objects
we can modify the default shaders by adding a function to a material's
onBeforeCompile
property.
The default fragment shader looks something like this before compiling.
#include <common> #include <color_pars_fragment> #include <uv_pars_fragment> #include <map_pars_fragment> #include <alphamap_pars_fragment> #include <aomap_pars_fragment> #include <lightmap_pars_fragment> #include <envmap_pars_fragment> #include <fog_pars_fragment> #include <specularmap_pars_fragment> #include <logdepthbuf_pars_fragment> #include <clipping_planes_pars_fragment> void main() { #include <clipping_planes_fragment> vec4 diffuseColor = vec4( diffuse, opacity ); #include <logdepthbuf_fragment> #include <map_fragment> #include <color_fragment> #include <alphamap_fragment> #include <alphatest_fragment> #include <specularmap_fragment> ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) ); #ifdef USE_LIGHTMAP reflectedLight.indirectDiffuse += texture2D( lightMap, vLightMapUv ).xyz * lightMapIntensity; #else reflectedLight.indirectDiffuse += vec3( 1.0 ); #endif #include <aomap_fragment> reflectedLight.indirectDiffuse *= diffuseColor.rgb; vec3 outgoingLight = reflectedLight.indirectDiffuse; #include <envmap_fragment> gl_FragColor = vec4( outgoingLight, diffuseColor.a ); #include <premultiplied_alpha_fragment> #include <tonemapping_fragment> #include <colorspace_fragment> #include <fog_fragment> }
Digging through all those snippets
we find that three.js uses a variable called diffuseColor
to manage the
base material color. It sets this in the <color_fragment>
snippet
so we should be able to modify it after that point.
diffuseColor
at that point in the shader should already be the color from
our outline texture so we can look up the color from a palette texture
and mix them for the final result.
Like we did before we'll make an array
of search and replacement strings and apply them to the shader in
Material.onBeforeCompile
.
{ const loader = new THREE.TextureLoader(); const geometry = new THREE.SphereGeometry(1, 64, 32); const indexTexture = loader.load('resources/data/world/country-index-texture.png', render); indexTexture.minFilter = THREE.NearestFilter; indexTexture.magFilter = THREE.NearestFilter; const pickingMaterial = new THREE.MeshBasicMaterial({map: indexTexture}); pickingScene.add(new THREE.Mesh(geometry, pickingMaterial)); + const fragmentShaderReplacements = [ + { + from: '#include <common>', + to: ` + #include <common> + uniform sampler2D indexTexture; + uniform sampler2D paletteTexture; + uniform float paletteTextureWidth; + `, + }, + { + from: '#include <color_fragment>', + to: ` + #include <color_fragment> + { + vec4 indexColor = texture2D(indexTexture, vUv); + float index = indexColor.r * 255.0 + indexColor.g * 255.0 * 256.0; + vec2 paletteUV = vec2((index + 0.5) / paletteTextureWidth, 0.5); + vec4 paletteColor = texture2D(paletteTexture, paletteUV); + // diffuseColor.rgb += paletteColor.rgb; // white outlines + diffuseColor.rgb = paletteColor.rgb - diffuseColor.rgb; // black outlines + } + `, + }, + ]; const texture = loader.load('resources/data/world/country-outlines-4k.png', render); const material = new THREE.MeshBasicMaterial({map: texture}); + material.onBeforeCompile = function(shader) { + fragmentShaderReplacements.forEach((rep) => { + shader.fragmentShader = shader.fragmentShader.replace(rep.from, rep.to); + }); + }; scene.add(new THREE.Mesh(geometry, material)); }
Above can see above we add 3 uniforms, indexTexture
, paletteTexture
,
and paletteTextureWidth
. We get a color from the indexTexture
and convert it to an index. vUv
is the texture coordinates provided by
three.js. We then use that index to get a color out of the palette texture.
We then mix the result with the current diffuseColor
. The diffuseColor
at this point is our black and white outline texture so if we add the 2 colors
we'll get white outlines. If we subtract the current diffuse color we'll get
black outlines.
Before we can render we need to setup the palette texture and these 3 uniforms.
For the palette texture it just needs to be wide enough to hold one color per country + one for the ocean (id = 0). There are 240 something countries. We could wait until the list of countries loads to get an exact number or look it up. There's not much harm in just picking some larger number so let's choose 512.
Here's the code to create the palette texture
const maxNumCountries = 512; const paletteTextureWidth = maxNumCountries; const paletteTextureHeight = 1; const palette = new Uint8Array(paletteTextureWidth * 4); const paletteTexture = new THREE.DataTexture( palette, paletteTextureWidth, paletteTextureHeight); paletteTexture.minFilter = THREE.NearestFilter; paletteTexture.magFilter = THREE.NearestFilter;
A DataTexture
let's us give a texture raw data. In this case
we're giving it 512 RGBA colors, 4 bytes each where each byte is
red, green, and blue respectively using values that go from 0 to 255.
Let's fill it with random colors just to see it work
for (let i = 1; i < palette.length; ++i) { palette[i] = Math.random() * 256; } // set the ocean color (index #0) palette.set([100, 200, 255, 255], 0); paletteTexture.needsUpdate = true;
Anytime we want three.js to update the palette texture with
the contents of the palette
array we need to set paletteTexture.needsUpdate
to true
.
And then we still need to set the uniforms on the material.
const geometry = new THREE.SphereGeometry(1, 64, 32); const material = new THREE.MeshBasicMaterial({map: texture}); material.onBeforeCompile = function(shader) { fragmentShaderReplacements.forEach((rep) => { shader.fragmentShader = shader.fragmentShader.replace(rep.from, rep.to); }); + shader.uniforms.paletteTexture = {value: paletteTexture}; + shader.uniforms.indexTexture = {value: indexTexture}; + shader.uniforms.paletteTextureWidth = {value: paletteTextureWidth}; }; scene.add(new THREE.Mesh(geometry, material));
and with that we get randomly colored countries.
Now that we can see the index and palette textures are working let's manipulate the palette for highlighting.
First let's make function that will let us pass in a three.js style color and give us values we can put in the palette texture.
const tempColor = new THREE.Color(); function get255BasedColor(color) { tempColor.set(color); const base = tempColor.toArray().map(v => v * 255); base.push(255); // alpha return base; }
Calling it like this color = get255BasedColor('red')
will
return an array like [255, 0, 0, 255]
.
Next let's use it to make a few colors and fill out the palette.
const selectedColor = get255BasedColor('red'); const unselectedColor = get255BasedColor('#444'); const oceanColor = get255BasedColor('rgb(100,200,255)'); resetPalette(); function setPaletteColor(index, color) { palette.set(color, index * 4); } function resetPalette() { // make all colors the unselected color for (let i = 1; i < maxNumCountries; ++i) { setPaletteColor(i, unselectedColor); } // set the ocean color (index #0) setPaletteColor(0, oceanColor); paletteTexture.needsUpdate = true; }
Now let's use those functions to update the palette when a country is selected
function getCanvasRelativePosition(event) { const rect = canvas.getBoundingClientRect(); return { x: (event.clientX - rect.left) * canvas.width / rect.width, y: (event.clientY - rect.top ) * canvas.height / rect.height, }; } function pickCountry(event) { // exit if we have not loaded the data yet if (!countryInfos) { return; } const position = getCanvasRelativePosition(event); const id = pickHelper.pick(position, pickingScene, camera); if (id > 0) { const countryInfo = countryInfos[id - 1]; const selected = !countryInfo.selected; if (selected && !event.shiftKey && !event.ctrlKey && !event.metaKey) { unselectAllCountries(); } numCountriesSelected += selected ? 1 : -1; countryInfo.selected = selected; + setPaletteColor(id, selected ? selectedColor : unselectedColor); + paletteTexture.needsUpdate = true; } else if (numCountriesSelected) { unselectAllCountries(); } requestRenderIfNotRequested(); } function unselectAllCountries() { numCountriesSelected = 0; countryInfos.forEach((countryInfo) => { countryInfo.selected = false; }); + resetPalette(); }
and we that we should be able to highlight 1 or more countries.
That seems to work!
One minor thing is we can't spin the globe without changing the selection state. If we select a country and then want to rotate the globe the selection will change.
Let's try to fix that. Off the top of my head we can check 2 things. How much time passed between clicking and letting go. Another is did the user actually move the mouse. If the time is short or if they didn't move the mouse then it was probably a click. Otherwise they were probably trying to drag the globe.
+const maxClickTimeMs = 200; +const maxMoveDeltaSq = 5 * 5; +const startPosition = {}; +let startTimeMs; + +function recordStartTimeAndPosition(event) { + startTimeMs = performance.now(); + const pos = getCanvasRelativePosition(event); + startPosition.x = pos.x; + startPosition.y = pos.y; +} function getCanvasRelativePosition(event) { const rect = canvas.getBoundingClientRect(); return { x: (event.clientX - rect.left) * canvas.width / rect.width, y: (event.clientY - rect.top ) * canvas.height / rect.height, }; } function pickCountry(event) { // exit if we have not loaded the data yet if (!countryInfos) { return; } + // if it's been a moment since the user started + // then assume it was a drag action, not a select action + const clickTimeMs = performance.now() - startTimeMs; + if (clickTimeMs > maxClickTimeMs) { + return; + } + + // if they moved assume it was a drag action + const position = getCanvasRelativePosition(event); + const moveDeltaSq = (startPosition.x - position.x) ** 2 + + (startPosition.y - position.y) ** 2; + if (moveDeltaSq > maxMoveDeltaSq) { + return; + } - const position = {x: event.clientX, y: event.clientY}; const id = pickHelper.pick(position, pickingScene, camera); if (id > 0) { const countryInfo = countryInfos[id - 1]; const selected = !countryInfo.selected; if (selected && !event.shiftKey && !event.ctrlKey && !event.metaKey) { unselectAllCountries(); } numCountriesSelected += selected ? 1 : -1; countryInfo.selected = selected; setPaletteColor(id, selected ? selectedColor : unselectedColor); paletteTexture.needsUpdate = true; } else if (numCountriesSelected) { unselectAllCountries(); } requestRenderIfNotRequested(); } function unselectAllCountries() { numCountriesSelected = 0; countryInfos.forEach((countryInfo) => { countryInfo.selected = false; }); resetPalette(); } +canvas.addEventListener('pointerdown', recordStartTimeAndPosition); canvas.addEventListener('pointerup', pickCountry);
and with those changes it seems like it works to me.
I'm not a UX expert so I'd love to hear if there is a better solution.
I hope that gave you some idea of how indexed graphics can be useful and how you can modify the shaders three.js makes to add simple features. How to use GLSL, the language the shaders are written in, is too much for this article. There are a few links to some info in the article on post processing.


Forget secret recipes and hidden flavors. We know that fully understanding what goes into the DONUT makes it even sweeter.
It was a dark and stormy night… nah, just kidding. We wanted something playful, meaningful, unique, and morning-oriented. Inspiration struck one day - we listened - and the Dose Of News Useful Today was born.
It’s nearly impossible to be completely unbiased & impartial when it comes to choosing the content. That being said, we have several safeguards in place to ensure our selection is systematic - not subjective - and as close to impartial as possible.
We do not share your information with any third party. We do not sell your information to any third party.
We don’t like to brag, but… yes. Don’t believe us? Check ‘em out for yourself. 😉


--- layout: post title: "Benson Polyhedral Sets" date: 2023-03-19 19:14:41 +0100 references: - id: Benson1983 content: >- Benson, M. "Growth series of finite extensions of \(\mathbb{Z}^n\) are rational." Invent Math 73, 251–269 (1983). https://doi.org/10.1007/BF01394026 ---
In this post, we will see all the details of the proof that the class of Benson polyhedral and semilinear sets are equivalent. Moreover, we will see that semilinear sets have rational multivariate generating functions.
A set subset of \(\mathbb{Z}^k\) is called semilinear if it can be written as a finite union of linear sets of the form \[ L(\vec u,\{\vec v_1,\vec v_2,...,\vec v_p\}) = \{ \vec u + k_1 \vec v_1 + k_2 \vec v_2 + \cdots + k_p \vec v_p \mid k_1,k_2,...,k_p\in \mathbb{N} \} \] where \(\vec u,\vec v_1,...,\vec v_p \in \mathbb{Z}^k\). {% include cite.html cites="is1" %}


A generic DFE implementation.
More...
#include <dfe.h>
|
| | DFE (double slicer_output_mag, double error_gain, int adapt_mode, double sample_interval, double clock_per, const std::vector< double > &tap_weights) |
| | Constructor. More...
|
| |
| virtual | ~DFE () |
| |
| virtual bool | apply (double *sig, const long len, double *clock_times) |
| | Filter application. More...
|
| |
| std::vector< double > | get_weights () |
| |
| void | set_max_weights (std::vector< double > weights) |
| |
| void | set_min_weights (std::vector< double > weights) |
| |
| double | slicer_mag () |
| |
A generic DFE implementation.
Definition at line 20 of file dfe.h.
| DFE::DFE |
( |
double |
slicer_output_mag, |
|
|
double |
error_gain, |
|
|
int |
adapt_mode, |
|
|
double |
sample_interval, |
|
|
double |
clock_per, |
|
|
const std::vector< double > & |
tap_weights |
|
) |
| |
Constructor.
Definition at line 21 of file dfe.cpp.
Definition at line 25 of file dfe.h.
| bool DFE::apply |
( |
double * |
sig, |
|
|
const long |
len, |
|
|
double * |
clock_times |
|
) |
| |
|
virtual |
Filter application.
Definition at line 48 of file dfe.cpp.
| std::vector<double> DFE::get_weights |
( |
| ) |
|
|
inline |
Definition at line 28 of file dfe.h.
| void DFE::set_max_weights |
( |
std::vector< double > |
weights | ) |
|
|
inline |
Definition at line 29 of file dfe.h.
| void DFE::set_min_weights |
( |
std::vector< double > |
weights | ) |
|
|
inline |
Definition at line 30 of file dfe.h.
| double DFE::slicer_mag |
( |
| ) |
|
|
inline |
Definition at line 31 of file dfe.h.
Definition at line 34 of file dfe.h.
| double DFE::backward_filter_output_ |
|
protected |
Definition at line 39 of file dfe.h.
Definition at line 38 of file dfe.h.
| unsigned long DFE::clk_cntr_ |
|
protected |
Definition at line 37 of file dfe.h.
Definition at line 39 of file dfe.h.
| std::vector<double> DFE::clock_pers_ |
|
protected |
Definition at line 35 of file dfe.h.
Definition at line 39 of file dfe.h.
Definition at line 39 of file dfe.h.
| double DFE::last_clk_sample_ |
|
protected |
Definition at line 39 of file dfe.h.
| double DFE::last_summer_output_ |
|
protected |
Definition at line 39 of file dfe.h.
| std::vector<double> DFE::max_weights_ |
|
protected |
Definition at line 35 of file dfe.h.
| std::vector<double> DFE::min_weights_ |
|
protected |
Definition at line 35 of file dfe.h.
Definition at line 27 of file dfe.h.
| double DFE::next_backward_filter_output_ |
|
protected |
Definition at line 39 of file dfe.h.
Definition at line 39 of file dfe.h.
| double DFE::next_ui_edge_ |
|
protected |
Definition at line 39 of file dfe.h.
| double DFE::sample_interval_ |
|
protected |
Definition at line 39 of file dfe.h.
Definition at line 39 of file dfe.h.
Definition at line 39 of file dfe.h.
| std::vector<double> DFE::tap_values_ |
|
protected |
Definition at line 35 of file dfe.h.
| std::vector<double> DFE::tap_weights_ |
|
protected |
Definition at line 35 of file dfe.h.
| std::vector<std::vector<double> > DFE::weights_ |
|
protected |
Definition at line 36 of file dfe.h.
The documentation for this class was generated from the following files:


Born in 1953 in the Boston, Massachusetts area. My father was an active duty Air Force officer at the time.
The family (my parents, brother - born 1955 - and I) moved to Minnesota in 1958, after Dad's enlistment was over. (He joined the marketing department at Sperry.) We started out in an apartment in Minneapolis. (I called the apartment building a "little castle." It was a brick building.)
Not long after that, we moved to a new house in Minnetonka, a western suburb of Minneapolis. I had started kindergarten in Minneapolis at age 4, and transferred to Clear Springs Elementary in Minnetonka after the move.
In the 1960 presidential election, I was definitely for JFK, who I had seen on TV (we watched the news during dinner every night). I decided then that I was going to be a Democrat.
My second grade teacher put up a bulletin board showing the solar system, and I was immediately fascinated by astronomy. I checked out every book I could from the local library about astronomy and read it. My interest in science fiction grew from my interest in astronomy.
Around 1962, my food allergies were finally diagnosed. I had avoided all the foods I was allergic to before being officially diagnosed, since they all smelled bad to me. My feeling is that I had food allergies almost from birth. (I had asthma and eczema as a baby.)
My maternal grandmother died in the early 1960s, from complications (stroke) from diabetes.
My paternal grandmother died in 1965, of cancer. My Dad went from Sperry to Control Data Corporation, here he was, again, marketing mainframe computers.
Star Trek came along in 1966. I was an instant fan. (I also watched other 1960s shows, such as The Man From U.N.C.L.E. I belonged to the David McCallum Fan Club for many years.)
My sister was born in 1966.
In 1967, my family moved about a mile away from our first house in Minnetonka to another (newly built) house in Minnetonka.
I had grown up in the Methodist Church. At the age of 14, I was baptized at my own request, and confirmed after that.
In 1969, when I was in high school, I was introduced to fandom by Anthony Tollin, who I met at a high school speech festival. He gave me Ruth Berman's phone number, and as a result, I subscribed to T-Negative and was introduced to the world of Star Trek fanzines.
When I was a senior in high school, my high school German class went to Europe. I graduated from high school in June 1971, and started college at the University of Chicago in September 1971.
I traveled to my first convention, the Detroit Triple Fan Fair, from the University of Chicago. At the convention, I met Gene and Majel Roddenberry in an elevator (we were the only 3 there) and got their autographs.
I completed my sophomore year at the University of Chicago, and transferred to the University of Minnesota for my junior and senior years.
I joined the Minnesota Science Fiction Society and became a regular contributor to MINNEAPA.
I met Helen Young at StarCon, Detroit's convention that year, and joined the Star Trek Welcommittee as a result of that meeting.
I attended my first World Science Fiction Convention, Discon II, in 1974.
I graduated from college with a bachelor's degree in physics (with distinction) in 1975. In August, I started studying at the graduate school of astronomy at Indiana University.
I went to the World Science Fiction Convention (MidAmeriCon), where I saw an ad for the Mythopoeic Society in the program book and promptly joined. I also joined the Rivendell Discussion Group of the Mythopoeic Society.
I completed my second year of graduate school, where I had been an associate instructor of astronomy, and left Indiana University without getting a master's degree. In the fall, I started taking graduate level courses in computer programming at the University of Minnesota.
In 1978, I was hired as a FORTRAN progammer at Sperry/Unisys, writing software for airlines (flight schedules and hotel reservations). UNISYS sent me to Frankfurt, Germany, twice and Madrid, Spain, once, which were great experiences.
I moved into an apartment in early 1979.
I drove to Winnipeg with other members of Minn-stf to see the solar eclipse there in February.
In the spring, I joined Weight Watchers and lost the weight I had gained in graduate school.
I went to the World Science Fiction Convention in England in August.
In December, Star Trek: The Motion Picture premiered, and as a result, I met even more local Star Trek fans.
In December, I left UNISYS for Republic Airlines, a job which lasted less than six months.
Started work at Control Data Corportation.
In 1984, my professional writing career started with the publication of my first professional short story and first magazine article.
Laid off from Control Data, went back to Unisys for a year.
Laid off from Unisys.
Got a job at a tech startup.
Had a health crisis which permanently affected my health for the worse. I lost my job, and had to move back with my parents.
Star Trek: The Next Generation premiered. I was an instant fan. I joined the Patrick Stewart fan club as a result and was a member for many years.
In 1989, I got a job with Lerner Publications in Minneapolis, where I acquired a lot of publishing knowledge.
Lerner Publications published my first book, Voyager: Exploring the Outer Planets. (It eventually went out of print, I got the rights back, and republished it in 2013.)
Star Trek: Deep Space Nine premiered. I was an instant fan, especially of the Dr. Julian Bashir character. I was co-coordinator of the actor's fan club and published the club newsletter for many years.
I founded my own press, FTL Publications.
The Star Trek Welcommittee disbanded. I had been a member for over 20 years.
I was diagnosed with Carpal Tunnel Syndrome and wore wrist braces for about a year. After that I was able to avoid a recurrence with ergonomic keyboards.
I left Lerner Publications. I interned as an editorial assistant at Computer User magazine.
Became a quality editor at TIPS/BestMark.
Around 1993, I gathered my fanzines and began to write a Star Trek fan history. I had thought it would take me a summer, but it turned out to take me about 3 years. Boldly Writing was published in 1996, the first FTL Publications book.
During the 1990s, I had additional health crises, and developed a number of additional food allergies.
I and others in my writing workshop had worked together on a science fiction novel, Autumn World. This was published in 2000.
I got a job at Weight Watchers (I had been a lifetime member since 1979).
In 2004, I went to the San Diego Comic Con. This was my last airplane trip, and the last time I left the state. I have not been able to travel more than a few hours drive away from home since (due to my health problems).
From 2004 to 2007, I called Granada Ventures/ITV regularly for the purposes of acquiring a license to produce novels based on the Gerry and Sylvia Anderson production, Thunderbirds. The license became effective in November 2007. I wrote six novels in the franchise, published seven (the seventh written by someone else). [Seven novels was the limit I could publish under the license terms.]
My mother passed away in December.
I left Weight Watchers (as an employee, I'm still a lifetime member) in December.
My father passed away in July.
The year 2012 was the start (actually, it offically started in December 2011, but I did not begin to participate until January 2012) of the "ebook gold rush," which, for me, lasted until June 2013. During this time, FTL Publications had its best sales ever, and published a number of books.
In 2016, I completed a Front End Engineering coding bootcamp from The Iron Yard. I had been using html to build websites since the late 1990s, and built websites with WordPress since 2010, but I felt I needed to learn more about web development, and I did.
I was hired by a company as an Application Development Associate.
I sold the house I inherited from my parents (and which my family had moved into in 1967), and moved to a smaller house.
I felt I needed more education in web development, so I took a Full Stack Web Development Bootcamp at the University of Minnesota and graduated in July.
The company which hired me the previous year laid me off in March.
Published my young adult novel, Defying the Ghosts
Published my fantasy novel, Twelve


Have you ever felt worried that your party will not raise up to your guest expectations? In design, vertical rhythm is the structure that guides a reader's eye through the content. Good vertical rhythm makes a layout more balanced and beautiful and its content more readable. The time signature in sheet music visually depicts a song's rhythm, while for us, the lines of the baseline grid depict the rhythm of our content and give us guidelines.
Have you ever felt worried that your party will not raise up to your guest expectations? In design, vertical rhythm is the structure that guides a reader's eye through the content. Good vertical rhythm makes a layout more balanced and beautiful and its content more readable. The time signature in sheet music visually depicts a song's rhythm, while for us, the lines of the baseline grid depict the rhythm of our content and give us guidelines.
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages." Rutwik Deshmukh, Birthday Event
Have you ever felt worried that your party will not raise up to your guest expectations? In design, vertical rhythm is the structure that guides a reader’s eye through the content. Good vertical rhythm makes a layout more balanced and beautiful and its content more readable. The time signature in sheet music visually depicts a song’s rhythm, while for us, the lines of the baseline grid depict the rhythm of our content and give us guidelines. Abhisangh Arora, Business Cocktalil


Please read the following Terms and Conditions carefully. Access to and use of the National Bank of Bahrain B.S.C. (thereafter referred to as NBB) Internet Banking is conditional on your acceptance of these Terms and Conditions. By accessing this Site or any pages thereof, you agree to be bound by these Terms and Conditions, which may change from time to time at NBB’s absolute discretion. If you do not agree with these Terms and Conditions you must immediately discontinue access to and use of this website and the services contained therein. You should have legal access to the Internet. The acceptance of the registration form and acknowledgement thereof (on-line or off-line) by NBB does not automatically imply the acceptance of application for NBB Internet Banking. NBB will advise from time to time Internet software such as browsers, which are required to use NBB Internet Banking. There is no obligation on NBB to support all versions of this Internet software. The Terms and Conditions for NBB Internet Banking operate in conjunction with the Terms and Conditions applicable to all Account(s) held by you with NBB and which you access using this Service
“Account” means any account or accounts held at present or in the future by NBB in the Customer’s name or in the name of a person for whom NBB has permitted the Customer to validly act as guardian or attorney, for which NBB Internet Banking is available. For such account/s, the normal terms and conditions for account opening and operation in force at the relevant time apply as they would in normal circumstances. Such normal terms and conditions shall be deemed to have been incorporated into and shall be read and construed along with these Terms and Conditions insofar as is appropriate, including but not limited to savings accounts and current accounts;
“Account Holder” means a customer of NBB who holds accounts with NBB; “Company” means, for the purposes of these Terms and Conditions, a body corporate, partnership, or other entities defined as such by the applicable law; “Customer” means an individual, sole proprietorship, Company or other unincorporated organization, that has been authorized by NBB to operate an Account and access and use NBB Internet Banking and that is deemed to have agreed to be bound by these Terms and Conditions by their access of the Site and use of NBB Internet Banking;
“Customer Security Codes” means the Customer’s Login ID, Passwords and/ or other authentication tools required for access to be granted to NBB Internet Banking;
“Login ID” means the Customer’s selected series of letters and numbers to identify a Customer or series of letters and numbers to identify a Customer provided to the Customer by NBB.
“Passwords” means the security code/s comprising of a combination of numbers and letters allocated to the Customer by NBB or selected by the Customer himself for the purpose of NBB Internet Banking authentication and/or authorization of transactions through NBB Internet Banking References to “we”, “us” and “our” as appropriate are references to NBB; and references to “you” and “your” as appropriate are references to the Customer. References to “he”, “his”,” and himself” in these Terms and Conditions also encompasses the feminine gender without any bias.
“The Service” means NBB internet banking services made available at any point in time via the internet to the Customer by NBB in NBB’s absolute discretion;
“The Site” means the NBB’s internet banking website, domains, sub-domains or any of NBB’s other websites / web pages related to or referred by the Service.
This Site and Service are not directed to, or intended for distribution to or use by, any person or entity who is a citizen or resident of, or located or incorporated in, any jurisdiction where such distribution, publication, availability or use would be contrary to law or regulation or which would subject NBB to any additional registration, authorization or licensing requirement within such jurisdiction.
The Customer must have at least one personal account with NBB. If the Customer has more than one personal account or other relationship with NBB, NBB, may “link” some or all of the accounts/relationships together with the primary personal account. Accounts, which are “linked” under the Service, will have one common owner and may be used for any transactions.
The Customer clearly understands that access to the Service by the Customer will provide access to and capability of transacting with all accounts pertaining to the Customer’s relationship with NBB, using a single Login ID and Password. As such, the Customer understands and agrees that using the Service is not based on a single Account that the Customer holds with NBB, Rather, use of the Service is based on the wider relationship the Customer has with NBB and includes all Accounts that are part of the Customer’s relationship with NBB.
In case of unusual circumstances such as situations where more than one holder have access to an account, the Customer, may for any reason find that he/she is able, through the Service, to access or transact with any Account which is not pertaining to him/her (the Linked Account), the Customer undertakes to immediately stop using the Service and cease inquiring on or doing any transaction on the Linked Account and inform the Bank in strict confidence. The Customer shall be liable for any transactions done by him on the Linked Account and shall solely assume full liability for any claim against the Bank, damage or loss, financial or otherwise, suffered by the Bank or any other person as a result of the Customer’s unauthorized access to and/or use of the information contained in the Linked Account. The Customer further undertakes to indemnify and hold the Bank harmless against and from any such claim, damage or loss and agrees that under circumstances where the Linked Account becomes accessible to him for any reason, the Bank may temporarily disable the Customer’s access to the Service, until corrective action as the Bank may deem necessary is completed.


Welcome to SocialBus’s documentation.
The project is being developed at the Faculty of Engineering of the University of Porto and is partially funded by the REACTION grant (funded by FCT, Ref. UTA-Est/MAI/0006/2009) and Sapo Labs .
SocialBus aims to be a fault tolerant data collector for social networks. Currently it supports Twitter and Facebook.
The rationale page explains what SocialBus is and why it was built.
SocialBus comes with Facebook and Twitter consumers. You can extend and implement yours.
When a consumer receives a tweet it sends the message to SocialBus Server which is responsable for processing, extracting metadata, indexing, tokenizing and other computations.
This documentation has all the instructions to deploy you own SocialBus instance.
If you intend to use TwitterEcho, please cite the following paper: “Matko Bošnjak, Eduardo Oliveira, José Martins, Eduarda Mendes Rodrigues, Luís Sarmento “TwitterEcho – A Distributed Focused Crawler to Support Open Research with Twitter Data”, World Wide Web Conference 2012, April 16–20, 2012, Lyon, France”
Release v0.6 - Compatible with any UNIX system
Design notes and legal information are here for the interested:
For any questions or a discussion about usage and development, please use the SocialBus-Dev mailing list. To post to the group, send your message to<EMAIL_ADDRESS>O Mundo Em Pessoa (2013): “O Mundo Em Pessoa” is available at http://fernadopessoa.labs.sapo.pt
REACTION (2011-2013): REACTION is available at http://dmir.inesc-id.pt/project/Reaction
POPSTAR (2012-2013): POPSTAR is available at http://popstar.pt
Twitteuro (2012): Twitteuro is available at http://twitteuro.sapo.pt
Twitómetro (2011): Twitómetro is available at http://legislativas.sapo.pt/2011/twitometro/
Thesis: [Rodrigues, 2014] Rodrigues, T.A., 2014. RetweetPatterns: detection of spatio- temporal patterns of retweets. M.Sc. Thesis. Master in Informatics Engineering, Faculdade de Engenharia, Universidade do Porto. [Cunha, 2013] Cunha T.D.S., 2013. TweeProfiles: detection of spatio-temporal patterns on Twitter. M.Sc. Thesis. Master in Informatics Engineering, Faculdade de Engenharia, Universidade do Porto.
Papers: Matko Bošnjak, Eduardo Oliveira, José Martins, Eduarda Mendes Rodrigues, Luís Sarmento “TwitterEcho – A Distributed Focused Crawler to Support Open Research with Twitter Data”, World Wide Web Conference 2012, April 16–20, 2012, Lyon, France


We are going to prove some formulas from trigonometry, directly from Euler's formula, e^(ix) = cos(x)+isin(x).
First, we are going to prove that sin^2(x)+cos^(x) = 1.
This can be proven from the Pythagorean theorem and the definitions of the trigonometric functions, but we are going to do it using Euler's formula.
First, use the fact that e^(ix), we know that's cos(x)+isin(x).
We also use the fact that, we've got e^(-ix) is e^i(-x) that's the same thing as cos(-x)+isin(-x). Furthermore, since cos is an even function, cos(-x) is cos(x), and since sin is an odd function, sin(-x) is negative sin(x). We write the negative out in front of the i.
Next, we are going to multiply together these two equations right here.
We have e^(ix)*e^(-ix) is equal to (cos(x)+isin(x)) times the quantity (cos(x)-isin(x)).
Now, on the left hand side, we have the same base. These exponents we will add them together, get zero for an exponent, and e^0 is 1.
What we are left with is 1 = cos^2(x)+sin^2(x), which was exactly what we hoped to get up above. That's just the first way you can use Euler's formula to come up with a more algebraic proof. We will prove a few more results similarly.
For instance, I'd like to prove the Angle Sum formulas. I have a hard time remembering these sometimes but that's a great reason to remember where formulas came from, and you can always rederive them for yourself. First, say we have e^(ia), that's cos(a)+isin(a). Also say we have e^(ib). That's cos(b)+isin(b).
Now, just like before, we'll take these two equations and multiply them together e^(ia)*e^(ib) = (cos(a)+isin(a))*(cos(b)+isin(b)).
On the left, it's simplified.
On the right, we'll get cos(a)*cos(b) plus we are going to multiply together the two last terms here. i^2 is negative 1.
So, negative sin(a)sin(b) multiplying the interior terms, in the exterior terms, both are going to have a factor of i, cos(a)sin(b) we are going to write the i on the outside, now factoring that out, we have a sin(a)cos(b).
Next, I am going to take Euler's formula and apply it directly to e^(i(a+b)).
In that case we get cos(a+b)+isin(a+b). Now, interesting thing, when two complex numbers are equal, their real in their imaginary parts must also be equal, the real part, this first term is cos(a+b) which matches up with this part here.
And the imaginary part is sin(a+b) which must therefore be equal to this part.
If we write down these two results, we have the angle sum formulas.
cos(a+b) is equal to cos(a)cos(b)-sin(a)sin(b). And we get the sum formula for sin as well.
sin(a+b) is equal to cos(a)sin(b)+sin(a)cos(b).
Furthermore, if you want to get the double angle formulas, that's not too bad, if you let a = x and b = x then you will get cos(2x) that's x+x is equal to cos(x)cos(x) is cos^2(x), sin(x)sin(x) is sin^(x).
And sin(2x). We are going to have cos(x)sin(x)+sin(x)cos(x). Both those terms are actually the same, so, you get 2sin(x)cos(x).
Once more, Euler's formula proves to be a handy tool to have.


Our Serices Meet Your Business Needs
-
Website design
-
Whether your needs are large or small, Trillium can get you on the
Web!
-
E-commerce Solutions
- Trillium offers quick entry into the e-commerce marketplace.
Search Engine Optimization
Most people find new sites using search engines. Trillium can get your
website noticed


Zend Framework
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to<EMAIL_ADDRESS>so we can send you a copy immediately.
__construct(
string $apiKey
)
:
void
Performs object initializations
# Saves the API key
| Name | Type | Description |
|---|---|---|
| $apiKey | string | Your Flickr API key |
_checkErrors(
\DOMDocument $dom
)
:
void
Throws an exception if and only if the response status indicates a failure
| Name | Type | Description |
|---|---|---|
| $dom | \DOMDocument |
| Exception | Description |
|---|---|
| \Zend_Service_Exception |
_compareOptions(
array $options, array $validOptions
)
:
void
Throws an exception if and only if any user options are invalid
| Name | Type | Description |
|---|---|---|
| $options | array | User options |
| $validOptions | array | Valid options |
| Exception | Description |
|---|---|
| \Zend_Service_Exception |
_prepareOptions(
string $method, array $options, array $defaultOptions
)
:
array
Prepare options for the request
| Name | Type | Description |
|---|---|---|
| $method | string | Flickr Method to call |
| $options | array | User Options |
| $defaultOptions | array | Default Options |
| Type | Description |
|---|---|
| array | Merged array of user and default/required options |
_validateGroupPoolGetPhotos(
array $options
)
:
void
Validate Group Search Options
| Name | Type | Description |
|---|---|---|
| $options | array |
| Exception | Description |
|---|---|
| \Zend_Service_Exception |
_validateTagSearch(
array $options
)
:
void
Validate Tag Search Options
| Name | Type | Description |
|---|---|---|
| $options | array |
| Exception | Description |
|---|---|
| \Zend_Service_Exception |
_validateUserSearch(
array $options
)
:
void
Validate User Search Options
| Name | Type | Description |
|---|---|---|
| $options | array |
| Exception | Description |
|---|---|
| \Zend_Service_Exception |
getIdByEmail(
string $email
)
:
string
Utility function to find Flickr User IDs for emails.
(You can only find a user's photo with their NSID.)
| Name | Type | Description |
|---|---|---|
| string | the email |
| Type | Description |
|---|---|
| string | the NSID (userid) |
| Exception | Description |
|---|---|
| \Zend_Service_Exception |
getIdByUsername(
string $username
)
:
string
Utility function to find Flickr User IDs for usernames.
(You can only find a user's photo with their NSID.)
| Name | Type | Description |
|---|---|---|
| $username | string | the username |
| Type | Description |
|---|---|
| string | the NSID (userid) |
| Exception | Description |
|---|---|
| \Zend_Service_Exception |
getImageDetails(
string $id
)
:
array
Returns Flickr photo details by for the given photo ID
| Name | Type | Description |
|---|---|---|
| $id | string | the NSID |
| Type | Description |
|---|---|
| array | of Zend_Service_Flickr_Image, details for the specified image |
| Exception | Description |
|---|---|
| \Zend_Service_Exception |
getRestClient(
)
:
\Zend_Rest_Client
Returns a reference to the REST client, instantiating it if necessary
| Type | Description |
|---|---|
| \Zend_Rest_Client |
groupPoolGetPhotos(
string $query, array $options
=
array
)
:
\Zend_Service_Flickr_ResultSet
Finds photos in a group's pool.
| Name | Type | Description |
|---|---|---|
| $query | string | group id |
| $options | array | Additional parameters to refine your query. |
| Type | Description |
|---|---|
| \Zend_Service_Flickr_ResultSet |
| Exception | Description |
|---|---|
| \Zend_Service_Exception |
tagSearch(
string|array $query, array $options
=
array
)
:
\Zend_Service_Flickr_ResultSet
Find Flickr photos by tag.
Query options include:
# per_page: how many results to return per query # page: the starting page offset. first result will be (page - 1) * per_page + 1 # tag_mode: Either 'any' for an OR combination of tags, or 'all' for an AND combination. Default is 'any'. # min_upload_date: Minimum upload date to search on. Date should be a unix timestamp. # max_upload_date: Maximum upload date to search on. Date should be a unix timestamp. # min_taken_date: Minimum upload date to search on. Date should be a MySQL datetime. # max_taken_date: Maximum upload date to search on. Date should be a MySQL datetime.
| Name | Type | Description |
|---|---|---|
| $query | string|array | A single tag or an array of tags. |
| $options | array | Additional parameters to refine your query. |
| Type | Description |
|---|---|
| \Zend_Service_Flickr_ResultSet |
| Exception | Description |
|---|---|
| \Zend_Service_Exception |
userSearch(
string $query, array $options
=
null
)
:
\Zend_Service_Flickr_ResultSet
Finds photos by a user's username or email.
Additional query options include:
# per_page: how many results to return per query # page: the starting page offset. first result will be (page - 1) * per_page + 1 # min_upload_date: Minimum upload date to search on. Date should be a unix timestamp. # max_upload_date: Maximum upload date to search on. Date should be a unix timestamp. # min_taken_date: Minimum upload date to search on. Date should be a MySQL datetime. # max_taken_date: Maximum upload date to search on. Date should be a MySQL datetime.
| Name | Type | Description |
|---|---|---|
| $query | string | username or email |
| $options | array | Additional parameters to refine your query. |
| Type | Description |
|---|---|
| \Zend_Service_Flickr_ResultSet |
| Exception | Description |
|---|---|
| \Zend_Service_Exception |


Home
Main Menu
Make Your Food
About Us
Side Orders
Pick your French fries :
reguler-1$
Potato Wedges-3$
Curly Fries-2$
garlic fries-4$
Pick your bread :
Toast-1$
White bread-1$
Baguette-1$
Bun-1$
Side Orders :
Rice-2$
blue cheese-2$
cheese-1$
cheese Roll-4$
Salads :
Veggie Salad-3$
Arabic Salad-3$
Cabbage Salad-3$
Tuna Salad-4$
Desserts
Ice Cream-3$
Cookies-3$
Cake-3$
Crepe-4$
Beverage
7 up-1$
PePsi-1$
Mirinda-1$
Water-1$


WORK
ART
ARCHITECTURE
GALLERIES & MUSEUMS
BIOGRAPHY
CV
PERSONAL COLLECTION
PUBLICATIONS
BOOKS & MAGAZINES
PRESS
CONTACT
C
urrent exhibitions
P
ast exhibitions
G
alleries and Museums
© powered by fm, Paris 2013 /
<EMAIL_ADDRESS>/
To Top


The GettingStarted sample is a simple implementation of a service controller based on the Application Provisioning Platform (APP).
The sample shows how the methods of a service controller could be implemented using the automatic polling mechanisms of APP. For this purpose, the service controller does not require a real application. It just manages the instance status by means of a dispatcher and sends information emails. For details, refer to the documentation in the source code.
The source code as well as additional resources are contained in the oscm-app-sampleSRC.zip file.
You can deploy and use the sample service controller for testing and practicing purposes in a working APP environment. Proceed as follows:
- Using the standard utilities of the application server (administration console), add the service controller archive to the domain of APP (app-domain).
You can use the oscm-app-sample.ear archive shipped with the sample or build your own archive from the source code.
- Register the service controller in APP for your organization and enter the required configuration settings in the APP database.
To do this, you can execute the SQL statements in the following file, which is included in the oscm-app-sampleSRC.zip:
resources\appconfiguration.sql
Before executing the SQL statements, replace <ORGANIZATION_ID> with the ID of your organization in OSCM.
Alternatively, you can register the service controller at the Web interface of APP or enter the settings in the APP database by means of a standard table editor.
In any case, connect to the database with the user ID and password specified for the database access in the db.properties file when configuring APP.
- Create a technical service and import it in OSCM.
As a basis and for details on required parameters and settings, use the technical service definition which is included in the oscm-app-sampleSRC.zip:
resources\TechnicalService.xml
- Define one or more marketable services based on the technical service and publish them to a marketplace.
- Create, manage, and delete subscriptions to see how the service controller works.


nips nips2000 nips2000-28 nips2000-28-reference knowledge-graph by maker-knowledge-mining
Source: pdf
Author: Christian R. Shelton
Abstract: For many problems which would be natural for reinforcement learning, the reward signal is not a single scalar value but has multiple scalar components. Examples of such problems include agents with multiple goals and agents with multiple users. Creating a single reward value by combining the multiple components can throwaway vital information and can lead to incorrect solutions. We describe the multiple reward source problem and discuss the problems with applying traditional reinforcement learning. We then present an new algorithm for finding a solution and results on simulated environments.
[1] 1. Hu and M. P. Wellman. Multiagent reinforcement learning: Theoretical framework and an algorithm. In Froc. of the 15th International Con! on Machine Learning, pages 242- 250, 1998.
[2] C. L. Isbell, C. R. Shelton, M. Kearns, S. Singh, and P. Stone. A social reinforcement learning agent. 2000. submitted to Autonomous Agents 2001.
[3] 1. Karlsson. Learning to Solve Multiple Goals. PhD thesis, University of Rochester, 1997.
[4] M. Kearns, Y. Mansouor, and S. Singh. Fast planning in stochastic games. In Proc. of the 16th Conference on Uncertainty in Artificial Intelligence , 2000.
[5] M. L. Littman. Markov games as a framework for multi-agent reinforcement learning. In Proc. of the 11th International Conference on Machine Learning, pages 157-163, 1994.
[6] G. Owen. Game Theory. Academic Press, UK, 1995.
[7] S. Singh, M. Kearns, and Y. Mansour. Nash convergence of gradient dynamics in general-sum games. In Proc. of the 16th Conference on Uncertainty in Artificial Intelligence , 2000.
[8] S. P. Singh. The efficient learning of multiple task sequences. In NIPS, volume 4, 1992.