All resources stored in the Linked Media Framework are indexed in the semantic search component that uses Apache SOLR as its backend and creates a search index over selected properties of the resources. The semantic search component extends SOLR by some semantic capabilities, but it is fully API compatible and you can use any SOLR client library to access the LMF Search (e.g. AjaxSOLR).
The LMF semantic search component is capable of handling several different search configurations at the same time using the SOLR multi-core functionality. In this way, a LMF installation can be used for offering different perspectives on the data managed by it.
Search over resources will always be domain-specific and will need to take into account the schema of the data. Therefore, the semantic search component provides only very simple and straightforward search functionality by default for three typical generic cases of metadata:
To adapt the search component to your specific domain, the LMF Admin Interface offers the possibility to define new cores using LDPath. An LDPath Program is a set of rules that map index fields to RDF properties or paths of RDF properties. For example, the following program (rdf) defines four fields (title, summary, tag, type):
@prefix hg : <http://www.holygoat.co.uk/owl/redwood/0.1/tags/> ;
title = rdfs:label :: xsd:string ;
summary = rdfs:comment :: lmf:text ;
tag = hg:taggedWithTag / hg:name :: xsd:string ;
type = rdf:type :: xsd:anyURI ;
LDPath is a subproject of Apache Marmotta; where you can check the LDPath language specification.
In the most simple case (e.g. title), the rule maps an index field to exactly one RDF property. In more complex cases, the rule allows to follow a path of RDF properties; e.g. in the "tag" field above, the rule would start at the current resource and follow the hg:taggedWithTag property, and from there it will follow the hg:name property and store it in the index.
LDPath programs can be uploaded by the SOLR Cores Webservice available under /solr/cores. It supports the following operations:
The "Query & Search" tab in the admin interface offers you to immediately try out the semantic search component by entering the search into the "Query Explorer" and pressing the "Run" button.
A good start is to enter the query *:* and let it execute. This search will list you all indexed resources together with their field values. Try adding a simple rule to the shortcuts, upload and reindex and then run the search again. You will see how the new field has been added to the search results.
The semantic search component can be used with any SOLR client library. A list of SOLR client libraries is available . Note that the LMF only offers the search functionality but not the indexing functionality of existing clients.
Bundled with the Linked Media Framework comes an exemplary implementation of a Semantic Search interface in pure HTML and Javascript using the AjaxSOLR library. The interface is accessible via the editor. Given the right kind of data, it also demonstrates how facetting over metadata properties can be used to display additional information in widgets, like a map or a timeline.
In case you want to offer a customised search interface for your application scenario, you can copy the bundled Search UI implementation and quickly adapt it to your requirements. In this way we have already implemented several search demonstrators.
A typical approach to using the LMF as a Semantic Search server is to:


