Orange trust badge iOS Reference
With the Orange trust badge, aka Badge de confiance
, give transparent informations and user control on personal data and help users to identify if your application has any sensitive features.
Features
Orange trust badge displays how are handled the following data :
- Identity of the User
- Location
- Photos
- Contacts
- Usage data
- Calendar
- SMS
- Microphone
- Phone
- Body sensors
- Social Sharing
- In-app purchase
- Advertising
It also displays the following informations :
- Application’s rating
- Data usage general description
- Help
- Privacy policy
It also :
- Works on iPhone and iPad using Autolayout (iPad Multitasking supported)
- Localized in 2 languages (English,French)
- Written in Swift 2.0 but works in Objective-C or Swift based Projects
- API hooks
- UI Customization
Requirements
- iOS 8.0+
- Xcode 6.4+
- CocoaPods 0.39.0+
Bug tracker
- If you find any bugs, please submit a bug report through Github and/or a pull request.
Example project
An example of integration is provided in OrangeTrustBadgeDemo project.
Installation
Embedded frameworks require a minimum deployment target of iOS 8
CocoaPods
CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:
$ gem install cocoapods
CocoaPods 0.39.0+ is required to build OrangeTrustBadge.
To integrate OrangeTrustBadge into your Xcode project using CocoaPods, specify it in your Podfile
:
platform :ios, '8.0'
use_frameworks!
source 'https://github.com/Orange-OpenSource/orange-trust-badge-ios.git'
source 'https://github.com/CocoaPods/Specs.git'
pod 'OrangeTrustBadge'
Then, run the following command:
$ pod install
Manually
If you prefer not to use either of the aforementioned dependency managers, you can integrate OrangeTrustBadge into your project manually.
Embedded Framework
- Open up Terminal,
cd
into your top-level project directory, and run the following commandif
your project is not initialized as a git repository:
$ git init
- Add OrangeTrustBadge as a git submodule by running the following command:
$ git submodule add https://github.com/Orange-OpenSource/orange-trust-badge-ios.git
Open the new
OrangeTrustBadge
folder, and drag theOrangeTrustBadge.xcodeproj
into the Project Navigator of your application’s Xcode project.It should appear nested underneath your application’s blue project icon. Whether it is above or below all the other Xcode groups does not matter.
Select the
OrangeTrustBadge.xcodeproj
in the Project Navigator and verify the deployment target matches that of your application target.Next, select your application project in the Project Navigator (blue project icon) to navigate to the target configuration window and select the application target under the
Targets
heading in the sidebar.In the tab bar at the top of that window, open the
General
panel.Click on the
+
button under theEmbedded Binaries
section.You will see two different
OrangeTrustBadge.xcodeproj
folders each with two different versions of theOrangeTrustBadge.framework
nested inside aProducts
folder.It does not matter which
Products
folder you choose from, but it does matter whether you choose the top or bottomOrangeTrustBadge.framework
.Select the top
OrangeTrustBadge.framework
for iOS.And that’s it!
The
OrangeTrustBadge.framework
is automagically added as a target dependency, linked framework and embedded framework in a copy files build phase which is all you need to build on the simulator and a device.
Usage
Initialization of the SDK
In swift
import OrangeTrustBadge
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
TrustBadgeManager.with(TrustBadgeConfig())
return true
}
or in Objective-C
#import "OrangeTrustBadge-Swift.h"
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[TrustBadgeManager with:[[TrustBadgeConfig alloc] init]];
return YES;
}
Add OrangeTrustBadge UI in your storyboard
Using code (available on iOS8 and later)
- create an IBAction connected to one of your interface element (e.g a button, a cell etc…).
- Instanciate OrangeTrustBadge storyboard with the following lines :
import OrangeTrustBadge
@IBAction func onButtonClicked(){
let storyboard = UIStoryboard(name: "OrangeTrustBadge", bundle: NSBundle(forClass: TrustBadgeManager.self))
if let viewController = storyboard.instantiateInitialViewController() {
self.navigationController?.presentViewController(viewController, animated: true, completion: nil)
}
}
That’s it !
Using Storyboard References (available on iOS9 and later)
- Open your storyboard file and add a Storyboard reference object in it
- Click on newly created Storyboard Reference and go into Attribute inspector on the right panel
- In Storyboard field, select
OrangeTrustBadge
- In Bundle field, type
org.cocoapods.OrangeTrustBadge
- Finally, create a segue from the appropriate button or cell in your app and this Storyboard Reference (Some segue types might be unavailable since this component is using UISplitViewController - Try
Present Modally
to start)
That’s it !
Add localization support
In order to localize properly the UI, OrangeTrustBadge is using standard iOS mechanisms. Concretly the SDK will take the current language setup on user’s phone unless your app support this localization. English will be taken by Default.
To add a localization support, go to Project Level and add appropriate localization in Info
Tab.
You can override every visible text using your own Localizable.strings file. To know which key you need to override, please see SDK ’s Localization file.
Customization
OrangeTrustBadge can be customized in various ways
Main / Other Elements View
In this View are displayed two pre-defined sections showing TrustBadge Elements and their underlying status. Although it is required to have at least one item in the first section, you can fully customize the different sections using PreDefined or Custom Elements.
- A PreDefinedElement that is automagically setup for common cases
In swift
let advertisingElement = PreDefinedElement(type: .Advertising)
advertisingElement.statusClosure = {() in return true}
config.mainElements.append(advertisingElement)
- A CustomElement on which you have full control of displayed informations
In swift
let myCustomElement = CustomElement(nameKey: "custom-element-name-key", descriptionKey: "custom-element-description-key", statusEnabledIconName: "custom-element-enabled-icon", statusDisabledIconName: "custom-element-disabled-icon")
myCustomElement.isConfigurable = false
myCustomElement.statusClosure = {() in return true}
config.otherElements.append(myCustomElement)
Terms and Conditions View
In this section you will find Standardized Terms ans conditions that can be replaced / updated according to your needs through Localization. If you want to add a section in this View, you just have to add a new Term instance :
In swift
let customTerm = Term(type: .Custom, titleKey: "term-custom-title", contentKey: "term-custom-content")
config.terms.append(customTerm)
You can even display Dailymotion videos explaining your policies using .Video TermType. Please fill in contentKey
with the video ID from Dailymotion.
CSS and HTLM tokens
TrustBadgeElements and Terms descriptions may contains HTML code, with the following restriction :
- UTF-8 encoded
- no external resource (image, css, …) can be used
When HTML is possible, there are 2 cases
- Full HTML : you must provide a HTML code WITH

and
tags - Partial HTML : you must provide a HTML code WITHOUT

and
tags
Descriptions should include a stylesheet named $$cssStylesheet$$ and format the text using h1, h2, p and
.
You can provide to OrangeTrustBadge your own CSS file by placing a file named style.css in your application bundle.
In HTML
<!DOCTYPE html>

<meta content="text/html; charset=utf-8" http-equiv="content-type">

</meta>

Aide

Si besoin, votre application met à disposition cette adresse mail pour répondre à vos questions :

<EMAIL_ADDRESS>

