--- layout: post title: NEUROSURGERY: Discover the Mystery of the Brain - Seminar given by Dr. Zhu Xian Lun permalink: /4thseminar1516/ feature-img: /fourth_seminar2016/feature.png thumb-img: /fourth_seminar2016/thumb.png categories: [news] excerpt: Unveil the curtain of neurosurgery. ---
The first impression of many people to Neurosurgeon is simply "brain surgeons". However, it is much more than that! This surgical specialty involves the diagnosis and treatment of injuries, diseases or disorders of the brain, spinal cord and spinal column, and peripheral nerves within all parts of the body. In fact, in majority of the time, neurosurgeons deal with spine and peripheral nerve problems!
Neurosurgery is among the youngest of surgical disciplines, dating back to the early 1900s. Because it is a young specialty, neurosurgery is rapidly evolving which result in an important tradition in of dissemination of new ideas and techniques in neurosurgery.
The guest speaker of our 4th seminar, "Neurosurgery - Discover the Mystery of Brain", will be Dr. ZHU Xian Lun, Cannon who is currently a Consultant Neurosurgeon working at Prince of Wales Hospital.
SSAHK is honoured to have invited Dr. Wong Kak Yuen, Kenneth to be the guest speaker of our 3rd seminar - "Healing the Young". Dr. Wong is currently a Clinical Associate Professor in Department of Surgery, HKU.
Date |
11th November, 2016 (Friday) |
|---|---|
Time |
7:00 p.m. - 9:30 p.m |
Venue |
Kai Chong Tong, Postgraduate Education Centre (PEC), Prince of Wales Hospital |
Application |
Click here |


igdectk.rest package¶
Submodules¶
igdectk.rest.csrf module¶
Advanced CSRF middleware for django.
-
class
igdectk.rest.csrf.
CsrfViewMiddleware
[source]¶ Bases:
object
Middleware that requires a present and correct csrfmiddlewaretoken for POST/PUT/DELETE requests that have a CSRF cookie, and sets an outgoing CSRF cookie. This middleware should be used in conjunction with the csrf_token template tag. The CSRF cookie rotate after it was consumed. That mean the client side must takes care to always sending the latest value of the cookie.
igdectk.rest.handler module¶
Easy manage RESTfull urls and views according to the HTTP method and content format.
-
class
igdectk.rest.handler.
InlineRestHandler
(regex, name, app_name=None, version='1.0')[source]¶ Bases:
object
-
class
igdectk.rest.handler.
RestForm
[source]¶ Bases:
object
Rest handler to register a form with GET and POST method and HTML format.
Variables: - form_class (django.forms.Form) – Django formular class.
- form_template (str) – Complete name of the template used to render the formular.
- form_template_name (str) – Name of the template form variable. Default is ‘form’.
- auth (boolean) – True if the user must be authenticated. Default False.
- admin (boolean) – True if the user must be a super-user. Default False.
- redirect (boolean) – If True, when form POST success the client is redirected to
success
location. - success (str) – If
redirect
is True success defines the location URL to the redirection when form POST success. If False, success defines the template name to render.
-
admin
= False¶
-
auth
= False¶
-
form_class
= None¶
-
form_template
= ''¶
-
form_template_name
= 'form'¶
-
classmethod
get
(request, form)[source]¶ Method to override when it is necessary to perform initialization on the form before sending it to the client.
It is permit to raise an exception here.
-
classmethod
invalid_form
(request, form)[source]¶ Method to override to use the result of the form, when it failed to pass the django form validation tests. For example highlight some fields, display an error message..
It is permit to raise an exception here.
-
redirect
= True¶
-
success
= '/'¶
-
class
igdectk.rest.handler.
RestHandler
[source]¶ Bases:
object
Manage RESTfull API with autogenenation and registration of urls.
Variables: - regex (str) – Python regular expression of the URL. It is combined with its parent handler regex when using inheritance of handlers.
- name (str) – Qualified name of the URL to be used into reverse URL and templates.
It is possible to omit it and use
suffix
when using inheritance. - suffix (str) – When inherit of a parent handler (excepted RestHandler base class),
and if
name
is empty or None, suffix is added to the URL name of its parent. It is useful to avoid the rewriting of the complete path name. There is no need to add a separator before. - name_separator (str) – Separator used between each word into the URL name. Default is ‘-‘.
- app_name (str) – Application name. If None it is detect from the module where the class is defined.
-
app_name
= None¶
-
application
= None¶
-
classmethod
def_admin_request
(method, format, parameters=(), content=(), fallback=None, **kwargs)[source]¶ Same as
def_request()
but in addition the user must be authenticated and superuser.Parameters: fallback (func) – Optional callback function called in case the user is not authenticated.
-
classmethod
def_auth_request
(method, format, parameters=(), content=(), fallback=None, **kwargs)[source]¶ Same as
def_request()
but in addition the user must be authenticated.Parameters: fallback (func) – Optional callback function called in case the user is not authenticated.
-
classmethod
def_request
(method, format, parameters=(), content=(), **kwargs)[source]¶ Request function register and wrapper for non auth requests.
Check the list of mandatory URL parameters.
Check the list of mandatory content Form/JSON parameters, or validate the content using validictory format.
If the format is incorrect or a parameter is missing raise a ViewException HTML or JSON depending of the format.
- If it pass the test, the function will contains two news parameters :
- method : from the decorator
- format : from the decorator
Parameters: - method (igdectk.rest.Method) – One of the Method value (GET, POST...) define the accepted method.
- format (igdectk.rest.Format) – One of the Format value (JSON, HTML...) defines the format of the http response, and the accepted value from HTTP_ACCEPT.
- parameters (list) – A list of strings or an empty list, containing the names of the mandatory parameters requested in the URL.
- list (list(str)) – A list of strings or an empty list, containing the names of the mandatory parameters requested in the body.
- conditions (string) –
The next parameters if theirs names starts with a ‘url__‘ will be used as condition expression for the url parameters.
For example, having url__action=’save’ mean that the url must contains the parameter action with the value ‘save’.
This is useful to have many action for a same HTTP method. It is possible to have many ‘url__‘ conditions.
Note
Only a single free of conditions method per handler can be registered. Otherwise a
RestRegistrationException
exception is raised.
-
handlers
= {}¶
-
methods
= {}¶
-
name
= ''¶
-
name_separator
= '-'¶
-
regex
= ''¶
-
suffix
= ''¶
-
unprocessed_handlers
= []¶
-
class
igdectk.rest.handler.
RestHandlerMeta
(name, base, d)[source]¶ Bases:
type
Metaclass for
RestHandler
used to automatize the registration of the handler.
-
exception
igdectk.rest.handler.
RestRegistrationException
[source]¶ Bases:
Exception
Occurs during registration of a handler or a method into a REST handler.
-
igdectk.rest.handler.
def_inline_admin_request
(inline_handler, method, format, parameters=(), content=(), fallback=None, **kwargs)[source]¶ Same as
def_inline_request()
but in addition the user must be authenticated.Parameters: fallback (func) – Optional callback function called in case the user is not authenticated.
-
igdectk.rest.handler.
def_inline_auth_request
(inline_handler, method, format, parameters=(), content=(), fallback=None, **kwargs)[source]¶ Same as
def_inline_request()
but in addition the user must be authenticated.Parameters: fallback (func) – Optional callback function called in case the user is not authenticated.
-
igdectk.rest.handler.
def_inline_request
(inline_handler, method, format, parameters=(), content=(), **kwargs)[source]¶ Request function register and wrapper for non auth requests.
Check the list of mandatory URL parameters.
Check the list of mandatory content Form/JSON parameters, or validate the content using validictory format.
If the format is incorrect or a parameter is missing raise a ViewException HTML or JSON depending of the format.
- If it pass the test, the function will contains two news parameters :
- method : from the decorator
- format : from the decorator
Parameters: - method (igdectk.rest.Method) – One of the Method value (GET, POST...) define the accepted method.
- format (igdectk.rest.Format) – One of the Format value (JSON, HTML...) defines the format of the http response, and the accepted value from HTTP_ACCEPT.
- parameters (list) – A list of strings or an empty list, containing the names of the mandatory parameters requested in the URL.
- list (list(str)) – A list of strings or an empty list, containing the names of the mandatory parameters requested in the body.
- conditions (string) –
The next parameters if theirs names starts with a ‘url__‘ will be used as condition expression for the url parameters.
For example, having url__action=’save’ mean that the url must contains the parameter action with the value ‘save’.
This is useful to have many action for a same HTTP method. It is possible to have many ‘url__‘ conditions.
Note
Only a single free of conditions method per handler can be registered. Otherwise a
RestRegistrationException
exception is raised.
igdectk.rest.response module¶
Usefull common responses.
-
class
igdectk.rest.response.
ComplexEncoder
(skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)[source]¶ Bases:
json.encoder.JSONEncoder
Support standard json dumps plus serializers for django query set and model object.
-
igdectk.rest.response.
HttpResponseRest
(request, data)[source]¶ Return an Http response into the correct output format (JSON, XML or HTML), according of the request.format parameters.
Format is automaticaly added when using the
igdectk.rest.restmiddleware.IGdecTkRestMiddleware
and views decorators.
igdectk.rest.restmiddleware module¶
Middleware thats manage common view errors. The middleware decorate the request with a format (HTML by default), and by a list of URL parameters. When a view is decorated by def_request or def_auth_request, this modify the data attached to the request and the format.
-
class
igdectk.rest.restmiddleware.
HttpHeader
(request)[source]¶ Bases:
object
HTTP header parser with cache.
-
accept
¶ Returns the HTTP_ACCEPT list of pairs (media_type, q_value). This list is cached the first time.
-
accept_language
¶ Returns the HTTP_ACCEPT_LANGUAGE as a list of pairs. This list is cached the first time.
-
accepted_language_codes
¶ Sames as accept_language but returns only the languages codes. This list is cached the first time.
-
accepted_types
¶ Sames as accept but returns only the media_type. This list is cached the first time.
-
content_format
¶ Returns a Format for the content type.
-
content_type
¶ Returns a pair with content type and a tuples of content settings.
-
prefered_type
¶ Get the prefered media_type as Format enum.
-
Bases:
django.http.response.HttpResponse
-
class
igdectk.rest.restmiddleware.
IGdecTkRestMiddleware
[source]¶ Bases:
object
Middleware that manages request format and catch views exceptions. It also manage the customized view errors (page if HTML else JSON).
The middleware decorate the request with a format (HTML by default), and by a list of URL parameters.
When a view is decorated by
igdectk.rest.handler.RestHandler.def_request()
,igdectk.rest.handler.RestHandler.def_auth_request()
or byigdectk.rest.handler.RestHandler.def_admin_request()
, the decorator can attach a data dict to the request object.-
TYPES
= {400: <class 'django.http.response.HttpResponseBadRequest'>, 401: <class 'igdectk.rest.restmiddleware.HttpResponseUnauthorized'>, 404: <class 'django.http.response.HttpResponseNotFound'>, 500: <class 'django.http.response.HttpResponseServerError'>}¶
-
static
format_response
(request, message, code)[source]¶ Helper to format a response related to the format and parameters defined into the request, a message, and an HTTP code.
Parameters: - request (RequestContext) – Django request object.
- message (str) – Message contant string.
- code (int) – HTTP code.
Returns: An HTTP response object.
Return type: HttpResponse
-
-
exception
igdectk.rest.restmiddleware.
ViewExceptionRest
(message, code)[source]¶ Bases:
Exception
Formated exception with message and code.
Parameters: - message (str) – Cause of the exception
- code (int) – HTTP error code