How to optimize for speed¶
The following gives some practical guidelines to help you write efficient code for the scikit-learn project.
Note
While it is always useful to profile your code so as to check performance assumptions, it is also highly recommended to review the literature to ensure that the implemented algorithm is the state of the art for the task before investing into costly implementation optimization.
Times and times, hours of efforts invested in optimizing complicated implementation details have been rendered irrelevant by the subsequent discovery of simple algorithmic tricks, or by using another algorithm altogether that is better suited to the problem.
The section A sample algorithmic trick: warm restarts for cross validation gives an example of such a trick.
Python, Cython or C/C++?¶
In general, the scikit-learn project emphasizes the readability of the source code to make it easy for the project users to dive into the source code so as to understand how the algorithm behaves on their data but also for ease of maintanability (by the developers).
When implementing a new algorithm is thus recommended to start implementing it in Python using Numpy and Scipy by taking care of avoiding looping code using the vectorized idioms of those libraries. In practice this means trying to replace any nested for loops by calls to equivalent Numpy array methods. The goal is to avoid the CPU wasting time in the Python interpreter rather than crunching numbers to fit your statistical model.
Sometimes however an algorithm cannot be expressed efficiently in simple vectorized Numpy code. In this case, the recommended strategy is the following:
- Profile the Python implementation to find the main bottleneck and isolate it in a dedicated module level function. This function will be reimplemented as a compiled extension module.
- If there exists a well maintained BSD or MIT C/C++ implementation of the same algorithm that is not too big, you can write a Cython wrapper for it and include a copy of the source code of the library in the scikit-learn source tree: this strategy is used for the classes svm.LinearSVC, svm.SVC and linear_model.LogisticRegression (wrappers for liblinear and libsvm).
- Otherwise, write an optimized version of your Python function using Cython directly. This strategy is used for the linear_model.ElasticNet and linear_model.SGDClassifier classes for instance.
- Move the Python version of the function in the tests and use it to check that the results of the compiled extension are consistent with the gold standard, easy to debug Python version.
- Once the code is optimized (not simple bottleneck spottable by profiling), check whether it is possible to have coarse grained parallelism that is amenable to multi-processing by using the joblib.Parallel class.
When using Cython, include the generated C source code alongside with the Cython source code. The goal is to make it possible to install the scikit on any machine with Python, Numpy, Scipy and C/C++ compiler.
Profiling Python code¶
In order to profile Python code we recommend to write a script that loads and prepare you data and then use the IPython integrated profiler for interactively exploring the relevant part for the code.
Suppose we want to profile the Non Negative Matrix Factorization module of the scikit. Let us setup a new IPython session and load the digits dataset and as in the Recognizing hand-written digits example:
In [1]: from sklearn.decomposition import NMF
In [2]: from sklearn.datasets import load_digits
In [3]: X = load_digits().data
Before starting the profiling session and engaging in tentative optimization iterations, it is important to measure the total execution time of the function we want to optimize without any kind of profiler overhead and save it somewhere for later reference:
In [4]: %timeit NMF(n_components=16, tol=1e-2).fit(X)
1 loops, best of 3: 1.7 s per loop
To have have a look at the overall performance profile using the %prun magic command:
In [5]: %prun -l nmf.py NMF(n_components=16, tol=1e-2).fit(X)
14496 function calls in 1.682 CPU seconds
Ordered by: internal time
List reduced from 90 to 9 due to restriction <'nmf.py'>
ncalls tottime percall cumtime percall filename:lineno(function)
36 0.609 0.017 1.499 0.042 nmf.py:151(_nls_subproblem)
1263 0.157 0.000 0.157 0.000 nmf.py:18(_pos)
1 0.053 0.053 1.681 1.681 nmf.py:352(fit_transform)
673 0.008 0.000 0.057 0.000 nmf.py:28(norm)
1 0.006 0.006 0.047 0.047 nmf.py:42(_initialize_nmf)
36 0.001 0.000 0.010 0.000 nmf.py:36(_sparseness)
30 0.001 0.000 0.001 0.000 nmf.py:23(_neg)
1 0.000 0.000 0.000 0.000 nmf.py:337(__init__)
1 0.000 0.000 1.681 1.681 nmf.py:461(fit)
The totime columns is the most interesting: it gives to total time spent executing the code of a given function ignoring the time spent in executing the sub-functions. The real total time (local code + sub-function calls) is given by the cumtime column.
Note the use of the -l nmf.py that restricts the output to lines that contains the “nmf.py” string. This is useful to have a quick look at the hotspot of the nmf Python module it-self ignoring anything else.
Here is the beginning of the output of the same command without the -l nmf.py filter:
In [5] %prun NMF(n_components=16, tol=1e-2).fit(X)
16159 function calls in 1.840 CPU seconds
Ordered by: internal time
ncalls tottime percall cumtime percall filename:lineno(function)
2833 0.653 0.000 0.653 0.000 {numpy.core._dotblas.dot}
46 0.651 0.014 1.636 0.036 nmf.py:151(_nls_subproblem)
1397 0.171 0.000 0.171 0.000 nmf.py:18(_pos)
2780 0.167 0.000 0.167 0.000 {method 'sum' of 'numpy.ndarray' objects}
1 0.064 0.064 1.840 1.840 nmf.py:352(fit_transform)
1542 0.043 0.000 0.043 0.000 {method 'flatten' of 'numpy.ndarray' objects}
337 0.019 0.000 0.019 0.000 {method 'all' of 'numpy.ndarray' objects}
2734 0.011 0.000 0.181 0.000 fromnumeric.py:1185(sum)
2 0.010 0.005 0.010 0.005 {numpy.linalg.lapack_lite.dgesdd}
748 0.009 0.000 0.065 0.000 nmf.py:28(norm)
...
The above results show that the execution is largely dominated by dot products operations (delegated to blas). Hence there is probably no huge gain to expect by rewriting this code in Cython or C/C++: in this case out of the 1.7s total execution time, almost 0.7s are spent in compiled code we can consider optimal. By rewriting the rest of the Python code and assuming we could achieve a 1000% boost on this portion (which is highly unlikely given the shallowness of the Python loops), we would not gain more than a 2.4x speed-up globally.
Hence major improvements can only be achieved by algorithmic improvements in this particular example (e.g. trying to find operation that are both costly and useless to avoid computing then rather than trying to optimize their implementation).
It is however still interesting to check what’s happening inside the _nls_subproblem function which is the hotspot if we only consider Python code: it takes around 100% of the cumulated time of the module. In order to better understand the profile of this specific function, let us install line-prof and wire it to IPython:
$ pip install line-profiler
Under IPython <= 0.10, edit ~/.ipython/ipy_user_conf.py and ensure the following lines are present:
import IPython.ipapi ip = IPython.ipapi.get()
Towards the end of the file, define the %lprun magic:
import line_profiler ip.expose_magic('lprun', line_profiler.magic_lprun)
Under IPython 0.11+, first create a configuration profile:
$ ipython profile create
Then create a file named ~/.ipython/extensions/line_profiler_ext.py with the following content:
import line_profiler def load_ipython_extension(ip): ip.define_magic('lprun', line_profiler.magic_lprun)
Then register it in ~/.ipython/profile_default/ipython_config.py:
c.TerminalIPythonApp.extensions = [ 'line_profiler_ext', ] c.InteractiveShellApp.extensions = [ 'line_profiler_ext', ]
This will register the %lprun magic command in the IPython terminal application and the other frontends such as qtconsole and notebook.
Now restart IPython and let us use this new toy:
In [1]: from sklearn.datasets import load_digits
In [2]: from sklearn.decomposition.nmf import _nls_subproblem, NMF
In [3]: X = load_digits().data
In [4]: %lprun -f _nls_subproblem NMF(n_components=16, tol=1e-2).fit(X)
Timer unit: 1e-06 s
File: sklearn/decomposition/nmf.py
Function: _nls_subproblem at line 137
Total time: 1.73153 s
Line # Hits Time Per Hit % Time Line Contents
==============================================================
137 def _nls_subproblem(V, W, H_init, tol, max_iter):
138 """Non-negative least square solver
...
170 """
171 48 5863 122.1 0.3 if (H_init < 0).any():
172 raise ValueError("Negative values in H_init passed to NLS solver.")
173
174 48 139 2.9 0.0 H = H_init
175 48<PHONE_NUMBER>.3 5.8 WtV = np.dot(W.T, V)
176 48 16144 336.3 0.8 WtW = np.dot(W.T, W)
177
178 # values justified in the paper
179 48 144 3.0 0.0 alpha = 1
180 48 113 2.4 0.0 beta = 0.1
181 638 1880 2.9 0.1 for n_iter in xrange(1, max_iter + 1):
182 638 195133 305.9 10.2 grad = np.dot(WtW, H) - WtV
183 638 495761 777.1 25.9 proj_gradient = norm(grad[np.logical_or(grad < 0, H > 0)])
184 638 2449 3.8 0.1 if proj_gradient < tol:
185 48 130 2.7 0.0 break
186
187 1474 4474 3.0 0.2 for inner_iter in xrange(1, 20):
188 1474 83833 56.9 4.4 Hn = H - alpha * grad
189 # Hn = np.where(Hn > 0, Hn, 0)
190 1474 194239 131.8 10.1 Hn = _pos(Hn)
191 1474 48858 33.1 2.5 d = Hn - H
192 1474 150407 102.0 7.8 gradd = np.sum(grad * d)
193 1474 515390 349.7 26.9 dQd = np.sum(np.dot(WtW, d) * d)
...
By looking at the top values of the % Time column it is really easy to pin-point the most expensive expressions that would deserve additional care.
Memory usage profiling¶
You can analyze in detail the memory usage of any Python code with the help of memory_profiler. First, install the latest version:
$ pip install -U memory_profiler
Then, setup the magics in a manner similar to line_profiler.
Under IPython <= 0.10, edit ~/.ipython/ipy_user_conf.py and ensure the following lines are present:
import IPython.ipapi ip = IPython.ipapi.get()
Towards the end of the file, define the %memit and %mprun magics:
import memory_profiler ip.expose_magic('memit', memory_profiler.magic_memit) ip.expose_magic('mprun', memory_profiler.magic_mprun)
Under IPython 0.11+, first create a configuration profile:
$ ipython profile create
Then create a file named ~/.ipython/extensions/memory_profiler_ext.py with the following content:
import memory_profiler def load_ipython_extension(ip): ip.define_magic('memit', memory_profiler.magic_memit) ip.define_magic('mprun', memory_profiler.magic_mprun)
Then register it in ~/.ipython/profile_default/ipython_config.py:
c.TerminalIPythonApp.extensions = [ 'memory_profiler_ext', ] c.InteractiveShellApp.extensions = [ 'memory_profiler_ext', ]
This will register the %memit and %mprun magic commands in the IPython terminal application and the other frontends such as qtconsole and notebook.
%mprun is useful to examine, line-by-line, the memory usage of key functions in your program. It is very similar to %lprun, discussed in the previous section. For example, from the memory_profiler examples directory:
In [1] from example import my_func
In [2] %mprun -f my_func my_func()
Filename: example.py
Line # Mem usage Increment Line Contents
==============================================
3 @profile
4 5.97 MB 0.00 MB def my_func():
5 13.61 MB 7.64 MB a = [1] * (10 ** 6)
6 166.20 MB 152.59 MB b = [2] * (2 * 10 ** 7)
7 13.61 MB -152.59 MB del b
8 13.61 MB 0.00 MB return a
Another useful magic that memory_profiler defines is %memit, which is analogous to %timeit. It can be used as follows:
In [1]: import numpy as np
In [2]: %memit np.zeros(1e7)
maximum of 3: 76.402344 MB per loop
For more details, see the docstrings of the magics, using %memit? and %mprun?.
Performance tips for the Cython developer¶
If profiling of the Python code reveals that the Python interpreter overhead is larger by one order of magnitude or more than the cost of the actual numerical computation (e.g. for loops over vector components, nested evaluation of conditional expression, scalar arithmetics...), it is probably adequate to extract the hotspot portion of the code as a standalone function in a .pyx file, add static type declarations and then use Cython to generate a C program suitable to be compiled as a Python extension module.
The official documentation available at http://docs.cython.org/ contains a tutorial and reference guide for developing such a module. In the following we will just highlight a couple of tricks that we found important in practice on the existing cython codebase in the scikit-learn project.
TODO: html report, type declarations, bound checks, division by zero checks, memory alignment, direct blas calls...
Profiling compiled extensions¶
When working with compiled extensions (written in C/C++ with a wrapper or directly as Cython extension), the default Python profiler is useless: we need a dedicated tool to introspect what’s happening inside the compiled extension it-self.
Using yep and google-perftools¶
Easy profiling without special compilation options use yep:
Note
google-perftools provides a nice ‘line by line’ report mode that can be triggered with the --lines option. However this does not seem to work correctly at the time of writing. This issue can be tracked on the project issue tracker.
Using gprof¶
In order to profile compiled Python extensions one could use gprof after having recompiled the project with gcc -pg and using the python-dbg variant of the interpreter on debian / ubuntu: however this approach requires to also have numpy and scipy recompiled with -pg which is rather complicated to get working.
Fortunately there exist two alternative profilers that don’t require you to recompile everything.
Using valgrind / callgrind / kcachegrind¶
TODO
Multi-core parallelism using joblib.Parallel¶
TODO: give a simple teaser example here.
Checkout the official joblib documentation:
A sample algorithmic trick: warm restarts for cross validation¶
TODO: demonstrate the warm restart tricks for cross validation of linear regression with Coordinate Descent.


WDV221 Intro Javascript
Project 6 Arrays Assignment
Please complete the following exercises on this page. When complete post this page to your server. Make a link in your WDV221 homework page for this assignment.
Include a comment in each script with the exercise number and a description of what the script is supposed to do.
Using Blackboard submit this Assignment.
Lookup Tax Rate Form
This form will use arrays to load the values into the drop down list. It will allow the user to select a state from the dropdown list. Once it is selected the tax rate for that state will be dislayed on the form.
Instructions:
- Create an array called states that lists the following states in this order: Iowa, Illinois, Missouri, Wisconsin
- Create a parallel array called stateSalesTax that lists the following values in this order: 6%,11%,7%,8%.
- Use Javascript to dynamically load the list of states into the drop down menu.
- Create a function called salesTaxLookup( ).
- Use the onchange event handler on the select element to run salesTaxLookup( )
- The function will use a lookup loop to find where the state is located in the states array. It can then get the corresponding tax rate from the stateSalesTax array.
- It will display the tax rate for the selected state.


[[Subject .Subject "Reset your Grafana password - [[.Name]]"]]
Please click the following link to reset your password within [[.EmailCodeValidHours]] hours.
[[.AppUrl]]user/password/reset?code=[[.Code]]
Not working? Try copying and pasting it to your browser.


Use the master.yaml and node.yaml cloud-configs to provision a multi-node Kubernetes cluster.
Attention: This requires at least CoreOS version 695.0.0, which includes
etcd2
.

