Last Updated: 27 Jun, 2018
Your privacy is important to Fotor. Our Privacy Policy covers how we collect, use, disclose, transfer, and store your information and customized user data. We hope our policy is straightforward and easy-to-understand.
Please take a few minutes to review the details of our privacy practices below. By using the site and/or services of Fotor, you acknowledge and agree that you have consented to the collection, use and disclosure practices set out in this Privacy Policy as they relate to your personal information.
We may collect non-personal information, such as data that does not allow direct association with any specific individual. Non-personal data is collected, used, transferred, and disclosed for a number of purposes. These purposes include the use of cookies and other technologies that give us a better understanding of our users' needs. A "cookie" is a small data file that is stored on your device. Most Internet browsers automatically accept cookies. We use information collected from cookies to improve users' experience and the overall quality of our services.
We may use third-party advertising companies to serve ads when you visit our site or use our apps. These companies may use information (not including your name, address, e-mail address or telephone number) about your visits to our site and to other websites in order to provide advertisements about goods and services of interest to you. These companies may employ cookies and clear GIFs to measure advertising effectiveness. Any information that these third parties collect via cookies and clear GIFs is generally not personally identifiable (unless, for example, you provide personally identifiable information to them through an ad or e-mail message). We encourage you to read these businesses’ privacy policy if you should have any concerns about how they will care for your personal information. If you would like more information about this practice and to know your choices about not having this information used by these companies, see the Network Advertising Initiative’s consumer website.
Personal information may be collected in a number of ways when you use any of the products or services offered by Fotor. We may prompt you to provide information, including personal information. For example, we may ask to collect your name, email address, user name, telephone number and credit card number whenever you register for an account, purchase our products, or contact us via email. If you use Fotor as a platform to sell or buy copyright protected pictures or to participate in any photo competition, we may require further personal information in order to identify you and/or to provide services, in compliance with applicable laws.
From time-to-time we may also collect personal information you provide in connection with your participation in surveys, sweepstakes, contests, promotional offers, and other activities on the site.
When you use our email support services, we collect your correspondence in order to build up a public knowledge base, which will be available to all users of the site. Your correspondence will most likely not be used verbatim, but paraphrased in an FAQ format.
We use the information collected through Fotor products:
a) to communicate with you;
b) to process your requests and transactions;
c) to improve the site;
d) to customize the services and/or products we provide to you;
e) to assist with our product and service development;
f) to perform marketing analysis;
g) to run competitions, select shortlisted entrants and winners;
h) to invoice you and identify you as a licensee (an authorized user of the image), if you are a buyer of licensed image(s);
i) to transfer the revenue share, prepare tax information slips and identify you as an author, if you are a seller of licensed image(s);
j) for other purposes related to our business.
Fotor provides a number of online services allowing users to edit, share and make designs with their photo work. In order to better serve the needs of users, we host both the photos you uploaded and the Fotor projects you started in a secured way. Unless you share or make it public voluntarily, only you can see and revisit these photos and/or the projects by logging into your Fotor account.
We may disclose your personal information to third parties who perform services on our behalf. These services include processing of payments/orders, marketing, auditing, etc. Those third parties shall only be permitted to obtain the personal information that is absolutely necessary to perform their service. They must protect personal information to the same extent as Fotor and shall not use the personal information they obtain for any purpose other than the service they provide to Fotor.
We may disclose your personal information to law enforcement authorities in the event of assistance to prevent, detect or investigate criminal activity. When provided with notification of copyright infringement, we may reveal the information of the image provider (seller) to the licensee, copyright owner, judicial or administrative authorities.
If you participate in a photo competition or your entry is shortlisted / granted prize, Fotor and/or the competition sponsor may publish your name and other information such as your city of residence.
Customer information, as a whole, including personal information, is stored as part of business assets of the company, which may be disclosed in a merger, acquisition, or sale of the company and/or its assets, as well as in the event of insolvency, bankruptcy or receivership, as far as permitted by applicable laws.
You may configure your browser to block cookies, including cookies associated with our services. However, many of our services may not function correctly with cookies disabled.
We may receive information about you from third parties (e.g. through Facebook). Third parties may pass certain information about your use of their service to us. This information could include, but is not limited, the user ID associated with your account (for example, your Facebook UID), an access token necessary to access that service, any information that you have permitted the third party to share with us and any information you’ve made public in connection with that service.
You should always review, and if necessary, adjust your privacy settings on third-party websites and services before linking or connecting them to our service. You may also unlink your third-party account from our service by changing your settings on that third party service. If you unlink your third-party account, we will no longer receive information collected about you in connection with that service.
We may prompt you to provide further information after your login with third-party accounts, if you wish to use certain services that require identifying you. The information you directly provide to us after your login with third-party accounts will be handled in ways described in Section 2 of this Privacy Policy.
If you are residing in a country that is a member state of the European Economic Area and pursuant to applicable data privacy legislation, we shall make sure that you exercise the rights in accordance with the General Data Protection Regulation (GDPR). Send us an email at<EMAIL_ADDRESS>requesting to exercise any of your rights.
Please be noted that the request of deletion of your personal information will be processed unless we have another legal reason to hold it (such as a legal claim or a regulatory requirement).
When we share some information with third parties, some personal data may be processed, transferred or stored outside of the EU or the EEA. To that extent, we take steps to ensure that your privacy rights continue to be protected as outlined in this Privacy Policy and require that any third parties outside the EU or the EEA that have access to your personal data provide us with appropriate safeguards for your information.
We regularly review our own compliance with our Privacy Policy. If you submit a formal written complaint, we will contact you and try our best to resolve the issue.
Our Privacy Policy may change occasionally. We will not reduce your rights under this Privacy Policy without providing explicit, advanced notice. We will post any privacy policy changes on this page and, in the event of significant changes, we will provide a more prominent notice (such as an email notification). We will also archive prior versions of this Privacy Policy for your review.


Timber is a utility-first, desktop-first CSS framework built for fast prototyping. It also offers a range of components for those who need them.
© unlimit.design. All Rights Reserved. Released under MIT license.


The transmission of knowledge to students, researchers, and educators is increasingly important in todays digital age.
Tracking changes to knowledge in todays info-centric environment can help highlight trends in research and provide insights to the future.
Icons made by Nikita Golubev from www.flaticon.com
Icons made by Smashicons from www.flaticon.com
Artifacts are electronic knowledge media created after analyzing data sets and correlating that analysis into an understandable form.
Wouldn't it be nice to have those Artifacts centrally located?
Special needs and distance learning has a limitation of interaction with students, researchers, and educators which limits the transmission of tacit knowledge a resource location.
Current solutions involve templates and collaborative tools which allow for the creation of new material by those invloved. However, they are inflexible with artifacts created outside of their structure.
Icons made by Eucalyp from www.flaticon.com
Educators and students lack a framework to aggregate and archive fragmented and domain-specific artifacts for the purpose of academic knowledge management.
made by Eucalyp from www.flaticon.com
Knowledge Repositories
Knowledge Accessibility
Faculty Information Flow
Student Information Flow
Knowledge Environment Enhancement
Knowledge Asset Management
A3 is a framework for aggregating and archiving artifacts for educators, researchers, and students. A3 seeks to overcome the challenges of individualization, location, and formatting in academic knowledge management by keeping information available, normalized, and centralized while being enhanced by a robust user interface.
Creating Formal Knowledge Repositories
Improve Knowledge Accessibility
Knowledge Environment Enhancement
Knowledge Asset Management
Icons made by Eucalyp from www.flaticon.com


Online Portfolio
This section shows some of my logo designs I've done over the past couple of years working as a freelancer.
A sample of my previous illustration
FIRST GIF SHOWS A DEFORMATION SIMULATION OF A SIMPLE ROBOTIC ARM WITH THREE JOINTS DONE IN SOLIDWORKS .
SECOND GIF SHOWS A 3D BUSINESS CARD ANIMATION DONE IN CINEMA 4D


This test page implements a rudimentary chat, but it is mostly useful for inspecting the
Minerva protocol traffic. Type text in the "Send text" box below and click "Send". Observe
the traffic when this happens, or observe the traffic caused by another user sending a
message.
This page supports options ?mode=http|flash, ?useSubdomains=0|1, ?httpStreaming=0|1,
?standaloneClient=0|1 (which can be combined). When testing with Opera, open
the Error Console, because window.onerror does not work in Opera. Do the same
in Chrome, because not all errors are caught by window.onerror (such as when
calling a nonexistent method on an HTMLEmbedElement).
Do all of these when testing:
- Test this page with ?standaloneClient=1.
- Test this page with ?mode=flash.
- Test this page with ?mode=http&useSubdomains=0.
- Test this page with ?mode=http&useSubdomains=1.
- This server listens on both HTTP and HTTPS. Repeat above tests with both HTTP and HTTPS.
- For mode=http&useSubdomains=1 : Reload this page with F5. Firefox 3+ has problems related to this.
- For mode=http&useSubdomains=1 : Arrive to this page via Back button from another page. IE has problems related to this.
- For mode=flash : Arrive to this page via Back button from another page. Opera has problems related to this.
- Load the page in a WebKit browser, make sure the spinner stops spinning after 4 seconds.
- If the browser loads Flash out-of-process, kill the plugin container process
and make sure Minerva keeps working (though ClientStream may reset).
In Firefox, kill plugin-container.exe. In Chrome, use shift-Esc and end the Flash process.
If you want to see what's in the send queue, enter this into your URL bar:
javascript:alert(cw.repr.repr(chatapp.lastProto.stream_.queue_.items_.map_))