{{currentMovie.description}}
{{time.film}} - {{time.time}}
Sorry, but we were not able to find any showtimes at your location. Perhaps try a different date or location.
Loading Showtimes...
Number of Tickets: {{numberOfSeats}}
Lorem ipsum dolor sit amet.


WITNESS LIST Defense Affairs & State-Federal Relations Committee April 7, 2005-8:00A HB 865 On: Raimer, Ben (The University of Texas Medical Branch) HB 2335 On: Saenz, Amadeo (Texas Department of Transportation) Smith, Herman (State Board for Educator Certification) Thomas, Katherine (Board of Nurse Examiners) Willman, James (Texas Nurses Association) HB 2401 For: Longoria, Jesus (Self) Registering, but not testifying: On: Riley, Steve (Texas Workforce Commission) HB 2807 For: Jaso, Emilio (Self) Karstedt, Johnny (Self) HB 3112 For: Hollis, Nicolas (SecureInfo Corporation) On: McCraw, Steve (Office of the Governor) Perez, Bill (Department of Information Resources) HB 3113 Registering, but not testifying: On: Macias, Luis (Texas Workforce Commission) HB 3115 For: Aghamalian, Brandon (City of Fort Worth - Mayor, City Council, City Manager) Mahler, Bill (WildWell Control Inc) On: McCraw, Steve (Office of the Governor) Registering, but not testifying: For: Forbes, Scott (Port of Houston Authority) On: Bason, Glen (Texas Dept. of State Health Services) HB 3163 For: Martinec, John (Ellington Field Task Force Regional Committee for the Bay Area Houston Economic Partnership) Stoa, Jim (Tx Committee Employer Support of the Guard and Reserve - Area 2) HB 3165 On: Stanford, Col. John (Texas National Guard)


{% if word %}
your input was {{word}}
{% endif %}
現在：{{number}}語目
word accepted!
{% elif status == 1 %}GAME OVER! your input ended with ん or ン
{% elif status == 2 %}GAME OVER! your input didn't match
{% elif status == 3 %}GAME OVER! your input was duplicated
{% elif status == 4 %}Not accpeted! your input must be kana
{% endif %}これまでの入力
{% for word in word_list %}
{{word}}
{% endfor %}


{% extends "base.html" %} {% block content %} {% if page == 'home' %}
Below is a selection of the many websites made by users of Nikola. Visit a few sites and see some of what is possible to achieve with Nikola.
If you have made your own Nikola site, you can add it to the index.
{% endif %} {% if count == 0 %}No pages found…
{% else %}{{ site.clickable_sourcelink }}
{% endif %}{% for lang in site.languages.all %} {{ lang.code }} {% empty %} ?? {% endfor %}
{{ site.clickable_sourcelink }}
{% endif %}{% for lang in site.languages.all %} {{ lang.code }} {% empty %} ?? {% endfor %}