In one terminal, run gcloud compute ssh master --ssh-flag="-L 8080:<IP_ADDRESS>:8080"
and in a second
run gcloud compute ssh master --ssh-flag="-R 8080:<IP_ADDRESS>:8080"
.
These instructions are for running on the command line. Most of this you can also do through the Horizon dashboard. These instructions were tested on the Ice House release on a Metacloud distribution of OpenStack but should be similar if not the same across other versions/distributions of OpenStack.
Make sure the environment variables are set for OpenStack such as:
OS_TENANT_ID
OS_PASSWORD
OS_AUTH_URL
OS_USERNAME
OS_TENANT_NAME
Test this works with something like:
nova list
You’ll need a suitable version of CoreOS image for OpenStack Once you download that, upload it to glance. An example is shown below:
glance image-create --name CoreOS723 \
--container-format bare --disk-format qcow2 \
--file coreos_production_openstack_image.img \
--is-public True
nova secgroup-create kubernetes "Kubernetes Security Group"
nova secgroup-add-rule kubernetes tcp 22 22 <IP_ADDRESS>/0
nova secgroup-add-rule kubernetes tcp 80 80 <IP_ADDRESS>/0
nova boot \
--image <image_name> \
--key-name <my_key> \
--flavor <flavor id> \
--security-group kubernetes \
--user-data files/master.yaml \
kube-master
<image_name>
is the CoreOS image name. In our example we can use the image we created in the previous step and put in ‘CoreOS723’
<my_key>
is the keypair name that you already generated to access the instance.
<flavor_id>
is the flavor ID you use to size the instance. Run nova flavor-list
to get the IDs. 3 on the system this was tested with gives the m1.large size.
The important part is to ensure you have the files/master.yml as this is what will do all the post boot configuration. This path is relevant so we are assuming in this example that you are running the nova command in a directory where there is a subdirectory called files that has the master.yml file in it. Absolute paths also work.
Next, assign it a public IP address:
nova floating-ip-list
Get an IP address that’s free and run:
nova floating-ip-associate kube-master <ip address>
…where <ip address>
is the IP address that was available from the nova floating-ip-list
command.
Edit node.yaml
and replace all instances of <master-private-ip>
with the private IP address of the master node. You can get this by running nova show kube-master
assuming you named your instance kube master. This is not the floating IP address you just assigned it.
nova boot \
--image <image_name> \
--key-name <my_key> \
--flavor <flavor id> \
--security-group kubernetes \
--user-data files/node.yaml \
minion01
This is basically the same as the master nodes but with the node.yaml post-boot script instead of the master.


%inherit file="basewithmenu.html" /> <%block name="head"> ${parent.head()} %block> × Delete an Example Example to delete: Processing
Example to delete:
Processing


Spa & Wellness
Egypt has been a healing destination since ancient times thanks to its sunny and dry climate. The desert is ideal for treatments such as sand bathing and therapeutic dips in hot springs. Desert sands have proven qualities that heal arthritis and rheumatic pains. Egypt has rich therapeutic environments that attract people from around the world to enjoy its sand, climate, natural mineral water and sulphuric springs that cure numerous bone, muscle, kidney, skin and stomach diseases


Material Admin
9
Notification
David Belle
Cum sociis natoque penatibus et magnis dis parturient montes
View Previous
View Product
Refresh
Manage Widgets
Widgets Settings
View All
Code:
Created:
Last Modified:
uom
manufacturer
prod_ty
universe
entity_code
name
introduction_dt
sales_disc_dt
support_disc_dt
remarks
Commands
uom
manufacturer
prodTy
universe
entityCode
name
introductionDt
salesDiscDt
supportDiscDt
remarks
No data available
Edit
Delete


About I’m Raspy, a 23 year old Math student. I’ll post here anything I want- musings, hobbies and interesting topics. Subjects include but not limited to math, health and biology, biohacking, philosophy, writing, economics and maybe movies.


Lion cub mummies feature in huge ancient Egypt find
by Pulse News Agency International by AFPEgypt on Saturday unveiled a cache of 75 wooden and bronze statues and five lion cub mummies decorated with hieroglyphics at the Saqqara necropolis near the Giza pyramids in Cairo.
Mummified cats, cobras and crocodiles and scarabs were also unearthed among the well-preserved mummies and other objects discovered recently.
The Antiquities Ministry announced the find at the foot of the Bastet Temple, dedicated to the worship of cats among ancient Egyptians, in the vast necropolis.
Antiquities Minister Khaled El-Enany described the discovery as "a (whole) museum by itself".
He said initial archaeological studies showed that five of the mummies are lion cubs.
Other artifacts uncovered in the dig included statues of an Apis bull, a mongoose, an ibis, a falcon and the ancient Egyptian god Anubis in animal form.
The artifacts belong to the 26th Dynasty which dates back to the seventh century BC, Enany said.
The trove also boasts a collection of ancient Egyptian deities in the form of 73 bronze statuettes depicting the god Osiris, six wooden statues of Ptah-Soker and 11 statues of Sekhmet, the warrior goddess of healing.
Egypt has sought to promote its unique heritage as a way to revive its vital tourism sector, which has been badly hit by political insecurity and attacks.
However, critics say archaeological sites and museums suffer from negligence and poor management.
ff/srm


--- layout: releases title: Project Releases ---
The recommended way to get started with GNaP is to follow the Getting Started guide. You can however use any of the components that make up GNaP in your projects.
{[{ category.description }]}
{[{ project.description }]}
PM> Install-Package {[{ packageList.nuget }]}
npm install -g {[{ packageList.npm.name }]}
PM> Install-Package {[{ packageList.nuget }]}
npm install -g {[{ packageList.npm.name }]}


upgrade-flash page
users only have a chance of seeing this page if the inspector's useRedirect flag is set to true.
users that land here have a version of flash installed that is too old to display our flash content properly. we ask them to please upgrade.


An organization is a legal entity with resources and capabilities, with a permeable boundary. What is a company in terms of knowledge though: a processor (Cohendet et al) or repository (Fransman) or a system of interpretation (Daft and Weick)? GRant argues about resources and capabilities in this respect: resources are the source of a firm’s capabilities, capabilities are the main source of competitive advantage.
<!– more –>
Carlisle believes that knowledge is what adds value to resources, hence you don’t only work towards cost efficiencies and differentiation but you should look to enable human interaction and facilitate processes.

Looking at the process Palanyi said: "We know more than we can tell." and sometimes more than we are willing to tell. Brown and Duguid believe you have to integrate individual, community-of-practice and organizational knowledge. Conversations are an important part helping in that integration. Communities-of-practice are our social learning systems (Wenger), an informal group with shared interests, beliefs and a value system but without a formal organization members belong to.

As CoPs are informal and diverse, they provide an amazing ecosystem of knowledge or expertise that the company can tab into if it knows about it. They are very susceptible to group think though so you might want to foster the enquiring mind, develop a sense of belonging to help people disagree, and put an emphasis on double loop learning. You also need critical mass and could make good use of artifacts, learning projects, connectivity, … .

Knowledge-Sharing Culture

If for knowledge to grow you need interaction and sharing, the culture should fit that idea. Procedural justice is one term that has come up to describe the perceived fairness in decisions which is needed for that. The other important item is that people have to see knowledge sharing as a two way street. Procedural justice can be broken down to:
- Engagement
- Explanations
- Expectations

Organizational Learning

CoPs share and create knowledge, giving it from expert to novice, but does that mean the organization learns? The learning curve for example does seem to apply to products too in that the cost of production will go down over time in a relatively predictable way. Training and R&D are other things that are considered as learning. So in a sense we can be reasonably sure that there will be more learning along the way, with the rate of new learning increasing over time.

There are innovation inhibitors too. In an efficient industry for example, innovation often might violate existing routines and hence make you temporarily less efficient. Short term financial focus has the same result, leading to worse long-term results and then more short-term profit focus, … moving into a downward spiral. It is also hard to put a real value to learning as benefits are coming at an uncertain time in the future.

The learning organization is a broad term to describe an idea. Peter Senge (Fifth Discipline) is one of the biggest supporters of the idea. He sees five disciplines to drive learning in the right direction:
- Systems thinking
- Mental models
- Shared vision
- Team learning
- Personal mastery

Knowledge "Capture" in organizations

One way to capture knowledge inside an organization is through processes. There are different kinds of ways to do that:
- Embrained (double-loop learning, internalized and hard to share)
- Embodied (depends on physical presence)
- Encultured (Shared understanding)
- Embedded (In systemic routines)
- Encoded (By signs and symbols)

Blackler (95) derived 4 organizations from this with the encoded knowledge is ahred by all:
- Expert dependent organizations rely on embodied knowledge with the focus being on the individual.
- Knowledge routinized organization rely on embedded knowledge, putting the focus more on the rules, procedures and technology.
- The literature talks about a shift towards communication-intensive companies focussing on encultured knowledge, a collective understanding.
- More individual is the symbolic-analyst-dependent organization focussing on embrained knowledge, mainly used in knowledge intensive work.

This brings us to the idea of organizational memory, because at least embrained and embodied knowledge is hard to keep if employees leave. Letting middle management go is something that has often been said to be bad for loosing exactly that knowledge. It is therefore important to make sure that as much knowledge is made explicit or objectified, if you cannot keep your people for sure. In Blackler’s theory mostly embedded and encoded knowledge is being objectified.

Walsh and Ungson identified six sources of organizational memory: culture, transformation, structures, ecology, external archives and individuals.

Cohen and Levinthal (1990) integrated recognizing, sharing and assimilating knowledge to the term: absorptive capacity of a company. A big part here is to re-thing, unlearn, … . Relevant previous knowledge is also important.

J.C. Spender: Epistemology