AKAN NAMES
The Akan Origin
The Akan people of Ghana frequently name there children according to the day that they we acctually born
For example, the day of their birth or the manner in which they were born may determine which name they get irrespective of their gender.
These Akan names signify the day one is born. According to Akan tradition, each child is born with a name associated to their soul.
The day the child is born is therefore determined by the soul.
The well thought and organized naming system of the Akan’s was initiated by the ancestors and has attracted so many people’s attention as they desire to know more about these names.
The Akan Naming
This webpage that i've created will take the user birthday's and calculate the day they were born depending on the
gender outputs in their Akan names
This website that i hav designed will automatiaclly work out your day of birth by filling out this
Here when you fill out this form yhis will give you the response on the day that you were born
The following names should appear when you run this commit;
The names bellow is acctually to notify and indicate that the birthday you've
entered is correct.
Male names
| Sunday |
Monday |
Tuesday |
Wednesday |
Thursday |
Friday |
Saturday |
| Kwasi |
Kwadwo |
Kwabena |
Kwahu |
Yaw |
Kofi |
Kwame |
female names
| sunday |
Monday |
Tuesday |
Wednesday |
Thursday |
Friday |
Saturday |
| Akosua |
Adowa |
Abenaa |
Akua |
Yaa |
Afua |
Ama |