Advantages chat with us
Some advantages that make u sure that it`s cool!
Free public chat
Chat is free now and will be free always. Make fun and take advantages with using our product.
Live chat
You can chat online and take information there and now. Not need to use mail or VK client ever.
Cool profile images
You will be assigned an unique image to your profile page. Try random luck.
Settings
You can fill in information about yourself in your profile. And also change parametres of your profile when its necessary.
Support service
If you had any questions or propositions you can contact our support service.
Everything have done!
You will be the best with Huck Space. Join us!


Our Companions Animal Rescue is a Connecticut based organization that promises to always do the right thing for animals, regardless of the challenge or cost.
Dachshund, Feist Medium, Adult Manchester, CT
American Staffordshire Terrier Large, Adult Manchester, CT
Pit Bull Terrier Large, Adult Manchester, CT
Treeing Walker Coonhound Medium, Adult Manchester, CT
German Shepherd Dog, Labrador Retriever Medium, Adult Manchester, CT
Labrador Retriever,German Shepherd Dog Large, Adult Manchester, CT
Labrador Retriever, Pit Bull Terrier Large, Adult Manchester, CT
Hound, Beagle Large, Adult Manchester, CT
Our Companions Animal Rescue P.O. Box 956 | Manchester, CT 06045<PHONE_NUMBER>


This part of the book contains six chapters
on algorithms. Chapter
12, covers various algorithms for sorting, including
insertion sort, quicksort, merge sort, counting sort, and
radix sort. Chapter
12 also presents binary search. Chapter
13, covers numerical methods, including algorithms for
polynomial interpolation, least-squares estimation, and the
solution of equations using Newton's method. Chapter
14, presents algorithms for data compression, including
Huffman coding and LZ77. Chapter
15, presents algorithms for DES and RSA encryption. Chapter
16, covers graph algorithms, including Prim's algorithm
for minimum spanning trees, Dijkstra's algorithm for
shortest paths, and an algorithm for solving the
traveling-salesman problem. Chapter
17, presents geometric algorithms, including methods for
testing whether line segments intersect, computing convex
hulls, and computing arc lengths on spherical
surfaces.


| Home | Trees | Indices | Help |
|
|---|
|
|
Base geodesicx classes, functions and constants.
Copyright (C) Charles Karney (2012-2021<EMAIL_ADDRESS>and licensed under the MIT/X11 License. For more information, see GeographicLib.
Version: 21.07.15
| Variables | |
Caps = Caps() Enum-style masks to be bit- or 'ed to specify
geodesic capabilities (caps ) and expected results
(outmask ).
|
| Variables Details |
CapsEnum-style masks to be bit-
and
|
| Home | Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1 on Thu Sep 30 12:33:45 2021 | http://epydoc.sourceforge.net |


This my collection of customizations and enhancements to the standard jQuery UI library.
Spinner: Add alignment
to the available options to create four different alternative
layouts for the spin buttons.
SlideSpinner: Adds a Slider control to the Spinner to enable visual reference to where a user is in the valid range and a faster way to change values.
LabeledSlider: Adds tick marks at configurable intervals to the Slider control. Optional text labels can also be passed to the widget.
ComboBox: Enhances the demo provided on the jQueryUI site by adding a value function and some addtional features.
WaitButton: Extends the default jQueryUI Button widget by adding a spinner and disabling the button when its clicked. Prevents multiple clicking and provides visual feedback that something is happening.
TimePicker: Uses several Spinner widgets to allow entering time. The spinners will automatically rollover another time component (ie hours flip from 11 -> 12 so AM -> PM and minutes cause hours to increment/decrement). Read this blog post for more information.
Scrollable: Moved to bseth99/jquery-ui-scrollable
Either download the Minified or the Full source and add it after the normal jQuery UI scripts.
Also download the CSS file and include it after any jQuery UI CSS files.
You can also just browse the source and grab what you want to use. Just be mindful of the dependencies:
WaitButton adds two options that enable controling the label and icon used to show the waiting status:
$('#save')
.waitbutton({
waitLabel: 'Saving ...',
waitIcon: 'my-icon-class'
})
Neither are required to use the widget. When omitted, the label will remain the same as the current label and the class used for the primary icon will be the default ui-icon-waiting class which expects a GIF named waitbutton-loading.gif to be present in a images folder relative to the CSS file. You can use the one I have created or design your own. Just be aware that the ui-icon class on the button widget a lot 16x16 pixels for the icon.
The widget triggers a waiting
event when a user clicks the button. An object is passed to the handler with
a callback that should be called once the action is complete. Failure to call the callback will result in the
button remaining in the waiting state.
$('#save')
.waitbutton({
waiting: function ( e, ui ) {
// do something
ui.done();
}
})
or
$('#save')
.waitbutton()
.on( 'buttonwaiting', function ( e, ui ) {
// do something
ui.done();
}
})
The done()
callback takes up to two option arguments that control the new label and state of the button.
Review the demo for examples of each variation.
TimePicker currently exposes the getter/setter function value
. After initializing the widget, set the value using a
time string:
$( '#picker' ).timepicker();
$( '#picker' ).timepicker( 'value', '8:25 AM' );
And retrieve the value as a time string:
time = $( '#picker' ).timepicker( 'value' );
// time == '8:25 AM'
You can also initialize the picker to show time in either a 12 or 24 hour clock:
$( '#picker' ).timepicker({ format: 'hh:mm a' });
$( '#picker' ).timepicker({ format: 'HH:mm' });
Optionally, you can include MomentJS to activate more advanced value handling. Without Moment, only time strings will be accepted/returned by the value function. With Moment, you can pass Date, String, or Moment instances to the value function and it will return Moment instances representing the selected time:
$( '#picker' ).timepicker();
$( '#picker' ).timepicker( 'value', '8:25 AM' );
time = $( '#picker' ).timepicker( 'value' );
time.format( 'HH:mm' ); // 08:25
time.add( 'm', 5 );
time.format( 'h:mm A' ); // 8:30 AM
I created some tests that show what the widgets can do.
Copyright (c) 2012-2014 Ben Olson
Licensed under the MIT License


Recipes4Me
CookBook
Search by Keyword (Chinese, pizza, etc)
Search by ingredient
Do you dare?
I dare
Search


"ICONIUM "the capital of ancient Lycaonia. It was first visited by Paul and Barnabas from Antioch-in-Pisidia during the apostle’s first missionary journey (Acts 13:50, 51). Here they were persecuted by the Jews, and being driven from the city, they fled to Lystra. They afterwards returned to Iconium, and encouraged the church which had been founded there(14:21,22). It was probably again visited by Paul during his third missionary journey along with Silas (18:23). It is the modern Konieh, at the foot of Mount Taurus, about 120 miles inland from the Mediterranean.
"ICONIUM "the capital of ancient Lycaonia. It was first visited by Paul and Barnabas from Antioch-in-Pisidia during the apostle’s first missionary journey (Acts 13:50, 51). Here they were persecuted by the Jews, and being driven from the city, they fled to Lystra. They afterwards returned to Iconium, and encouraged the church which had been founded there(14:21,22). It was probably again visited by Paul during his third missionary journey along with Silas (18:23). It is the modern Konieh, at the foot of Mount Taurus, about 120 miles inland from the Mediterranean.


Before Change
else:
biases_initializer = self.biases_initializer()
if not self.time_series:
out_tensor = tf.contrib.layers.fully_connected(
parent,
num_outputs=self.out_channels,
activation_fn=self.activation_fn,
biases_initializer=biases_initializer,
weights_initializer=self.weights_initializer(),
scope=self._get_scope_name(),
reuse=self._reuse,
trainable=True)
else:
dense_fn = lambda x: tf.contrib.layers.fully_connected(x,
num_outputs=self.out_channels,
activation_fn=self.activation_fn,
After Change
out_tensor = dense_fn(parent)
break
except ValueError:
if reuse:
// This probably means the variable hasn"t been created yet, so try again
// with reuse set to false.
continue
raise
if set_tensors:
self._record_variable_scope(self._get_scope_name())
self.out_tensor = out_tensor


Topics
Video Tutorials
Slides
Links
Software Design & Analysis
Design Concept - The Design Process
Design Concepts
The Design Model
Architectural Design
Software Architecture
Architectural Genres
Architectural Styles
Architectural Design
Assessing
Alternative Architectural Designs
Architectural Mapping Using Data Flow
Component-Level Design
What Is a Component
Designing Class-Based Components
Conducting Component-Level Design
Component-Level Design for WebApps
Designing Traditional Components
Component-Based Development
User Interface Design
The Golden Rules
User Interface Analysis and Design
Interface Analysis
Interface Design Steps
Web App Interface Design
Design Evaluation


Gati share price up 5% on rating revision by CARE
The share touched its 52-week high Rs 94.85 and 52-week low Rs 35.50 on 22 March, 2019 and 23 August, 2019, respectively.
by Moneycontrol NewsGati share price rose 5 percent intraday on November 25 after CARE revised the company’s bank facilities and fixed deposits’ rating to BB+ with a stable outlook.
It also revised the short-term bank facilities rating to A4+.
The share touched its 52-week high of Rs 94.85 and 52-week low of Rs 35.50 on March 22, 2019 and August 23, 2019, respectively.
It is trading 35.64 percent below its 52-week high and 71.97 percent above its 52-week low.


| Name | Description | Version |
|---|---|---|
| PressureRegulator | It regulates valve to maintain desired pressure. | PR.1.ddmmyy |
| PumpElectricDC | PED.no.ddmmyy | |
| ThrottleValve | It regulates valve to maintain high pressure on upstream side. | TV.no.ddmmyy |
| RecirculationBlower | It maintains hydrogen gas circulation in hydrogen subsystem. | RB.no.ddmmyy |
| Compressor | C.no.ddmmyy |


Hacktoberfest is a month-long celebration of open source software run by DigitalOcean and DEV.
Learn how to make Android apps with free online classes that will teach you the fundamentals. In Introduction to Mobile Application Development using Android, a 6-week, self-paced course from the Hong Kong University of Science and Technology, students will get introduced to the Android platform,
Getting started with the Web is a concise series introducing you to the practicalities of web development. You'll set up the tools you need to construct a simple webpage and publish your own simple code.
Machine Learning is a system that can learn from example through self-improvement and without being explicitly coded by programmer. The breakthrough comes with the idea that a machine can singularly learn from the data (i.e., example) to produce accurate results.


Concept
The motivation for this project came from my an inspiration to have a physical object that helps me keep track of my daily routines rather than from an app hidden on my phone/laptop. This product involves an arduino that displays the items on an LCD and communicates via serial with a locally hosted webpage.
Schematic
The schematic for this project is relatively simple. There are only two switches on board, one to traverse between action items, and the other to check of action items. The LCD used in this project uses a shield that supports the I2C protocol and hence provides the pins for the SDA and SCL connections. The buttons part of the circuit is soldered onto a PCB.
The I/O pins can only take a maximum current of 30mA. Given that the device is designed to have the buttons pressed seperately (not at the same time), the resistors for each button should be at least 167 Ohms. However, if the buttons were both pressed at the same time, the total resistance of R1 and R2 should also be above 167 Ohms. With that in mind, 560 Ohm resistors are used such that when both buttons are pressed at the same time, the resulting resistance (560 / 2 = 280 Ohms) would still be greater than 167 Ohms.
Webpage
I built a webpage as the main interactive interface to add new action items. Each action is limited to 16 characters (due to width limit of LCD). Note that <ol> and <p> are created in the HTML file with unique IDs so that the sketch file can add and remove <li> elements and update the character count. You can find the HTML and CSS file here.
sketch.js File
The sketch file facilitates the communication of the webpage and the arduino through serial. The sketch is in charge of creating and deleting li elements through the p5 functions createElement() and remove() respectively. Created elements are placed into DOM through the p5's parent() function.
The sketch actively listens to the serial port but occasionally reads a bunch of zeros when the arduino isn't sending anything. To work around this, I decided to avoid the value 0 entire as a communication signal such that when zero is received, it is ignored. The value 1 is used as a "boot up" signal such that when it is sent from the arduino, the sketch file sends the current array of action items. If a value greater than 1 is received, this means that the arduino is trying to remove an action item where the index of the action item is simply the value received minus 2.
"use strict";
const ABS_MAX = 15; // Maximum number of to-dos that you can create.
let serial; // variable to hold an instance of the serialport library.
let portName = '/dev/cu.usbmodem14101' // rename to the name of your port.
let button, input; // button and input are used as pointers to the text field and submit button
let upper; // upper keeps track of the number of todos in the array.
let todoArr = [], todoDisp = []; // todoArr stores the strings of todos, todoDisp stores the html li objects created
function setup() {
// Serial connection setup
serial = new p5.SerialPort(); // make a new instance of the serialport library
serial.on('list', printList); // set a callback function for the serialport list event
serial.on('connected', serverConnected); // callback for connecting to the server
serial.on('open', portOpen); // callback for the port opening
serial.on('data', serialEvent); // callback for when new data arrives
serial.on('error', serialError); // callback for errors
serial.on('close', portClose); // callback for the port closing
serial.list(); // list the serial ports
serial.open(portName); // open a serial port
// Create Character Counting label
createElement('p',"16 characters remaining.").parent("char-count");
// Create Input Field
input = createInput(); // create input HTML element
input.id("textfield"); // set css id of input field
input.parent("form"); // nest the text field inside the form div
// Create Button
button = createButton("add"); // create button HTML element
button.id("addbutton"); // set css id of button
button.parent("form"); // nest the button inside the form div
button.mousePressed(createNewItem); // set an event listener for the button
upper = 0; // set the initial number of todos to 0.
}
// Creates a new todo item based on the input field only if:
// item is not an empty string and the maximum amount of todos hasn't been reached
function createNewItem() {
let item = input.value(); // retrieve string from input field
if ((item != "") && (item != " ") && (todoArr.length <= ABS_MAX)) {
todoArr[upper] = item; // append new item into array
// console.log(todoArr);
serial.write(stringifyArray()); // send the new array to arduino.
upper++; // increment the number of items.
displayToDos(); // display the new array of items.
}
// refresh input field and char count on webpage
input.value("");
document.getElementById("char-count").innerHTML = "16 characters remaining.";
}
// Removes all of the li DOM elements created previously and
// recreates new li DOM elements based on updated array.
function displayToDos() {
todoDisp.forEach(obj => obj.remove()); // remove all li elements on display.
for (let i = 0; i < upper; i++) { // create new li elements from the array and nest it within the ol element.
todoDisp[i] = createElement("li",todoArr[i]).parent("list");
}
console.log("mapped: " + todoDisp);
}
// Checks the serial for data from the arduino.
// If 1 is received, reset the arduino with the todolist in the webpage.
// If a value greater than 2 & less than upper + 2 is received, remove
// If the value is at least upper + 2, the arduino is refreshed with the todolist in the webpage.
// 0s are ignored as they're occasionally sent through serial from unavoidable synchronicity issues.
function serialEvent() {
if (serial.available()) { // if the info is being sent through the serial.
let value = parseInt(serial.readLine()); // retrieve data from seriald as an int.
console.log("value: " + value);
if (value == 1 || value >= upper + 2) { // if the value is 1 or greater than the no. of todos in the webpage
serial.write(stringifyArray()); // write array to arduino
} else if (value > 1) { // if value is greater than 1 (a todo item is completed)
value -= 2; // change the value back to an index
if (value < upper - 1) { // if index is not at the end of the array
for (let i = value; i < upper; i++) { // shift each element to the left.
todoArr[i] = todoArr[i+1];
}
}
todoArr.pop(); // pop out the last element (which is undefined).
(upper > 0) ? upper-- : upper = 0; // decrement upper.
displayToDos(); // display the new todos
}
}
}
// Sets Enter key as an input method.
function keyPressed() {
if (keyCode == 13) createNewItem(); // 13 is the Enter key.
}
// Updates the char count above the text field and restrict the user from inputting more than 16 chars.
function keyReleased() {
let count = 16 - input.value().length; // set count to be the remaining number of chars available.
if (count < 0) { // if there are no more available chars
input.value(input.value().substring(0,16)); // restrict the string in the text field to 16.
count = 0; // keep count at 0.
}
// update char count on webpage
document.getElementById("char-count").innerHTML = count + " characters remaining.";
}
// Creates a string of all of the todolist items from the array.
// Each string is 16 characters long. If the sentence is shorter than 16 sentence,
// it is padded with spaces at the end.
function stringifyArray() {
let arrStr = ""; // create an empty string
if (todoArr.length > 0) { // if there's sth in the array
todoArr.forEach((el) => { // append each todo to the string
if (el) arrStr += el.padEnd(16, " "); // pad todo with spaces up to 16 chars
});
} else { // if there aren't any items
arrStr = " "; // set as a single space
}
return arrStr; // return the string
}
// console logging functions for serial protocols
const printList = (portList) => portList.forEach((element, index) => print("["+index+"] "+element));
const serverConnected = () => print('connected to server.');
const portOpen = () => print('the serial port opened.');
const serialError = (err) => print('Something went wrong with the serial port. ' + err);
const portClose = () => print('The serial port closed.');
.ino File
For the arduino code, the device boots up with the setup function and sends a 1 to the webpage to fetch current action items on the web(as mentioned before). Then for each loop, the arduino checks the serial for new data, checks the inputs from the buttons, and increments the timer (which turns off the LCD backlight after about 1 minute).
The sketch file sends the entire array of action items every time and the arduino breaks it down into 16 character chunks and stores them into the array, replacing the old array (see checkSerial() function).
#include <Wire.h> // include the Wire.h library
#include "rgb_lcd.h" // include lcd library
const int ABS_MAX = 15; // Max number of todo items.
const int SWITCH = 12; // set constant for SWITCH pin.
const int ENTER = 13; // set constant for ENTER pin.
const String WELCOME = " To Do List"; // set constant for welcome message
rgb_lcd LCD; // instantiate an LCD object.
int cursor; // instantiate a cursor variable to keep track of cursor.
int upper; // instantiate a variable to keep track of the number of todos.
int timer; // instantiate a variable to keep track of the time passed.
String toDos[ABS_MAX] = {}; // instantiate an array with a maximum
String index;
void setup() { // setup code to run once:
Serial.begin(9600); // initialize serial communications at 9600 baud.
pinMode(SWITCH, INPUT); pinMode(ENTER, INPUT); // set pins as inputs
cursor = 0; upper = 0; // instantiate cursor and upper at 0
LCD.begin(16, 2); // set up the LCD's number of columns and rows
LCD.setRGB(255, 255, 255); // set background color of LCD
displayLCD(WELCOME, 0, 0, false); // print welcome message
delay(2000); // delay the welcome message by 2 sec
Serial.println(1); // signal sketch.js to send the todo items from the webpage.
}
void loop() { // loop code to run continuously:
if (timer > 600) LCD.setRGB(0, 0, 0); // if counting timer is approx after 1 min, turn off LCD backlight
checkSerial(); // check the serial from input
if (upper == 0) displayLCD("--- No Tasks ---", 0, 1, true); // if there are no tasks, write no tasks on screen
if (digitalRead(SWITCH)) { // if switch is clicked
timer = 0; // reset the counting timer
if (upper == 0) { // if there are no todos
LCD.setRGB(0, 255, 0); // set LCD backlight to green
} else {
LCD.setRGB(255, 255, 255); // set LCD backlight to white
traverseToDo();
}
} else if (digitalRead(ENTER)) {
timer = 0; // reset the counting timer
if (upper == 0) { // if there are no todos
LCD.setRGB(0, 255, 0); // set LCD backlight to green
} else {
LCD.setRGB(255, 255, 255); // set LCD backlight to white
removeToDo(); // remove a todo item
}
}
timer++; // increment counting timer;
delay(100); // delay by 100 ms to slow down the loop.
}
// Checks the serial for todo items from the webpage and refreshes the arduino
// with the new todo items.
void checkSerial() {
if (Serial.available()) { // if theres data in serial
String item = Serial.readString(); // read the entire string from serial
if (item.length() > 1) { // if the string isn't a single character
for (int i = 0; i < item.length() / 16; i++) {
toDos[i] = item.substring(16*i, 16*(i+1)); // split the string into 16 chars each and save them
}
}
upper = item.length() / 16; // set the upper as the total no. of 16 char strings
cursor = (upper > 0) ? upper - 1 : 0; // set cursor as the last todo item
LCD.setRGB(255, 255, 255); // set LCD backlight to white
displayToDo(cursor); // display the todo item at cursor
timer = 0; // reset counting timer
}
}
// Goes through the todo list items.
void traverseToDo() {
(cursor == upper - 1) ? cursor = 0 : cursor++; // increment to cursor to the next todo item
displayToDo(cursor); // display the new todolist
while (digitalRead(SWITCH)) {/* Used to prevent multiple increments per press */}
}
// Removes a todo list item and updates the cursor and upper variable.
void removeToDo() {
Serial.println(cursor+2); // send cursor + 2 to webpage
toDos[cursor] = ""; // remove todo item from array
if (cursor < upper - 1) { // if cursor is not the index of the last item
for (int i = cursor; i < upper; i++) {
toDos[i] = toDos[i + 1]; // shift each element to the left.
}
cursor++; // increment to cancel out the decrement below
}
cursor--; // decrement the cursor
upper--; // reduce the total number of todo items
LCD.setRGB(0, 255, 0); // set LCD backlight to green
displayLCD("DONE", 12, 0, false); // display done on top right corner of screen
delay(1000); // delay the done screen by 1 sec
LCD.setRGB(255, 255, 255); // set LCD backlight back to white
displayToDo(cursor); // display previous todo item
while (digitalRead(ENTER)) {/* Used to prevent multiple deletes per press */}
}
// Displays a todo item at a given index i with the index at the top row and the todo item at the bottom.
void displayToDo(int i) {
String index = String(i + 1) + "of" + String(upper); // convert index to a string
displayLCD(index, 0, 0, true); // display the index at the top with refresh
displayLCD(toDos[i], 0, 1, false); // display the todo item at the bottom without refresh
}
// Displays a text on the LCD with given coordinates (col and row) with the option to clear the screen.
void displayLCD(String text, int col, int row, boolean clear) {
if (clear) LCD.clear(); // clears the screen if clear is true
LCD.setCursor(col, row); // set the cursor of the LCD
LCD.print(text); // print the text on the LCD
}
Casing
The casing is built by creating a packaging dieline on Adobe illustrator using red to indicate cut lines and blue to indicate crease lines. A laser cutter was then used to cut it out. Components were secured onto dieline and the flaps were taped in place.


I think it is fantastic how there is such a focus on openness - if you aren't afraid to ask the knowledge is there! There is an openness of communication and a cohort from a diverse background which encourages us all to be able to draw upon the experiences of others as well as our own to learn.>
So far - I am really enjoying learning more every day, the feeling is addictive. However I can see how time management is a skill that is essential as there is much to learn in a relatively short timeframe.>
I am quite a people person, so I am really looking forward to getting to know the rest of my cohort and make some new friends along the way as we venture on this learning voyage together.>
Initially the course seemed to promote an open learning environment, and it definitely seems to be that way so far... what I didn't expect initially at least was how helpful the fellow student would be - there are some very talented and friendly people here :)>
Yes definitely excited, as mentioned earlier it is great to be able to call upon the help of others but also offer help in return as there is always much to be gained from learning-through-teaching! I am nervous in the sense that there is already a great deal of talent and skills within my cohort so I don't want to left behind!>


Namma-Sirsi
HOME
TEMPLES
CONTACTS
TOURIST SPOTS
Unchalli Falls
Shivaganga Falls
Yana
Bennehole Falls
Chandragutti
Banavasi
Sonda
About-Us
About Me
For adding of any information or if any information found wrong report it by
Clicking here!!
(or mail to:
<EMAIL_ADDRESS>)
Pradeep Pai
Pursuing B.E in Computer Science
SJCE, Mysuru


## DOM Islands `PacemViewElement` instances are like DOM "islands" that can be dynamically filled with HTML content. As an example: the routing system exploits _views_ to mimic page navigation.


SEARCH PRODUCTS
Search products,brands and categories here:
Big Five Carving
Wooden
This is one of the most prestigious wooden craft of all time.It contains all the big-five animals which we believe are the most dangerous in the country.
Location:Narok County
15th Dec, 2025
Buy Now
Ksh 800
Lion Sculpture
Metallic
This metallic lion sculpture actually represents power and authority.
Location:Nairobi County
09 May, 2025
Buy Now
Ksh 28,000
Elephant
Marble
This is one of the most prestigious wooden craft of all time.It contains all the big-five animals which we believe are the most dangerous in the country.
Location:Kisii County
15th Dec, 2025
Buy Now
Ksh 5,500
Soapstone Rhino sculpture in Black & White.
Rhino
This is one of the most prestigious wooden craft of all time.It contains all the big-five animals which we believe are the most dangerous in the country.
Location:Narok County
15th Dec, 2025
Buy Now
Ksh 800


@* * Copyright 2019 HM Revenue & Customs * * 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. *@ @(typ: AddrType)(implicit pertaxContext: PertaxContext, messages: play.api.i18n.Messages) @import uk.gov.hmrc.play.views.html._ @import uk.gov.hmrc.play.views.html.helpers._ @additionalGaCalls = { @typ.ifIsPostal { ga('set', 'page', '/personal-account/your-address/@typ/thank-you'); } } @main(Messages("label.your_address_has_been_changed"), Some(Messages("label.your_personal_tax_account")), additionalGaCalls = Some(additionalGaCalls)) {
{Messages("label.if_youve_moved_to_or_from_scotland_")}
}, sole = {{Messages("label.if_youve_moved_to_or_from_scotland_")}
}, postal = Html(""))


Hotel
Rooms
Room #
Capacity
Rate / Night
2B
4
$59.99
Book
2A
4
$59.99
Book
3A
2
$45.00
Book
3B
2
$45.00
Book
3C
3
$52.64
Book
4A
4
$59.99
Book
4B
4
$59.99
Book
X
BOOKING
Check In
Nights
1
2
3
4
5
6
7
8
9
10
Total
$ 0
Confirm


--- title: "Comparing NBA teams from the past 20 years" author: "Joe Ciesielski" date: '2018-09-18' tags: - Shiny - r - Elo - NBA - web scraping output: html_document ---
With the NBA season fast-approaching (not fast enough for me), I wanted to play around with some NBA data and explore teams from recent history. My beloved Philadelphia 76ers have made a remarkable rise in the past two years, going from one of the worst teams in history to a contender for the conference championship, so there are some bragging rights invovled in this too.
The first step was to determine the best empirical measure of a team’s ability. The website Fivethirtyeight uses Elo for their ratings. They have an excellent primer on Elo and decisions they made in creating their NBA rankings as well. They also publish complete Elo ratings since the start of the NBA, but I wanted to create the ratings mayself (while using their ratings as a comparison benchmark).
For those not familar, Elo is a measure of relative ability. A rating of 1500 is average; a team gains points when they win and drops points after a loss. The points gained or lost are relative to the gap between the teams: a team will gain a lot of points for beating a team with a much higher rating but may only gain a few for beating a team with a lower rating.
Elo can be used in to look at trends over time to see how a team’s relative ability rises and falls. It can also be used for prediction: comparing the Elo rating of two teams gives you a probability of each team winning.
I built an application that lets you look at both of those things. On the first tab, you can track any team’s Elo over time using a specified date range. On the second tab, you can pick any two teams to see how they would match up on a given date in the last 20 years. It also shows the actual NBA games that took place on that date and whether the outcome was expected or an upset. You can view the standalone application here.
The rest of this post walks through the process of creating this application. Note that this code is for reference and won’t be reproducible as it’s written on this post. The full source code for the application is available here.
First we need to get the data. Basketball Reference is the go-to place for any NBA related data. It’s organized in a way that makes it possible to scrape the data.
I wrote a function to scrape this data. The website is organized by month and year. I wanted to go back about 20 years, but one thing that made this tricky a change in format after the 2000 season (BR added a ‘start time’ column). The function below parses the tables that include data, teams, and final score.
library(tidyverse)
library(elo)
library(rvest)
library(RCurl)
scrape_br <- function(url) {
# function to scrape the data and organize it into a data frame
# table from older years missing start time
old_format_years <- "1997|1998|1999|2000"
old_format <- if_else(grepl(old_format_years, url), TRUE, FALSE)
table_names <- c("date", "start_time", "visitor", "visitor_pts",
"home", "home_pts", "link", "ot", "attendance",
"notes")
if(old_format) num_col <- 9 else num_col <- 10
# get the table
tmp <- url %>%
read_html() %>%
html_nodes(".right , .left , .center") %>%
html_text()
# prep to read as csv
tmp <- gsub(",", "", tmp) # remove commas for reading as csv
# add a comma to the end of each field
tmp <- paste0(tmp, ",")
# start a new row after each 9/10 element depending on season
new_rows <- seq(0, length(tmp), by = num_col)
tmp[new_rows] <- paste0(tmp[new_rows], "\n")
# collapse to a chacter string then read as csv
# convert all cols to character, read.csv was reading some in correctly
dat <- paste0(tmp, collapse = "") %>%
read.csv(text = .,
colClasses = rep("character", num_col)) %>%
filter(PTS != "") # remove rows w/o data
# clean up column names
if(old_format) {
names(dat) <- table_names[table_names != "start_time"]
} else {
names(dat) <- table_names
}
dat[!is.na(names(dat))]
}
This gets the games for each month. Then we use the map
function to get this for all of the months for the past 20 years and combine it into one table.
# create all combinations of months and years
months <- c("october", "november", "december", "january", "february",
"march", "april", "may", "june")
years <- seq(1997, 2018, by = 1)
season_months <- expand.grid(years, months)
# create a list of urls for scraping data
br_urls <- paste0(
"https://www.basketball-reference.com/leagues/NBA_",
season_months$Var1,
"_games-",
season_months$Var2,
".html"
)
# get only valid urls and scrape
games <- map(br_urls, ~ifelse(RCurl::url.exists(.), ., NA)) %>%
.[!is.na(.)] %>%
map(., scrape_br) %>%
bind_rows()
After some pre-processing of the data, we’re ready to calculate each team’s Elo. The elo
package makes this fairly straightforward. The easiest way I’ve found to do this is to use two tables. The first table is games
which contains each of the games and results; this is what we scraped from Basketball Reference. The second I called teams
, which keeps a running tally of each team’s rating. After each game we append the updated score to the teams
table.
We create a base teams
table like this1:
teams <- games %>%
distinct(home_team) %>%
rename(team = home_team) %>%
mutate(
season = if_else(team == "CHA", 2005, 1997),
elo = if_else(team == "CHA", 1300, 1500),
date = ymd(paste0(season - 1, "1001"))
)
We first calculate the Elo within each season. A few things to note here. Fivethirtyeight recommends a 100 point bonus to each home team. However, based on the data from the past 20 years, the home team wins 60% of the time on average. A 70 point difference translates to a 60% win probability, so each home team gets 35 Elo points and each away team gets the same penalty. The value of k
represents how much a the Elo should move after each individual result. Setting this at 20 is fairly high, meaning that each result has the potential to move the Elo a lot.
elo_calc_in_season <- function(games, teams) {
for (i in seq_len(nrow(games))) {
# function for creating a running elo
game <- games[i, ]
# extract most recent elo adding in home/away adjustment
elo_home <- teams[teams$team == game$home_team, "elo"][[1]] + 35
elo_vis <- teams[teams$team == game$vis_team, "elo"][[1]] - 35
elo_update <- elo.calc(
score(game["home_pts"], game["visitor_pts"]),
elo_home,
elo_vis,
k = 20 # recommended by 538
)
# reshape elo update
new_elo <- elo_update %>%
gather() %>%
rename(elo = value) %>%
mutate(
team = c(game$home_team, game$vis_team),
date = game$date,
season = game$season
) %>%
select(date, team, elo, season)
# give the home/away adjustment back
new_elo[1, "elo"] <- new_elo[1, "elo"] - 35
new_elo[2, "elo"] <- new_elo[2, "elo"] + 35
# bind elo update to teams data for running list
teams <- bind_rows(new_elo, teams)
}
return(teams)
}
I created a function that calculates the carry over between seasons. Each team keeps 75% of their Elo from each season, gets 25% closer to the average of 1500. Then I created a function that runs the within season and carry over functions together, returning our final teams table.
carry_over <- function(teams) {
# at the start of every new season, carry over 75% of elo
# rec by 538, start new season on 10/01
new_season <- teams %>%
filter(season == season[[1]]) %>% # don't include expansions til they join
distinct(team, .keep_all = TRUE) %>%
mutate(
elo = (.75 * elo) + (.25 * 1505),
date = ymd(paste0(season, "0930")),
season = season + 1 # add one for start of new season
)
bind_rows(new_season, teams)
}
elo_calc <- function(games, teams) {
seasons <- unique(games$season)
for (j in seq_len(length(seasons))) {
# run the calculation within each season
season_games <- games[games$season == seasons[[j]], ]
teams <- elo_calc_in_season(season_games, teams)
# then apply the carryover
teams <- carry_over(teams)
}
return(teams)
}
Finally, we want an Elo for each date of the season (taking out the summer months), not just after games. This is what will allows us to do the hypothetical comparisons. The fill_elo
function will give us that.
fill_elo <- function(data) {
# function to fill in missing elo
data %>%
tidyr::complete(date = full_seq(date, period = 1), team) %>%
arrange(date) %>%
fill(elo) %>%
mutate(elo = if_else(month(date) %in% 7:9, NA_real_, elo))
}
Then we run them all together get our complete Elo table which holds our running tally of rankings for hte past two years.
# this will take a few minutes to run
running_elo <- elo_calc(games, teams)
# fill in missing dates
complete_elo <- running_elo %>%
split(.$team) %>%
map_dfr(fill_elo) %>%
mutate(elo = lag(elo)) # get elo at beginning of day instead of end
The image above shows the comparison my calculated Elo scores and the Fivethirthyeight scores as a benchmark. The r^2 is about .98 so it looks like I was able to match it farily closely. I used 1997 as my base year and eliminated that from most of my analyses; this gave my ratings some time to even out.
While I’m pretty happy with how the application turned out, there’s still a few updates I’d like to make.
I welcome feeback on the applicaiton or data collection. Thoughts on things to add? Ways to improve the code or make it run faster? Feel free to leave them in the comments.
Charlotte was an expansion team and starts with an Elo of 1300. Everyone else starts at 1500 in the 1997 season.↩


Businessmodel of Pinterest
Customer Segments
Pinterest has a segmented market business model, with customer groups that have slightly different needs. It is used by consumers who want to collect and share photos, as well as by businesses to share photos in order to promote their offerings. The majority of its consumer base is female.
Value Proposition
Pinterest offers four primary value propositions: accessibility, customization, performance, and brand/status.
The company creates accessibility by enabling businesses to identify consumers who have interests in subject matter related to their offerings. The brands do so not only by seeing consumers’ collections, but also by obtaining marketing data on users from Pinterest itself. This makes it easier for companies to recruit new customers. Pinterest also increases access by offering a wide variety of options. Its website is available in 30 different languages, allowing people all over the world to use it.
The company enables customization by allowing users to personalize their pages. It allows them to create a virtual pinboard where they can organize their images, videos, and text into theme-based categories – e.g., events such as fashion shows, interests such as food, and hobbies such as arts and crafts. They can also re-pin images from other users’ pinboards to their own collections.
The company has demonstrated strong performance through tangible results. It indicates that:
- Businesses advertising on the site usually see a 100% increase in web traffic within a week of introducing their first campaign
- Consumers spend more money when visiting retail websites directly from Pinterest than when they visit from other social sites such as Facebook
-
Consumers who have seen a Promoted Pin (a product or service that is given prominent placement) have a 40% higher awareness of new products and 50% higher purchase intent than those who do not; they also have engagement rates 2-5% higher than the industry average High-profile examples of specific positive outcomes include the following:
- Spot Color Art, a business that markets authentic handcrafted art, used Pinterest’s Promoted Pins solution to reach more qualified customers, increasing its sales by 200%
- BabyList, a service that helps parents pick their ideal baby registry, used Promoted Pins, resulting in a 70% growth in account signups and a 40% rise in revenue within five months
- Scoutmob, a lifestyle marketplace for independent makers, used Pinterest’s services to promote its offering, resulting in returns 2x higher than on any other social platform
- Ali Edwards, a provider of memory-keeping kits, used Promoted Pins to showcase its new products and designs, resulting in an 80% increase in transactions The company has established a powerful brand due to its success. It is one of the largest social networks in the world, with over 100 million monthly active users, called “Pinners”. It has a number of prominent Pinners, including First Lady Michelle Obama and Ann Romney, wife of former Governor Mitt Romney. As of 2015, it had an $11 billion valuation. Lastly, it has won many honors, including “Best Social Media App” and the “People’s Voice Award for Best Functioning Visual Design” at the Webby Awards (2012) and “Best New Startup” at the TechCrunch Crunchies Awards (2011).
Channels
Pinterest’s main channel for consumers is its website, through which it acquires most customers. It reaches out to companies through its business development team. The company promotes its offering through its social media pages and participation in events such as conferences.
Customer Relationships
Pinterest’s customer relationship is primarily of a self-service, automated nature. Customers utilize the service through the main platform while having limited interaction with employees.
The company’s website provides answers to frequently asked questions. That said, there is a personal assistance component in the form of e-mail support.
Key Activities
Pinterest’s business model entails maintaining a common platform between two parties: businesses that want to promote their offerings and consumers interested in purchasing them. The platform includes its website and mobile app.
Key Partners
Pinterest maintains the Marketing Developer Partners (MDP) program, which consists of firms that provide services and tools to help brands on the site grow and optimize their earned, paid and owned content. The partners are carefully selected and fall into the following categories:
- Marketing Developer Partners for Ads – Providers that use their ad platforms and Pinterest’s Ads API to help brands manage and optimize their Promoted Pins. Specific partners include 4C, Adaptly, adMixt, Adparlor, Amobee, Ampush, Brand Networks, Hyfn, Kinetic, Social Code, and Unified.
- Marketing Developer Partners for Content Publishing – Providers that use Pinterest’s Content Publishing API to help brands identify, schedule, publish, and measure content on the site and optimize the experience for Pinners. Specific partners include Ahalogy, Buffer, Curalate, Expion, NewsCred, Olapic, Percolate, Salesforce, Spredfast, SocialFlow, Sprinklr, and Tailwind. ### Key Resources
Pinterest’s main resource is its proprietary software platform, which serves more than 100 million monthly active users.
It depends on its technology employees to maintain and update the platform, its business development staff to promote it, and its customer service staff to provide support.
As a relatively new startup it has relied heavily on funding from outside parties, raising $1.32 billion from 31 investors as of June 2015.
Cost Structure
Pinterest has a cost-driven structure, aiming to minimize expenses through significant automation and low-price value propositions.
Its biggest cost driver is sales/marketing, a fixed cost. Other major drivers are in the areas of customer support/operations and administration, both fixed costs.
Revenue Streams
Pinterest has one revenue stream: revenues it generates from charging fees to brands to obtain Promoted Pins. Promoted Pins are products and services that receive prominent placement on the site. They are native ad units and are designed to increase awareness, engagement, and traffic.


Full Stack Web and Hybrid Mobile Application Developer (In-Training)
Full Stack web and hybrid applications developer specializing in designing user interactions on websites, developing servers and databases for website functionality and coding for mobile platforms. Utilizing JavaScript application and architecture. Experienced in all stages of development life cycle and well versed in many programming languages.
Core Competencies
CERTIFICATIONS/TECHNICAL BACKGROUND
| Certifications: | Google Suite, Udacity Front End Web Developer, Agile Certified Scrum Master |
| Platforms: | Linux, Windows, LAMP, MEAN, NodeJS |
| Database: | MySQL, MongoDB |
| Tools: | VSCode, SSH, Gulp, Git |
| Languages: | HTML, CSS, JavaScript, ReactJS, ES6, PHP, Bash, SQL,WAI-ARIA,Bootstrap,Jasmine |
PROFESSIONAL EXPERIENCE
Udacity Front End Web Development Program Graduate
Graduated from an online web development program to supplement current skills and advance forward in career path. Seven projects were completed as proven record of time management and meeting deadlines according to specifications.
Key Project Contributions
EDUCATION
| Microtrain Technologies | September, 2020 |
| Agile Full Stack and Hybrid Mobile Application Development | |
| Udacity, Inc. | October, 2018 |
| Front End Web Developer Nanodegree | |
| Loyola University Chicago | January, 1990 |
| Bachelor of Science, Psychology |


Google maps not yet available>
Cayucos
Bike
Tour
Follow the
green
bike path
Don't have weather yet for Cayucos, but I sure bet it's nice.
More results


enum class ContentEncoding
Supported Types of file content encodings |
|
expect object FileSystem
A thread safe singleton to access file system apis. |
|
enum class FileType
Type of a file |
|
expect class Path
Represents a file system path to a resource |
|
expect class PathComponent
A Path is made up of PathComponents. For example, a path has Path.absolutePath and Path.relativePath which are both PathComponents. |
|
data class StatResult
Stats for a file with name as name. |


This print promotional poster was created for Peter's Alley Theater Productions, an emerging theater company based in Arlington, VA.
[Note: "Into Darkness" by Jarle Refsnes (https://www.flickr.com/photos/29523289@N06/) is licensed under CC BY 2.0 (http://creativecommons.org/licenses/by/2.0/). It has been modified.]


YouTube Like Predictor
A command line tool to predict the like count of a YouTube video.
A command line tool to model the likes count of a YouTube video as a function of various features. Through the YouTube API I gathered video details such as View Count, Comment Count, Dislike Count, Favorite Count, Life of video, Duration, Category etc. Another set of features was gathered from the characteristics of the channel via which the video was uploaded. Some of the features in this category were Channel Subscriber Count, Channel View Count, Channel Video Count and Channel Comment Count. A third set of features was finding out the number of times the video was shared on other social media platforms such as Facebook, Google Plus, Linkedin and Pinterest.
The model which I used was the Stochastic Gradient Descent based Linear Regression model. Considering the R2 metric, the model achieved a training score of 0.969 and a cross-validation score of 0.9503


GIC buys 50% stake in grade A Beijing office building from China state-owned enterprise
by Ng Ren JyeSINGAPORE sovereign wealth fund GIC has bought a 50 per cent stake in a Beijing office building from Beijing Capital Land for an undisclosed sum, making it the sole owner post-acquisition.
Hong Kong-listed Beijing Capital Land is the flagship firm of Chinese state-owned enterprise Beijing Capital Group's real estate business.
The grade A 42-storey building is located in the centre of the Lize Financial Business District, and is the district's tallest building.
The site's area is 26,352 square metres (sq m) and the property has a gross floor area of 38,612 sq m.
It stands along Lize Road, a major road within the emerging central business district, said GIC.
Stay updated with
BT newsletters
Terms & conditions Sign up
The office building is directly connected to an interchange station for key public transport lines, and upcoming infrastructure development in the business district will enhance its accessibility.
"This investment reflects GIC’s continued confidence in China, and commitment to acquiring quality assets with good long-term earning potential in this market," said GIC.
The Chinese building acquisition comes after GIC on Tuesday said it had entered into a joint venture with Australia-listed property group Charter Hall to acquire an A-grade office building in Sydney for an undisclosed sum.
GIC currently has "well over" US$100 billion in assets under management.


Premium Handshake domains that can used for business or your application.
We have been selling premium domains since 2014, now we sell HNS TLDs.
Handshake domains are truly yours and you don't have huge renewal fees.
Featured Domains
Check the full list of domains below.
Some of our peeps
Domains (TLDs) starts at $300.
View all Domains with Price Get a HNS Domain →We have English, Russian, Chinese, Japanese, Korean and Emoji Domains.


Utility Expense Reduction is an Energy Service Company (ESCO) that is dedicated to providing comprehensive energy solutions. With the deregulation of the energy market, you now have the option to choose your energy supply company, just as you always have with your cable providers, long-distance phone companies, and other service providers. It is your choice and with the increased competition in the market, it is your chance to choose UER and become more energy efficient!
Utility Expense Reduction (UER) offers comprehensive energy solutions with top notch customer service! We offer a variety of pricing options for electricity, natural gas, and green energy products for business, education, and government organizations.
Our unique approach to energy solutions is designed to meet your unique energy needs!
As a licensed electricity supplier, UER offers a variety of products to help customers manage their electricity budgets. Whether your objective is to control your energy budget with a fixed price, manage risk with NYMEX Plus Basis, or go month-to-month with our variable pricing, UER has the right product for you.
This pricing option is designed to protect customers from a rising market, and for customers who need price certainty to manage their energy budget.
This option is for customers who want a fixed basis and the ability to participate in downward markets.
This plan offers the ultimate in flexibility, giving you the benefit of highly competitive pricing and our wholesale buying capabilities. With this plan, your variable rate will fluctuate monthly based on market conditions while you maintain the ability to lock in to a fixed rate at any time.
As a licensed natural gas supplier, UER offers a variety of products to help customers manage their natural gas budgets. Whether your objective is to control your energy budget with a fixed price, manage risk with NYMEX Plus Basis, or go month-to-month with our variable pricing, UER has the right product for you.
This pricing option is designed to protect customers from a rising market, and for customers who need price certainty to manage their energy budget.
This option is for customers who want a fixed basis and the ability to participate in downward markets.
This plan offers the ultimate in flexibility, giving you the benefit of highly competitive pricing and our wholesale buying capabilities. With this plan, your variable rate will fluctuate monthly based on market conditions while you maintain the ability to lock in to a fixed rate at any time.
Energy management is the process of monitoring, controlling, and conserving energy in a building or organization.
Through our benchmarking services, we meter your energy consumption and collect the data. UER will find opportunities to save energy, and estimate how much energy each opportunity could save you. We can analyze your metered data to find and quantify routine energy waster, and also investigate the energy savings that you could make by replacing equipment (e.g. lighting) or by upgrading your building’s insulation.
Taking action to target the opportunities to save energy, tackling the routine waste and replacing or upgrading the inefficient equipment is important. We typically start with looking at the best opportunities first; analyzing the three aspects of Supply Management, Demand Management, and Energy Control Measures Installation, also tracking your progress by analyzing your meter data to see how well your energy-saving efforts have worked.
In the mid 1990s, former New York Governor Pataki signed into law what amounted to the deregulation of the monopolized utilities. This law now gives consumers the choice when it comes to the supply of natural gas and electricity. Deregulation broke down the monopoly and opened up the market to other providers known as Energy Service Companies (ESCOs). By deregulating the market, all suppliers now compete on the basis of price and service. For more information on the history of deregulation in the state of New York, visit the Public Service Commission’s website.
As an ESCO, Utility Expense Reduction offers competitive prices, personalized services, and innovative solutions. This gives both residential and business consumers the opportunity to pick the purchasing strategy that best suits their needs.
Utility Expense Reduction is taking a very proactive approach by ensuring that a portion of our customer’s Energy is provided by renewal resources. This will not change the way your energy is delivered but you can have peace of mind knowing that it was generated free of any fossil fuels. We care as much about this planet as you do! Here are just a few of the benefits:
Minimal, if any, byproducts of CO2 and other pollutants such as carbon monoxide, sulfur dioxide, and lead in comparison to those produced in the creation of energy through fossil fuels.
Renewable energy resources are developed here in New York State. Furthering their development will keep millions of dollars here, creating more jobs.
This will depend on the technological advancements of renewable energy sources. We will always have water, wind and the sun.


mogrify(1) mogrify(1) NAME mogrify - resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more. Mogrify overwrites the original image file, whereas, convert(1) writes to a different image file. SYNOPSIS mogrify [options] input-file OVERVIEW The mogrify program is a member of the ImageMagick(1) suite of tools. Use it to resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more. This tool is similar to convert(1) except the original image file is overwritten with any changes you request. For more information about the mogrify command, point your browser to file:///usr/share/doc/imagemagick/www/mogrify.html or http://www.imagemagick.org/script/mogrify.php. DESCRIPTION Image Settings: -adjoin join images into a single multi-image file -affine matrix affine transform matrix -antialias remove pixel-aliasing -authenticate value decrypt image with this password -background color background color -bias value add bias when convolving an image -black-point-compensation use black point compensation -blue-primary point chromaticity blue primary point -bordercolor color border color -caption string assign a caption to an image -cdl filename color correct with a color decision list -channel type apply option to select image channels -colors value preferred number of colors in the image -colorspace type alternate image colorspace -comment string annotate image with comment -compose operator set image composite operator -compress type type of pixel compression when writing the image -decipher filename convert cipher pixels to plain pixels -define format:option define one or more image format options -delay value display the next image after pausing -density geometry horizontal and vertical density of the image -depth value image depth -direction type render text right-to-left or left-to-right -display server get image or font from this X server -dispose method layer disposal method -dither method apply error diffusion to image -encipher filename convert plain pixels to cipher pixels -encoding type text encoding type -endian type endianness (MSB or LSB) of the image -family name render text with this font family -features distance analyze image features (e.g. contrast, correla‐ tion) -fill color color to use when filling a graphic primitive -filter type use this filter when resizing an image -flatten flatten a sequence of images -font name render text with this font -format type image format type -function name apply a function to the image -fuzz distance colors within this distance are considered equal -gravity type horizontal and vertical text placement -green-primary point chromaticity green primary point -intent type type of rendering intent when managing the image color -interlace type type of image interlacing scheme -interpolate method pixel color interpolation method -kerning value set the space between two letters -label string assign a label to an image -limit type value pixel cache resource limit -loop iterations add Netscape loop extension to your GIF animation -mask filename associate a mask with the image -matte store matte channel if the image has one -mattecolor color frame color -monitor monitor progress -morphology method kernel apply a morphology method to the image -orient type image orientation -origin geometry image origin -page geometry size and location of an image canvas (setting) -path path write images to this path on disk -ping efficiently determine image attributes -pointsize value font point size -preview type image preview type -quality value JPEG/MIFF/PNG compression level -quiet suppress all warning messages -red-primary point chromaticity red primary point -regard-warnings pay attention to warning messages -sampling-factor geometry horizontal and vertical sampling factor -scene value image scene number -seed value seed a new sequence of pseudo-random numbers -size geometry width and height of image -stretch type render text with this font stretch -stroke color graphic primitive stroke color -strokewidth value graphic primitive stroke width -style type render text with this font style -support factor resize support: > 1.0 is blurry, < 1.0 is sharp -synchronize synchronize image to storage device -taint declare the image as modified -texture filename name of texture to tile onto the image background -tile-offset geometry tile offset -treedepth value color tree depth -transparent-color color transparent color -undercolor color annotation bounding box color -units type the units of image resolution -verbose print detailed information about the image -view FlashPix viewing transforms -virtual-pixel method virtual pixel access method -weight type render text with this font weight -white-point point chromaticity white point Image Operators: -adaptive-blur geometry adaptively blur pixels; decrease effect near edges -adaptive-resize geometry adaptively resize image with data dependent trian‐ gulation -adaptive-sharpen geometry adaptively sharpen pixels; increase effect near edges -annotate geometry text annotate the image with text -auto-orient automatically orient image -black-threshold value force all pixels below the threshold into black -blur geometry reduce image noise and reduce detail levels -border geometry surround image with a border of color -charcoal radius simulate a charcoal drawing -chop geometry remove pixels from the image interior -clip clip along the first path from the 8BIM profile -clip-mask filename associate a clip mask with the image -clip-path id clip along a named path from the 8BIM profile -colorize value colorize the image with the fill color -color-matrix matrix apply color correction to the image -contrast enhance or reduce the image contrast -contrast-stretch geometry improve contrast by `stretching' the intensity range -convolve coefficients apply a convolution kernel to the image -cycle amount cycle the image colormap -despeckle reduce the speckles within an image -draw string annotate the image with a graphic primitive -edge radius apply a filter to detect edges in the image -emboss radius emboss an image -enhance apply a digital filter to enhance a noisy image -equalize perform histogram equalization to an image -evaluate operator value evaluate an arithmetic, relational, or logical expression -extent geometry set the image size -extract geometry extract area from image -fft implements the discrete Fourier transform (DFT) -flip flip image vertically -floodfill geometry color floodfill the image with color -flop flop image horizontally -frame geometry surround image with an ornamental border -gamma value level of gamma correction -gaussian-blur geometry reduce image noise and reduce detail levels -geometry geometry preferred size or location of the image -ift implements the inverse discrete Fourier transform (DFT) -help print program options -identify identify the format and characteristics of the image -implode amount implode image pixels about the center -lat geometry local adaptive thresholding -layers method optimize or compare image layers -level value adjust the level of image contrast -linear-stretch geometry improve contrast by `stretching with saturation' the intensity range -median geometry apply a median filter to the image -mode geometry make each pixel the 'predominant color' of the neighborhood -modulate value vary the brightness, saturation, and hue -monochrome transform image to black and white -motion-blur geometry simulate motion blur -negate replace each pixel with its complementary color -noise geometry add or reduce noise in an image -normalize transform image to span the full range of colors -opaque color change this color to the fill color -ordered-dither NxN add a noise pattern to the image with specific amplitudes -paint radius simulate an oil painting -polaroid angle simulate a Polaroid picture -posterize levels reduce the image to a limited number of color lev‐ els -print string interpret string and print to console -profile filename add, delete, or apply an image profile -quantize colorspace reduce colors in this colorspace -radial-blur angle radial blur the image -raise value lighten/darken image edges to create a 3-D effect -random-threshold low,high random threshold the image -region geometry apply options to a portion of the image -render render vector graphics -repage geometry size and location of an image canvas -resample geometry change the resolution of an image -resize geometry resize the image -roll geometry roll an image vertically or horizontally -rotate degrees apply Paeth rotation to the image -sample geometry scale image with pixel sampling -scale geometry scale the image -segment values segment an image -selective-blur geometry selectively blur pixels within a contrast thresh‐ old -sepia-tone threshold simulate a sepia-toned photo -set property value set an image property -shade degrees shade the image using a distant light source -shadow geometry simulate an image shadow -sharpen geometry sharpen the image -shave geometry shave pixels from the image edges -shear geometry slide one edge of the image along the X or Y axis -sigmoidal-contrast geometry lightness rescaling using sigmoidal contrast enhancement -sketch geometry simulate a pencil sketch -solarize threshold negate all pixels above the threshold level -splice geometry splice the background color into the image -spread amount displace image pixels by a random amount -statistic type geometry replace each pixel with corresponding statistic from the neighborhood -strip strip image of all profiles and comments -swirl degrees swirl image pixels about the center -threshold value threshold the image -thumbnail geometry create a thumbnail of the image -tile filename tile image when filling a graphic primitive -tint value tint the image with the fill color -transform affine transform image -transparent color make this color transparent within the image -transpose flip image vertically and rotate 90 degrees -transverse flop image horizontally and rotate 270 degrees -trim trim image edges -type type image type -unique-colors discard all but one of any pixel color -unsharp geometry sharpen the image -vignette geometry soften the edges of the image in vignette style -wave geometry alter an image along a sine wave -white-threshold value force all pixels above the threshold into white Image Sequence Operators: -affinity filename transform image colors to match this set of colors -append append an image sequence top to botto (use +append for left to right) -clut apply a color lookup table to the image -coalesce merge a sequence of images -combine combine a sequence of images -composite composite image -crop geometry cut out a rectangular region of the image -deconstruct break down an image sequence into constituent parts -evaluate-sequence operator evaluate an arithmetic, relational, or logical expression -flatten flatten a sequence of images -fx expression apply mathematical expression to an image chan‐ nel(s) -hald-clut apply a Hald color lookup table to the image -morph value morph an image sequence -mosaic create a mosaic from an image sequence -process arguments process the image with a custom image filter -separate separate an image channel into a grayscale image -smush geometry smush an image sequence together -write filename write images to this file Image Stack Operators: -delete indexes delete the image from the image sequence -duplicate count,indexes duplicate an image one or more times -insert index insert last image into the image sequence -swap indexes swap two images in the image sequence Miscellaneous Options: -debug events display copious debugging information -help print program options -log format format of debugging information -list type print a list of supported option arguments -version print version information By default, the image format of `file' is determined by its magic number. To specify a particular image format, precede the filename with an image format name and a colon (i.e. ps:image) or specify the image type as the filename suffix (i.e. image.ps). Specify 'file' as '-' for standard input or output. SEE ALSO ImageMagick(1) COPYRIGHT Copyright (C) 1999-2012 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/imagemag‐ ick/www/license.html or http://www.imagemagick.org/script/license.php ImageMagick Date: 2009/01/10 01:00:00 mogrify(1)


This is a tool that helps you create tweening animations between sets of Geometrize shape data. Geometrize is a desktop app and open source toolkit for geometrizing images into shapes.
This page helps a user find visually appealing animations between circle shape data exported from Geometrize. Given two sets of exported circle shape data, which must each contain the same number of shapes, the tool finds mappings between the two sets of shapes according to the cost and optimization functions provided above.
The "step" button completes a single iteration of the optimization algorithm. The "reset" button resets all settings and data back to their defaults.
The cost and optimization functions can be changed via the preset dropdown menus, or by directly editing the hscript scripts in the text areas above.
The results data, which maps the indices of shapes in dataset one to shapes in dataset two is written to the text area above each time the algorithm steps. When there are errors that prevent the algorithm from stepping, these are reported in red next to the relevant text boxes.
Visit the Geometrize website for more information. Also see the tweens demo which uses data produced by this tool, and the Geometrize Twitter bot.
If you have suggestions, requests or comments, please open an issue or contact me.


{% include "InvenTree/settings/header.html" %}
{% include "InvenTree/settings/setting.html" with key="STOCK_GROUP_BY_PART" icon="fa-layer-group" %}
{% include "InvenTree/settings/setting.html" with key="STOCK_RECENT_COUNT" icon="fa-clock" %}
{% include "InvenTree/settings/setting.html" with key="STOCK_ENABLE_EXPIRY" icon="fa-stopwatch" %}
{% include "InvenTree/settings/setting.html" with key="STOCK_STALE_DAYS" icon="fa-calendar" %}
{% include "InvenTree/settings/setting.html" with key="STOCK_ALLOW_EXPIRED_SALE" icon="fa-truck" %}
{% include "InvenTree/settings/setting.html" with key="STOCK_ALLOW_EXPIRED_BUILD" icon="fa-tools" %}
{% include "InvenTree/settings/setting.html" with key="STOCK_OWNERSHIP_CONTROL" icon="fa-users" %}


(PECL getdns >= 0.11.0)
php_getdns_service_sync — Synchronously retrieve SRV information given a name.
$context
, string $name
, int $extensions
, int &$response
)This function provides an entry point into the getdns API library to synchronously retrieve SRV information given a name.
context
The previously created DNS context that is to be used with this request.
name
The service name to resolve.
extensions
The extensions dictionary for this request; NULL or 0 (zero) if no extensions.
response
The dictionary to receive the response. The dictionary always contains at least three names: replies_full (a list containing the DNS response as binary data), replies_tree (a list containing the parsed DNS response data) and status (an int). Note that this argument is passed by reference and any existing value will be overwritten. The response must be freed using php_getdns_dict_destroy().
This function returns an integer response code. GETDNS_RETURN_GOOD indicates successful completion.