Knowledge is by now seen as central to understand a company and there are a lot of different ways to know things and some are only known collectively. Some see knowledge as highly problematic and objectifiable, as a resource to be managed, capturable to become information and hence a managable commodity. But:

knowledge cannot be consumed through use

It is not easily managed

Tacit skills and collective competencies are sometimes invisible until missed

The value of explicit knowledge depends on changing context which is largely not possible to be anticipate.

Another view is that knowledge is highly problematic, involving intuition, emotions and more. The idea is related to Simon’s bounded rationality, in that we have limited information and look for the best compromise out there. He argues that all learning takes place in people’s heads. This means that Simon stops where Spender takes a closer look. Epistemological pluralism means we know things in different ways and looking at companies, they try to solve uncertainty with collective knowledge. This knowledge is not linked to anything specific but rather all encompassing, a form of reference: "The way things are done around here" is a saying that shows this. Epistemology can be seen as the theory of how we know things. Taylor for example argued that management needs to find relevant knowledge and re-package it as "best practice".

Schumpeter looked at "gales of creative destruction" which are similar but more encompassing than the idea of disruptive technologies. Schumpeter then put the power in the larger firms due to their big R&D departments but Spender believes that he would now say that the smaller firms have a bigger advantage in todays changing environment.

Spender believes the firm exists to integrate and co-ordinate different knowledge. We have component knowledge and integrative knowledge with the second more on the side of the firm. The concept of a community of practice is a powerful one in this case.

Nonaka’s Framework: ba

The Japanese use a more "steady state" system of knowledge, with things happening from within the firm. Employer and employee are committed which is where the continuous technological improvement comes from. Hence Nonaka does not look so much at codifying tacit knowledge but at integration all of the knowledge available to the firm, the context of knowledge creation: ba.

Trust can be a knowledge asseet, an input to the process, essential as an ingredient and an output of working together. Ba doesn’t have a real english equivalent as it is linked to the closed way Japanese companies work. Communities of practice outside of the firm are hard to be envisioned in a Japanese company.

In Western countries you focus more on the individual, labour mobility and explicit knowledge of the individual. Nonaka and Takeuchi use the SECI model: Socialization, Externalization, Combination, Internalization. All this is part of a spiraling process.

Socialization: The key to acquiring tacit knowledge is through experience. You learn with more than using language and work with the master. You need a shared experience.

Externalization: From tacit to explicit. This can happen through metaphors, analogies, … . The writing down of new knowledge shows gaps between tacit knowledge and explicit concepts. The potential wealth of figurative language helps to elicit tacit knowledge from a team. This part is central to knowledge creation as it creates new explicit concepts. Metaphor —(harmonizes contradictions)—> analogy (bridges the gap between image and language model) –> model.

Combination: from explicit to explicit. MBAs are a good example here, as a lot of new knowledge is created through combination of different concepts.

Internalization: from explicit to implicit. This again is learning by doing part and if socialized starts a new spiral. Documentation of e.g. customer calls is important here because it provides the means for others to re-experience.

In Japan promotions happen by age. Those higher up give vague visions to show that they believe their subordinates will implement the preferred option. They will also look out for their interest though.

Arguably Nonaka’s idea goes against the belief that tacit knowledge cannot be made explicit. It seems to be more the case that Japanese companies are "social containers" making explicit knowledge less needed because it exists in an implicit pool. Due to the long relationship focus in Japan this knowledge can become shared.

Face-to-Face, socialization happens as the originating ba.
Peer-to-Peer, externalization through reflection happens as the interacting ba.
Group-to-Group, combination happens as the caber ba.
On-the-site, internalization happens as the exercising ba.

Cook and Brown on knowledge and knowing in an organization

Knowledge is possessed (see Blackler) but knowing is a process, with knowledge being a tool. A violin player knows how to play at all times but playing might tab into other pools of knowledge as knowing also includes how to handle your nerves.


PPT Slide
Notes:
Clicking any link bring up an “Inspect” page containing of information about the associated concept. These pages are constructed on the fly from the databases available at the time. Each page contains information about a single concept and contains all
For example, clicking on Aluminum shows information about the material aluminum, such as its type (metallic), its possible uses (on the stove top and in the oven but not in the microwave), and the various products that contain aluminum.


Home
/
Products
/
Page 1 of 4
Filter by:
All Products
Sort by:
Alphabetically: A-Z
2oz Sunscreen w/ Carabineer
6.5 Foot Compact Retriever
Airbag Pro
Aloe Up 1oz Sunscreen-SPF15
Aloe Up 1oz Sunscreen-SPF30
6.5 Foot Compact Retriever
Airbag Pro
Aloe Up 1oz Sunscreen-SPF15
Aloe Up Hand Sanitizer
Aloe Up Par 3 Package
Aloe Up Sport Package
Aloe Up Spray - 6oz SPF 30
Aloe Up Spray - 6oz SPF 50
Alpha Bag
Alpha Bag
Aquatix 17oz Slim Spout Insulated Bottles
Aquatix Big Mouth 21oz Insulat
Aquatix Slim Spout 17oz Insula
Arctic Blast Cooling Cloth
Backbone Travel Cover Support System
BAG BOY BACKBONE
Bag Boy Compact 3
Bag Boy Express DLX 3-Wheel Cart
Bag Boy Express DLX Pro
Bag Boy Quad XL 4-Wheel Cart
Bag Boy Revolver FX Cart Bag
Bag Boy T-10 Hard Top Travel Cover
BAG BOY T-10 TRAVEL COVER
BAG BOY T-460 TRAVEL COVER
Bag Boy T-460 Travel Cover
BAG BOY T-700 TRAVEL COVER
BAG BOY T-700 TRAVEL COVER
Bag Boy T-750 Travel Cover
Bag Boy Trekker Ultra Lite Stand Bag
Bag Boy Umbrella Holder
Bag Boy Valuables Pouch
Ball Eagle Putter Cup
Bandon Mens Cart Bag
Bridgeport Womens Cart Bag
Cedar Shoe Trees
Champ C-1 Putter Grip
Champ C2 Diamond Grip
Champ C4 Diamond Grip
Champ C6 Tour Performance Grip
CHAMP CUSTOM FLYTEES
Champ Dual Brush
Champ Dual Brush
Champ FlyTees
1
2
3
...
Next »
CONTACT US TODAY FOR INFO ON
GOLF'S
TOP BRANDS!
Contact Us


--- layout: page title: Jekyll Casts hide_title: true sitemap: priority: 1 changefreq: daily ---
Step by step tutorials and screencasts covering everything you need to know about Jekyll.
{{ cast.description }}


Welcome to my buildlog!
Here you will find the documentation of my projects and various other thing that are of interest to me.
About me
I am a passionate Electronics Engineer with a passion for old technology and connected devices (I hate the term IoT).
I have partical interest in electronic components made with glass like Nixie tubes, CRT sreens and vacuum tubes.
I have too few projects documented and even fewer well documented. Creating this site in the hope to log the information in a more consistant matter as well as share my passion for old useless things.
Feel free to reach out to me via Twitter~


Overall Approach
What's on this page?
- Progressive Approach Defined
- The Necessity for Scannable Content
- Who Are Our Readers?
The Progressive Approach
Most pages should start out simple, easy to digest, understand. They should move gradually towards the complex. This is what we mean by progressive.
How to make a page progressive:
- Always start high-level, jargon-free. All readers should be able to understand the top of every page.
- Make your text immediately relevant. Jump directly into the subject. First sentence should grab every reader, either because it's meaningful to them or you've written it in a way that piques their curiosity.
- After the introductory paragraphs, move towards more technical content - but don't switch too quickly from easy to hard. Introduce difficulty gradually - define terms, use examples, give an overview of a technical solution before getting into the details.
The last 2/3rd of the page can get as technical as needed. We try to place all technical details (especially code) into our how-to and in-depth pages.
Following the above progressive approach, every reader with a minimum amount of technical expertise (see below) should find the top 1/3 of every page fairly easy to understand. And every impatient developer or reader should like the bottom 2/3 of every page.
To learn more about the progressive approach, check out why we took a progressive approach.
Scannable content
Users should be able to read, skip around, or scan our content.
All of our content should be scannable. This can have 3 meanings:
- Users should be able scroll to find what they need. They should be able to find - easily and quickly - the exact information they are looking for.
- They should also know when and where they can stop and read to meet their needs.
- They can also choose to skip around - read a little, scan a bit, jump to a hyperlink, then continue to read.
Of course, they are also free to start at the top of a page and read every word until they reach the last. Up to them.
Who are our readers?
We're writing technical content; therefore, all content should reach a minimum standard of technical usefulness. To ensure this, we've created a base reader: our least technical reader is a first year computer science student. This means that we can assume every reader has a basic set of computer science notions to understand Algolia's API.
The general philosophy is that we handhold a first-year student without boring the expert. We should make it easy for both extremes to find what they need: the novice needs to read, so we engage and simplify a bit; the expert needs to scan to find what they need, so "scannable content" is important. We believe the progressive approach is the best way to achieve this.
Personas, in general
Besides the base reader, we have a variety of personas, with each one searching for a different experience. We should always try to imagine who we are writing for.
- Advanced Algolia users (Think SE)
- Expert developers or fast learners
- Methodical or slow learning ones
- Curious people
- Disoriented, confused readers, who, for whatever reason - distracted, bad night, or just high fear-factor in learning something new. The ones who push a door that says pull and keep pushing, who wave to the people inside to help open the door because it never occurs to them to pull. The ones who look for a bottle opener on a twist-off cap.
Precise personas
- Our least technical reader is a first-year Computer Science student.
- Our most technical reader can be a senior-level applications developer, a PHD computer science student, a low-level systems developer or architect, or an SE.
- Our readers can be curious or focused or lazy. Write to the curious, but give the focused and lazy clear indications where to find answers, code, how-to, and ref.
- Some readers learn by doing while others need to understand everything before starting; some readers are disoriented while others are at the top of their game.
Reader purposes:
- They want to understand Algolia (all users)
- First time implementor (developers, tech leaders, project managers leading the technical project)
- Improving an existing solution
- Troubleshooting a problem
- Adding new features
The structure of our style guide