Hi all,
has someone experience without building a 10 circuit energy monitor?
Is the emon scalable to connect multiples to 1 system?
Archived Forum |
|
10 circuit energy monitoringSubmitted by hemertje on Thu, 30/04/2015 - 21:45Hi all,
has someone experience without building a 10 circuit energy monitor? Is the emon scalable to connect multiples to 1 system?
» |
Re: 10 circuit energy monitoring
If you search the forums, I think you will find something about a system with that many inputs, but obviously not using the ATMega 328P processor. However you can connect 4 x emonTx to one emonBase to solve your problem that way.
Re: 10 circuit energy monitoring
Hi Robert,
can you give me a hint where to look for?
Re: 10 circuit energy monitoring
I found this for somebody else a while ago: http://boredomprojects.net/index.php/projects/home-energy-monitor
Re: 10 circuit energy monitoring
Here's another multi-circuit monitoring project. This one is based on the Spark Core. (which has an STM32F103 72Mhz ARM Cortex M3 CPU) The OP intends to eventually monitor 16 circuits.
http://openenergymonitor.org/emon/node/10428
Re: 10 circuit energy monitoring
I've used up to 5 emonTX's with one emonBase (20 channels of monitoring). I'm sure there are a few packet collisions, but it worked fine.
Re: 10 circuit energy monitoring
Hi Robert
yes, found this one too yesterday!
thx!
Re: 10 circuit energy monitoring
Thx Bill
will have a look...
Re: 10 circuit energy monitoring
Hi JD
nice work!
how did you link them to the base?
where to read the manual you used to build your project...
Re: 10 circuit energy monitoring
Hi Hemerje,
To build project: I followed the instructions on this site. i.e. http://wiki.openenergymonitor.org/index.php/EmonTx_V3.4
How are they linked: I have a bunch of EmonTx's being used at multiple sites, and when troubleshooting a power usage problem we drop in a few more EmonTX's to monitor suspicious circuits until the problem is discovered. The only thing changed to make them work is the node number. They are conencted using the wireless connection, even when they are right next to the emonBase.
How to get started: I bought the pre-built package from the OEM shop first, and spent some time understanding that one. It would have been too much for me to jump into a big system all at once (I'm not a computer guy primarily).
Here is a pic of an enclosure with 2 emonTX's for a total of 8 CT inputs. (One of the EmonTX's has an enclosure, the other one doesn't. There is also a relay board and a backup battery in there, which are not required.):
Here is one installed outdoors at a ranch (only 4 inputs at this location):
Here is the dashboard for a system that has 12 inputs. It has been in operation since November 2014:
http://data.peakmonitor.com/proto3
Re: 10 circuit energy monitoring
Nice setup and dashboard, Jeff. Looks good!
Re: 10 circuit energy monitoring
Instead of these CT's, http://shop.openenergymonitor.com/100a-max-clip-on-current-sensor-ct/ , can I use smaller micro CT's, because i dont have the big space for these big CT's in my electrical fuse box...
Something like:
http://www.brultech.com/products/ECM1240/CTRequirements/types.htm
https://www.campbellsci.com/cs11-overview
The maximum AC current I need is 16 Ampere per electrical group.
Re: 10 circuit energy monitoring
You need to make sure you have a high VA rating to develop the 1.1V rms across the burden resistor that the emonTx requires for optimum performance.
Re: 10 circuit energy monitoring
maybe: https://www.sparkfun.com/products/11005?
Fixed link - BT
Re: 10 circuit energy monitoring
According to the datasheet for the CR Magnetics CR3100 series CTs, they will develop up to 10 VAC across a burden resistor.
www.crmagnetics.com/Assets/ProductPDFs/CR3100.pdf
www.crmagnetics.com/ac-current-transformers/3100-series
Re: 10 circuit energy monitoring
Hi Robert,
do you have any experiences with smaller CT's?
Re: 10 circuit energy monitoring
No. As I said, you need a lot more volts across the burden than most modern CTs are designed for, which is often 0.333 V rms. As you increase the burden value, you increase the load on the transformer (hence the need for a bigger VA rating) but you also increase the errors. I know Robin (mk2pvrouter.co.uk) uses a smaller (than the YHDC 100A) one, but a ring-core type, for measuring the diverted energy, and that's into a 5 V Arduino.
If you can disconnect to install the CT, then you have a much wider choice of ring-core ones, which are generally more accurate anyway, as there's no possibility of an air gap.
Re: 10 circuit energy monitoring
In the attachment a view of my electrical fuse box, as you can see it's very compact!
This is very common in The Netherlands ;)
Re: 10 circuit energy monitoring
Even this one, which I believe Robin uses in his Mk2pvrouter, at 29 mm diameter × 19 mm thick, looks big for that.
http://eppep.com/?action-viewnews-itemid-140364
Re: 10 circuit energy monitoring
Wow, that's a tiny panel! On my house I have a lot more room than you have, but still didn't have enough room for CT's on the main. So I grouped circuits on the output side of the panel together in one CT like this:
(the circuits were carefully chosen to be from the same phase , which I needed to worry about in the US with split-phase power).
Maybe you have room to do something like that on the outputs? Or push back or trim the conduit leaving the panel to expose wires? Or put CT's around the entire conduit (that would work with plastic conduits)?
Due to the grouping of circuits my dashboard looks like this:
http://data.peakmonitor.com/proto1&id=1
Re: 10 circuit energy monitoring
Or put CT's around the entire conduit (that would work with plastic conduits)?
While the conduit would indeed be transparent to the magnetic field from the wires, the fact that hot(s) and neutral(s) are in the same conduit would mean the field is effectively canceled. Short answer, no.
If the conduit contained only hot, or only neutral wires, it would work.
Re: 10 circuit energy monitoring
Short answer, no.
You are right, I wasn't thinking!
Re: 10 circuit energy monitoring
The Micro-40 Current Transformer develops @ 40A Max continuous primary current / 26.23mA => 1,05VAC ?
The maximum current per circuit is 16A over here, this is not enough though?
http://www.brultech.com/products/ECM1240/packages/moreInfo/infoMicro40.htm
Current Rating: 40A Max continuous primary current
Output: 26.23mA @ 40A Primary
Accuracy: 3% (Typically 1% on average)
Leads: 1.5m Lead Pair, 300V UL1007
Dielectric Withstanding Voltage (Hi-pot): 2500V/1mA/1min
Dimensions:
ID: 6.7mm (0.26")
OD: 17mm (0.67")
Depth: 7.7mm (0.3")
Re: 10 circuit energy monitoring
I am following this thread, because i have exact the same situation as the TS
Re: 10 circuit energy monitoring
found this one also:
https://shop.smartenergygroups.com/store/show/segmeter_v25
with a very small current sensor:
https://shop.smartenergygroups.com/store/show/sensor_5mm?tag=3
Re: 10 circuit energy monitoring
some pictures...


File CustomMetadata.lua
Functions
| CustomMetadata:clear (photos, call, noThrow) | Clear custom metadata for specified photos. |
| CustomMetadata:getMetadata (photo, pluginId, cMeta) | Consolidate custom metadata for specified plugin into a lookup table (dictionary) form. |
| CustomMetadata:getMetadataSpecs (reread) | Gets an array of custom metadata specs, from Metadata.lua |
| CustomMetadata:getPluginId (name, reverseDomain) | Get specific plugin ID, given it's exact (albeit case insensitive) name suffix (must be enabled and have custom metadata). |
| CustomMetadata:getPluginIds () | Get set of plugin Ids (that are enabled and have custom metadata). |
| CustomMetadata:manualSync () | Copy selected metadata values from most selected photo to the other selected photos. |
| CustomMetadata:migrate (photos, matchFunc) | Migrate metadata from previous instance of plugin. |
| CustomMetadata:new (t) | Constructor for new instance. |
| CustomMetadata:newClass (t) | Constructor for extending class. |
| CustomMetadata:read () | Read (all) custom metadata for specified photos, from disk. |
| CustomMetadata:save () | Save (all) custom metadata for specified photos, to disk. |
| CustomMetadata:update (photo, name, value, version, noThrow, tries) | Set custom metadata property of photo to specified value, if not already set to it. |
Functions
- CustomMetadata:clear (photos, call, noThrow)
-
Clear custom metadata for specified photos.
Parameters:
-
photos
: -
call
: -
noThrow
:
-
- CustomMetadata:getMetadata (photo, pluginId, cMeta)
-
Consolidate custom metadata for specified plugin into a lookup table (dictionary) form.
Parameters:
-
photo
: (LrPhoto, required) photo -
pluginId
: (string, required) plugin id. -
cMeta
: - (table, optional) batch of raw metadata including custom metadata for all plugins.
Return value:
- table - id/value members, or empty - never nil.
-
- CustomMetadata:getMetadataSpecs (reread)
-
Gets an array of custom metadata specs, from Metadata.lua
Parameters:
-
reread
: (boolean, default=false) force re-read.
Usage:
Initialized upon first use, or a forced re-read..
(maybe should have made whole provider return-table available, oh well - not needed yet. -
- CustomMetadata:getPluginId (name, reverseDomain)
-
Get specific plugin ID, given it's exact (albeit case insensitive) name suffix (must be enabled and have custom metadata).
Parameters:
-
name
: -
reverseDomain
:
Usage:
pluginId, errm = custMeta:getPluginId( "ChangeManager" ) -- for example.
-
- CustomMetadata:getPluginIds ()
-
Get set of plugin Ids (that are enabled and have custom metadata).
Usage:
for id, _ in pairs( custMeta:getPlugIds() ) do -- returns empty but never nil.
- CustomMetadata:manualSync ()
- Copy selected metadata values from most selected photo to the other selected photos.
- CustomMetadata:migrate (photos, matchFunc)
-
Migrate metadata from previous instance of plugin.
Parameters:
-
photos
: -
matchFunc
: (function, optional) if not passed, will match first two parts of present plugin, and last part.
if passed, is function that takes a plugin ID and returns true if it matches such that metadata should be transferred.
Usage:
Throws error if >1 matching plugin.
-
- CustomMetadata:new (t)
-
Constructor for new instance.
Parameters:
-
t
:
-
- CustomMetadata:newClass (t)
-
Constructor for extending class.
Parameters:
-
t
:
-
- CustomMetadata:read ()
-
Read (all) custom metadata for specified photos, from disk.
Usage:
includes user prompt and the whole nine yards.
presently expects files in sibling directory of catalog (named plugin-id), prefixed by photo path.
Return values:
- status (boolean) true if operation completed without uncaught error - there may have been individual file errors logged.
- message (string) error message if status false.
- CustomMetadata:save ()
-
Save (all) custom metadata for specified photos, to disk.
Usage:
includes user prompt and the whole nine yards.
presently saves in sibling directory of catalog (named plugin-id), prefixed by photo path.
Return values:
- status (boolean) true if operation completed without uncaught error - there may have been individual file errors logged.
- message (string) error message if status false.
- CustomMetadata:update (photo, name, value, version, noThrow, tries)
-
Set custom metadata property of photo to specified value, if not already set to it.
Parameters:
-
photo
: (lr-photo, required) photo set metadata on. -
name
: (string, required) property name -
value
: (string | date | number | boolean, required) property value -
version
: (number, default nil) optional version number. -
noThrow
: (boolean, default false) optional no-throw, if omitted, errors are thrown. -
tries
: (number, default 10) number of tries - only applies if internal catalog wrapping required.
Usage:
Will wrap with catalog access if need be.
Always throws errors for catastrophic failure, just not for undeclared metadata if no-throw.
Return values:
- status (boolean or nil) true iff property set to different value, false iff property need not be set - already same value, nil => error setting property.
- error-message or previous value (string, nil, or any) nil if status false, error message if status nil, previous value if status true.
-


Multi-disciplinary artist. My skills and background been using to work on different areas such as human rights, LGBTIQ+, Transgender rights, indigenous communities, citizen innovation, social innovation, social management, free software, open source, governance, cinema, theatre and music for special projects, corporate social responsibility, software libre and opensource.
Author of The trans route, safe haven. The project still development to realize in Rosario, Argentina to the rest of Latin-American and development with amazing crew of people of differents countries and professional backgrounds. The App will been show the beta testing in August 2019.
Evaluate and identify opportunities, to make an accurate strategy. Citizen Innovation Make consulting for private clients. And how improve the management of their own CSR.
Documentary of the process, and the strategies to communicate and receive the permission of the indigenous chiefs and members of community and keep those relations on wealth condition. Realize the content of the speaker and other social codes to express all the opportunity of this work (Cartagena de Indias, Colombia).
NGO working on education focused on adults and children artistic development. Programs: music class, painting and dance.
Czecz Republique, Panama, Costa Rica, Colombia, Spain. On this Countris I work in Theatre, Cinema Shorts Films Director (Quien tiene la Llave), Illustration and most part of the time like multinstrument musician and songwriting. Play the guitar, melodica and sitar on individual songs and collective project when i ve been co-founder like The mutant Band of the Barcelona Subway, The Virtual Jam (Electronic Music for Live Performance), Ram (songwriter project with interactive music to perform with audience), Ram - Ali Project (Electronic music), Suriaf (Organic Rock), and my personal project My Ram Music (songwriter project).
Area: Corporate Social Responsability
Area: Sociology, Sexualities, Urban Studies Disertation "Characteristics of Gentrification on Castro in San Francisco, California vs L'Eixample in Barcelona". Comparative studies between the development of LGBTI district on both cities, focus on this area.
Area: Grassroots and Social Security. Final research project "The construction workers and social securities issues".
Apart from imagine projects, I enjoy most of my time being outdoors walking to focus my perspective of the value of the time in nature. Voluntering for the national civil protection system on radio communications.
When forced indoors by the tropical wheather I spend a large amount of my free time exploring the latest technology advancements for resolve social issues.


Infinite Viewer is Document Viewer Component with infinite scrolling.
This component can scroll up and down, left and right in the negative direction and in the positive direction. It can also be used in combination with moveable, selecto, guides.
Moveable
Selecto
Guides
Scene.js


Docker Compose - Recommended Method
version: "3.7"
services:
gawebserver:
container_name: gawebserver
image: robwolff3/ga-webserver
restart: on-failure
volumes:
- ${CONFIGDIR}/gawebserver/config:/config
- ${CONFIGDIR}/gawebserver/assistant:/root/.config/google-assistant-library/assistant
ports:
- 9324:9324
- 5000:5000
environment:
- CLIENT_SECRET=client_secret.json
- DEVICE_MODEL_ID=device_model_id
- PROJECT_ID=project_id
devices:
- "/dev/snd:/dev/snd:rwm"
“Sometimes you have to do it wrong a few times before you learn enough to know what the right way is. Or just read the docs, yeah, that would definitely be easier.” This is the an example of a truncated Docker Compose file showing a single service. Additional services would be listed below it, 13 in my case at the time of writing.
All of the Docker components are structured in a yaml file. To implement the compose file execute docker-compose up -d in the directory of the file. Docker will then apply that config and getting it running to that state. Any time Docker Compose is run after, Docker will apply whatever state is specified in the compose file, even if it requires recreating the container. I would recommend this method if you want granular control and to take advantage of the idempotency Docker Compose has to offer.
You can reference the Docker Compose documentation here.
 I figured out that I could use these one off commands to run containers not supported by DockSTARTer. Once running then using the standard Docker commands to administer them docker [ pull start stop restart exec logs ps ]. Later I ended up with a list of all the Docker Run commands I could execute to get my environment up and running saved in a file. Separating myself from DockSTARTer and giving me more parameter control. After moving over to Docker Compose I believe Docker Run is still useful for running one off containers or testing.
Need to convert Docker Run commands to a Docker Compose file?
You can reference the Docker Run documentation here.


We Are Hack inc. One of the largest group of iOS hackers built into one community. Our main aim is in iOS Security Research, Helping iOS to be more safe and comfortable. Our data will be managed opened sourced By September, untill that we have only specified less users. We are Legion.
Journey To Our Destination
25th APRIL, 2021
The Hack Inc will be one of the best group in iOS security research by September. We will always try to do our best at our stake in the iOS research, making it less vulnerable by unleashing the secrets, Talking About the kernel and sandbox, motivative theories and releasing vulnerable kernel exploits and making under patched CVE, as a opened sourced legal team.


?JjL
?????
????
Pi
tt
1
\v\
1_1_H
0
1
cm
2
3
4
5
6
7
8
9
10
copyright
reserved
The
New
York
Botanical
Garden
St.
Vincents
:
Coll.
H.
H.
&
G.
W.
Smith
Comm.
F.
D.
Godman,
F.B.S.,
March,
1890.
HERBARIUM
COLUMBIA
UNIVERSI
¥
Y,
NEW
YORK.
Ñ
Oc
&?//O
C-h
S~k>
or
/fy
EX
HERB.
H0RT.
REG.
KEW.
igy
1604175
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


If you want to run TimeSearcher on a Macintosh, please get in touch with me. As of January 2003, the OS X distributions do not include Java 1.4, so the latest version of TimeSearcher will not run. I can provide older versions of TimeSearcher, with limited functionality, upon reques. Unfortunately, the OS X implementation of the Java runtime environment (JRE) lags behind Windows/Unix Java JREs, so performance on Macs will be substantially poorer than on Windows/Unices.
This will cause the creation of a directory labeled "ts". To run TimeSearcher, go into this directory and execute the file named ts.bat (if using windows) or ts.sh (if linux).
If you have your own data file in a comma-delimited text file, spreadsheet file, or similar format, you can follow a few simple steps to format your data for use with TimeSearcher.
Once the data set is loaded, you can immediately begin to look at the individual items by moving the scroll bar on the window on the lower left-hand window, which displays the individual items. You can also browse the data set by scrolling the middle window on the right-hand side. These two windows are synchronized: clicking on an item in one window will lead to updating of the other.
Figure 1: The main TimeSearcher Window, with the data envelope display in the upper window
Queries are created in the upper-left window. Initially, this window contains a "data envelope". This overview display is a contour that includes all of the values between the minimum and maximum values that any item in the data set has at each time point. Thus, the data envelope tells you where data is and isn't, at each time point: at any given time point, there are no items that have values at that time point outside of the range of the envelope. This query space has two modes of operation: when the "hand" icon on the upper-left corner of the toolbar is selected (gray), the system is in the default query modification mode. When the adjacent rectangle is highlighted, you are in query creation mode.
Figure 2: A closeup of the TimeSearcher toolbar. The highlighted rectangular button is used to enter query creation mode.
To switch into query creation mode, press the rectangle button. This enables query creation mode for one timebox, after which the mode will revert to modification mode . If you wish to "lock" the system into creation mode for multiple queries, double click on the rectangle button. If you do this, you will need to manually press on the hand button to revert to query modification mode.
The query will be executed immediately after you release the button, without any further interaction required. When the query is executed, a "query envelope" overview will be drawn. This overview is similar to the graph envelope, but it shows the extreme values for only those items that match the current query.
Multiple query items can be created to form conjunctive queries. In other words, if you have multiple boxes, an item must satisfy the constraints associated with all of the boxes in order to be included in the data set.
Figure 3: Closeup of the query space, showing a query containing two timeboxes and the associated query envelope display
When a query is created, the list of items in the item list and graph display of individual items are updated to include only those items that match the query. In the graph display, the time points corresponding to each query item are highlighted.
Once you have selected the desired box(es), you can click and drag on them to move them. Arrow keys can also be used to move the boxes left,right, up or down.
The resize handles (purple squares) that are found on selected timeboxes can be used to scale the timeboxes - simply grab the handle and pull in the desired direction. This will work for single or multiple timeboxes.
Figure 4: A two-timebox query with both boxes selected for modification
If you've selected only one timebox, you can modify it using the range sliders in the lower right-hand window. These two-sided sliders allow for control of each dimension (height and width) of the timebox separately: the top slider controls the width (time extent), while the bottom controls the height (values). To change the range of values covered in that dimension, click on the end of the slider that you'd like to change and drag it to the desired location. To move the box in a dimension, click on the center of the range slider and drag it to the desired position.
Figure 5: Range sliders for modifying queries. The top slider controls the box's range in time, and the bottom slider controls the range in value.
Figure 6: A timebox popup menu
Figure 7: Query Space with graph envelope display
These lines can be selected: mousing over one of the graph lines leads to display of that item in the lower display window, and item list on th right, and associated details in the detail window in the upper right-hand corner. Similarly, if you click on one of the items in the lower-left display, or in the item list on the right, the appropriate graph overview line will be highlighted.
The graph overview is not turned on by default. To activate it, select "Graph Overview" from the "View" menu. As the graph overview can be computationally intensive, it will not be displayed unless the number of items in the result set is below a given threshold. As long as size of the result set is greater than the threshold, only the query envelope and data envelopes will be displayed. When your query becomes specific enough to make the size of the result set smaller than the threshold, the overview will be displayed. To adjust the threshold, select "Preferences" from the "Edit" menu.
If desired, the data and query envelopes can be turned off by selecting "Data Envelope" from the "View" menu.
Figure 8: Example of a drag and drop query
Figure 9: Toolbar pulldown menu for switching query variables
When this pull-down is used to select a new variable, an additional tabbed pane is added to the query space. The tab controls can be used to move between the different variables. Similarly, variables can be removed by clicking the "x" on the appropriate tab. Once a variable is remvoed, it can be reinstated via the pull-down menu.
Figure 10: Query Space with tabs for two variables
When more than one variable is present, TimeSearcher provides an overview summary window that can be used to view the queries on all variables - not just the one that is currently viewed. This window contains one pane for each currently active variable, with the selected variable highlighted.
Figure 11: Summary window for multiple variable query.
Each variable can be queried individually by placing a query box in the appropriate window. The result set that is displayed contains only those items that match all of the active queries on all of the current variables. However, each window will have its own data and query envelopes and graph overview (if selected), representing the the displayed items and their values for the selected variable. Similarly, when multiple variables are present, the display panel at the bottom of the TimeSearcher window shows the items in the data set, using values for the currently selected variable. However, the time points for queries for all current variables will be highlighted. For an alternative display, the "Display All Variables" checkbox in the "View" menu can be selected. This will cause profiles for all of the current selected variables to be drawn on the query space for each item in the result set.
Figure 12: Display space with multiple variables shown
When the normalization setting is changed, the label in the status bar at the bottom of the query space will be changed to indicate the currently active data treatment - "RAW", "NORMALIZED", or "DEVIATIONS", respectively.
As with changes to the query variables, changes in the normalization treatment cause the query space to be cleared and reset.
Figure 13: The Flip button on the TimeSearcher Toolbar
Figure 14: A two-timebox query, before flipping
Figure 15: The inverted version of the query.
To use this alternative interpretation, create a timebox and then right-click on it to pull up a menu.The "any" checkbox on the popup menu switches from the default conjunctive mode to the anyof interpretation, and the color of the box will change to indicate the change in query semantics.
Figure 16: A timebox query and its anyof equivalent
Figure 17: The toolbar button to be used for creating variable time timeboxes.
Figure 18: A VTT as initially created. Note that the data envelope display has been turned off, for clarity.
Just as with a standard timebox, the vertical extent of the VTT defines a range of values that items must fall within. Unlike a timebox, VTTs have two sets of horizontal extents. The inner extent defines the duration of interest - how long must each item be within the given value ranges? The outer extents define a window during which this interval must be found. For example, in the figure above, items must be in the given value range for a 5 month-period sometime between December and April. Since that range is exactly a 5-month period, this box is equivalent to a standard timebox occupying the same time periods. The outer time extents and value extents of a VTT can be changed by dragging and scaling, just a with any timeobx. However, the handles on the sides of the inner rectangle can be dragged to change the length of the interval of interest.
Figure 19: A VTT with internal constraints modified, via dragging of the handles on the internal rectangle.
For example, this figure of a modified VTT shows the inital VTT with constraints relaxed to include an inner interval of only two time periods in duration. In effect, this query asks for items that have values in the given range for any two consecutive months between December and April, inclusive. As different items in the data set might match VTTs at different time points, the graph display of each item in the result set will highlight only those time points that satisfy the constraints of the VTT.
Figure 20: Items that match the VTT query given above. Note that the first item matches the VTT during Dec-Jan and Mar-Apr, while the second matches the constraints druing Feb-Mar and Mar-Apr.
The name "angular queries" refers to the angle between the profile of an item during certain time points and the the horizontal to be included in the result set. An angular An angular query specifies a minimum and maximum value for the angles that will be allowed for an item to be included in the result set.
Figure 21: Angular queries can be used to specify items with a relative (not absolute increase in value). For example,the line between the value of an item at the starting time point makes an angle with the horizontal. This anagle must be between between theta1 and theta2 to satisfy an angular timebox with those angle constraints.
To create angular queries, the user pushes the angular query creation button. This button is analogous to similar buttons used for creation of standard and variable-time timeboxes. Angular queries are initially created by specifying a rectangular region - just as standard and variable time timeboxes are created.
Figure 22: The toolbar button for Angular Queries
Figure 23: An angular query.
Figure 24: An annotated angular query.The horizontal bar on the right defines the range of angles that an item must satisfy to be included in the result set.
Because angular queries measure relative changes and not absolute values, items that match an angular query might be found anywhere in the value range, including positions above and below the current position of the query. In fact, the vertical position of an angular query is unimportant - the query is completely determined by the angle and the width of the vertical bar that determines the range of the query. There are two possible interpretations of angular queries. In the default interpretation (the "all points" interpretation), an item must fall within the specified range of angles for everytransition during the specified range of time points. In other words, if the angular query is sloped upwards, the values of the item must increase at every time point during the range covered by the query.
Figure 25: Query envelope and graph overview of results from an "all-points" angular query. As results of an angular query are determined by angle and not by position, the items that match the query are actually above the query.
The alternative interpretation is limited to consideration of the values of each item at the end point of the interval. Specifically, these queries consider the angle that the line between those two values makes with the horizontal. If this angle is within the desired range, the items is included in the result set, regardless of any intermediate values.
Angular queries are created in "all-points" mode by default. To convert an angular query to "end-points" mode, right-click on the query and check the "end points only" checbkox. This checkbox can be de-selected to return to "all-points" mode.
Figure 26: Query envelope and graph overview of results from an "end-points" angular query. This query is the "end points" version of the query given in Figure 24. As only the values at the ends of the interval are considered, this query contains more items, including those that have downwards transitions during the specified interval but still have the appropriate net change over the entire interval.
The position, width, angle, and range of angular queries can be changed by dragging the appropriate handles. As mentioned above, the vertical position of the angular query does not influence the final result, which is entirely determined by the angle and the range.
Angular queries are similar to angular brushes in parallel coordinates(Hauser, Ledermann, and Doleisch, Angular Brushing of Extended Parallel Coordinates). The main difference is that angular queries can be used for comparison of values at arbitrary time points, but angular brushes can only be used to compare adjacent axes.
If you wish to save the current query for future use, the "Save Query File" choice under the "File" menu can be used. This stores the query in a format readable by TimeSearcher. Please note that the stored queries are not meant to be read by users - use "Save Results" if you want to examine the query file yourself.
To load a stored query, use the "Open Query File" choice in the "File" menu.
Future versions of TimeSearcher will hopefully have more powerful tools for saving query results.
To support these tasks, TimeSearcher provides "Leader and Laggard" functionality. This features takes a query created in the query space and creates a reference copy of it (a "leader"), along with a new copy indicating the similar trend, occuring one time period later.
To do a leaders and "laggards" query, create a query containing multiple timeboxes, and then either choose the "leaders" button on the toolbar, or select "Set Leaders" from the "Edit" menu.
Figure 27: The toolbar button for Leaders and Laggards
When you activate this feature, the query space will be replaced with two new windows. The top window will contain the query as created, with a graph overview of the items that matched it. The bottom window will contain outlines representing the original query, and new query boxes, occupying value ranges corresponding to the original query, at time points shifted by one time period to the right.
.
Figure 28: The Leaders and Laggards Query windows.
At this point, the boxes in the lower query window can be modified as desired, with the top window providing the reference point for comparison.
When this display is activated, the scrolling display of individual items will include both the items in the leader display (top) and the items that match the current query (lower query window). Items that match the leader display will have the word "Leader" displayed above them in the display list, and their entries in the item list will be displayed in magenta, mirroring the coloring used in the upper, "leader" display.
To leave "Leaders and Laggards" mode, press the toolbar button again, or select "Clear Leaders" from the "Edit" menu. The leader window will be removed, and the query window will be restored, using the currently active query.
Figure 29: Line indicating average values at each time point in the data set.
When the average display is showing, a new button is added to the toolbar. This button, which is only active when TimeSearcher is in drawing mode, will cause the creation of a query centered around the average value at each time point. This can be thought of as a "query-by-example" for the average value.
Figure 30: The toolbar button to be used for creating an average query.
Figure 31: A query created by the average button. At each time point, the query box is centered around the average value in the data set at that time point.
Figure 32: Grid display of items in data set.


Question
link
There are N gas stations along a circular route, where the amount of gas at station i is gas[i]
.
You have a car with an unlimited gas tank and it costs cost[i]
of gas to travel from station i to its next station (i+1). You begin the journey with an empty tank at one of the gas stations.
Return the starting gas station's index if you can travel around the circuit once, otherwise return -1.
Note:
The solution is guaranteed to be unique.
Stats
| Adjusted Difficulty |
4 |
| Time to use |
-------- |
Ratings/Color = 1(white) 2(lime) 3(yellow) 4/5(red)
Analysis
This is a tough question, which requires a lot of math-related thinking.
My solution is IMHO very simple and easy. I first do a cumulation of gas from beginning to the end, and find the lowest cumulative value of the gas tank (of course can be negative). That point is where I start the journey, which is to say, I will validate the path from that point, and then return the result.
This idea is not seen on Internet, although it is just 2 loops thru the list, and time complexity is also O(n). Anyway, there’s a great solution which most people uses.
There’s a great post that gives 2 valid conclusions:
- If car starts at A and can not reach B (let’s say B is the first station that A can not reach), then any station between A and B can not reach B.
- If the total number of gas is bigger than the total number of cost. There must be a valid solution.
From here, a great solution can be found.
Solution
A very detailed explanation and code is found from this blog.
- 从i开始，j是当前station的指针，sum += gas[j] – cost[j] （从j站加了油，再算上从i开始走到j剩的油，走到j+1站还能剩下多少油）
- 如果sum < 0，说明从i开始是不行的。那能不能从i..j中间的某个位置开始呢？假设能从k (i <=k<=j)走，那么i..j < 0，若k..j >=0，说明i..k – 1更是<0，那从k处就早该断开了，根本轮不到j。
- 所以一旦sum<0，i就赋成j + 1，sum归零。
And note that if i is moved to j, there is no need to check (0..old_i) again, because this range must be reachable (write code again for beter understanding).
Coding this solution is not easy! I failed to do it.
Code
First, my solution
public int canCompleteCircuit(int[] gas, int[] cost) {
int len = gas.length;
if (len == 0) return -1;
int start = -1, min = Integer.MAX_VALUE, total = 0;
for (int i = 0; i < len; i ++) {
total += getDiff(gas, cost, i);
if (total < min) {
min = total;
start = i;
}
}
start = (start + 1) % len;
// now traverse the route from start
total = 0;
for (int i = 0; i < len; i ++) {
total += getDiff(gas, cost, (start + i) % len);
if (total < 0) return -1;
}
return start;
}
private int getDiff(int[] gas, int[] cost, int i) {
return gas[i] - cost[i];
}
Second, best solution
public int canCompleteCircuit(int[] gas, int[] cost) {
int i = 0, j = 0;
int sum = 0;
int total = 0;
while (j < gas.length) {
int diff = gas[j] - cost[j];
if (sum + diff < 0) {
i = j + 1;
sum = 0;
} else {
sum += diff;
}
j++;
total += diff;
}
return total >= 0 ? i : -1;
}


MDAL
Public Member Functions
|
List of all members
Sqlite3Statement Class Reference
Public Member Functions
bool
prepare
(
Sqlite3Db
*db, const std::string &statementString)
void
close
()
int
columnCount
() const
bool
next
()
int
getInt
(int column) const
The documentation for this class was generated from the following files:
mdal_sqlite3.hpp
mdal_sqlite3.cpp
Generated by
1.9.1


Granada contains several major improvements to the protocol, as well as numerous bug fixes and minor improvements. Below we discuss some of the most interesting and important changes:
Emmy*: The current Tezos consensus algorithm is Emmy+ and we propose to replace it with Emmy*. As described this blog post , if Granada is adopted, Emmy* will generally halve the time between blocks, from 60 seconds to 30 seconds, and allow transactions to achieve significantly faster finality than under the current consensus algorithm. (We expect several significant further improvements to our consensus algorithm and reductions in block times in coming proposals.)
Liquidity Baking: The availability of low-slippage exchange of tez into other currencies and vice-versa is key to allow the widespread use of Tezos. Liquidity Baking addresses this directly by piggybacking off the liquidity and global availability of Bitcoin, and incentivizing large amounts of decentralized liquidity provision between tez and wrapped bitcoins.
Gas improvements: A number of substantial improvements to performance have been made, which in turn result in dramatic reductions in gas consumption. We have generally observed a decrease of a factor of three to six in the gas consumed in the execution of already deployed contracts. For some contracts, the improvement has been almost a factor of eight. This reduction in gas consumption, the latest in a series we began with Delphi, will enable developers to deploy richer, more complicated, and more interesting applications on Tezos at reasonable real-world cost.
Granada contains numerous other bug fixes and small improvements, and encourage you to look at the changelog for a full description of the contents of the proposal.


Scooter sharing made simple
Scoot takes the hassle out of urban mobility. Our bikes are placed in convenient locations in each of our cities. Use our app to locate the nearest bike, unlock it with a tap, and you’re away!
Get Scootin-
Locate with app
Use the app to find the nearest scooter to you. We are continuously placing scooters in the areas with most demand, so one should never be too far away.
-
Pick your scooter
We show the most important info for the scooters closest to you. So you know how much charge they have left and can see roughly how much it will cost.
-
Enjoy the ride
Scan the QR code and the bike will unlock. Retract the cable lock, put on a helmet, and you’re off! Always lock bikes away from walkways and accessibility ramps.
-
Easy to use riding telemetry
The Scoot app is available with riding telemetry. This means it can show you your average speed, how long you've been using the scooter, your traveling distance, and many more things all in an easy to use app.
Learn more -
Coming to a city near you
Scoot is available in 4 major cities so far. We’re expanding rapidly, so be sure to let us know if you want to see us in your hometown. We’re aiming to let our scooters loose on 23 cities over the coming year.
Learn more -
Zero hassle payments
Our payment is as easy as one two three. We accept most credit cards and debit cards. You can also link your PayPal account inside the app. Need to pay later? No worries! You can defer payment for up to a month.
Learn more


This data is the SIR formulation of 188 cases of measles among children in
the German city of Hagelloch, 1861, and is a reformulation of the data in
hagelloch_raw
. Each row is asssociated with 1 day (where
t
tells the number of days after the start of the outbreak), and
the rest of the columns report the number of individuals suspectable,
infected, and in recovery.
hagelloch_sir
A data frame with 95 rows and 4 columns
time since outbreak, \(t = 0, \dots, T=94\)
Number of individuals suspectable
Number of individuals infected
Number of individuals in recovery
Note that \(s_t + i_t + r_t = 188\) for each row \(t in 0, \dots, 94\).
#> t S I R #> 1 0 187 1 0 #> 2 1 187 1 0 #> 3 2 187 1 0 #> 4 3 186 2 0 #> 5 4 186 2 0 #> 6 5 186 2 0#> [1] TRUE


Trailer for the Book: "Shelly Takes a Stroll"
Make Awesome Command-Line Applications in Ruby
from RubyNation 2010
- {% img /images/rubynation_talk.png 400 'Make Awesome Command-Line Applications in Ruby' %}
Test-Drive the Development of Your Command-Line Applications
from RubyConf 2011
- {% img http://confreaks.net/system/videos/images/694/preview/694-rubyconf2011-test-drive-the-development-of-your-command-line-applications-thumb_0001.png?1319751585 400 'Test-Drive the Development of Your Command-Line Applications' %}
-
Beyond The Web - Ruby Rogues Podcast
from Ruby Midwest 2011


{% extends "layout.html" %} {% load i18n %} {% block breadcrumbs %}
No information on sources has been found.


--- layout: page title: "Resume" description: "My resume for the world" header-img: "img/dryForest.jpg" order: 1 ---
You can get a directo link to my resume here


Projects
A project in Materials Commons is place to store data, such as files and other meta data. It is also the means to control access to your data. You can have an unlimited number of projects. Each project can have a different list of people who have access to it. The Materials Commons API provides multiple ways to interact with projects. Below are some examples:
# First create a client instance
import materials_commons.api as mcapi
import os
c = mcapi.Client(os.getenv("MC_API_TOKEN"))
# Get a list of all your projects
projects = c.get_all_projects()
# Get a particular project by its id
project = c.get_project(3)
# Create a project with a description
project = c.create_project("project-name", mcapi.CreateProjectRequest(description="project description"))
# Create a project without a description
project = c.create_project("project-name")
# Pretty print the created projects attributes
project.pretty_print()
# Add user to project
user =<EMAIL_ADDRESS>project = c.add_user_to_project(project.id, user.id)
# Delete the project
c.delete_project(project.id)


Sample Analytics
0.3.5
Getting started
Tutorial
Github
Documentation
How to get started
Installation
Dependencies
Usage
Contributing
License
Tutorial
Datasets for the tutorial
Sample size calculation
Sample size calculation for stage sampling
Sample selection
Selection of primary sampling units (PSUs)
Selection of secondary sampling units (SSUs)
Sample weighting
Sample weight adjustment
Replicate weights
Population parameters estimation
Estimation of population parameters
Categorical data analysis
Tabulation
T-test
Small Area Estimation (SAE)
Area level model: empirical best linear unbiased predictor (EBLUP)
Unit level model: empirical best linear unbiased Prediction (EBLUP)
Use Cases
API Documentation
Sampling
samplics.sampling.selection
Weighting
samplics.weighting.adjustment
samplics.weighting.replicates
Estimation
samplics.estimation.expansion
samplics.estimation.regression
samplics.estimation.replication
Small Area Estimation
samplics.sae.eb_area_model
samplics.sae.eb_unit_model
Utils
samplics.utils.checks module
samplics.utils.formats module
samplics.utils.hadamard module
All modules for which code is available
samplics.estimation.expansion
samplics.estimation.replication
samplics.sae.eb_unit_model
samplics.sampling.selection
samplics.utils.checks
samplics.utils.formats
samplics.utils.hadamard
samplics.weighting.adjustment
samplics.weighting.replicates


{{ if not (in (printf "%#v" .Site.BaseURL) "localhost") }} {{ else }}
Adsense is unavailable while serving on localhost or <IP_ADDRESS>


13
1 As Jesus was walking away from the temple, one of his disciples said to him, "Teacher, look at the wonderful stones and buildings!"
2 He said to him, "Do you see these great buildings? Not one stone will be left on another which will not be torn down."
3 As he sat on the Mount of Olives opposite the temple, Peter, James, John, and Andrew asked him privately,
4 "Tell us, when will these things happen? What will be the sign when all these things are about to happen?"
5 Jesus began to say to them, "Be careful that no one leads you astray.
6 Many will come in my name and say, 'I am he,' and they will lead many astray.
7 When you hear of wars and rumors of wars, do not worry; these things must happen, but the end is not yet.
8 For nation will rise against nation, and kingdom against kingdom. There will be earthquakes in many places, and famines. These are the beginnings of birth pains.
9 Be on your guard. They will deliver you up to councils, and you will be beaten in synagogues. You will stand before both governors and kings for my sake, as a testimony to them.
10 But the gospel must first be preached to all the nations.
11 When they arrest you and hand you over, do not worry about what you should say. For in that hour, what you should say will be given to you; it will not be you who speak, but the Holy Spirit.
12 Brother will deliver up brother to death, and a father his child. Children will rise up against their parents and cause them to be put to death.
13 You will be hated by everyone because of my name. But whoever endures to the end, that person will be saved.
14 When you see the abomination of desolation standing where it should not to be standing (let the reader understand), let those who are in Judea flee to the mountains,
15 let him who is on the housetop not go down into the house, or take anything out of it,
16 and let him who is in the field not return to take his cloak.
17 But woe to those who are with child and to those who are nursing infants in those days!
18 Pray that it might not occur in the winter.
19 For there will be great tribulation, such as has not been from the beginning, when God created the world, until now, no, nor ever will be again.
20 Unless the Lord had shortened the days, no flesh would be saved, but for the sake of the elect, those he chose, he shortened the number of the days.
21 Then if anyone says to you, 'Look, here is the Christ!' Or, 'Look, there he is!' do not believe it.
22 For false Christs and false prophets will appear and will give signs and wonders, so as to deceive, if possible, even the elect.
23 Be on guard! I have told you all these things ahead of time."
24 But after the tribulation of those days,
the sun will be darkened,
the moon will not give its light,
25 the stars will fall from the sky,
and the powers that are in the heavens will be shaken.
26 Then they will see the Son of Man coming in the clouds with great power and glory.
27 Then he will send his angels and he will gather together his elect from the four winds, from the ends of the earth to the ends of the sky.
28 Learn a lesson from the fig tree. As soon as the branch becomes tender and puts out its leaves, you know that summer is near.
29 So also, when you see these things happening, you know that he is near, close to the gates.
30 Truly, I say to you, this generation will not pass away until all of these things occur.
31 Heaven and earth will pass away, but my words will never pass away.
32 But concerning that day or that hour, no one knows, not even the angels in heaven, nor the Son, but the Father.
33 Be alert! Watch, because you do not know what time it is.5Some ancient authorities read:Be alert! Watch and pray, because...
34 It is like a man who goes on a journey: he leaves his house and puts his servants in charge of the house, each one with his work. And he commands the watchman to stay awake.
35 Therefore watch! For you do not know when the master of the house will come home, whether in the evening, at midnight, when the rooster crows, or in the morning.
36 If he comes suddenly, do not let him find you sleeping.
37 What I say to you I say to everyone: Watch!"


Added initial support for loading fonts without a pre-created XML font metric
file.
(JM)
Support for the rgb-icc() function and for a proprietary cmyk() function (for device CMYK
colors only through the PDF renderer so far).
(JM) Thanks to Peter Coppens. Fixes 40729.
Added support for SVG in fo:instream-foreign objects for RTF output.
(JM) Thanks to Dominic Brügger. Fixes 40849.
Added support for CCITT compression in the TIFFRenderer by switching to the ImageWriter
abstraction from XML Graphics Commons.
(JM) Thanks to Oliver Hernàndez Valls. Fixes 40519.
Extension properties fox:orphan-content-limit and fox:widow-content-limit which
help with list-block and table layout. See the documentation for details.
(JM)
Configuration option in the Java2D-based renderers that allows to disable the default
white background in order to produce bitmap output with transparency.
(JM)
Added support for PDF/A-1b and PDF/X-3:2003. (Note: this may still be a bit
incomplete. Feedback is welcome!)
(JM)
The CIDSet object is now generated for CID fonts which are embedded in PDFs.
(Required by PDF/A).
(JM)
Automatic support for all fonts available to the Java2D subsystem for all
Java2D-descendant renderers (TIFF, PNG, print, AWT).
(JM)
Initial support for page-number-citation-last (XSL 1.1). Works without problems
only for page-sequence so far.
(JM) Thanks to Pierre-Henri Kraus. Fixes 39118.
Bugfix: Fixed bug when the sum of column widths of a table is larger than the
specified widths. The table width was not adjusted.
(JM)
Bugfix: Nested tables with headers and footers were not handled correctly and could
overlap with the region-after.
(JM)
Split up FOText instances larger than 32K characters to avoid
integer overflow during layout.
(AD) Fixes 39414.
Bugfix: Corrected painting of shading patterns and position of links for SVG images
inside FO documents.
(JM)
Deferred property resolution for markers until they are actually retrieved,
which leads to percentages and relative font-sizes now getting the correct
values. Also deferred white-space-handling for markers.
(AD)
Fixed a memory-leak: The FO tree part of a page-sequence was not released when a
page-sequence was finished.
(JM)
Bugfix: Table headers and footers were swallowed when a table was nested in a list-block.
(JM)
Fixed a bug with indent handling when margins are used on a surrounding block and
not start/end-indent.
(JM)
Compatibility fix for GCJ (GNU Classpath): Using "UTF-16BE" instead of "UnicodeBigUnmarked"
encoding.
(JM) Thanks to Jeroen Meijer. Fixes 40106.
Fixed handling for CCITT Group 4 TIFF images with fill order 2.
(JM) Thanks to Gilles Beaugeais. Fixes 40062.
Fixed setting of page margins in AWT Renderer like it was done in the print renderer.
(JM) Thanks to Igor Istomin. Fixes 40048.
Fixed two memory-leaks in image handling. The image cache is finally working
properly.
(JM)
Let numeric property values without a unit be treated as pixels like in HTML.
This fixes certain NullPointerException when no units are specified.
(Note: the use of pixels in XSL-FO is discouraged!)
(JM) Fixes 39608.
Bugfix: Potential multi-threading issue (ConcurrentModificationException)
eliminated for ElementMapping classes.
(JM)
No more System.exit() and look & feel setting calls inside the reusable
parts of the AWT viewer.
(JM)
Proper escaping of characters in list-items labels for RTF output.
(JM)
Bugfix: FOUserAgent specific configuration parameters specified in config file
were not set when FOP was invoked from command line.
(MM)
Bugfix: components of the border-separation property weren't set when
in shorthand-mode, leading to a NPE being thrown.
(AD) Fixes 39712.
Bugfix: Table headers were omitted when a table is a child of a block-container.
(JM)
Bugfix: Bookmarks in PDF will be generated even if some bookmarks cannot be
resolved.
(JM)
Bugfix: the interaction between the table FOs and properties package in
determining initial values for column-number should be a one-time process,
not repeated when the table is in a marker that is retrieved.
(AD) Fixes 39560.
Bugfix: All fonts names were converted unnecessarily to lower case in RTF output.
(JM)
Bugfix: The combination of hyphenation and kerning resulted in slightly ragged
right ends for right-aligned and justified text.
(JM)
Bugfix: NullPointerException in AreaAdditionUtil in a table-cell spanning
multiple pages and with a marker.
(JM)
Bugfix: NullPointerException in RTF output when a table does not contain
table-columns.
(JM) Fixes 39533.
Bugfix: NullPointerException in RTF library when there are no borders on
the parent table.
(JM) Thanks to Julien Aymé. Fixes 39607.
Bugfix: Improved baseline detection in TTFReader for TrueType fonts.
(JM)
Bugfix: tables nested in inline elements caused a NullPointerException.
(JM) Fixes 39443.
Bugfix: Sections with span="all" lead to overlapping text if spanning multiple pages.
(JM) Fixes 39443.
Bugfix: Percentages in vertical-align property values were not correctly handled.
(MM)
Bugfix: Gaps in table-columns cause a NullPointerException.
(JM) Thanks to Gerhard Oettl. Fixes 38243.
Bugfix: TABs were not correctly replaced by spaces in some circumstances.
(MM)
Bugfix: basic-links with internal destinations in documents with multiple
page-sequences sometimes pointed at the wrong page.
(JM)
Bugfix: Fixed ClassCastException when retrieve-marker is used as a direct child
if static-content in which case leading and trailing white space is not properly
removed.
(JM)
Bugfix: Fixed OutOfMemoryException with long data URLs (RFC 2397).
(JM) Fixes 39285.
Enabled Copy/Paste from PDF content in Acrobat Reader for text using embedded TrueType fonts.
(BD) Thanks to Adam Strzelecki, Victor Mote. Fixes 5535.
Commented out unused properties, in order to minimize memory usage.
(SP) Thanks to Richard Wheeldon. Fixes 41044.
Removed unused attributes from TableCell.
(SP) Thanks to Richard Wheeldon. Fixes 41009.
Minor fixes and improvements for the AWT Preview (keyboard shortcuts, scrolling, windows
setup).
(JM) Thanks to Richard Wheeldon. Fixes 40813.
Minor fix: correctly set negative values for ipd/bpd to zero.
(AD)
Rework of default column-creation / column-width setting from
cells in the first row.
(AD) Fixes 35656.
Added relaxed validation for empty list-item-*, as suggested by Gary Reed.
(AD) Thanks to Gary Reed. Fixes 40270.
Modified proportional-column-width() function to log an error if used
with table-layout=auto
(AD)
Changed the way overflowing pages are handled. The overflow property on region-body
is now used to define the behaviour.
(JM)
The Java2DRenderer (and therefore the print and bitmap renderers) is now
offering the same quality as the PDF and PS renderers. Note: There can still
be little differences between PDF and Print/PNG/TIFF because the latter uses
a different font metrics source.
(JM)
The default sRGB color profile provided by the Java class library is no longer
embedded if it is encountered. This should reduce the PDF size considerably.
(JM)
Changed the internal representation of colors to use Java's own color infrastructure
instead of FOP's home-grown classes.
(JM) Thanks to Max Berger. Fixes 38946.
Content in block-containers makes better use of shrink to fit content vertically
into the available area. This can be used indirectly to justify content vertically
in a block-container.
(JM)


BLOG
LEARN MORE
UPCOMING EVENTS
MEDIA RESOURCES
EXPLORE THE SITES
Sorry, we are experiencing some technical difficulties.
Please, try again later.


1 Among the Egyptians themselves, those who live in the cultivated country are the most assiduous of all men at preserving the memory of the past, and none whom I have questioned are so skilled in history.
2 They practice the following way of life. For three consecutive days in every month they purge themselves, pursuing health by means of emetics and drenches; for they think that it is from the food they eat that all sicknesses come to men.
3 Even without this, the Egyptians are the healthiest of all men, next to the Libyans; the explanation of which, in my opinion, is that the climate in all seasons is the same: for change is the great cause of men's falling sick, more especially changes of seasons.
4 They eat bread, making loaves which they call “cyllestis,” of coarse grain. For wine, they use a drink made from barley, for they have no vines in their country. They eat fish either raw and sun-dried, or preserved with brine.
5 Quails and ducks and small birds are salted and eaten raw; all other kinds of birds, as well as fish (except those that the Egyptians consider sacred) are eaten roasted or boiled.


We want to create a simple mapping from one class to another class.
The source model is a simple domain model of Airports:
Create or load the Airports model.
Next, create a new project Example1 containing the classes that we want to map between.
Note, the Route class has been copied from the Airports model. This is achieved by right clicking on the class in the Airports model, selecting Drop in Class Diagram and then choosing the Example1 package.
Next, a mapping is added to the model. Select the Mapping from the icons in the diagram editor and place it on the diagram and give it a name.
A mapping must have at least one domain and a single range.
Select these from the icons underneath the mapping icon.
The domain is the input to the mapping and the range is its output. Although compulsory, it is important to think of the domain and range as indicating a dependency between a mapping and its constituents. In practice, the actual values passed to the mapping need not necessarily be of the domain type. Similarly, the range need not be of the target type.
The rules and actions performed by a mapping are described by clauses. Add a new clause to a mapping by right clicking on the mapping in the diagram editor or browser and choosing New > Clause.
Now, edit the clause by double clicking on it in the browser.
A clause editor will be displayed.
A clause has a name, and a default clause expression followed by a “do” action.
The expression is a pattern that must be matched before the clause will fire.
When the clause is matched, the action after the 'do' will be performed.
We wish to capture the rule that a Route with a capacity less than 250 will be mapped to a ShortHaul Route with the same name. In addition, we want to map a Route with a capacity >= 250 to a LongHaul Route.
To achieve this we need to write two clauses. The first clause matches with a Route whose capacity is less than 250 and generates a Short Haul Route.
@Clause Short Airports::Route[ name = N, source = S, destination = D, capacity = C] when C < 250 do ShortHaul[ name = N, source = S, destination = D] end
Here:
The name of the clause has been changed to Short
The clause expression is a Route, whose name equals the variable 'N', whose source and destination equals the variables 'S' and 'D' and whose capacity equals the variable C.
The when condition states that this clause can only fire if the capacity is < 250.
The 'do' action creates a ShortHaul Route whose name is equal to the variable 'N', and which has the same source and destination.
Note because the variables are global they are matched across the clause, ensuring for example that the name of the source Route matches the target Route name.
To enter the clause, enter the text and right click > Commit it.
To deal with the other possibility (that the capacity >= 250) we need to create another clause and add it to the mapping.
Again, right click on the mapping in the diagram editor or browser and choose New > Clause. Edit and commit the clause as before.
@Clause Long Airports::Route[ name = N, source = S, destination = D, capacity = C] when C >= 250 do LongHaul[ name = N, source = S, destination = D] end
The code is similar to that of the previous clause, but the “when” condition requires that the capacity of the route is >= 250. The resulting action creates an instance of a LongHaul Route.
Mappings can be run in two ways: via the console or by passing the object to the mapping.
Here's an example of running a mapping via the console. Let's create an instance of a Route, x, named "LAX2LHR", with a capacity of 200 and source and destination "LAX" and "LHR" respectively..
The mapping can be run by calling the mapping and passing it the Route, x.
The result of the mapping is a ShortHaul Route whose name is "LAX2LHR" as we would expect.
The same result can be achieved by creating the same instance of a Route in a Snapshot and selecting Apply Mapping from the object's menu:
A choice of available mappings will be displayed. Select the mapping that the object is to be passed to, and it will be invoked.


Specific miRNA
Identify Specific miRNAs of Sources and Cancer types by SEGtool
Please click the EV source on the left manu to browse the specifically expressed miRNAs in that EV source.
Current Display: Breast Adenocarcinoma (MicroVesicles)
| {$ b $} |
Current Display: Colon Carcinoma (MicroVesicles)
| {$ b $} |
Current Display: Chronic Myelocytic Leukemia (MicroVesicles)
| {$ b $} |
Current Display: Prostate cancer (MicroVesicles)
| {$ b $} |
Current Display: Pancreatic cancer (MicroVesicles)
| {$ b $} |
Current Display: Blood (MicroVesicles)
| {$ b $} |
Current Display: Breast (MicroVesicles)
| {$ b $} |
Current Display: Colon (MicroVesicles)
| {$ b $} |
Current Display: Fibroblasts (MicroVesicles)
| {$ b $} |
Current Display: Mesenchymal Stem Cells (MicroVesicles)
| {$ b $} |
Current Display: Urine (MicroVesicles)
| {$ b $} |
Current Display: Breast Adenocarcinoma (Exosomes)
| {$ b $} |
Current Display: Colon Carcinoma (Exosomes)
| {$ b $} |
Current Display: CLL (Exosomes)
| {$ b $} |
Current Display: Lymphoma (Exosomes)
| {$ b $} |
Current Display: Lymphoma (Exosomes)
| {$ b $} |
Current Display: Oral Cancer (Exosomes)
| {$ b $} |
Current Display: Prostate Cancer (Exosomes)
| {$ b $} |
Current Display: Squamous Cell Carcinoma (Exosomes)
| {$ b $} |
Current Display: Blood (Exosomes)
| {$ b $} |
Current Display: Breast (Exosomes)
| {$ b $} |
Current Display: Brease Milk (Exosomes)
| {$ b $} |
Current Display: Blymphoblastoid Cells (Exosomes)
| {$ b $} |
Current Display: Colon (Exosomes)
| {$ b $} |
Current Display: CLL Cells (Exosomes)
| {$ b $} |
Current Display: Human Epithelial Cells (Exosomes)
| {$ b $} |
Current Display: Human Mammary Epithelial Cells (Exosomes)
| {$ b $} |
Current Display: Human Mast Cells (Exosomes)
| {$ b $} |
Current Display: Kidney (Exosomes)
| {$ b $} |
Current Display: Lymph (Exosomes)
| {$ b $} |
Current Display: Mesenchymal Stem Cells (Exosomes)
| {$ b $} |
Current Display: Seminal Fluid (Exosomes)
| {$ b $} |
Current Display: Tongue (Exosomes)
| {$ b $} |


Bates Motel renovation unnecessary
Psycho A Film Review By Michael Redman Copyright 1998 By Michael Redman
** (Out of ****)
Of all the questions that have puzzled mankind over the years, "Why?" is the most difficult to answer. Philosophers struggle with the Why of human existence. For journalists the rest of the big "W"s are simple compared to that one.
 Your young daughter questions "Why did God let my kitten die?"
In many situations there are no real answers or at least none that we can ever know. Van Morrison's studied response is "It ain't why, why, why, why, why. It just is." When asked why he chose to redo "Psycho", director Gus Van Sant paraphrases the great philosophical jeans commercial: "Why ask why?"
He also explains that he'd like to bring the great Hitchcock film to a new generation of audiences that have never seen it. He wants to introduce color to the classic. None of these reasons wash.
Re-issuing the original on the big screen would allow new viewers to see the film...it seems to have worked for The Wizard Of Oz. If the first version had been destroyed, this might make more sense, but it's still around and it's still a great film. Color would be a good excuse if it added anything to the movie. It doesn't.
"Psycho" is one of those films that have become a part of modern western mythology. Nearly everyone knows the story. When someone stabs the air with a clinched fist accompanied by screeching noises, you get the reference. Years ago, explaining a trip to Madison, Wisconsin, I mentioned to friends that I'd spent a night in the Bates Motel. They all understood.
In case there's anyone who isn't familiar with the plot, here's the "Reader's Digest" version. Marion Crane (Anne Heche) steals a ton of money from her boss. Making a poor choice in lodging, she checks into a motel run by Norman Bates (Vince Vaughn) who has a very odd relationship with his mother. After she disappears, her boyfriend and sister come looking for her.
Touted as a shot-by-shot recreation of the original, it's really not. Camera angles are different. The script has been slightly re-written by original screenwriter Joseph Stefano. Although Van Sant has done a credible job of maintaining Hitchcock's scenes, he loses the spirit. The film is lifeless.
There are two primary audiences for this film. Those that have seen the original and want to compare the two and those that have never viewed the first one and are seeing the story for the first time. It doesn't work very well for either.
Even for teenagers who haven't experienced the 1960's version, most know about the shower scene and Norman's mom. These work most effectively as surprises. After untold slasher films, the killings here aren't as terrifying as they were 40 years ago.
The story hasn't been updated enough to provide much entertainment for people who want a new version. The few new items don't add much. Norman indulges in a very personal activity while watching Marion disrobe through his peep hole. The shower scene is a bit more revealing. There are a few lines of dialog that Hitchcock wanted and weren't in the original but they're minimal.
Some scenes don't make sense. A couple extremely short hallucinations occur during a killing. So brief that they are difficult to catch -- maybe a semi-clad woman on a couch, some animal in a fog perhaps on train tracks -- they feel tossed in for no reason.
The bizarre combination of the sixties and nineties is distracting.  Computers sit on a desk in an office that could have been designed in 1950. Lila (Julianne Moore), Marion's sister mentions that she has to get her Walkman, prompting a laugh from the audience only because it is so out of place.
All of this would be minor if the film worked. But it mostly doesn't. Everything is flat. The original shower was extraordinary. The editing in the newer version isn't as effective and now it's just one more murder scene.
Heche does a good job of portraying the conflicted Marion, but she often comes across as searching for her character. Vaughn is never menacing. Viggo Mortensen as Marion's lover occasionally appears to have taken lessons from the Dick Tracy villain Mumbles. Moore is one exception, playing Lila as a lively hard-edged modern woman.
I got the feeling that most of the audience was watching the movie while replaying the original in their minds. It is almost impossible to do otherwise. Watching for similarities and differences is fun for a while, but it doesn't carry the entire film. After that limited entertainment value wears off, you're just marking time until the end. If you have any doubts as to the popularity of the Compare The Films game, try to rent a copy of the original. Good luck finding one in stock.
The film is an academic exercise. It's like a beginning painting assignment: re-paint Van Gogh's sunflowers brush stroke by brush stroke, but this time make them blue. I'm sure that Van Sant learned a lot about Hitchcock during his experience, but that doesn't make it any more interesting for the rest of us.
The film reminds me of Shakespeare's answer as to the "why" of life: "...full of sound and fury, signifying nothing."
(Michael Redman has written this column for well over 23 years and he's working on a painting of Mona Lisa but without the smile. Email your suggestions of classics that need redone to<EMAIL_ADDRESS>[This appeared in the 12/10/98 "Bloomington Independent", Bloomington, Indiana. Michael Redman can be contacted at<EMAIL_ADDRESS>--<EMAIL_ADDRESS>This week's film review at http://www.indepen.com/ Film reviews archive at http://us.imdb.com/M/reviews_by?Michael%20Redman
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


[gecode-users] Extensional constraints
Christian Schulte
cschulte at kth.se
Wed Jan 13 20:46:34 CET 2010
Hi,
Ehmmmm.
You mean in loops? Yes, sure. Whenever you post a constraint, a snapshot
of the argument arrays is taken. Is that what you mean?
Best
Christian
--
Christian Schulte, web.ict.kth.se/~cschulte/
From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On Behalf
Of frank lemoine
Sent: Thursday, January 07, 2010 6:14 PM
To: gecode gecode
Subject: [gecode-users] Extensional constraints
thank's christian for the explanations,
also, I would like if you can confirm to me that i can post the extensional
constraint on loops.
Frank
_____
Avec Internet Explorer, surfez en toute discrétion sur internet Cliquez ici
<http://clk.atdmt.com/FRM/go/182932252/direct/01/> !
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gecode.org/pipermail/users/attachments/20100113/871877da/attachment.htm>
More information about the users
mailing list


Home
Documents
Scientific Papers
Public Deliverables
Product 3
Product 3-1
Product 3-2
Product 3-3
Work Packages
WP 1
WP 2
News
Members
Contact


I like making videos!
Mind Your Nanners
A short experimental film project. The tale of a woman and her bizarre nightmare. Made in my Media Productions class at St. Mary's College of Maryland in Fall 2012.
Another Plateau of Pancakes/Meaningness in the Universe
A story about a man named Evan and the chaos that ensues when people try to make a movie about him, highlighting the elusive definition of "documentary" film. Codirected with Elliott Shugoll for our Documentary Practices course in Spring 2010.


In this scenario you'll see how to use the ItemContainer to take a block of HTML and allow it to be selected with swipe. This 'item' allows you to create selectable elements that look and feel identical to the items that are created with the WinJS listview control. In fact you'll see when looking through the MSDN documentation that you can use the familiar swipeBehavior and tapBehavior properties to customize your interactions. For example, this scenario uses the tapBehavior 'toggleSelect', to enable tap to select.
Select the flavors of ice cream you would like mixed together. And click the "Build Custom Carton" button to continue!


--- layout: default --- {% include quote.html %}
Python, Django, Ruby, Ruby on Rails, SQL (PostgreSQL & SQLite), JavaScript, jQuery, AngularJS, React, RSpec, TDD, Active Record, Git, Amazon EC2 Management, Heroku, MS Office Suite, Adobe Creative Suite, OSX


Salmon as food
Salmon is a popular food. Classified as an oily fish, salmon is considered to be healthy due to the fish's high protein, high omega-3 fatty acids, and high vitamin D content. Salmon is also a source of cholesterol, with a range of 23–214 mg/100 g depending on the species. According to reports in the journal Science, farmed salmon may contain high levels of dioxins. PCB (polychlorinated biphenyl) levels may be up to eight times higher in farmed salmon than in wild salmon, but still well below levels considered dangerous. Nonetheless, according to a 2006 study published in the Journal of the American Medical Association, the benefits of eating even farmed salmon still outweigh any risks imposed by contaminants. Farmed salmon has a high omega 3 fatty acid content comparable to wild salmon. The type of omega-3 present may not be a factor for other important health functions. Salmon flesh is generally orange to red, although white-fleshed wild salmon with white-black skin colour occurs. The natural colour of salmon results from carotenoid pigments, largely astaxanthin, but also canthaxanthin, in the flesh. Wild salmon get these carotenoids from eating krill and other tiny shellfish. The vast majority of Atlantic salmon available around the world are farmed (almost 99%), whereas the majority of Pacific salmon are wild-caught (greater than 80%). Canned salmon in the US is usually wild Pacific catch, though some farmed salmon is available in canned form. Smoked salmon is another popular preparation method, and can either be hot or cold smoked. Lox can refer to either cold-smoked salmon or salmon cured in a brine solution (also called gravlax). Traditional canned salmon includes some skin (which is harmless) and bone (which adds calcium). Skinless and boneless canned salmon is also available. Raw salmon flesh may contain Anisakis nematodes, marine parasites that cause anisakiasis. Before the availability of refrigeration, the Japanese did not consume raw salmon. Salmon and salmon roe have only recently come into use in making sashimi (raw fish) and sushi. To the Indigenous peoples of the Pacific Northwest Coast, salmon is considered a vital part of the diet. Specifically, the indigenous peoples of Haida Gwaii, located near former Queen Charlotte Island in British Columbia, rely on salmon as one of their main sources of food, although many other bands have fished Pacific waters for centuries. Salmon are not only ancient and unique, but it is important because it is expressed in culture, art forms, and ceremonial feasts. Annually, salmon spawn in Haida, feeding on everything on the way upstream and down. Within the Haida nation, salmon is referred to as "tsiin", and is prepared in several ways including smoking, baking, frying, and making soup. Historically, there has always been enough salmon, as people would not overfish, and only took what they needed. In 2003, a report on First Nation participation in commercial fisheries, including salmon, commissioned by BC's Ministry of Agriculture, Food and Fisheries found that there were 595 First Nation-owned and operated commercial vessels in the province. Of those vessels, First Nations' members owned 564. However, employment within the industry has decreased overall by 50% in the last decade, with 8,142 registered commercial fishermen in 2003. This has affected employment for many fisherman, who rely on salmon as a source of income.
Locations
Seattle
Pike Place Market
1901 Western Ave, Seattle, WA 98101
Tokyo
"Cat Street"
4-chome to 6-chome
Jingumae, Shibuya-ku Tokyo
Dubai
دبي مارينا
Dubai, United Arab Emirates
- Paris
31 Rue Cambon75001 Paris, France
- Lima
Av. Simón Bolivar 1515,
Pueblo Libre 15084, Peru


Variational Inference
Evidence Lower Bound (ELBO)
Consider the following setting: We have an $\x$ we observe, and the generative process for this $\x$ is to sample $\z$ from a simple distribution that we know ($\prob{p}{}{\z}$) and some mysterious stochastic process turns $\z$ into $\x$ that we also know ($\condprob{p}{}{\x}{\z}$). So since we know these two pieces, figuring out how likely any given $\x$ is requires us to do this:
Ooh. Big scary integral. And we have to maximise over it. What do?
Unless our $\condprob{p}{}{\x}{\z}$ is simple (a linear mapping, for example), this is intractable to compute. One way around this, is to think of it as an expectation over $\z$:
then we can estimate this quantity by sampling from $\prob{p}{}{\z}$ multiple times, and then averaging over the output,
The problem with this approach is that it has high variance (see Figure \ref{fig:fromprior1} and \ref{fig:fromprior2}). Think about what we are trying to do here: We have $\x$, and we’re trying to maximise $\prob{p}{}{\z}$. However, what the latent variable model is saying is that there is \emph{some} or \emph{several} $\z$s that will generate the observed $\x$. But because we don’t know what those $\z$s are, we’re just randomly picking out a few from the distribution, pushing them through the generative process, and hoping they hit the mark.
Here’s where $q$ comes in to save the day (Yes, just like Star Trek).
We come up with an approximate posterior, or in deep learning parlance, an encoder, $\condprob{q}{}{\z}{\x}$. Its mission? To -boldly go where- narrow down the area in the prior distribution $\prob{p}{}{\z}$ so that we have an easier time generating something close to the true $\z$ that corresponds to the observed $\x$.
Now, to relate it back to the information-theoretic point-of-view, narrowing down the search space is akin to giving the model more ``information’’ about where in the latent space the corresponding latent state is.
Of course, none of this comes for free. Let’s take a look at what introducing $q$ means:
Again, we can sample, but this time from $\condprob{q}{}{\z}{\x}$. However, notice that the quantity is now weighted by the ratio $\frac{\prob{p}{}{\z}}{\condprob{q}{}{\z}{\x}}$.
So, if we’re trying to maximise $\log \prob{p}{}{\x}$,
and we get the lower-bound. We use subscripts to denote parameters of the distributions.
The gap between $\log \prob{p}{}{\x}$ and this lower-bound is known as the \emph{variational gap}, and has its own interpretation (Covered in some appendix).