Some tokens will be available over time, but for the moment you can only use $$applicationName$$, configurable by using the appName field of TrustBadgeConfig (Default : CFBundleDisplayName or CFBundleName of host app)
App Transport Security
OrangeTrustBadge is not requesting anything on the network unless you include videos in the Terms section. Dailymotion SDK doesn’t support ATS so far so if you are in this case, please add dailymotion.com as an exception in your ATS setup.
Dependencies
- Dailymotion SDK : Copyright © 2012 Dailymotion (http://www.dailymotion.com) under MIT License (https://github.com/dailymotion/dailymotion-player-sdk-ios/blob/master/LICENSE)
Credits
OrangeTrustBadge was made with love by Orange
Security Disclosure
If you believe you have identified a security vulnerability with OrangeTrustBadge, you should report it as soon as possible on the bug tracker.
License
OrangeTrustBadge Copyright © 2016 Orange
Licensed under the Apache License, Version 2.0 (the License
);
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an AS IS
BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.


Queue Up
My Store
Thank you for registering with Queue Up!
You can go to My Store to see your current queue.
Your ID is: {{ id }}
Return to Start
View My Store


--- #This layout inherits from the main.html layout and adds a wrapping element around it just to show how it works layout: main.html ---


{% extends "layout.html" %} {% block page_title %} Adult allocation statements {% endblock %} {% block content %} Settings Sign out Adult allocation statements You can view your adult allocation statements through the adult allocation tile. Continue {% endblock %}
You can view your adult allocation statements through the adult allocation tile.


References
Anselin, Luc. 1988. Spatial Econometrics: Methods and Models.
Vol. 4. Springer Science & Business Media.
———. 2003. “Spatial Externalities, Spatial Multipliers, and
Spatial Econometrics.” International Regional Science
Review 26 (2): 153–66.
———. 2007. “Spatial Regression Analysis in r–a Workbook.”
Center for Spatially Integrated Social Science. http://csiss.org/GISPopSci/workshops/2011/PSU/readings/W15_Anselin2007.pdf.
Anselin, Luc, and Sergio J. Rey. 2014. Modern Spatial Econometrics
in Practice: A Guide to GeoDa, GeoDaSpace and PySAL. GeoDa Press
LLC.
Arribas-Bel, Dani. 2014. “Spatial Data, Analysis, and Regression-a
Mini Course.” REGION 1 (1): R1. http://darribas.org/sdar_mini.
———. 2019. “A Course on Geographic Data Science.” The
Journal of Open Source Education 2 (14). https://doi.org/https://doi.org/10.21105/jose.00042.
Arribas-Bel, Daniel, M.-À. Garcia-López, and Elisabet Viladecans-Marsal.
2021. “Building(s and) Cities: Delineating Urban Areas with a
Machine Learning Algorithm.” Journal of Urban Economics
125 (September): 103217. https://doi.org/10.1016/j.jue.2019.103217.
Banerjee, Sudipto, Bradley P Carlin, and Alan E Gelfand. 2014.
Hierarchical Modeling and Analysis for Spatial Data. Crc Press.
Belsley, David A, Edwin Kuh, and Roy E Welsch. 2005. Regression
Diagnostics: Identifying Influential Data and Sources of
Collinearity. Vol. 571. John Wiley & Sons.
Bivand, Roger S., Edzer Pebesma, and Virgilio Gómez-Rubio. 2013.
Applied Spatial Data Analysis with r. Springer New York. https://doi.org/10.1007/978-1-4614-7618-4.
Brunsdon, Chris, and Lex Comber. 2015. An Introduction to r for
Spatial Analysis & Mapping. Sage.
Brunsdon, Chris, Stewart Fotheringham, and Martin Charlton. 1998.
“Geographically Weighted Regression.” Journal of the
Royal Statistical Society: Series D (The Statistician) 47 (3):
431–43.
Casado-Díaz, José Manuel, Lucas Martínez-Bernabéu, and Francisco Rowe.
2017. “An Evolutionary Approach to the Delimitation of Labour
Market Areas: An Empirical Application for Chile.” Spatial
Economic Analysis 12 (4): 379–403. https://doi.org/10.1080/17421772.2017.1273541.
Comber, Alexis, Christopher Brunsdon, Martin Charlton, Guanpeng Dong,
Richard Harris, Binbin Lu, Yihe Lü, et al. 2022. “A Route Map for
Successful Applications of Geographically Weighted Regression.”
Geographical Analysis 55 (1): 155–78. https://doi.org/10.1111/gean.12316.
Cressie, Noel. 2015. Statistics for Spatial Data. John Wiley
& Sons.
Cressie, Noel, and Gardar Johannesson. 2008. “Fixed Rank Kriging
for Very Large Spatial Data Sets.” Journal of the Royal
Statistical Society: Series B (Statistical Methodology) 70 (1):
209–26.
Fotheringham, A Stewart, and Morton E O’Kelly. 1989. Spatial
Interaction Models: Formulations and Applications. Vol. 1. Kluwer
Academic Publishers Dordrecht.
Fotheringham, A Stewart, and David WS Wong. 1991. “The Modifiable
Areal Unit Problem in Multivariate Statistical Analysis.”
Environment and Planning A 23 (7): 1025–44.
Fotheringham, Stewart, Chris Brunsdon, and Martin Charlton. 2002.
Geographically Weighted Regression. John Wiley & Sons.
Gabadinho, Alexis, Gilbert Ritschard, Matthias Studer, and Nicolas S
Müller. 2009. “Mining Sequence Data in r with the TraMineR
Package: A User’s Guide.” Geneva: Department of Econometrics
and Laboratory of Demography, University of Geneva.
Gelman, Andrew, and Jennifer Hill. 2006. Data Analysis Using
Regression and Multilevel/Hierarchical Models. Cambridge University
Press.
Gibbons, Stephen, Henry G Overman, and Eleonora Patacchini. 2014.
“Spatial Methods.”
Grolemund, Garrett, and Hadley Wickham. 2019. R for Data
Science. O’Reilly, US. https://r4ds.had.co.nz.
Hyndman, Rob J, and George Athanasopoulos. 2018. Forecasting:
Principles and Practice. OTexts.
Kong, Xiangjie, Menglin Li, Kai Ma, Kaiqi Tian, Mengyuan Wang, Zhaolong
Ning, and Feng Xia. 2018. “Big Trajectory Data: A Survey of
Applications and Services.” IEEE Access 6: 58295–306. https://doi.org/10.1109/access.2018.2873779.
Kwan, Mei-Po, and Jiyeong Lee. 2004. “Geovisualization of Human
Activity Patterns Using 3D GIS: A Time-Geographic Approach.”
Spatially Integrated Social Science 27: 721–44.
Loidl, Martin, Gudrun Wallentin, Robin Wendel, and Bernhard Zagel. 2016.
“Mapping Bicycle Crash Risk Patterns on the Local Scale.”
Safety 2 (3): 17. https://doi.org/10.3390/safety2030017.
Lovelace, Robin, Jakub Nowosad, and Jannes Muenchow. 2019.
Geocomputation with r. Chapman; Hall/CRC. https://doi.org/10.1201/9780203730058.
Lu, Binbin, Paul Harris, Martin Charlton, and Chris Brunsdon. 2014.
“The GWmodel r Package: Further Topics for Exploring Spatial
Heterogeneity Using Geographically Weighted Models.”
Geo-Spatial Information Science 17 (2): 85–101.
Multilevel Modelling, Centre for. n.d. “Introduction to Multilevel
Modelling.” n.d. http://www.bristol.ac.uk/cmm/learning/online-course/course-topics.html#m04.
Niedomysl, Thomas. 2011. “How Migration Motives Change over
Migration Distance: Evidence on Variation Across Socio-Economic and
Demographic Groups.” Regional Studies 45 (6): 843–55. https://doi.org/10.1080/00343401003614266.
Önnerfors, Åsa, Mariana Kotzeva, Teodóra Brandmüller, et al. 2019.
“Eurostat Regional Yearbook 2019 Edition.”
Openshaw, Stan. 1981. “The Modifiable Areal Unit Problem.”
Quantitative Geography: A British View, 60–69.
Patias, Nikos, Francisco Rowe, and Dani Arribas-Bel. 2021.
“Trajectories of Neighbourhood Inequality in Britain: Unpacking
Inter-Regional Socioeconomic Imbalances,
1971-2011.” The Geographical Journal 188
(2): 150–65. https://doi.org/10.1111/geoj.12420.
Patias, Nikos, Francisco Rowe, and Stefano Cavazzi. 2019. “A
Scalable Analytical Framework for Spatio-Temporal Analysis of
Neighborhood Change: A Sequence Analysis Approach.” In, 223–41.
Springer International Publishing. https://doi.org/10.1007/978-3-030-14745-7_13.
Pebesma, Edzer et al. 2012. “Spacetime: Spatio-Temporal Data in
r.” Journal of Statistical Software 51 (7): 1–30.
Rey, Sergio J., Daniel Arribas-Bel, and Levi J. Wolf. forthcoming.
Geographic Data Science with PySAL and the PyData Stack. CRC
press.
Robinson, WS. 1950. “Ecological Correlations and Individual
Behavior.” American Sociological Review 15 (195):
351–57.
Rowe, Francisco. 2022. “Introduction to Geographic Data
Science.” Open Science Framework, August. https://doi.org/10.17605/OSF.IO/VHY2P.
Rowe, Francisco, Robin Lovelace, and Adam Dennett. 2022. “Spatial
Interaction Modelling: A Manifesto.” http://dx.doi.org/10.31219/osf.io/xcdms.
Rowe, Francisco, and Nikos Patias. 2020. “Mapping the Spatial
Patterns of Internal Migration in Europe.” Regional Studies,
Regional Science 7 (1): 390–93. https://doi.org/10.1080/21681376.2020.1811139.
Singleton, Alex. 2017. “Geographic Data Science for Urban
Analytics.” http://www.alex-singleton.com/GDS_UA_2017/.
Singleton, Alexander D., and Seth E. Spielman. 2013. “The Past,
Present, and Future of Geodemographic Research in the United States and
United Kingdom.” The Professional Geographer 66 (4):
558–67. https://doi.org/10.1080/00330124.2013.848764.
Stillwell, John, Konstantinos Daras, and Martin Bell. 2018.
“Spatial Aggregation Methods for Investigating the MAUP Effects in
Migration Analysis.” Applied Spatial Analysis and Policy
11 (4): 693–711. https://doi.org/10.1007/s12061-018-9274-6.
Tao, Sui, Jonathan Corcoran, Francisco Rowe, and Mark Hickman. 2018.
“To Travel or Not to Travel: ‘Weather’
Is the Question. Modelling the Effect of Local Weather Conditions on Bus
Ridership.” Transportation Research Part C: Emerging
Technologies 86 (January): 147–67. https://doi.org/10.1016/j.trc.2017.11.005.
Wheeler, David, and Michael Tiefelsdorf. 2005. “Multicollinearity
and Correlation Among Local Regression Coefficients in Geographically
Weighted Regression.” Journal of Geographical Systems 7
(2): 161–87.
Wikle, Christopher K, Andrew Zammit-Mangion, and Noel Cressie. 2019.
Spatio-Temporal Statistics with r. CRC Press.
Williamson, Paul. 2018. “Survey Analysis.”
Wolf, Levi John, Sean Fox, Rich Harris, Ron Johnston, Kelvyn Jones,
David Manley, Emmanouil Tranos, and Wenfei Winnie Wang. 2020.
“Quantitative Geography III: Future Challenges and Challenging
Futures.” Progress in Human Geography 45 (3): 596–608.
https://doi.org/10.1177/0309132520924722.
Xie, Yihui, JJ Allaire, and Garrett Grolemund. 2019. R Markdown: The
Definitive Guide. CRC Press, Taylor & Francis, Chapman &
Hall Book. https://bookdown.org/yihui/rmarkdown/.
Zammit-Mangion, Andrew, and Noel Cressie. 2017. “FRK: An r Package
for Spatial and Spatio-Temporal Prediction with Large Datasets.”
arXiv Preprint arXiv:1705.08105.


FPGA Tool Perf results
Click on a project to select it, click on its name to jump to the performance graphs.
{% for project_name, boards in projects %}
{{ project_name }}
{% endfor %}
{% for project_name, boards in projects %}
{% include 'table.html' %}
{% endfor %}


Open this page in two browsers and see how easy Sails.js makes realtime applications!
Register to post a message!


Plassenloop 15 km
Reeuwijk NED
Website: reeuwijkse-plassenloop.nl
Race Winners
(64 runnings)
58:04 1:03:39 57:55 57:12 52:04 17 Mar
2007
47:57
1:03:56
18 Mar
2006
49:24
56:19
19 Mar
2005
49:00
54:25
20 Mar
2004
---
---
15 Mar
2003
---
---
16 Mar
2002
46:39
---
17 Mar
2001
---
---
18 Mar
2000
47:44
57:30
20 Mar
1999
47:44
58:23
21 Mar
1998
47:45
1:04:13
15 Mar
1997
47:55
58:51
16 Mar
1996
48:23
1:00:10
18 Mar
1995
49:22
---
19 Mar
1994
---
---
20 Mar
1993
48:30
---
21 Mar
1992
48:36
1:07:52
16 Mar
1991
46:21
1:01:36
17 Mar
1990
48:57
1:01:49
18 Mar
1989
48:22
1:06:02
19 Mar
1988
49:03
1:01:54
21 Mar
1987
47:48
57:17
23 Mar 1986
47:35
55:44
23 Mar 1985
47:06
---
24 Mar 1984
47:23
1:01:02
26 Mar 1983
47:07
1:02:26
20 Mar 1982
46:05.5
1:02:26
21 Mar 1981
46:45.4
59:53
15 Mar 1980
47:28
1:07:01
17 Mar 1979
46:42.8
---
18 Mar 1978
---
---
19 Mar 1977
46:44 ---
13 Mar 1976
48:05.8 9:17.2 15 Mar 1975
48:37.4 9:13.5 16 Mar 1974
18:51.2 ---
21 Mar 1973
19:10.0 ---
01 Apr 1972
14:37 ---
10 Apr 1971
---
---
21 Mar 1970
15:27.0
15 Mar 1969
14:43.8 06 Apr 1968
14:58.8 15 Apr 1967
15:06.4 26 Mar 1966
---
24 Apr 1965
14:35.4 28 Mar 1964
---
13 Apr 1963
14:33.0
21 Apr 1962
15:20.4
01 Apr 1961
15:02
16 Apr 1960
14:45.4
28 Mar 1959
15:07.65 05 Apr 1958
---
20 Apr 1957
15:06.4
1956
---
1955
---
1954
---
1953
---
Notes: 1953 was the inaugural year. The men's race distance was 5 km thru 1972 and
was 6.4 km for 1973-1974. The women's race distance for 1975-76 was
reported as 3 km and 2.6 km respectively but both years, the distance was
probably closer to 2.6 km.
19 Mar
2016
45:41
Bart vanNunen (NED)
59:29
Petra Sloots-4
21 Mar
2015
49:43
Said Kanfaoui (MAR)
1:02:27
Petra Sloots-3
15 Mar
2014
53:39
Ali Shugul (NED)
1:03:53
Annelies Harkles (NED)
16 Mar
2013
50:51
Patrick Kwist-3
59:57
Petra Sloots-2
17 Mar
2012
51:36
Pascal van Norden (NED)
Carla
Ophorst-3
19 Mar
2011
48:49
Patrick Kwist-2
Cora Vlot (NED)
20 Mar
2010
49:22
Patrick Kwist (NED)
Marjon vandeWansem (NED)
21 Mar
2009
48:30
Said Kanfaoui-3
Petra Sloots (NED)
15 Mar
2008
45:29
Peter Sitienei (KEN)
Emily Rotich (KEN)
Said Kanfaoui-2
Carin vanderEnde (NED)
Robert Ton (NED)
Carla Ophorst-2
Mohamed benSabahia (NED)
Yvonne vanVlerken (NED)
n/a
n/a
n/a
n/a
Said Kanfaoui (MAR)
n/a
n/a
n/a
Abdelaziz Bougra-2
Agnes Hijman (NED)
Abdelaziz Bougra (MAR)
Vivian Ruijters (NED)
Wilfred Kiplagat-2
Jeanette Wever (NED)
Wilfred Kiplagat (KEN)
Sonja Kleyn-2
Fred vanZoest-2
Sonja Kleyn (NED)
Fred vanZoest (NED)
n/a
n/a
n/a
Peter vanderVelden-2
n/a
Jan Zethof (NED)
Heleen Verwij (NED)
Bert vanVlaanderen (NED)
nfn vanBeek (NED)
Peter vanderVelden (NED)
Ellis Foyle (NED)
Rien vandeWilt (NED)
Mies Kuipers (NED)
Martin vandeHoorn (NED)
Jose deGroot (NED)
Ed vanGemeren (NED)
Irene Wentzel (NED)
Domien Brandsma (NED)
Carla Ophorst (NED)
Aart Stigter (NED)
n/a
Cor Vriend-4
Pleuni Scheringa (NED)
Cor Lambregts (NED)
Marian Hoogerhoud-2
Cor Vriend-3
Tine Bronswijk (NED)
Cor Vriend-2
Marian Hoogerhoud (NED)
Bram Wassenaar (NED)
R vanderJagt (NED)
Cor Vriend (NED)
Hennier Möller (NED)
n/a
n/a
Steef Kijne (NED)
n/a
Kees
vandeHeul (NED)
Corrie vandeMeer (NED)
Joop
Keijzer (NED)
Tineke Kluft (NED)
Klaas
deRuyter (NED)
n/a
Johan Kijne-3
n/a
Piet
Beelen-5
n/a
Johan Kijne-2
n/a
Johan Kijne (NED)
Piet Beelen-4
Piet Beelen-3
A
Meeuwisse (NED)
Piet Beelen-2
Piet Beelen (NED)
n/a
Cees
Clement (NED)
G Rewijk (NED)
Chris vanOss (NED)
Klaas
deRuyter (NED)
Henk
Christ (NED)
Jan
Vergeer-2
Jan
Vergeer (NED)
n/a
n/a
n/a
n/a
Most Wins
(1953/date)
Men
4
Cor Vriend (NED)
1979,1981-82,1984
Women
4
Petra Sloots
(NED)
2009,2013,2015-16
Prize Money
(ADR qualified runners)
No information on prize money has been received for this race.
Race Time Bias
(sec/km)
Insufficient data to calculate the race time bias.
Competitive Level
(1990-date)
Insufficient data to calculate the competitive level.
Quality Performances
Men <45:40 2 <46:00 3 Women <52:30 1 <53:00 1 <53:30 1 <54:00 1
Last Updated on 16 Oct 2016
Contributors: Klaas Loonstra (18), Paul Michiels (50), Juraj Gasparovic (1), Wim vanHemert (35)


--- layout: post title: Vector-based storyboard date: '2016-01-03T18:30:43+01:00' categories: - Illustration - Storyboards picture_url: https://film-Storyboards.tumblr.com/post/136568786155 ---


--- layout: post title: On the road again... date: 2008-11-11 20:45:30.000000000 -06:00 type: post parent_id: '0' published: true password: '' status: publish categories: - English - USA08 tags: - california - road trip - travelling meta: _edit_last: '1412221' author: login: dreamessenceonthemove email<EMAIL_ADDRESS>display_name: darribas first_name: Daniel last_name: Arribas-Bel permalink: "/2008/11/11/on-the-road-again/" ---
Just a couple of lines to let those interested know I'm still safe and sound somewhere in California. I also wanna apologize to all those who wished me a happy birthday last Nov. 7th for not having got back to you as I should have, but my friends from Spain arrived in Tempe on wednesday 5th. and on the 7th. we hit the road on our way to California. We spent the weekend in LA under the host of the great Ago and yesterday we drove all the way up to San Francisco through the Pacific Coastal highway (great road, although it got dark still far away from SFO so we missed a good deal of the sights... Spanish timeschedule). Today we'll have a look at the hilly city and I'll catch a plane back to Phoenix to work and finish everything for the conference in NY next week. On Thursday I'll get back to my friends by getting on a plane to Vegas and driving on friday through the Grand Canyon. Dream Essence on tour Fall'09!!!


Column One, Paragraph One
Column One, Paragraph Two
Column Two, Paragraph One
Column Three, Paragraph One


-
Airbnb: The Growth Story You Didn't Know - GrowthHackers
growthhackers.com
[Growth Study] Airbnb is now a household name that has surpassed industry legacy Hilton Hotels in nights booked. As of spring 2014, the platform had ...
-
Video: Growth Hacking with Data - How to Uncover Big Growth Opportunities ...
growthhackers.com
[Analytics] Twitter, Airbnb, HotelTonight and Facebook all used insights found deep within their data to unlock big growth opportunities. Join us as ...
-
Ask GH: How do growth hackers learn copywriting? - GrowthHackers
growthhackers.com
[Must Read, Science of Persuasion] Which resources do you use? Which tactics, strategies and systems?
-
Viral Marketing Case Study: How a Brand New Blog Generated 17,584 Visitors ...
growthhackers.com
[Content Marketing] A case study that walks you through how one startup generated 17,584 visitors to a brand new blog.
-
This Is How You Get People to Trust Your Product - GrowthHackers
growthhackers.com
[Paid Marketing] I love this blog. Enjoy!
-
How "Tag Management" Can Improve Site Performance - GrowthHackers
growthhackers.com
[Optimization] If you’re currently deploying all of your javascript in independent code snippets, stop. There’s a ton of performance optimization ...
-
Ask GH: How important is UX in your growth hacking strategy? - ...
growthhackers.com
[User Experience] Do you test and measure your site's user experience, or do you just focus on what will increase conversions?
-
4 Easy Ways to Make Your Emails Stand Out - GrowthHackers
growthhackers.com
[Email Marketing] With the growing popularity of email, standing out in the inbox is becoming more and more important. The following are 4 ways to ...
-
GrowthHackers - A Community for Growth-Focused Marketers
growthhackers.com
Unlocking Growth. Together.
-
7 Sanity Checks before Sending that Cold Email - GrowthHackers
growthhackers.com
[Email Marketing] Over the years, Lincoln Murphy has come up with a list of sanity checks he goes through before sending a cold email, and he's ...
-
How to hire unicorns (aka tech-savvy marketers) - GrowthHackers
growthhackers.com
[Growth Team, Must Read] How to hire good marketing technologists.
-
Ask GH: How would you make an indigogo campaign focused on women go viral? ...
growthhackers.com
[Viral] I was recently asked to help a friend promote their indigogo campaign for a women's tv show. Doing this kind of thing is completely out of my ...
-
Technically Thinking - GrowthHackers
growthhackers.com
[SEO] All PC Problems Solve The Solutions From This SIte.
-
Ask GH: Would this be an example of how NOT to growth hack? - GrowthHackers
growthhackers.com
[Growth Hacks] Shareaholic offers a free WordPress plugin (also under SexyBookmarks). Download count is 3 million+. It all ties to their service. ...
-
No, Your Problem isn't Product / Market Fit - GrowthHackers
growthhackers.com
[Marketing Strategy] Startups that don't get traction often blame a lack of Product / Market Fit. This article calls shenanigans on that.
-
7 slide decks from 7 CRO experts at the Call to action conference - ...
growthhackers.com
[Optimization] Slide decks from: Oli Gardner Chris Goward Brian Massey Peep Laja Joanna Wiebe Sean Ellis Angie Schottmuller They all include really ...
-
Ask GH: What is the primary benefit you get from GrowthHackers.com and how ...
growthhackers.com
[Customer Development] We have a bunch of interesting projects in the pipeline, but I want to make sure we stay consistent with the key benefit ...
-
7 Email, SMS, & Push Message Hacks To Convert Trial Users Into Customers - ...
growthhackers.com
[Growth Hacks] http://blog.crazyegg.com/2014/09/19/convert-trial-users/
-
Slides: Deep linking - A fundamental change in the mobile app ecosystem - ...
growthhackers.com
[Mobile] As more and more of our time is spent on mobile devices AND more and more of that time is spent in apps, providing navigation between apps ...
-
6 Things I Wish I Knew Before Using Optimizely - GrowthHackers
growthhackers.com
[Growth Hacks] http://moz.com/blog/6-things-i-wish-i-knew-before-using-optimizely
-
How To Calculate Lifetime Value – The Infographic - GrowthHackers
growthhackers.com
[Marketing Strategy] One way to analyze acquisition strategy and estimate marketing costs is to calculate the Lifetime Value (“LTV”) of a customer. ...
-
How a Small Menswear Brand Utilized Word-of-Mouth to Get Over $420,000 On ...
growthhackers.com
[PR] Ministry of Supply makes dress shirts and socks with cutting-edge technology. They met their first $30,000 Kickstarter goal in FIVE days, and ...
-
Ask GH: App Store Redirect vs Mailing List? - GrowthHackers
growthhackers.com
[Mobile] For a home page whose goal is to get users to install a mobile app, the call to action can be a download button which redirects to the app ...
-
Ask GH: We launched an mvp last weekend and got featured on Product Hunt, ...
growthhackers.com
[Tools] After launching, someone submitted us to Product Hunt and we landed on their frontpage. We received a lot of organic press on valleywag, ...
-
Using data science to build better products - GrowthHackers
growthhackers.com
[Analytics] This is a post on how data science is creating some of the coolest and most useful products ever.
-
How I'm funding my startup by renting my place on airbnb - GrowthHackers
growthhackers.com
[Early Traction] I'm 2 months into my startup and haven't yet raised a round. So, I'm aggressively renting my place out on airbnb as a means for ...
-
Ask GH: How can I really learn SaaS metrics? - GrowthHackers
growthhackers.com
[Analytics] I'm currently looking for a job, and many companies I've sent my resume to, ask for "very deep understanding about SaaS growth metrics ...
-
Why Annual Planning is Killing Your Growth - GrowthHackers
growthhackers.com
[Marketing Strategy] By the time Dave Brussin co-founded Monetate in 2008, he had experience running three other companies. One of his biggest ...
-
Ask GH: What are some of the best "non growth hacking" books that you've ...
growthhackers.com
[Growth Hacks] There have been plenty of discussions about what the best growth related books and resources are, but I wanted to change things up a ...
-
Ask GH: How can B2B Professional Services firms utilize growth hacking ...
growthhackers.com
[Marketing Strategy] A recent question about using growth hacking for B2B did not provide enough detail on how professional services firms within ...


The first and probably most impressive feature we would like to highlight is instant completion. Unlike other IDEs, IntelliJ IDEA provides completion everywhere, not only when you are trying to access a member of a class. With smart completion, it filters the suggestion list and shows only classes, variables, fields, and methods of the type expected in the context. IntelliJ IDEA analyses data flow to guess the type of a variable in runtime and to provide a completion based on this type, adding class casts automatically.
IntelliJ IDEA shows parameter info for every overloaded method or constructor, and it highlights the best match for the parameters already typed. This helps you choose between overloaded options and compare your inputs with expectation.
Language injection is a feature of IntelliJ IDEA that brings advanced code assistance for expressions within string literals in Java code. This expression may contain SQL, JPQL, XPath expressions, HTML, CSS, JavaScript fragments, or any other language.
IntelliJ IDEA provides a unified interface for major version control systems including Git, SVN, Mercurial, CVS, Perforce, and TFS. The IDE lets you browse the history of changes, manage branches, merge conflicts and much more.
Ctrl+Shift+Space gives you a list of the most relevant symbols applicable in the current context. This, and other completions, are constantly learning from you, moving the members of the most frequently used classes and packages to the top of the suggestions list so you can select them faster.
All lists, trees, and popups in IntelliJ IDEA provide you with a quick search that instantly takes you to a set of items that contains the text you’re typing. The first call of any IDE action is supposed to provide the most expected results. Need more results? Press the shortcut again and the IDE will go deeper to find what you need.
When you debug your code, IntelliJ IDEA shows you variable values right in the source code, next to their usages. You don’t have to hover the mouse over the variable, or switch to the Variables pane of the Debug tool window. Any time a variable changes its value, the IDE highlights it with a different color so that you can better understand how the state is changed over the code.
Action Shortcut Find action by name Ctrl+Shift+A
Show the list of available intention actions . Alt+Enter
Switch between views (Project,Structure, etc.). Alt+F1
Switch between the tool windows and files opened in the editor. Ctrl+Tab
Find/replace text string in the current file. Ctrl+F Ctrl+R
Find/replace text in the projectCtrl+Shift+F
Show the Navigation bar. Alt+Home
Insert a live template. Ctrl+J
Incremental expression selection. Ctrl+W and Ctrl+Shift+W
Surround with a live template. Ctrl+Alt+J
Find class or file by name. Ctrl+N Ctrl+Shift+N
Search everywhere. Double-press Shift
Invoke code completion. Ctrl+Space
Smart statement completion. Ctrl+Shift+Enter
Smart completion Ctrl+Shift+Space
Duplicate the current line or selection. Ctrl+D
Quick view the usages of the selected symbol. Ctrl+Shift+F7
Expand or collapse a code fragment in the editor. Ctrl+NumPad
Edit an item from the Project or another tree view. F4
Show the list of available refactorings (Refactor This). Ctrl+Shift+Alt+T
JRebel is a productivity tool that allows developers to reload code changes instantly. It skips the rebuild, restart, and redeploy cycle common in Java development. JRebel enables developers to get more done in the same amount of time and stay in the flow while coding. JRebel supports a majority of real-world enterprise java stacks and is easy to install into existing development environments. The JRebel plugin for IntelliJ IDEA includes the JRebel agent and helps you to automatically generate the JRebel configuration. It enables JRebel for applications and servers with a single click and improves the debugging support in the IDE.
LiveEdit allows you to view your changes in an actual browser window instantly without a page refresh, reload corresponding browser pages (related to opened file in IDE), and highlight corresponding elements. Currently only Google Chrome is supported (extensions for Firefox & Safari are still postponed). If you edit your PHP file or Smarty template, it is so boring to switch to the browser and reload the tab manually, isn’t it? Forget about it! Just View -> Reload in Browser. Want to see your change instantly? No problem. And yes, SASS/CoffeeScript are supported (external watching compiler is still needed). CSS and JavaScript (Kotlin, CoffeeScript and any other language compilable to JS) will be hot-swapped without a page refresh (of course, hot-swapped JavaScript will be effective only if it used in-cycle or event-driven).
IdeaVim is a Vim emulation plug-in for IDEs based on the IntelliJ platform. Use the IDE’s plugin manager to install the latest version of the plugin. Start the IDE normally and enable the Vim emulation using “Tools | Vim Emulator” menu item. At this point you must use Vim keystrokes in all editors. If you wish to disable the plugin, select the “Tools | Vim Emulator” menu so it is unchecked. At this point IDE will work with its regular keyboard shortcuts. Keyboard shortcut conflicts between the Vim emulation and the IDE can be resolved via “File | Settings | Vim Emulation”, “File | Settings | Keymap” and key mapping commands in your ~/.ideavimrc file.
Opens a local file under Git version control in its remote host using the default browser.
It can also optionally copy the URL to the clipboard.
Allows one to configure Node.js interpreters for remote environments; also, you can run, debug, and profile Node.js applications remotely (currently working only though SSH).
This is a plugin for IntelliJ IDEs to write plugins at runtime without having to restart IDE. It uses Groovy as the main scripting language and has experimental support for Scala and Clojure.
The Ruby plug-in makes IntelliJ IDEA the smart Ruby and Ruby on Rails editor, ideal for full cycle application development.
IntelliJ IDEA is an IDE famous for the ergonomics and intelligent coding assistance it provides for developers coding in Java, JavaScript and other languages. The Scala plugin extends IntelliJ IDEA’s toolset with support for Scala, SBT, Scala.js, Hocon, and Play Framework. Support for Scala, SBT and Hocon is available for free in IntelliJ IDEA Community Edition, while support for Play Framework and Scala.js is available only in IntelliJ IDEA Ultimate.
More Plug-ins


Note: Does an alert appear at the top of your browser window? Your browser may be blocking scripting necessary to make use of the fold-out menus on this page. To use the menus, follow your browser's instructions for removing this restriction.
[ Download Distribution Package ]
Shortcuts
Access By Actor and Use Case
Below is a simple index to HR-XML specifications organized by common use cases. Additional actors and use cases may be supported. If you do not find what you are looking for, consult the comprehensive index or contact us.
Online Resources


opcsim.
OPC
(wl, bins=None, n_bins=5, dmin=0.5, dmax=2.5, theta=(30.0, 90.0), **kwargs)¶Define an Optical Particle Counter (OPC) with unique properties for wavelength, bins, and viewing angle.
__init__
(wl, bins=None, n_bins=5, dmin=0.5, dmax=2.5, theta=(30.0, 90.0), **kwargs)¶The laser wavelength in units of microns.
An array of bin diameters containing the (left boundary, midpoint, right boundary).
The number of desired bins. This should be used with dmin and dmax to generate a 3xn array of bins.
The left-most bin boundary of the OPC.
The right-most bin boundary of the OPC.
The viewing range in units of degrees.
An instance of the OPC class.
Examples
Initialize an OPC with 5 bins between 0.5 - 2.5 microns.
>>> opc = opcsim.OPC(wl=0.658, n_bins=5, dmin=0.5, dmax=2.5, theta=(30., 90.))
Initialize an OPC with known bins as defined by its bin boundaries.
>>> opc = opcsim.OPC(wl=0.658, bins=[0.38, 0.54, 0.78, 1.05, 1.5, 2.5], theta=(32., 88.))
Methods
|
|
|
Calibrate the OPC assuming a specific material. |
|
Return the total number of particles in each bin for a given AerosolDistribution. |
|
Return a histogram containing the [weight] of particles in each OPC bin. |
|
Integrate the distribution according to the OPC for any [weight]. |
Attributes
|
Bin width in microns |
|
Log-weighted bin width in microns |
|
Bin midpoints in microns |


HOME | ABOUT | PORTFOLIO
Although some may say the Japanese Harajuku clothing style is dead,Harajuku is not a specific style. It is a style of creativity that evolves parallel tothe current mainstream trend. YOU CAN DO IT TOO ! EXPERIMENT WITH CREATIVITY.


aseqnet
Section: User Commands (1)Updated: January 1, 2000
Index Return to Main Contents
NAME
aseqnet - ALSA sequencer connectors over networkSYNOPSIS
aseqnet [remotehost]DESCRIPTION
aseqnet is an ALSA sequencer client which sends and receives event packets over network. Suppose two hosts connected by network, hostA as a server and hostB as a client. The ALSA sequencer system must be running on both hosts. For creating the server port, run the following on hostA:-
hostA% aseqnet
sequencer opened: 128:0
Then a user client 128 with port 0 was opened on hostA. (The client number may vary.) For creating the (network-)client port, run aseqnet with the hostname of the server:
-
hostB% aseqnet hostA
sequencer opened: 132:0
Now all events sent to hostA:128:0 are transferred to hostB:132:0, and vice versa.
The ports created by aseqnet can be connected arbitrary to other sequencer ports via aconnect(1). For example, to connect hostB:132:0 to a MIDI output device 65:0:
- hostB% aconnect 132:0 65:0
Then events to hostA:128:0 will be delivered to hostB:65:0. The following command plays MIDI on hostB.
- hostA% pmidi -p 128:0 foo.mid
The multiple clients may exist simultaneously. If hostC is connected as a client to hostA, events from from hostA are sent to all connected network clients, i.e. hostB and hostC. However, only one connection is allowed from a client to a server.
To disconnect network, stop all clients before server by ctrl-C or sending signal to them. The server will automatically quit.
OPTIONS
- -p port
- Specify the TCP port number or TCP service name.
- -s addr
- Subscribe to the given address for read automatically.
- -d addr
- Subscribe to the given address for write automatically.
- -v
-
Verbose mode.
SEE ALSO
aconnect(1), pmidi(1)AUTHOR
Takashi Iwai<EMAIL_ADDRESS>Index
This document was created by man2html, using the manual pages.
Time: 05:29:01 GMT, December 24, 2015


"AI to help disater affected population, responders and medical experts"
The challenge
add
Disaster affected population needs psychological support
Disasters affects psychological well-being of affected population. Victims need motivation and psychological support to ensure their safety and quick revocery.
add
Victims need basic first aid information to ensure well-being
Primary medical help is unavailable during disasters. Victims lack knowledge about diseases, symptoms and medicines needed for recovery.
add
Medical experts need access to structured medical data of victims
Medical workers and experts often spend a lot of time capturing data from victims, resulting to delays. They is no way to structure and store medical data for all victim, making it difficult to track resources needed and recovery.
The Solution - Summary
Medical AI for helping disaster affected population
Sparrow AI answers questions and makes contextual suggestions on medical and psychological matters related to disasters.
It is accessible in an ubiquitous manner through SparrowNet chat interfaces.
Basic medical information and diagnostics
"Enabling the 1% medical know-how when expert help is unavailable, to save lives"
Ask questions to know what first-aid medicines to use, know emergency procedures, diagnose diseases based on symptoms.
SparrowAI does not provide cure or medical advice, it rather enables first-aid when there is absolute lack of medical know-how.
Companion for psychological well-being
"A companion for times of need"
Sparrow AI helps disaster affected people deal with psychological issues
by giving them step by step guidance, navigating them through tough situations.
We are continuously improving Sparrow AI based on Cognitive Behavioral Theory (CBT).
Streamlining communication between victims and medical experts
Sparrow AI actively supports communications between disaster affected population and medical experts on Sparrow Net. It streamlines communication by helping victims structure their requests
and providing data in a consumption friendly manner to medical experts
The Solution - Summary
Medical AI for helping disaster affected population
Sparrow AI answers questions and makes contextual suggestions on medical and psychological matters related to disasters.
It is accessible in an ubiquitous manner through SparrowNet chat interfaces.
Basic medical information and diagnostics
"Enabling the 1% medical know-how when expert help is unavailable, to save lives"
Ask questions to know what first-aid medicines to use, know emergency procedures, diagnose diseases based on symptoms.
SparrowAI does not provide cure or medical advice, it rather enables first-aid when there is absolute lack of medical know-how.
Companion for psychological well-being
"A companion for times of need"
Sparrow AI helps disaster affected people deal with psychological issues
by giving them step by step guidance, navigating them through tough situations.
We are continuously improving Sparrow AI based on Cognitive Behavioral Theory (CBT).
Streamlining communication between victims and medical experts
Sparrow AI actively supports communications between disaster affected population and medical experts on Sparrow Net. It streamlines communication by helping victims structure their requests
and providing data in a consumption friendly manner to medical experts
The Solution - Description
AI for self diagnostics and first aid
Sparrow AI is trained using years of medical data to deliver accurate disease diagnostics and suggest appropriate first-aid.
We use UMLHS databases to leverage rich historic medical data, making it available to disaster victims through easy to use Chat interfaces (Sparrow Net)
Sparrow AI can
1. Capture symptoms along with their severity
2. Suggest possible diseases based on these symptoms
3. Suggest first-aid options
4. Provide details regarding diseases, medicines and conditions
5. Notify medical experts based on data captured to ensure proper follow-ups
AI for self diagnostics and first aid
Sparrow AI is trained using years of medical data to deliver accurate disease diagnostics and suggest appropriate first-aid.
We use UMLHS databases to leverage rich historic medical data, making it available to disaster victims through easy to use Chat interfaces (Sparrow Net)
Sparrow AI can
1. Capture symptoms along with their severity
2. Suggest possible diseases based on these symptoms
3. Suggest first-aid options
4. Provide details regarding diseases, medicines and conditions
5. Notify medical experts based on data captured to ensure proper follow-ups
Helping disaster victims understand available information
Disasters are not difficult to deal with. Sending all information available to victims will confuse the victims more.
Sparrow AI ensures that victims have data that they need, without the background noise.
Sparrow AI connects to various Real-time APIs (Red Cross, FEMA, Weather company, etc) and first responder dashboards to make all the linked information / data available to disaster victims.
All interactions are extremely fine-tuned through Sparrow Net's ubiquitous chat interfaces.
Being open source adds to the ease of integration - Developers simply need to develop message handling intents as black-box microservices.
Sparrow AI handles routing the messages coming from victims to these micro-services and then the responses back to victims.
Helping disaster victims understand available information
Disasters are not difficult to deal with. Sending all information available to victims will confuse the victims more.
Sparrow AI ensures that victims have data that they need, without the background noise.
Sparrow AI connects to various Real-time APIs (Red Cross, FEMA, Weather company, etc) and first responder dashboards to make all the linked information / data available to disaster victims.
All interactions are extremely fine-tuned through Sparrow Net's ubiquitous chat interfaces.
Being open source adds to the ease of integration - Developers simply need to develop message handling intents as black-box microservices.
Sparrow AI handles routing the messages coming from victims to these micro-services and then the responses back to victims.
AI for psychological well-being
Sparrow AI serves as a psychological counselor for disaster victims.
Its helps and navigates victims through depression, addictions, anxiety, and other such psychological issues that arise in post-disasters scenario.
We worked closely with medical and psychology experts to deliver Cognitive Behavioral therapy through Sparrow AI.
CBT focuses on challenging and changing unhelpful cognitive distortions and behaviors.
During the course of treatment, people learn how to identify and change destructive or disturbing thought patterns that have a negative influence on behavior and emotions.
We welcome experts to join us in improving our CBT implementation so as to ensure a richer and effective experience for disaster victims.
AI for psychological well-being
Sparrow AI serves as a psychological counselor for disaster victims.
Its helps and navigates victims through depression, addictions, anxiety, and other such psychological issues that arise in post-disasters scenario.
We worked closely with medical and psychology experts to deliver Cognitive Behavioral therapy through Sparrow AI.
CBT focuses on challenging and changing unhelpful cognitive distortions and behaviors.
During the course of treatment, people learn how to identify and change destructive or disturbing thought patterns that have a negative influence on behavior and emotions.
We welcome experts to join us to improve our CBT implementation in order to ensure a richer and effective experience for disaster victims.


Zev Labs is a full stack
web development studio
Let us build your next big idea!
From hardware to Javascript, we do it all with excellence.
What can we do for you?
Our team draws from a combined 40 years of experience in IT. We have built systems for some of the largest companies in the world, and have started many of our own companies. Recognizing that no two projects are the same, our experience will ensure your project's success.
Contact Us
Use the form below to get a quick quote on a project or to simply say hello.


A course from Open Knowledge Foundation
{% if page.series %}An event in the {{ page.series }} series
{% endif %}
Key information
Date: –
Time:
Location:
Event language:
Costs:
Organiser:
Childcare:
Access:
Prerequisites
Preparing for the event
Code of conduct
All Open Knowledge Foundation activities are governed by our Code of Conduct. Agreeing to conform to this is a condition of participating in our activities.
At the event
Agenda
Structure:


Are you sure you want to delete {{selectedEvents.length}} logs?
{{selectedEvents.length}} Events are selected
{{filteredLogs.length}} Events are logged


OCTOBER 1 OUR LADY, QUEEN OF NIGERIA
FIRST
A reading from the Book of Isaiah 11:1-10
On that day: There shall come forth a shoot from the stump of Jesse, and a branch shall grow out of his roots.
And the Spirit of the Lord shall rest upon him, the spirit of wisdom and understanding, the spirit of counsel
and might, the spirit of knowledge and the fear of the Lord. And his delight shall be in the fear of the Lord.
He shall not judge by what his eyes see, or decide by what his ears hear; but with righteousness he shall judge the
poor, and decide with equity for the meek of the earth; and he shall strike the earth with the rod of his mouth, and with the breath of his lips he shall slay the wicked. Righteousness shall be the belt of his waist, and faithfulness the belt of his loins. The wolf shall dwell with the lamb, and the leopard shall lie down with the kid, and the calf and the lion and the fatling together, and a little child shall lead them. The cow and the bear shall feed; their young shall lie down together; and the lion shall eat straw like the ox.  They shall not hurt or destroy in all my holy mountain; for the earth shall be full of the knowledge of the Lord as the waters cover the sea. In that day the root of Jesse shall stand as an ensign to the peoples; him shall the nations seek, and his dwellings shall be glorious.
The word of the Lord
RESPONSORIAL PSALM Psalm 72:1-2.7-8.12-13.17 (R. 7)
R. In his days shall justice flourish,and great peace forever.
O God, give your judgement to the king,
to a king's son your justice,that he may judge your people in justice, and your poor in right judgement.
R. In his days shall justice flourish,and great peace forever.
In his days shall justice flourish,
and great peace till the moon is no more. He shall rule from sea to sea, from the River to the bounds of the earth.
R. In his days shall justice flourish,and great peace forever.
For he shall save the needy when they cry the poor, and those who are helpless. He will have pity on the weak and the needy, and save the lives of the needy.
R. In his days shall justice flourish,and great peace forever.
May his name endure forever, his name continue like the sun.
Every tribe shall be blest in him,
all nations shall call him blessed.
R. In his days shall justice flourish,and great peace forever.
SECOND
A reading from the Letter of Saint Paul to the Ephesians 2:13-22
Brethren: Now in Christ Jesus you who once were
far off have been brought near in the blood of Christ. For he is our peace, who has made us both one,
and has broken down the dividing wall of hostility, by abolishing in his flesh the law of commandments
and ordinances, that he might create in himself one new man in place of the two, so making peace,
and might reconcile us both to God in one body through the cross, thereby bringing the hostility to an end.
And he came and preached peace to you who were far off and peace to those who were near; for through him we both
have access in one Spirit to the Father. You are no longer strangers and sojourners, but you are fellow citizens with the saints and members of the household of God, built upon the foundation of the apostles and prophets, Christ Jesus himself being the cornerstone, in whom the whole structure is joined together and grows into a holy temple in the Lord; in whom you also are built into it for a dwelling place of God in the Spirit.
The word of the Lord
ALLELUIA
R. Alleluia. Behold, I am the handmaid of the Lord; Let it be to me according to your word. R. Alleluia.
GOSPEL
A reading from the holy Gospel according to Matthew 2:13-15.19-23
When the Wise Men had departed,
behold, an angel of the Lord appeared to Joseph in a dream and said, "Rise, take the child and his mother,
and flee to Egypt, and remain there till I tell you; for Herod is about to search for the child, to destroy him."
And he rose and took the child and his mother by night, and departed to Egypt,
and remained there until the death of Herod. This was to fulfil what the Lord had spoken by the prophet,
"Out of Egypt have I called my son." But when Herod died, behold, an angel of the Lord appeared in a dream to
Joseph in Egypt, saying, "Rise, take the child and his mother, and go to the land of Israel,
for those who sought the child's life are dead." And he rose and took the child and his mother,
and went to the land of Israel. But when he heard that Archelaus reigned over Judea in place of his father Herod,
he was afraid to go there, and being warned in a dream he withdrew to the district of Galilee.
And he went and dwelt in a city called Nazareth, that what was spoken by the prophets might be fulfilled,
"He shall be called a Nazarene."
The Gospel of the Lord


{% load i18n %}
{% translate "in order to start playing you need to create a new session."|capfirst %}
{% translate "then you can join the chat and tabletop assigned to this campaign."|capfirst %}


Model of a straight pipe with distributed mass, energy and momentum balances. It provides the complete balance equations for one-dimensional fluid flow as formulated in UsersGuide.ComponentDefinition.BalanceEquations.
This generic model offers a large number of combinations of possible parameter settings. In order to reduce model complexity, consider defining and/or using a tailored model for the application at hand, such as HeatExchanger.
DynamicPipe treats the partial differential equations with the finite volume method and a staggered grid scheme for momentum balances. The pipe is split into nNodes equally spaced segments along the flow path. The default value is nNodes=2. This results in two lumped mass and energy balances and one lumped momentum balance across the dynamic pipe.
Note that this generally leads to high-index DAEs for pressure
states if dynamic pipes are directly connected to each other, or
generally to models with storage exposing a thermodynamic state
through the port. This may not be valid if the dynamic pipe is
connected to a model with non-differentiable pressure, like a
Sources.Boundary_pT with prescribed jumping pressure. The
modelStructure
can be configured as
appropriate in such situations, in order to place a momentum
balance between a pressure state of the pipe and a
non-differentiable boundary condition.
The default modelStructure
is
av_vb
(see Advanced tab). The simplest possible
alternative symmetric configuration, avoiding potential high-index
DAEs at the cost of the potential introduction of nonlinear
equation systems, is obtained with the setting nNodes=1,
modelStructure=a_v_b
. Depending on the configured model
structure, the first and the last pipe segment, or the flow path
length of the first and the last momentum balance, are of half
size. See the documentation of the base class Pipes.BaseClasses.PartialTwoPortFlow,
also covering asymmetric configurations.
The HeatTransfer
component
specifies the source term Qb_flows
of the energy
balance. The default component uses a constant coefficient for the
heat transfer between the bulk flow and the segment boundaries
exposed through the heatPorts
. The
HeatTransfer
model is replaceable and can be exchanged
with any model extended from
BaseClasses.HeatTransfer.PartialFlowHeatTransfer.
The intended use is for complex networks of pipes and other flow devices, like valves. See, e.g.,
| Name | Description |
|---|---|
| HeatTransfer |


The Strangers That Came to Town
Ambrose Flack
The first of April came dark and stormy, with silver whips of lightning cracking open the lowering clouds that seemed to skim the treetops. My brother Tom and I, recovering from chest colds, tired of reading and listening to the radio, turned to the big living-room window of our house on Syringa Street.
 Mother hurried in from the kitchen and we three looked out. That truck, we knew, contained the Duvitch family and all their earthly possessions. Mr. Duvitch and the biggest boy carefully helped Mrs. Duvitch from the seat and walked her into the house, supporting her all the way. Another big boy, carrying a well-bundled baby, followed. A stream of young Duvitches, accompanied by a big brown houndlike dog, poured out of the back of the truck and stood in a huddle in the rain.
The barnyard sounds we heard escaped from two crates of hens the Duvitches had fetched along and from a burlap bag in which a small flock of ducks had been stowed. While the livestock made noises according to its kind, the Duvitches were quiet--almost solemn. They showed no elation at finding themselves in a new neighborhood and a very pretty neighborhood at that.
All afternoon Mother, Tom and myself had been watching out for them, with rather mixed emotions. For the Duvitches were immigrants and the first of their nationality to settle in our small smug town. Coming to our obscure part of the state a year before, they had moved into a rotting old farmhouse two miles north of town, long abandoned. After the slashing hurricane of mid-March, the moss-rotten dwelling looked like the house in the fairy tale that remained standing only because it did not know which way to fall and the Duvitches were forced to give it up.
I wonder if Mrs. Duvitch is ill,murmured Mother, looking through the rain at the dreary street scene.
She must be, I wonder if it’ll be all right for Andy and me to help 'em move in their stuff.said Tom.
This request, as Mother well knew, was not inspired by genuine feeling for the Duvitches but by curiosity and she shook her head. It was a strict family rule that any illness which kept us out of school would automatically keep us indoors.
But the Duvitches got along very well without help from us. As it turned out, they were old hands at moving. For years before coming to America they had been on the move, to escape starvation, separation, possible assassination. Every child capable of two-legged locomotion pitched in and helped carry the things from the truck. In no time at all, it seemed, the truck was empty and the Duvitches were shut up tight in their new home.
…
Customization
@import url('https://fonts.googleapis.com/css?family=Grenze:800|Share+Tech+Mono&display=swap');
--ts-color-heading: darkgoldenrod;
--ts-color-body: magenta;
--ts-color-link: darkmagenta;
--ts-color-background: lightyellow;
--ts-font-family-serif: 'Grenze', serif;
--ts-font-family-sans: 'Share Tech Mono', sans-serif;
--ts-font-family-sans-alt: 'Share Tech Mono', sans-serif;
--ts-font-weight-regular: 400;
--ts-font-weight-bold: 800;


This is an Angular 2 app that implements the Spotify Web API to search artists and display their albums and tracks. This was just a project to practice building a simple Angular 2 front-end application with help from the "Learn Angular 2 Development" course on Udemy.


| 45% USD | 17% EUR | 4% AUD |
| 12% JPY | 6% GBP | 3% CHF |
| 0.5% SGD, ZAR each | 12% Rest |
| Status | Date | User | Value |
|---|---|---|---|
| Pending... | 11:20pm | Samantha | 24% |
| Canceled | 10:40am | Monica | 66% |
| Pending... | 01:30pm | John | 54% |
| Pending... | 02:20pm | Agnes | 12% |
| Completed | 04:10am | Amelia | 66% |
| Pending... | 12:08am | Damian | 23% |
| No. | Transaction | Date | Amount |
|---|---|---|---|
| 1 | Buyer 1 | 16 Jun 2017 | $483.00 |
| 2 | Buyer 1 | 10 Jun 2017 | $327.00 |
| 3 | Buyer 2 | 12 Jun 2017 | $125.00 |
| 4 | Buyer 3 | 22 Jun 2017 | $344.00 |
| 5 | Buyer 4 | 24 Jun 2017 | $235.00 |
| 6 | Buyer 4 | 26 Jun 2017 | $100.00 |


Built.Util
- Util
Constructor
Util
( )
Static
Utility Class.
Static members
Static Methods
Utility function to get clone object of any object.
Parameters
- Object : Object
- to be cloned.
- Object
- Clone object.
Utility method for getting accurate data type of variable.
Parameters
- Var : String/Object/Number/Null/Undefined
- Variable.
- String
- Data Type.
Utility method to convert query string to JSON
Parameters
- QueryString : String
- string value.
- returnFormat : Boolean
- (optional) true will return parsed JSON or it will return stringify JSON.
- String
- JSON String.
Iterate any object in any context, similer to Jquery.each.
Parameters
- Object : Object
- to iterate.
- Iterator : Function
- function.
- Context : Object
- object (optional).
Extend any object/function using extend method, very much like Backbone's extend method.
Parameters
- parent : Object
- object .
- child : Object
- objects .
- Object
- new extended object . null or undefined is treated as the empty string.
Utility method for creating object by mixing two object.
Parameters
- Object : Object
- First Object.
- Object : Object
- Second Object.
- Object
- Newly created object.
Utility method to execute multiple tasks parallal and get callback after completion of all tasks.
Parameters
- Tasks : Object
- Object literal containing functions.
- Callback : Function
- Function to be executed after completion of all tasks.
- Built.Util
- Returns the Util object, so you can chain this call.
Utility method for creating query string from JSON object
Parameters
- JSON : Object
- object.
- UnEncoded : Boolean
- boolean for URI encode.
- String
- Query string.


Can programming concepts used to teach students help deep neural models of code? Check out the preprint of our investigation that has been accepted in The 1st IEEE/ACM International Workshop on Interpretability and Robustness in Neural Software Engineering (InteNSE'23), Melbourne, Australia, 2023 (Co-located with ICSE).
https://arxiv.org/abs/2303.04942
Wed, 22 March 2023
What features cast doubt about a prediction, or potentially hinder a model’s confidence? Check out the preprint of our investigation that has been accepted in The 1st IEEE/ACM International Workshop on Interpretability and Robustness in Neural Software Engineering (InteNSE'23), Melbourne, Australia, 2023 (Co-located with ICSE)
https://arxiv.org/abs/2303.01739
Wed, 22 March 2023
Are deep learning models memorizing your data instead of learning patterns? Recent works suggest memorization risk is high with noisy training data. In our latest exploration, we see the extent of memorization in neural code intelligence models (models that can automatically do certain coding tasks), and provide insights on how memorization may impact the learning behaviour of such models. Check out our article for free before November 09, 2022.
https://authors.elsevier.com/a/1fnUS3O8rCcj5S
Wed, 12 October 2022
Our investigation into the effect of reducing seeds on fuzzing has been accepted in the 5th International Workshop on the Next Level of Test Automation (NEXTA '22). Preprint:
https://arxiv.org/abs/2112.13297
Thu, 17 February 2022


Avon Street Car Park
34 Corn Street, Bath BA1 1UF
North Parade Road, Bath, BA2 4ET
Broad Street Car Park
12 Broad Street, Bath, BA1 5LL
Cattle Market Car Park
Walcot Street, Bath, BA1 5LH
Claverton Street Car Park
Claverton Street, Bath, BA2 4LE
Charlotte Street Car Park
Charlotte Street, Bath BA1 2NE
Kingsmead Square Car Park
Kingsmead Street, Bath, BA1 2AA
5A Manvers Street, Bath BA1 1JQ
Ashton Way, Keynsham, BS31 2UF
Bath Hill East Car Park
Bath Hill, Keynsham BS31 1HH
Civic Centre Car Park
Keynsham, Bath BS31 1LA
Fox and Hounds Car Park
Fox and Hounds Lane, Keynsham, Bristol, BS31 1LJ
The Labbott South Car Park
16 The Labbott, Keynsham, Bristol, BS31 1BD
Station Road Car Park Car Park
Keynsham, Bristol BS31 2BL


interp: Interpolation Methods
Bivariate data interpolation on regular and irregular
grids, either linear or using splines are the main part of this
package. It is intended to provide FOSS replacement functions for
the ACM licensed akima::interp and tripack::tri.mesh functions.
Currently the piecewise linear interpolation part of akima::interp
(and also akima::interpp) is implemented in interp::interp, this
corresponds to the call akima::interp(..., linear=TRUE) which is the
default setting and covers most of akima::interp use cases in
depending packages. A re-implementation of Akimas spline
interpolation (akima::interp(..., linear=FALSE)) is currently under
development and will complete this package in a later
version. Estimators for partial derivatives are already available,
these are a prerequisite for the spline interpolation. The basic
part is currently a GPLed triangulation algorithm (sweep hull
algorithm by David Sinclair) providing the starting point for the
piecewise linear interpolator. As side effect this algorithm is also
used to provide replacements for the basic functions of the tripack
package which also suffer from the ACM restrictions. All functions
are designed to be backward compatible with their akima / tripack
counterparts.
Downloads:
Reverse dependencies:
Linking:
Please use the canonical form
https://CRAN.R-project.org/package=interp
to link to this page.


Our Mission
ThinkLikeGeek is a website created for those who want to reach beyond math and technology, and of course programming. ThinkLikeGeek has many small courses that teach you how to do one small thing each. The courses can talk about math, tech, code, anything much. But the point is, you learn.
All the way
Our HQ is in San Jose, the huge capital of Silicon Valley. We've got pride, and a big vision. And our job: to accomplish it.


The Ghost with CSS variables
Sorry, but your browser doesn't support CSS variables.
You can use Google Chrome or Firefox for seeing a demo
Developed by
Stas Melnikov


App Engine Python SDK
v1.6.9 rev.445
The Python runtime is available as an experimental Preview feature.
google
appengine
api
logservice
log_service_pb
FlushRequest
Public Member Functions
|
Public Attributes
|
Static Public Attributes
|
List of all members
google.appengine.api.logservice.log_service_pb.FlushRequest Class Reference
Inheritance diagram for google.appengine.api.logservice.log_service_pb.FlushRequest:
Public Member Functions
def
__init__
def
logs
def
set_logs
def
clear_logs
def
has_logs
def
MergeFrom
def
Equals
def
IsInitialized
def
ByteSize
def
ByteSizePartial
def
Clear
def
OutputUnchecked
def
OutputPartial
def
TryMerge
def
__str__
Public Attributes
has_logs_
logs_
Static Public Attributes
int
has_logs_
= 0
string
logs_
= ""
int
klogs
= 1
The documentation for this class was generated from the following file:
code/googleappengine-read-only/python/google/appengine/api/logservice/log_service_pb.py
Maintained by
tzmartin


As a tech leader, I have embraced real challenges, recognizing that the technical aspect is a crucial factor in tasks such as migrating monoliths and refactoring microservices to optimize resource consumption. However, I firmly believe that the human element, encompassing cohesive teams and fostering effective communication, is equally vital to success. Throughout my experience as an individual contributor, advisor, and technical lead, I have honed my ability to comprehend both the needs of the team and those of our clients. This unique perspective places me in an advantageous position to navigate complexities and deliver exceptional results.
As a software engineer adept in both front-end and back-end development, I possess a versatile skill set that allows me to effectively implement, mentor, advise, guide, test, monitor, and design real solutions. In an ever-evolving role, I embrace change and readily adopt new technologies and platforms to deliver high-quality software in the competitive landscape of the industry. My adaptability and continuous learning ensure that I stay at the forefront of emerging trends, enabling me to provide innovative and cutting-edge solutions to meet diverse challenges.
With extensive experience spanning from Java 6 to the latest Java 17, my journey in Java projects has evolved over the years. My proficiency encompasses a wide array of Java versions, including Java 8, Java 11, and Java 14. My expertise extends to various facets of the Spring Framework, demonstrating a strong grasp of Spring Core, Spring Boot, Spring Data, Spring Webflux, and Spring Cloud, among others. Moreover, my capabilities encompass seamless integration with diverse systems and databases, including Apache Solr, Kafka, MongoDB, and Elasticsearch. Programming in java has become very interesting with functional programming, and more over reactive programming, that's why I like to mention since this is becoming challenging in Java ecosystem projects.
Node.js stands out as a versatile platform that seamlessly bridges both front-end (FE) and back-end (BE) development landscapes. My preference leans towards leveraging Node.js predominantly with JavaScript, contrasting its dynamic nature with my background in the imperative and typed realm of Java. This choice aligns with my inclination towards its complementary counterpart. Express and KOA emerge as my favored companions within the Node ecosystem, further enriched by hands-on experience with libraries like AJV. Delving into the core of Node, I've gained a nuanced understanding of its essential components, including libuv, workers, child processes, streams, and buffers. My intrigue extends to the potent capabilities of socket.io, which I find exceptionally well-suited to modern-day demands. Drawing on my Java expertise, I skillfully integrate Node.js with an array of technologies encompassing Kafka, SQL, NoSQL databases, caching mechanisms, and more. This affords me a comprehensive toolkit to orchestrate seamless interactions across various tech stacks.
My journey in frontend projects and web development began with vanilla JavaScript sites, where jQuery was the primary tool for DOM manipulation. In more recent years, I explored Angular projects, but the advent of React and its inherent potential resonated with me, leading me to fully embrace the capabilities of this elegant library. Currently, my expertise lies in React.js and something of Next.js, leveraging its strong foundation to craft components adhering to atomic design principles, and seamlessly integrating hooks to enhance functionality. My affection for CSS endures, rooted in its significance since my early days in web development, making it a creative realm I thoroughly enjoy exploring and experimenting with.
Cloud computing has emerged as a pivotal field with high demands on developers, necessitating expertise in platforms like AWS. Personally, my journey has been engaging as I've delved into AWS, amassing substantial experience across a range of services, including ECS, EC2, Lambda functions, SQS, SNS, Route53, and Secret Managers. My proficiency lies in utilizing cloud formation, particularly with TypeScript and JavaScript, as I find this approach more adept for orchestrating services compared to tools like Terraform. While I've also ventured into GCP, my mastery remains more substantial in AWS, enabling me to provide proficient support and guidance, even though I possess a comprehensive understanding of GCP's service landscape.
In my role as a Tech Lead, I have consistently demonstrated expertise in orchestrating and connecting critical reactive services, crafting robust event-driven architectures utilizing tools like Kafka. My experience extends to seamlessly integrating powerful search engines such as Elasticsearch and Apache Solr, enriching the systems I've contributed to. My proficiency is equally pronounced in diverse programming languages including Java and Node.js, underscoring my adaptability and versatility in architecting solutions across different tech stacks. Furthermore, I've championed the adoption of clean architectural principles, instilling a structured approach that fosters maintainable, modular, and well-designed systems. This combination of skills has allowed me to elevate the architecture of projects I've led, ensuring the delivery of high-performance and scalable solutions.
My expertise spans across prominent Content Management Systems (CMS) including AEM and Contentful, where I've successfully delivered cutting-edge systems that push the boundaries of innovation. In addition, my proficiency extends to Salesforce Commerce Cloud (formerly Demandware), a platform I find particularly enjoyable to work with. My experience in these CMS/e-commerce platforms highlights my ability to drive impactful solutions, demonstrating my adaptability and skill in crafting dynamic digital experiences.
Projects
Happy Clients
Mentions/Kudos
Contributed significantly to the design and successful implementation of a cutting-edge solution that empowered the client to effectively manage sensitive content for their releases. By developing custom permissions and enabling seamless data and content scaling on demand, we achieved remarkable results. Notably, this solution resulted in an impressive 40% reduction in annual costs, making a substantial impact in the highly competitive streaming and content industry.
Pioneered the design of an innovative cloud-based solution built on a serverless architecture. This ground-breaking system efficiently transferred and scaled existing data from a monolithic system into a brand-new, highly responsive microservice capable of handling massive content volumes. By doing so, we empowered the client to make substantial savings in their infrastructure costs, while also eliminating the need for maintaining the outdated system. As per the forecast report for 2021, the strategic implementation resulted in a remarkable 30% reduction in effort, time, and associated expenses, positioning the client for future success.
Led and orchestrated a high-performing team responsible for planning activities for a fleet of 30 ships, catering to diverse guests from various countries, regions, and time zones. Our meticulous attention to detail ensured that Digital Managers had access to reliable and relevant content, enabling guests to seamlessly book and participate in activities with utmost precision. Furthermore, I spearheaded the refactoring of these microservices, resulting in substantial cost savings and the efficient allocation of resources. This strategic move led to a remarkable 33% reduction in infrastructure expenses across the entire fleet. Through proactive optimization and innovative solutions, we successfully streamlined operations, enhancing overall efficiency and resource management.
Successfully implemented user tracking data for various countries, empowering financial stakeholders to make informed decisions and extract valuable insights about user preferences and purchasing behavior. By meticulously collecting and analyzing this data, we provided crucial information that enabled stakeholders to identify user preferences, understand preferred purchasing locations, and optimize their business strategies accordingly. The generated insights proved instrumental in driving better decision-making, enhancing user experiences, and ultimately contributing to the company's growth and success.
Lead the development of websites, implementing different components for a retailer website www.trinaturk.com generating value and well positioning in their market
Implemented components for a retail for glasses.com helping to the client reuse these components for next development for other sites in their own


Lekan Ojulowo is a full stack developer dedicated to meeting your software needs! Website, Mobile and Desktop Application Development and Training.
Contact:<PHONE_NUMBER>3 lekanojulowo@gmail.com.


Man, dog sleeping in Manhattan subway station stabbed during dispute
by Eyewitness NewsCHELSEA, Manhattan (WABC) -- A man sleeping at a Chelsea subway station with his dog was stabbed in the leg during a dispute, and his Rottweiler was also injured.
Police say the 34-year-old victim was sleeping on a bench at the 14th Street station when he got into a dispute with another man around 4:15 a.m.
The dispute escalated, and authorities say the suspect stabbed him in the calf.
The victim was taken to Bellevue Hospital with a non-life threatening injury.
The dog also sustained a slash to his hind leg.
The suspect, armed with a knife, fled onto the street.
 He was accompanied by a woman
No arrests were immediately made.
Subway service bypassed the station as police investigated.


This document describes the plan for adding GlusterFS support inside Ganeti.
Contents
Gluster is a “brick” “translation” service that can turn a number of LVM logical volume or disks (so-called “bricks”) into an unified “volume” that can be mounted over the network through FUSE or NFS.
This is a simplified view of what components are at play and how they interconnect as data flows from the actual disks to the instances. The parts in grey are available for Ganeti to use and included for completeness but not targeted for implementation at this stage.
It is the administrator’s duty to set up the bricks, the translators and thus the volume as they see fit. Ganeti will take care of connecting the instances to a given volume.
Note
The gluster mountpoint must be whitelisted by the administrator in /etc/ganeti/file-storage-paths for security reasons in order to allow Ganeti to modify the filesystem.
Working with GlusterFS in kernel space essentially boils down to:
Since it is not strictly necessary for Gluster to mount the disk if all that’s needed is userspace access, however, it is inappropriate for the Gluster storage class to inherit from FileStorage. So the implementation should resort to composition rather than inheritance:
- In order not to further inflate bdev.py, Filestorage should join its helper functions in filestorage.py (thus reducing their visibility) and add Gluster to its own file, gluster.py. Moving the other classes to their own files like it’s been done in lib/hypervisor/) is not addressed as part of this design.
- Before attempting a mount, we should check if the volume is not mounted already. Linux allows mounting partitions multiple times, but then you also have to unmount them as many times as you mounted them to actually free the resources; this also makes the output of commands such as mount less useful.
- Every time the device could be released (after instance shutdown, OS installation scripts or file creation), a single unmount is attempted. If the device is still busy (e.g. from other instances, jobs or open administrator shells), the failure is ignored.
In order to address the shortcomings of the generic shared file handling of instance disk directory structure, Gluster uses a different scheme for determining a disk’s logical id and therefore path on the file system.
The naming scheme is:
/ganeti/{instance.uuid}.{disk.id}
...bringing the actual path on a node’s file system to:
/var/run/ganeti/gluster/ganeti/{instance.uuid}.{disk.id}
This means Ganeti only uses one folder on the Gluster volume (allowing other uses of the Gluster volume in the meantime) and works better with how Gluster distributes storage over its bricks.
Ganeti has a number of storage types that abstract over disk templates. This matters mainly in terms of disk space reporting. Gluster support is improved by a rethinking of how disk templates are assigned to storage types in Ganeti.
This is the summary of the changes:
| Disk template | Current storage type | New storage type | Does it report storage information to... | ||
|---|---|---|---|---|---|
| gnt-node list | gnt-node list-storage | iallocator | |||
| File | File | File | Yes. | Yes. | Yes. |
| Shared file | File | Shared file (new) | No. | Yes. | No. |
| Gluster (new) | N/A | ||||
| RBD (for reference) | RBD | No. | No. | No. |
Gluster or Shared File should not, like RBD, report storage information to gnt-node list or to IAllocators. Regrettably, the simplest way to do so right now is by claiming that storage reporting for the relevant storage type is not implemented. An effort was made to claim that the shared storage type did support disk reporting while refusing to provide any value, but it was not successful (hail does not support this combination.)
To do so without breaking the File disk template, a new storage type must be added. Like RBD, it does not claim to support disk reporting. However, we can still make an effort of reporting stats to gnt-node list-storage.
The rationale is simple. For shared file and gluster storage, disk space is not a function of any one node. If storage types with disk space reporting are used, Hail expects them to give useful numbers for allocation purposes, but a shared storage system means disk balancing is not affected by node-instance allocation any longer. Moreover, it would be wasteful to mount a Gluster volume on each node just for running statvfs() if no machine was actually running gluster VMs.
As a result, Gluster support for gnt-node list-storage is necessarily limited and nodes on which Gluster is available but not in use will report failures. Additionally, running gnt-node list will give an output like this:
Node DTotal DFree MTotal MNode MFree Pinst Sinst
node1.example.com ? ? 744M 273M 477M 0 0
node2.example.com ? ? 744M 273M 477M 0 0
This is expected and consistent with behaviour in RBD.
An alternative would have been to report DTotal and DFree as 0 in order to allow hail to ignore the disk information, but this incorrectly populates the gnt-node list DTotal and DFree fields with 0s as well.
Configurable at the cluster and node group level (gnt-cluster modify, gnt-group modify and other commands that support the -D switch to edit disk parameters):
The IP address or hostname of the Gluster server to connect to. In the default deployment of Gluster, that is any machine that is hosting a brick.
Default: "<IP_ADDRESS>"
The port where the Gluster server is listening to.
Default: 24007
The volume Ganeti should use.
Default: "gv0"
Configurable at the cluster level only (gnt-cluster init) and stored in ssconf for all nodes to read (just like shared file):
Where the Gluster volume should be mounted.
Default: /var/run/ganeti/gluster
The default values work if all of the Ganeti nodes also host Gluster bricks. This is possible, but not recommended as it can cause the host to hardlock due to deadlocks in the kernel memory (much in the same way RBD works).
In no particular order:


Hi guys!
I have been searching for a web based weather station that goes with the emoncms and will measure the following:
- Windspeed
- Temperature
- Humidity
- Rain
- Pressure
- UV index
- Solar energy
- Indoor temperature and humidity
I found this unit that suits the needs pretty good:
It is produced by this chineese company: Fine Offset
This unit has a weatherstation, and a small unit that collects the data wirelessly and plugs into your router to upload it to the wunderground.com . From the hardware perspective this is all i need.
I have found some ways described with scripts, getting the data from wunderground and then posting it into the emoncms every 15 minutes. However i am not so sure this is the best way to get around to it. It sure works but it would be much better if the data posted directly to the emoncms. How can we do that?
This way the user can decide on upload frequency, and also upload the indoor temperature and humidity. (This data does not upload to the wunderground website)
I am open for all ideas about this, and i would be very happy if someone could find a nice solution.
I thought that there might be some way, which might be difficult in first approach but makes it easier later on. And this would grant the community easy access to a affordable weatherstation.
My idea was to try to hack/rewrite the software/firmware in the unit that uploads data, and just make it send the data in the correct format to emoncms. This might also be done through contact with the supplier, maybe they will be interested in allowing us to make an alternative firmware as this can produce more sales for their unit.
Does anyone have another idea? Maybe a man in the middle unit that catches wunderground data, changes the format and sends it to the emoncms? Or maybe a plugin for emoncms that will decode data in wunderground format, and a small rerouting of the wunderground domain in the WiFi router so that it points to emoncms?
This is the URL for wundergrund weather data:
API
What i think is needed is a plug and play solution that does not require the user to write or edit scripts, sketches, and stuff like that. Just to input the user ID info and address for the emoncms. I am open for any ideas, and i would be very happy if this was possible! As i am sure others here would love this to!
Best regards
//J
Re: Getting weather station data into the emoncms? Anyone got good ideas?
I'm fairly certain that Paul Reed imports weather data, and that he's published the method he uses somewhere here (and I think he mentioned 'Wunderground'. I suggest searching here for that and/or 'weather'.
Re: Getting weather station data into the emoncms? Anyone got good ideas?
Hello Robert!
Thank you kindly for your reply.
I have found and read the solution provided by Paul, but that solution is way to complicated for most users and requires programming skills and setting up your own server. This is way out of reach for most people and takes alot of time.
What i am looking for is a simple and straight forward solution, the most perfect one would be to just send data straight to emoncms like any of the emon nodes. If this would be done by a small hardware man-in-the-middle unit or by altering some small stuff in the firmware of the weather station i dont know, but i am hoping to find a solution that allows anybody to just buy the weatherstation, hook it up, put the user ID or API key and go.
Just as simple as with wonderground.
Best regards
//J
Re: Getting weather station data into the emoncms? Anyone got good ideas?
I'm afraid there isn't a simple hardware 'man in the middle' hardware solution, and we've found that we need to develop software interfaces to get everything talking the same language (IoT), whether they are cloud based, or local installations.
Paul
Re: Getting weather station data into the emoncms? Anyone got good ideas?
Have you seen http://www.weewx.com/ ?
It is compatible with the weather station you selected (among many others) and can report to wunderground and also has emoncms listed in its wiki.
It's all open-source so even if it doesn't do exactly what you are after it can be used as a reference to design a custom interface, by that I mean a tailored universal solution as you describe rather than a per user custom script.
IMO rather than sending direct to emoncms using a standalone software, the "custom script" could be a emonhub interfacer so that it is part of an existing software and data can be posted to multiple places. I had already written a wunderground interfacer that retrieved weather data from wunderground if you have an api account, this provided a pure software "cloud based" weather solution. the recommended interval for that was 3mins due to the api constraints.
Paul
EDIT - @Paul, there should be no need for additional hardware with this station, it interconnects using 868MHz and then forwards using Ethernet, I haven't looked closely at it but I suspect weewx just intercepts, parses and forwards using http and/or rest api etc. once captured the data can be packaged in any form, even mqtt :-)
Re: Getting weather station data into the emoncms? Anyone got good ideas?
Hi Guys!
Thanks for input!
To be honest i don't understand half of what is written as i don't know so much about programming, but it sounds good =)
But the product mentioned earlier in the first post is already actually all the hardware needed. It just does not speak the right language for emoncms.
The perfect thing would be a feature in the product itself that allows the user to specify any server address and define the posting method for sending the data. The product would then do everything itself, just as it does today but to emoncms AND wounderground.com website.
Since the unit already communicates with wunderground, and that is a public API. What is needed is something in between that will listen to that and just translate to the API of the emoncms and relay it.
It is very important to have all the data in one database, because from analysis point of view sometimes you would like to do calculations from energy data combined with weather data. So it is not just a matter of displaying the weather data on a webpage, but actually having the server (emoncms) making calculations based on weather data and energy data. For example E/T diagrams and such.
As i see it this solution could be a raspberry with double network ports, that just picks up the weatherstation in one end, and posts the data untouched to wunderground.com, and relays reformatted data to emoncms. Maybe its possible to add a software feature to the raspberry emon base station, and add a USB ethernet dongle? And plug the weatherstation into the raspberry instead of the router.
This would practically be a EmonWeather base emulator inside the raspberry.. Instead of a EmonV3 or EmonTH. But it takes data from the USB Ethernet instead of the RMB12 chip.
I run emoncms on the public webserver. I dont have my own server. Most people like it this way because ordinary users cant setup or maintain their own server. This also limits the options on the server side, with less options for software modifications to server software.
Will it be a difficult thing do do this in the raspberry?
Thanks for all the input, and best regards
//J
Re: Getting weather station data into the emoncms? Anyone got good ideas?
pb66, that weewx looks very interesting!
I am pretty sure this can be something that openenergymonitor can use. They also listed a one wire weatherstation, and some other cool stuff. But still it cant be used by anyone who lacks programming skills.
I still haven fully understood the concept of weewx, but it looks alittle bit like what i think it would look like to have the weatherstation data pass trough the emonPi (raspberry) on its way out to the wunderground and emoncms. I downloaded the app for OSX but it does not have a GUI or even a executable file so it seems this is one of the solutions that require more enthusiasm then the average user has.
This is the page in the Wiki:
weewex
This solution still involves tinkering in terminal, configuration files and such. I think what is needed is a plug and play device. Just like the WH2600 or WS1400IP but that uploads directly to emoncms instead of wunderground.
In those weather stations, all you have to put is the account ID for wunderground and then you are set to go. Its really nice.
//J
Re: Getting weather station data into the emoncms? Anyone got good ideas?
This sounds interesting, would that make it possible to just put the user ID for a wunderground account into emoncms and have all the weather data from that account loaded onto the emoncms?
That could be really something, or even better alternative would be a emoncms extension that allows you to put the ID of the weather station, and that it will act just like a node in the emoncms. This way people will only need to be in close proximity to some other weatherstation.
In the end, what i am talking about is the need for this to be a simple solution that only requires very simple interaction from the user. And it would be amazing if it would work directly with the weather station, even if i understand this will require more work on the software side.
//J
Re: Getting weather station data into the emoncms? Anyone got good ideas?
I have managed to get a Fine Offset 1080 (Maplin N96GY) weather station posting to Emoncms via a node that grabs the weather station data and then resends as a standard emoncms compatible signal
http://openenergymonitor.org/emon/node/3907
If you hunt around I suspect someone has already decoded your w/s signal using an arduino and transceiver. Your issue will be if your w/s transmits at a different frequency to your emoncms network - you will need to try and get 2 transmitters running on the one arduino.
I gave up on using batteries for my receiver as they only lasted a month or so and now use a small 5v usb charger I had lying around
Best of luck on the project - I am no coder either so don't give up - the benefit of arduino is that it is very hard to kill so experiment away!
Gary
Re: Getting weather station data into the emoncms? Anyone got good ideas?
This is just a small update to what happened.
I purchased this weather station from Conrad, WH2600
It was luckily so that the firmware that ships with the weather station allows for input of any server address you wish. And then your emoncms server can be used to logg weather data if it only accepts this kind of input:
http://wiki.wunderground.com/index.php/PWS_-_Upload_Protocol
So then a guy who is really good in programming made a small and simple code to put on the emoncms server that allows the server to receive the input signal from the weather station. It's not fully tested yet due to my own mistake.
By putting the API key in the USER ID field for wunderground account, and then putting the normal wunderground user data in the PASSWORD field in the setup of the weather station, it now logs to wunderground and emoncms. When we have finished testing it out ;) The emoncms server now relays all the data to wunderground so that no functionality of the weather station is lost.
When working with this i discovered that the USER ID field has not enough character space to fit the whole API key, and it seems the US upgrade for the firmware had a solution to this. However the US version was wunderground only solution, and they had removed the possibility to input any server address you like.. And now i was stuck with a firmware that does not work as intended. I have to solve this and i am now trying to make conrad send me the original firmware so that i can downgrade back to where i was.
This solution gives everything i ever wanted.
- Easy setup that anyone can understand
- Full usage of wunderground service AND emoncms logging
- A small and simple script that should be embedded into the emoncms server if they decide to add weather station support.
The image attached shows the setup of the weather station.
Re: Getting weather station data into the emoncms? Anyone got good ideas?
The station itself is made by Fine Offset. They do eventually respond to e-mail enquiries; http://www.foshk.com/dv/Quality.html
I have the Maplin rebadged version of the HP1000 and I like what you are doing - so I'll try it too. Can you share more details of the proxy on the emonpi and what you are doing with the data as such?
Re: Getting weather station data into the emoncms? Anyone got good ideas?
Hi Peter!
I tried sending them email, they answer initial email and then it is quiet. I think that they do not want people to use the station with any other service then wunderground, probably because they make money from cooperation with them.
The firmware version 1.1 is loaded on units sold by conrad. But it cant be downloaded anywhere. I am looking for a way to obtain this firmware from the unit itself. But i don't have a clue about how to do that.
Todays solution is really simple, we can just put the emoncms server address in the setup of the weather station, and the station will post straight into emoncms. (if the script is used)
Instead of wunderground ID you just put the API key and its good to go.
This feature is also multi user supportive and can be used on the server for many users.
I dont know how to use the script locally on the emonPi, but guess that it can be dont with static IPs and just sending the data from the WH2600 into the local emonPi IP address.
Anyhow, this is really cool and we need more research on this. If this can be done in a nice user friendly way it will be very nice for openenergymonitor to have its own weather station.
//J
Re: Getting weather station data into the emoncms? Anyone got good ideas?
I dont know enough about this stuff to figure this out, but seems you can get all the data from this station direct into your Pi, if you follow this URL there is some explaning.
http://www.wxforum.net/index.php?topic=25679.0
Might be something if you want to catch the data locally.
//J