Sodium Fluoride (0.05%)
Keep out of reach of children.
Children under 7 years or younger must have parent supervision.
If one drank a lot of amount, drink some milk and please go see a doctor.
Keep out of reach of children.
Use twice a day after brushing, meals, and before social occasions.
Rinse mouth with this Dental Clear Natural about 10 -15 ml for 30 seconds and expel.
Water
L-Menthol
Glycerin
Acetic Acid
Sodium Acetate
Camellia Sinensis leaf Extract
Saccharin sodium
Sodium benzoate
Xylitol
Poloxamer
Citrus Medica Limonum Peel Oil
Malic Acid
Propolis Exxtract


|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
| Interface Summary | |
|---|---|
| KeepListener |
| Class Summary | |
|---|---|
| GblogSearch | Java Class wrapping an underlying JSNI implementation of the GblogSearch object |
| GblogSearchImpl | |
| GdrawOptions | Java Class providing operations for the underlying psuedo implementation of the GdrawOptions object - there is no corresponding JNSI implementation for this object. |
| GdrawOptionsImpl | |
| GlocalSearch | Java Class wrapping an underlying JSNI implementation of the GlocalSearch object |
| GlocalSearchImpl | |
| GResult | |
| GResultImpl | |
| GSearch | |
| GSearchControl | Main Java Class in the Google Ajax Web Search GWT implementation This class contains a link through to the object controlling the GSearchControl |
| GSearchControlImpl | |
| GsearcherOptions | Java Class providing operations for the underlying psuedo implementation of the GsearcherOptions object - there is no corresponding JNSI implementation for this object. |
| GsearcherOptionsImpl | |
| GSearchImpl | |
| GSearchWidget | |
| GvideoSearch | Java Class wrapping an underlying JSNI implementation of the GvideoSearch object |
| GvideoSearchImpl | |
| GwebResult | |
| GwebResultImpl | |
| GwebSearch | Java Class wrapping an underlying JSNI implementation of the GwebSearch object |
| GwebSearchImpl |
Provides a Widget that wraps the Google AJAX Search API.
This version does not implement the complete API, and is restricted to the following (for time rather than technical issues)
To use, do the following:
1. Add the following to the HTML file<,p>
<link href="http://www.google.com/uds/css/gsearch.css" rel="stylesheet" type="text/css"/> <script src="http://www.google.com/uds/api?file=uds.js&v=0.1&key=XXXXXXXX" type="text/javascript"> </script>
Where key=XXXXXXXX needs to be replaced with a valid Google Ajax Search API Key available from the Google AJAX Search API site.
2. In your *application*.gwt.xml file add:
<!-- Inherit the Widgit library --> <inherits name='org.gwtwidgets.WidgetLibrary'/>
3. Widget can be used similar to the following:
// Create an instance of the SearchWidget GSearchWidget searchWidget = new GSearchWidget(); searchWidget.getGSearch(); // Set the result set size to one of 2 enumerations searchWidget.setResultSetSize(GSearch.SMALL_RESULTSET); // Set the target for links in the search to one of 4 enumerations searchWidget.setLinkTarget(GSearch.LINK_TARGET_SELF); // If own text input field used, can set the timeout on the // control for firing off the search to one of 3 enumerations searchWidget.setTimeoutInterval(GSearchControl.TIMEOUT_SHORT); // Create a GsearcherOptions GsearcherOptions searchOptions = new GsearcherOptions(); // Set the results to be closed on first call searchOptions.setExpandMode(GSearchControl.EXPAND_MODE_CLOSED); // Create a GwebSearcher GwebSearch theWebSearcher = searchWidget.getGwebSearch(); // OPTIONS: // Optionally restrict its results to those from amamzon.co.uk theWebSearcher.setSiteRestriction("www.amazon.co.uk"); // Add the searcher to the Widget searchWidget.addSearcher(theWebSearcher,searchOptions); // Create a GlocalSearch GlocalSearch theLocalSearcher = searchWidget.getGlocalSearch(); // OPTIONS: // Put its location to Stockholm // Parameters of GPoint or GLatLng not implemented yet as that // creates a dependancy on Google Map implemenations... // ...of which there is a really good one by aglaforge theLocalSearcher.setCenterPoint("Stockholm, Sweden"); // Add the searcher to the Widget searchWidget.addSearcher(theLocalSearcher,searchOptions); // Create a GvideoSearch GvideoSearch theVideoSearcher = GvideoSearch.create(); // OPTIONS: // No additional methods // Add the searcher to the Widget searchWidget.addSearcher(theVideoSearcher,searchOptions); // Create a GblogSearch GblogSearch theBlogSearcher = GblogSearch.create(); // OPTIONS: // Could restrict the searched sites if we wanted // theWebSearcher.setSiteRestriction("www.blogspot.com"); // Add the searcher to the Widget searchWidget.addSearcher(theBlogSearcher,searchOptions); // Create a GdrawOptions GdrawOptions theOptions = new GdrawOptions(); // Set the search to return in a Tabbed view as opposed to Linnear theOptions.setDrawMode(GSearchControl.DRAW_MODE_TABBED); // If using a different input area, can define as follows: // TextBox theSearchEntry = new TextBox(); // theOptions.setInput(theSearchEntry.getElement()); // Draw the search control searchWidget.draw(theOptions); // Automatically execute a search across the searchers searchWidget.execute("'Isbar Stockholm'");
|
||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |


My name is Konstantyn Agapov, I am a Web Developer with a background in the Logistics and
the Hotel
industries.
During my study at University of California San Diego Extension Coding Bootcamp I gained skills
working with JavaScript, I enjoy creating applications that can be useful and fun, my true passion is
building applications with React, Node js and MongoDB.
My colleagues usually describe me as a quick learner,
well organized, optimistic and easy-going person who enjoys the challenges and accomplishments that comes
with learning. I believe when you combine all of that with my technical knowledge that I would be a great
fit to any development team.
Ready to start your next project? Give me a call or send an email and I will get back to you as soon as possible!


ISMP IIT Ropar
Home
Page 1
Page 1-1
Page 1-1
Page 1-1
About Us
Gallery
FAQ's
Contact Us
Our Team
Sign Up
Previous
Next
Institute Student Mentorship Programme
IIT Roapr
About Us
Contact Us
Our Team


Planet Sick-Boy: http://www.sick-boy.com "We Put the SIN in Cinema"
© Copyright 2001 Planet Sick-Boy. All Rights Reserved.
The wonderful thing about Tim Burton's "retelling" of The Planet of the Apes is that most of the people involved with the original are dead and, thusly, can't make annoying cameo appearances like we've gotten used to seeing in the remake genre (who cares if Roddy McDowall plays an ape again if you can't see his face?). Sure, Charlton Heston is in it, but he's practically dead. His brain is, anyway. It's a prerequisite for membership in the NRA.
It's been over 30 years since Apes' initial release in 1968, and while the special effects, which include a barber pole in the spaceship, don't exactly hold up, the story does, even though it's better suited for something like The Twilight Zone (in fact, Rod Serling was one of the film's writers). The Gen-Xers to whom the new film is targeted probably see the original as a cheesy sci-fi adventure, thanks to four sub-par sequels (they got worse and worse) and the lame-o television spin-off that followed. Sure, it was cheesy, but the original was so much more than sweaty actors in plastic monkey suits. Apes examined difficult issues like bigotry and evolution in a unique and thought-provoking way, making it a whole lot more interesting than, say, 95% of the sci-fi films that followed it.
After a brief monologue from Heston (a previous Oscar winner for Ben Hur) explaining that he and his three-person crew have been traversing space for hundreds and hundreds of Earth years, his Colonel George Taylor straps himself into a space-bed with the intention of waking up as his ship approaches Earth. But like they so often do, things go wrong.  The ship crashes into a body of water on a strange planet and quickly sinks just after the men escape (they don't bother checking the composition of the atmosphere, but that's just one of the film's many unintentional laughs...like when they wake up after years of space-sleep with full beards but the same haircut).
It isn't long before Taylor and his men are rounded up, like so many Jews and Africans, by the apes that control the planet. While the message isn't at all blunt (Taylor and crew are White; apes are Black), it's delivered extremely well. The monkeys think all humans are filthy, smelly and disease-ridden, and spray them down with high-powered hoses (the original was more of a straight role-reversal than the remake). And if the stereotype-smashing isn't enough for you, there's also a debate on evolution, in which Drs. Cornelius (Roddy McDowall) and Zira (Kim Hunter) clash with the old, conservative Dr. Zaius (Maurice Evans).
So the story (written by Serling and Michael Wilson, based on Pierre Boulle's novel) is cool and the effects are dated - what about the acting? It's god-awful. Is there any actor alive capable of overacting like Heston does here? He makes Rob Schneider and Troy McClure look like Olivier and Gielgud. The highlight of Apes is the 30 minutes that Heston is unable to speak.
Apes landed Oscar nominations for its costumes and Jerry Goldsmith's unmistakable score, and won an Honorary Award for the cutting-edge makeup used to create the apes. The film's sets are strikingly similar to those recently seen in the Oscar-nominated Dr. Seuss' How the Grinch Stole Christmas, and the scarecrows that the apes use to frighten the masses away from The Forbidden Zone probably inspired the stick man figure from The Blair Witch Project. And it was rated G, despite Linda Harrison's skimpy outfits and the nude swimming scene Taylor shares with his crew before the apes show them what for.
1:57 - G
========== X-RAMR-ID: 28952 X-Language: en X-RT-ReviewID: 237327 X-RT-TitleID: 1016397 X-RT-SourceID: 595 X-RT-AuthorID: 1146
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


--- title: We'll be in touch hero: We'll be in touch ---
Your message is sent. I'll get back to you as soon as possible!


This sample shows the minumum code needed to define a new renderer that sets connection shapes at runtime based on a connection's type checks:
TypedConnectionShapeRenderer
'typed_connection_shapes'
TypedConnectionShapeProvider
. It contains all of the constants needed to size a block during rendering. makeConstants_
to tell the custom renderer to use the custom constants provider.
makeSquared
and makeRounded
functions to return rectangular and rounded shapes respectively.
init
function on the TypedConnectionShapeProvider
:init
function to set up default properties.this.SQUARED
and this.ROUNDED
shapeFor
function to inspect the connection's type checks array and return the correct connection shape:


Next: Debugging Utilities, Previous: The External Environment, Up: The External Environment
The top level loop is the Common Lisp mechanism by which the user normally interacts with the Common Lisp system. This loop is sometimes referred to as the Lisp read-eval-print loop because it typically consists of an endless loop that reads an expression, evaluates it and prints the results.
The top level loop is not completely specified; thus the user interface is implementation-defined. The top level loop prints all values resulting from the evaluation of a form. Figure 25–1 lists variables that are maintained by the Lisp read-eval-print loop.
| * | + | / | - |
| ** | ++ | // | |
| *** | +++ | /// |
Figure 25–1: Variables maintained by the Read-Eval-Print Loop


Om announce tour with Wovenhand, as Sleep announce hiatus
by Andrew SacherOM have a Brooklyn show with “special guests” coming up on December 14 at Pioneer Works (tickets), and they’ve now also announced a lengthy 2020 tour with Wovenhand happening in February and March. There’s no NYC show on that tour, but there are other Northeast dates (like DC, Philly, Boston, Providence, and Pittsburgh) with some nights off around then, so maybe they’ll add a NYC show after the Pioneer Works date passes? Stay tuned to find out. All dates are listed below.
Meanwhile, OM frontman Al Cisneros’ band Sleep have their previously announced New Year’s run in Chicago coming up, and they recently revealed that they’d be going on an indefinite hiatus after that. At least that’s what we think “prep hypersleep facil for indef duration” means. See their announcement below.


In my first 4 months at Publicis Sapient, I had the opportunity to participate in a company-wide global accessibility hackathon called enABLED Through Tech. enABLE aims to promote accessibility as a core principle of experience design, and encourages teams to instill this value in their day-to-day work for clients.
My team chose to focus on helping those with visual impairments navigate through essential daily activities, like shopping for groceries, where it can be especially difficult to do safely during COVID-19 times. We were one of 6 teams invited to pitch and present our prototype demo during the week of International Day of Disabled Persons (IDPD).
Designer
Sept 2020 - Dec 2020
Figma, MURAL, iMovie
Lauren Ip (me!), Fawzi Ammache, Joshua Kwok, Adriana Rodriguez
Around the world, 43 million people are considered legally blind, and hundreds of millions more are living with vision loss. With the brutal spread of COVID-19, life for those living with visual impairments is more challenging than ever before.
Restrictions placed on physical interactions and touch disrupt vital means of orientation. Daily tasks such as grocery shopping are increasingly difficult, and according to the Royal National Institute of Blind People, the proportion of visually impaired people relying on others to shop for them has more than doubled during the pandemic.
GoodGuide is a mobile navigation app that pairs a voice user interface with indoor mapping technology to guide visually impaired users throughout their in-store grocery shopping journey. Using bluetooth beacons placed around stores, GoodGuide generates an optimal shopping route based on a user’s grocery list, then directs users to each item on their list by giving audio cues. GoodGuide also allows users to scan QR codes placed around the store to hear information about products located within a specific aisle.
I played a key part in prototyping our design in Figma, from low- to high-fidelity, and led the creation of a demo video to showcase how our solution would be used. I also acted as the main liason between our team and key stakeholders, including an accessibility expert and representative user.
Tyler is a musician and photographer based in Winnipeg, Manitoba. He is actively involved in the local community and is well known as DJ and owner of a popular downtown social club. Tragically, Tyler lost his vision over the course of 9 months and had to quickly adapt, learning how to navigate the world through sound and touch.
With the onset of COVID-19, Tyler's challenges multiplied. Previously difficult tasks such as grocery shopping are now even more burdensome, due to restrictions on physical interactions and limitations of current technology.
→ Read Tyler's full story here.
We designed GoodGuide with Tyler and people like him in mind, to make their trips to the grocery store a little less daunting. We met with Tyler to understand his pain points and experiences coping with 9 months of gradual vision loss, and how it has affected his ability to grocery shop independently.
We had limited time to work on this hackathon (which we were juggling on top of our regular work commitments), so our design process was admittedly messy and rushed. But we did manage to run a pseudo-design sprint using a MURAL board, where we roughly documented our thought process throughout, including research questions/notes, persona development, opportunity areas, brainstorming and rough sketches.
Below is a storyline we pitched that follows Tyler on a typical weekly grocery shopping trip, and shows how GoodGuide can help him at each step of his journey.
Tyler would like to bake chocolate chip cookies this weekend, so he adds chocolate chips to his shopping list through the voice assistant, and GoodGuide automatically sorts his list by category.
“I’m planning on baking some cookies this weekend – I have to buy some chocolate chips and restock on butter. I’ll add that to my weekly shopping list and then I’ll be good to go.”
GoodGuide features:
Once Tyler arrives at the store, GoodGuide detects which shop he is at, and automatically optimizes his in-store shopping route based on this store’s layout to get all the items on his list.
“I hope the chocolate chips are where they usually are, sometimes they shift things around when there are promotions. It throws me off when items are out of their usual places.”
GoodGuide features:
Through in-app audio cues, GoodGuide offers Tyler step-by-step instructions and 360 degree audio pings to guide him towards his first item, chocolate chips, via bluetooth beacons placed throughout the store. Once Tyler reaches the aisle, he holds up his phone to scan a QR code. Goodguide reads out the list of items in that aisle. Great, the chocolate chips will be to his right.
“Thankfully the chocolate chips are in their usual aisle. Last time I was looking for almond slivers, and instead of being in the baking aisle, they were moved to the snacks and nuts aisle!”
GoodGuide features:
After picking up the chocolate chips, Tyler follows goodguide to the next item on his list, thinking ahead to the smell of the freshly baked cookies he’ll be enjoying on the weekend.
“I’m so glad I can immediately know where to go next. Sometimes I’m walking back and forth around the entire store looking for items that are actually near each other.”
GoodGuide features:
Proposed features:
Proposed features:
GoodGuide can help transform the way people living with visual impairment do their shopping. We had to ensure that it was easy for retailers to get on board:
GoodGuide was very positively received by our audience and judging panel. During the week of International Day of Persons with Disabilities, we had the opportunity to present our solution to nearly 100 event attendees worldwide, including our own Publicis Sapient CEO Nigel Vaz, as well as share our experience with our local office team in Toronto.
Out of 24 teams that participated in the hackathon, we took 3rd place (honourable mention)–despite being the most junior team to have made it to the finals!
View our pitch deck below or access it here:
→ Transcript of our pitch can be found here for accessibility.
View the video demo of our prototype in action below, or access it here (turn up your volume!):
I was so proud of our team for what we were able to accomplish in such a short amount of time, not just in how we placed, but what we learned throughout the process. My main goal going into the hackathon was to simply learn more about designing for accessibility–and that I did! Here's what I learned:


 All records of your participation, including as part of aggregate report totals, will be removed.
Please be certain you want to delete your account, as there is no undo! If you're not sure or have questions before deletion, please feel free to send us a note at support@kidsallin.com


Pats Salmon Cookie
Home
Sales
Hours
About us
Add a new Branch
Max Number of costumers
Min Number of costumers
Avg. Cookies sold / Costumer
SHARE RECIPT


Testing for configuration management
Understanding the deployed configuration of the server hosting the web application is almost as important as the application securi-ty testing itself. After all, an application chain is only as strong as its weakest link. Application platforms are wide and varied, but some key platform configuration errors can compromise the application in the same way an unsecured application can compromise the server.
(OTG-CONFIG-001) Test Network/Infrastructure Configuration
(OTG-CONFIG-002) Test Application Platform Configuration
(OTG-CONFIG-003) Test File Extensions Handling for Sensitive Information
(OTG-CONFIG-004) Review Old, Backup, and Unreferenced Files for Sensitive Information
(OTG-CONFIG-005) Enumerate Infrastructure and Application Admin Interfaces
(OTG-CONFIG-006) Test HTTP Methods
(OTG-CONFIG-007) Test HTTP Strict Transport Security
(OTG-CONFIG-008) Test RIA Cross Domain Policy
(OTG-CONFIG-009) Test File Permission


Part 1: Settings
Define our settings for our IRC bot.
Module setup
If you remember from earlier tutorials, variables that are in all caps are meant to convey that they are constants.
For our settings.ini
file, we don’t need to import any special library or package. We are simply defining the settings that we want our IRC bot to use. ini files is just an informal standard for configurations. If you look at settings.ini.EXAMPLE, you’ll see two sections: [irc]
and [talkback]
. The [irc]
segment defines the configuration for connecting to an IRC server, while the [talkback]
section is configuration information specific to our bot. It’s good to group like-settings and configurations together for easy readability and management.
First, our connection-specific settings:
[irc]
endpoint = ssl:host=irc.freenode.net:port=7000
nickName = whatshereallysaid
realName = bot: provides quotations from notable women
channel = #newcoder
The endpoint
identifies which network we want to connect to. You may remember from the introduction that there are many IRC networks. You can see that for our bot, we are electing to connect to Freenode.
The ssl
means we want to connect over SSL creating a secure connection. If we didn’t want an SSL connection, we would replace ssl
with tcp
.
host
connects to the IRC network we want, in this case: irc.freenode.net
. For freenode, the ports to connect to for SSL connections are 6697, 7000, and 7070. If we were connecting via tcp
rather than ssl
, we could select either 6665, 6666, or 6667 (there are some others, too). Notice the port depends on type of connection, either SSL or TCP, which is typical of other protocols too (e.g. HTTP listens over 80, while HTTPS listens over 443).
The bot’s nickName
will show when it’s connected to Freenode, and its realName
will show when a user queries or requests more information about the bot itself (e.g. with the command, /whois whatshereallysaid
within a chat window).
Lastly, the channel
variable, a string that needs to start with #
. This is the channel that the bot will join when connecting to Freenode. By default, I have #newcoder
, which you are welcome to test your IRC bots in when it comes time.
Next, our bot-specific settings:
[talkback]
quotesFile = quotes.txt
# Trigger phrases, in lowercase
triggers =
that's what she said
The quotesFile
is pretty self-explanatory. Note that it is in the same directory level as the settings.ini.EXAMPLE file; if you had a different location for the quotesFile
, you could but in a relative path, ../otherQuotesFile.txt
, or absolute path, /Users/lynnroot/quotesForBots/otherQuotesFile.txt
.
The triggers
is the phrase a user says to which the bot will respond. It could be multiple phrases, but here, we only care about responding when someone says “that‘s what she said”. If you wanted to add another trigger, just add another line indented by 4 spaces, like so:
triggers =
that's what she said
that is what she said
that is what she said!!!
All set? Let’s continue with crafting our quote picker class →


About Me
I'm passionate about complex operations and leading teams to work efficiently. I am fascinated by technology companies that relentlessly drive the world to be a better place.
I have been in the driver's seat for some outstanding technological advancements throughout my career in mechanical engineering, management consulting, international operations, supply chain design and, most recently website design.
Highlights of my professional experience:
I can successfully design, implement and improve supply chains of highly engineered products.
- I manage a $1B supply chain with nodes in Europe, China and America
- I excel in fast passed environments with tight deadlines
- My goal is to mitigate risks and convert big ideas into manufacturable products
I can align, lead and develop world class teams.
- I speak engineering and exec
- I am an excellent project manager
- I enable decision-making in the most controversial environments
I educate and refine myself to be a well rounded person.
- I love hands-on learning. I am willing to walk the walk when it comes to new skills
- I am learning Full Stack development using Mern
Profesional Skills:
Supply Chain Management | Operations | Business Planning | Risk Mitigation Strategy | Budget and Resource Planning | International Business| Contract Manufacturing | Team Development | Consumer Electronics | Concurrent Design and Manufacturing | Systems Engineering| Full Stack Development| JavaScript| CSS| Bootstrap|


FREE WILLY 3: THE RESCUE (Warner Bros.) Starring: Jason James Richter, August Schellenberg, Annie Corley, Vincent Berry, Patrick Kilpatrick. Screenplay: John Mattson. Producer: Jennie Lew Turgend. Director: Sam Pillsbury. MPAA Rating: PG (mild profanity) Running Time: 85 minutes. Reviewed by Scott Renshaw.
After three feature films, the FREE WILLY franchise appears ready at last to take its natural place in the CBS Saturday night prime time lineup. The 1993 original was the de facto pilot, introducing Jesse (Jason James Richter), the troubled teen who learns responsibility through his love for a killer whale named Willy. In two sequels, 1995's FREE WILLY 2: THE ADVENTURE HOME and the new FREE WILLY 3: THE RESCUE, Jesse and Willy worked to help other mixed-up kids while teaching important lessons about environmental responsibility. Now, with the guidance of Jesse's wise Native American mentor Randolph (August Schellenberg), they can continue that mission every week on "Free Willy: Touched by an Orca."
Sure, it's easy to take cynical swipes at family entertainment, especially formulaic family entertainment like FREE WILLY 3. And perhaps it deserves better. After all, there is a modicum of intelligence to John Mattson's script, which pits Jesse and company against the crew of a whaling boat. Sam Pillsbury's direction is pleasantly restrained, particularly when dealing with his young actors. There is an interesting sub-plot involving the son (Vincent Berry) of the whaling boat captain (Patrick Kilpatrick) which teaches a lesson about standing up for your convictions. All that, and not once does anyone get kicked in the groin or break wind.
But family audiences deserve better, too. They shouldn't have to settle for merely competent film-making like FREE WILLY 3 simply because it's less noxious than the alternatives. Every one of the things FREE WILLY 3 has going for it is something the delightful SHILOH also managed to do -- and do better -- without making the villain so predictable he refers to whales as "fish," or padding the running time with several minutes of second unit nature footage.  There is nothing actively entertaining or enriching about it, either, unless it is to learn the sheer tonnage of blood which accompanies the birth of a baby orca.
Certain self-appointed guardians of cinematic morality have pronounced that American parents are clamoring for worthy films to show their children. I'm still waiting for the din to reach my ears. I certainly didn't hear anyone clamoring for yet another FREE WILLY film, especially after the over-plotted and half-baked FREE WILLY 2. It's too easy for parents to settle, too easy for producers to give parents as much as they will tolerate and nothing more. It's easier still for parents to rent videos for the kids, or to turn on America's Night of Television, where they may be seeing Willy again before long. Welcome home.
On the Renshaw scale of 0 to 10 orcangels: 5.
Visit Scott Renshaw's MoviePage http://www.inconnect.com/~renshaw/ *** Subscribe to receive new reviews directly by email! See the MoviePage for details, or reply to this message with subject line "Subscribe".
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Any problems or questions? Please comment here.
ⓒmileu32, seungwonpark 2015. Powered by GitHub, Bootstrap CSS


{{ $jsRelSwitcher := resources.Get "js/release-switcher.js" }} {{ $jsRelSwitcher := $jsRelSwitcher | fingerprint }} Documentation for latest release Go to Nightly Release Go to Latest LTS release


Info
Computer's fleet
Battleship:
1
Cruiser:
2
Frigate:
4
Minesweeper:
4
Player's fleet
Battleship:
1
Cruiser:
2
Frigate:
4
Minesweeper:
4
Battle info


{% extends "template.html" %} {% block content %}
This URL Shortener is a service that takes long URL and squeezes it into short characters to make a link that is easier to share, tweet, or email to friends


Cab Calloway School
| Cab Calloway School of the Arts 100 N. Dupont Road Wilmington, DE 19807 |
Telephone:<PHONE_NUMBER> | Dean Julie Rumschlag | Assistant Dean Joe Hocking | Assistant Dean Will Robinson |
|---|
What used to be Wilmington High School is now the arts school we know and love as Cab Calloway School of the Arts. Cab Calloway name came from a Jazz scat singer that became famous in the 1930's, offering superior education in the arts areas of: theatre, vocal music, visual arts, communication arts, technical theatre, strings, instrumental (band and piano), and dance in addition to regular academic classes. Cab Calloway School has been able to successfully combine the arts and academics for a well rounded, creative, and unique curriculum many schools don't offer. Being in this environment creates critically thinking and independent students. The school continues to celebrate art and creativity as Cab Calloway did throughout his lifetime through the school's performances, art galleries, plays, concerts, and more.
CCSA was established in fall of 1992 as a middle school, and in 1997 was expanded to a high school as well. The first senior class graduated in June of 2000. The school has recently participated in the Middle States program, is number two in the state, is the thirty-second magnet school in the nation, and is listed as a top high school nationally in the US News and World Report! This year the school is celebrating the schools 20th year of stellar arts and education.
Cab Calloway wanted to share his passion for the arts with everyone, and he loved the idea of being able to teach kids at a young age about these different art areas. Opening a school that embraces art and creativity was the perfect way to do so. A few Red Clay parents, teachers, and Cab's daughter Cabella Calloway (the board chairman) pitched the idea to the Delaware State Board of Education for a creative and performing arts middle school in Delaware in 1992. No one had anticipated for the school to work, but there was extra money, and Wilmington High School had their last graduating class in 1999, so the building was empty. There were no desks, there weren't even any books, so they built up the school from scratch.
To everyone's surprise, the school flourished. The school worked because it is based it upon the idea of young students being introduced to different forms of education, rather than standard paper and pencil methods. The school recognized that every child has a different learning style, and by linking it to academics, you can embrace their learning style, and they'll comprehend better. Discipline, creativity, enthusiasm, passion of the arts carries over to academics well, because you're used to reaching for perfection. Arts and academics fit hand in hand. A premier arts school was born, and the Board of Education asked if they could name the school after the iconic Cab Calloway himself. Cab was very excited about this. As Cabella said: "Most museums and monuments are dedicated to people who are dead, but he was still alive to actually see his legacy to go on."


| Sr | Fieldname | Type | Label | Options |
|---|---|---|---|---|
| 1 | get_students_from |
Select | Get Students From |
Student Applicants Program Enrollments |
| 2 | program |
Link | Program | Program |
| 3 | academic_year |
Link | Academic Year | Academic Year |
| 4 | get_students |
Button | Get Students | |
| 5 | section_break_5 |
Section Break | ||
| 6 | students |
Table | Students | Program Enrollment Tool Student |
| 7 | section_break_7 |
Section Break | ||
| 8 | new_program |
Link | New Program | Program |
| 9 | new_academic_year |
Link | New Academic Year | Academic Year |
| 10 | enroll_students |
Button | Enroll Students |
Inherits from frappe.model.document.Document


Toggle navigation
Restaurant Tip Calculator
BMI Calculator
Currency Converter
d3 + Google Maps
Contact
Pro-Tip: The suggested tip in North America is around 20%.
Cost Estimates
Party size
Total before taxes
sales tax
tip percentage
calculate


The mutant analysis approach
Functional genomics is considered as one of the major challenges of the post genomic era,
during which databases will provide sequences for most, if not all the 20-40,000 plant genes.
Expressed Sequence Tags (ESTs) of a high proportion of these genes are already available
in sequence databases, for Arabidopsis and maize.
Nevertheless, the function of only few hundred plant genes has been clearly demonstrated.
Mutants offer the most direct way to associate a gene and its function.
Years of tomato genetics and breeding facilitated the isolation of approximately 500
monogenic mutations in a variety of genetic backgrounds. Currently missing from the tomato
genomic picture is a large collection of monogenic mutations in a uniform genetic background
that would allow applying the developing genomic technologies for the isolation of gene
sequences responsible for the phenotypes.
Tomato Mutagenesis
The objective of this research is to generate a large number of single gene mutations in the
genetic background of the processing tomato variety M82.
The seeds were treated with two mutagens:
Fast neutron
source that causes deletions of a few kilo bases
and ethyl methane sulphonate (EMS) that causes point mutations by inserting or deleting of a single
nucleotide (SNP).
The M1 generation seeds were sown, M2 seeds were collected from single plants, for constructing
a family design, and in a bulk,
for keeping a mutant seed stock available for large scale screening.
In the summer of 2001 about 2000 M2 generation EMS families and 3500 Fast-neutron families
(12 plants each) were planted in a commercial field and screened for phenotypic mutations.
Each mutant was characterized and assigned into a phenotypic group.
Click here for the phenotypic catalog.
Seed collection was performed according to the nature of the mutation/s in each family.
Click here to see how seeds were collected from families segregating for a mutation.
In total we've isolated about 1000 EMS and 500 fast-neutron mutants in the background of M82.
You can see photos of represntative mutants in each of the phenotypic categories.
A browsable database of all the mutants is available here


| Beer Image | Name | Description | Price |
|---|---|---|---|
| Corona Extra 330ml. | Corona Extra is a pale lager produced by Cerveceria Modelo In Mexico for domestic distribution and export to all other countries besides United States. | $1.90 | |
| Stella Artois 500ml. | Stella is promoted as an international brand by its brewer, InBev. In its home market of Belgium, however, it is marketed, priced and sold as a regular lager. It is brewed in Belgium and the United Kingdom, as well as other countries, including Australia. | $1.45 | |
| Carlsberg 500ml. | It is a 5% abv pilsner beer with a global distribution to 140 markets. It is also known as Carlsberg Lager, Carlsberg Beer and Carlsberg Pilsner. It was first brewed in 1904, and was created by Carl Jacobsen, son of Carlsberg's founder JC Jacobsen. | $1.65 | |
| Heineken 500ml. | Heineken Lager Beer, or simply Heineken is a pale lager beer with 5% alcohol by volume produced by the Dutch brewing company Heineken International. Heineken is well known for its signature green bottle and red star. | $1.35 |


David Warner Goes Gaga Over Virat Kohli's Abs, Says 'Oh I Love This Man'
by Koushik NarayananCricket News
Australia's David Warner is known to have a warm relationship with India's skipper Virat Kohli, as the two batting maestros have shared light moments off field
Written By Koushik Narayanan | Mumbai | Updated On: November 19, 2019 16:17 IST
Australia's David Warner is known to have a warm relationship with India's skipper Virat Kohli, as the two batting maestros have shared many light moments off the field. Recently, David Warner had posted a video of his daughter smashing some deliveries and claiming that she was Virat Kohli. Well, David Warner did not take long to publicly admire Virat Kohli and his physique. David Warner took to Instagram to comment on a abs workout video shared by Virat Kohli shortly after India beat Bangladesh in the first Test at Indore. The Australian opener replied to Virat Kohli's post and expressed his awe for the Indian batting maestro's abs.
READ | Shahadat Hossain Handed Five-year Ban For Physical Assault On Arafat Sunny
David Warner goes gaga over Virat Kohli's abs
READ | Pink Ball: Wrist Spinners Difficult To Read Rather Than Finger Spinners, Says Harbhajan
Virat Kohli sweats it out
Ahead of the second Test against Bangladesh at the Eden Gardens, the 31-year-old decided to hit the gym in order to maintain his fitness levels. The Team India skipper, who does regular workouts, shared the video in which he is seen exercising in the gym. In the new workout video, Virat Kohli is seen performing an exercise for the lower abdomen and share the same on his official Instagram account and captioned it 'No days off'. He can be seen hanging on a pull-up bar with straight arms and pulling himself up until his chin passes the bar. The striking feature which has wooed fans is Virat Kohli’s chiseled eight-pack-abs that one cannot take their eyes off easily.
READ | Spectacular Shami Says He Does This Trick To Keep Batsmen Guessing
Virat Kohli and Ajinkya Rahane arrive early for Day-Night Test
Local team manager Samrat Bhowmcik had said that Team India skipper Virat Kohli and vice-captain Ajinkya Rahane will be the first to arrive here on Tuesday morning. Ishant Sharma is expected to reach around 10:45 pm on Tuesday while the rest of the team members will reach Kolkata at 12:30 pm on Tuesday. The Bangladesh team is also expected to reach around the same time. Rohit Sharma and pacer Mohammed Shami would be the last to join the squad on Wednesday.
READ | Shrewd De Kock Takes Leaf Out Of MS Dhoni's Book, Tricks Batsman Into Run-out


French Embassy gets first female Consul General
by Feyisayo PopoolaFeyisayo Popoola
The French Embassy in Nigeria has appointed its first female Consul General, Laurence Monmayrant.
Speaking during a press briefing commemorating her first visit to Nigeria, the newly appointed Consul General commended the efforts of the Federal Government in making the country a safer place for businesses to thrive and attracting foreign investment.
Monmayrant said the French government was looking forward to increased growth in the Nigeria-France business relationship.
She said, “About 10 years ago, Nigeria had over six different French companies, but today, there are over 130 French companies in Nigeria. The relationship is worth celebrating because it has continued to grow, as well as the French interest in Nigeria.”
Monmayrant stated that the Nigerian government, through the presidential enabling business council, had implemented 140 reforms in three years, since its set-up.
This, she said, was clearly shown in the latest ease of doing business rankings, where Nigeria moved 15 more places up, after having moved 24 places just a year ago and ranked as the top 10 most improved economies in the world for the second time in three years.
CopyrightPUNCH
All rights reserved. This material, and other digital content on this website, may not be reproduced, published, broadcast, rewritten or redistributed in whole or in part without prior express written permission from PUNCH.
Contact: editor@punchng.com


{% extends 'base.html' %} {% load static %} {% block head-extras %} {% endblock %} {% block content %}
Your password has been set. You may go ahead and log in now.