AppAuth-JS
This example shows how one can integrate AppAuthJS and Electron. For more information look source of the application at the following
https://github.com/openid/AppAuth-JS
.
Placeholder
User Info


Group Chat
Login/Register in below to begin chatting!!!
Chatroom
Username:
Password:
Group Chat
Login
Register


Que Pasa is a busy, friendly, neighbourhood bar and restaurant offering locals and visitors alike an informal place to eat, drink, lounge and relax. It aims to create a stylish yet simple space with sliding doors that open onto the street, vast wooden chandeliers hanging from high ceilings, bare stone walls, tiled floors, and an upstairs lounge area overlooking the new dining area. Wood-fired pizzas are the cornerstone of Que Pasa’s menu, with hand-made dough being baked from early morning till late at night. Their continental menu ranges from steak and fish dishes to gourmet pasta bowls all served up on candle lit wooden tables.
We at Que pasa cherish your continued support, that's why we remain open for the better part of the day so as to keep you well fed, well hydrated and give you a chance to relax.
| Pizza size | Order No. | Toppings | Crust | Total |
|---|---|---|---|---|
| 1 |


<EMAIL_ADDRESS>/<PHONE_NUMBER> / 1573 3rd Ave New York NY 10128
Application Developer - Branch Innovation Feb 2016 - Present
Developed UI for new generations of eATMs and tablets for internal and customer use in Chase branches. Involves working with Javascript and Swift
Application Developer - Auto Finance Technology July 2014 - Feb 2016
Involved in developing applications and services related to loan originations, processing and decision engines. Involved working with Java for web services and Javascript for front-end web apps.
Various positions May 2012 - May 2013
Virtual Desktop Engineering intern at JP Morgan Chase , Vulnerability Management intern at UPS , Java Developer intern at UPS
Masters of Science, Computer Science Rutgers University
Core technical computer science courses covering algorithms, operating system, AI, security and networking
Bachelor of Technology, Information Technology Vellore Inst of Technology
Courses consisted of various core computer science fundamentals, programming languages and sofware engineering


{{forecast.date.weekday}} {{forecast.date.monthname}} {{forecast.date.day | ordinalSuffix}}, {{forecast.date.year}}
High: {{forecast.high.fahrenheit}}, Low: {{forecast.low.fahrenheit}}
Forecast: {{forecast.conditions}}. Average winds should be around {{forecast.avewind.mph}} mph with gusts as high as {{forecast.maxwind.mph}} mph.
Estimated Rainfall: {{forecast.qpf_allday.in}} inches with a chance of rain of {{forecast.pop}}%.
Estimated Snow: {{forecast.snow_allday.in}} inches.


#comment Copyright 2016 Erik Neumann. All Rights Reserved. #comment Use of this source code is governed by the Apache License, Version 2.0. #comment See the LICENSE file and http://www.apache.org/licenses/LICENSE-2.0. #define #TOP_DIR ../.. #define #APP_PATH sims.experimental.GraphCalc2App #include "#TOP_DIR/macros.html" #DOC_TYPE
#META_TAGS #HIDE_ALL #SITE_LOGOThis demonstrates using the myPhysicsLab library to draw multiple graphs on a web page.
NOTE: This will only work on simple-compiled versions of this app; advanced-compiled versions cannot execute JavaScript.


I did my schooling for Guru Harkrishan public school,one of the reputed school in delhi and got good grades in both 10th and 12th
Currently pursuing BTech(final year) in Computer Science from GTBIT,Inderprasth University,New Delhi


{% from "macros.html" import top %} {% from "macros.html" import usual_head %}
{{ usual_head() }}Enter the required information to update your data via the respective APIs.
For PSN key, you must first log in to us.playstation.com on this browser, and then visit this url:
https://ca.account.sony.com/api/v1/ssocookie
After having done that, copy the string inside the quotes after npsso, as below, where the string is the series of X's:
{"npsso":"YOUR_KEY_HERE"}
Paste the YOUR_KEY_HERE value in the box, WITHOUT quotes.
{{ status }}


With the wonderful break from school here at the holidays, I decided to join Treehouse and explore this popular learning platform (and maybe pick up a little Objective C and iOS while I’m at it!). I’m on day three of a two week trial and so far I’ve been impressed by the site and its fantastic array of offerings, despite my devotion to Codeacademy. That said, after completing Treehouse’s Usability Foundations course and dipping my toes into the iOS Development track, I certainly have run across a few areas that could use improvement.
Before diving into the usability issues I’ve experienced, let me say that I have really enjoyed Treehouse thus far. I was initially wary of the video-lecture style that defines the Treehouse delivery mechanism, but I think there is something to be said for adding the human element of an embodied teacher when learning to code. While the learn-by-watching method of Treehouse differs greatly from the Codeacademy approach (code, code, code!), I am currently enjoying it as I start trying to unpack the verbosity of Objective C.
On the other hand, I have experienced some quirky behaviors after the video segments are done and you start to do the Code Challenges and other quizzes. There is a noticeable delay (as in 7 to 10 seconds) in between when completing the final exercise in a coding exercise (receiving the message “Congrats! You completed the challenge!”) and when the dialogue box appears telling you how many points the completion earns.
I’ve noticed this delay only occurs the first time you are completing a Code Challenge, not if you go back and retake a challenge. That fact, however, brings up another problem: when you complete a challenge you have already completed, you are still presented with a dialogue box telling you points are being awarded! It is certainly a little confusing to receive the message that I have earned 6 points for completing the NSString challenge, but then not see any change in my overall score.
I think the fixes in these cases could be straightforward. Simply offer a loading indicator if the long delay between challenge completion and points awarding is unavoidable. Then, if retaking a challenge already completed, make sure the dialogue box at the end mentions that this challenge has already been passed and no new points will be awarded.
In terms of quizzes, there are a few pedagogical problems when you answer a question incorrectly. On the iPad app, the user is given little feedback when a question is answered incorrectly – all you get is a red box and an unhappy beep. The web interface offers an experience that is much the same (an incorrect answer garners a message of “Bummer! Unfortunately, that answer is incorrect.”).
What I really find frustrating is not this method of handling incorrect answers – the quiz should not tell you the correct answer as you are taking it, in case you do not pass. The problem arises when you reach the end of a quiz, perhaps with one incorrect answer, and are awarded your points without having a chance to review the question you answered incorrectly.
I have run into this scenario multiple times on the iOS track: I’ve missed a question that I would love to know the answer to, but I have to retake the entire quiz to attempt the question again. This is a highly inefficient setup for both the user and the system.
Again, I think this usability problem might have a simple fix. Perhaps, at the end of quizzes on the iPad and the web interface, add a button that says “Review incorrect answers” that allows the user to review the question(s) they missed.
Changing gears, I’ve also found that navigating to courses and tracks you are currently enrolled in is not the easiest, both on the web and the iPad app. With the iPad app, one tap when you open the app brings up the dashboard and shows you what track you are working on, then one more tap takes you right into the section of the track you are on.
That said, you still have to scroll down to the lecture or quiz you left off at, but this is a minor inconvenience.
When you login to the web interface, you are presented with a Dashboard page that shows the current track you are on and a button to resume your progress, as with the iPad app.
What is lacking from both interfaces, however, is any indication of other courses a user might be currently working through. (For example, though I am on the iOS Development track, I have also been watching lectures and taking quizzes from Usability Foundations, Career Foundations, and Database Foundations). Neither on the Dashboard page nor on my profile page is there a link to any of the other courses from the Treehouse Library that I’m working to finish. Having to click or tap on Library and then navigate through multiple layers to find the course I have started is difficult and undoubtedly poor from a usability standpoint.
Perhaps what Treehouse could do is offer a more informative Dashboard page. In the Welcome Home section of the web interface, current courses could be listed alongside the current track, accompanied by resume buttons. The same holds true on the iPad app – under the In Progress section, the current courses could also be visible and tapable.
Treehouse is an awesome product and I’m excited about continuing to explore its many facets, but I do hope the Treehouse Team will tighten up some aspects of the experience. I believe the few small tweaks above could easily make Treehouse one of the best online learning platforms available for aspiring developers.


|
The first form of annotation in text widgets is a tag. A tag is a textual string that is associated with some of the characters in a text. Tags may contain any characters but not these:
- . ' , ; + : @
There may be any number of tags associated with characters in a text. Each tag may refer to a single character, a range of characters, or several ranges of characters. An individual character may have any number of tags associated with it.
A priority order is defined among tags, and this order is used in implementing some of the tag-related functions described below. When a tag is defined (by associating it with characters or setting its display options or binding commands to it), it is given a priority higher than any existing tag. The priority order of tags may be redefined using the ``pathName tag raise'' and ``pathName tag lower'' widget commands.
Tags serve three purposes in text widgets. First, they control the way information is displayed on the screen. By default, characters are displayed as determined by the background, font, and foreground options for the text widget. However, display options may be associated with individual tags using the ``pathName tag configure'' widget command. If a character has been tagged, then the display options associated with the tag override the default display style. The following options are currently supported for tags:
- #:background color
- Color specifies the background color to use for characters associated with the tag. It may have any of the forms accepted by Tk_GetColor.
- #:bgstipple bitmap
- Bitmap specifies a bitmap that is used as a stipple pattern for the background. It may have any of the forms accepted by Tk_GetBitmap. If bitmap hasn't been specified, or if it is specified as an empty string, then a solid fill will be used for the background.
- #:borderwidth pixels
- Pixels specifies the width of a 3-D border to draw around the background. It may have any of the forms accepted by Tk_GetPixels. This option is used in conjunction with the #:relief option to give a 3-D appearance to the background for characters; it is ignored unless the #:background option has been set for the tag.
- #:elide boolean
- Elide specifies whether the data should be elided. Elided data is not displayed and takes no space on screen, but further on behaves just as normal data.
- #:fgstipple bitmap
- Bitmap specifies a bitmap that is used as a stipple pattern when drawing text and other foreground information such as underlines. It may have any of the forms accepted by Tk_GetBitmap. If bitmap hasn't been specified, or if it is specified as an empty string, then a solid fill will be used.
- #:font fontName
- FontName is the name of a font to use for drawing characters. It may have any of the forms accepted by Tk_GetFont.
- #:foreground color
- Color specifies the color to use when drawing text and other foreground information such as underlines. It may have any of the forms accepted by Tk_GetColor.
- #:justify justify
- If the first character of a display line has a tag for which this option has been specified, then justify determines how to justify the line. It must be one of left, right, or center. If a line wraps, then the justification for each line on the display is determined by the first character of that display line.
- #:lmargin1 pixels
- If the first character of a text line has a tag for which this option has been specified, then pixels specifies how much the line should be indented from the left edge of the window. Pixels may have any of the standard forms for screen distances. If a line of text wraps, this option only applies to the first line on the display; the #:lmargin2 option controls the indentation for subsequent lines.
- #:lmargin2 pixels
- If the first character of a display line has a tag for which this option has been specified, and if the display line is not the first for its text line (i.e., the text line has wrapped), then pixels specifies how much the line should be indented from the left edge of the window. Pixels may have any of the standard forms for screen distances. This option is only used when wrapping is enabled, and it only applies to the second and later display lines for a text line.
- #:offset pixels
- Pixels specifies an amount by which the text's baseline should be offset vertically from the baseline of the overall line, in pixels. For example, a positive offset can be used for superscripts and a negative offset can be used for subscripts. Pixels may have any of the standard forms for screen distances.
- #:overstrike boolean
- Specifies whether or not to draw a horizontal rule through the middle of characters. Boolean may have any of the forms accepted by Tk_GetBoolean.
- #:relief relief
- Relief specifies the 3-D relief to use for drawing backgrounds, in any of the forms accepted by Tk_GetRelief. This option is used in conjunction with the #:borderwidth option to give a 3-D appearance to the background for characters; it is ignored unless the #:background option has been set for the tag.
- #:rmargin pixels
- If the first character of a display line has a tag for which this option has been specified, then pixels specifies how wide a margin to leave between the end of the line and the right edge of the window. Pixels may have any of the standard forms for screen distances. This option is only used when wrapping is enabled. If a text line wraps, the right margin for each line on the display is determined by the first character of that display line.
- #:spacing1 pixels
- Pixels specifies how much additional space should be left above each text line, using any of the standard forms for screen distances. If a line wraps, this option only applies to the first line on the display.
- #:spacing2 pixels
- For lines that wrap, this option specifies how much additional space to leave between the display lines for a single text line. Pixels may have any of the standard forms for screen distances.
- #:spacing3 pixels
- Pixels specifies how much additional space should be left below each text line, using any of the standard forms for screen distances. If a line wraps, this option only applies to the last line on the display.
- #:tabs tabList
- TabList specifies a set of tab stops in the same form as for the #:tabs option for the text widget. This option only applies to a display line if it applies to the first character on that display line. If this option is specified as an empty string, it cancels the option, leaving it unspecified for the tag (the default). If the option is specified as a non-empty string that is an empty list, such as #:tags
'() , then it requests default 8-character tabs as described for the tags widget option.
- #:underline boolean
- Boolean specifies whether or not to draw an underline underneath characters.
- #:wrap mode
- Mode specifies how to handle lines that are wider than the text's window. It has the same legal values as the #:wrap option for the text widget:
If this tag option is specified, it overrides the #:wrap option for the text widget.
If a character has several tags associated with it, and if their display options conflict, then the options of the highest priority tag are used. If a particular display option hasn't been specified for a particular tag, or if it is specified as an empty string, then that option will never be used; the next-highest-priority tag's option will used instead. If no tag specifies a particular display option, then the default style for the widget will be used.
The second purpose for tags is event bindings. You can associate bindings with a tag in much the same way you can associate bindings with a widget class: whenever particular X events occur on characters with the given tag, a given command will be executed. Tag bindings can be used to give behaviors to ranges of characters; among other things, this allows hypertext-like features to be implemented. For details, see the description of the tag bind widget command below.
The third use for tags is in managing the selection. See selection below.
© Author
| Home
| Sitemap
|


Connection
Devices
MQTT Connection settings
IP address
Port:
Authentication settings
User:
Password:
MQTT settings
Status-Topic
Command-Topic
RF settings
Minimal delay between outgoing codes
add_circle_outline
ID
Name
Condition ID
Code-On
Code-Off
Timer in sec


Scalable Spark Deployment using Kubernetes - Part 3 : Kubernetes Abstractions
In last blog of the series, we discussed about how to install kubernetes in our local machine.In this third blog, we will discuss what are the different abstractions provided by the kubernetes. You can access all the posts in the series here.
Kubernetes Abstractions
Kubernetes is a production grade container orchestration system. It follows an API driven approach to interact between different components. It has a vast API surface.We are not going to cover each of those API’s/abstractions here. We are only going to focus on few of the one which are used most of the times. For all the abstractions, refer to user guide.
The Kubernetes abstractions can be divided into following four major categories
-
Compute Abstractions - All the abstractions related to running a computing unit. Ex : Container, Pod etc.
-
Network Abstractions - All the abstractions related to expose the computing units on network ex: Container Port, Service etc.
-
Storage Abstractions - All the abstractions related to providing and managing storage for compute ex: Volume, VolumeClaim etc.
-
Metadata Abstractions - All the abstractions related to discovering compute, network and storage abstractions ex : labels
In the following sections, we will be discussing about important compute abstractions. The other abstractions will be covered in future posts.
A Brief Word about Containers
Kubernetes is a container orchestration framework. But what is a container? In simple terms, container is a light weight virtual machine which runs one of the services of an application. The major difference between VM and Containers is how they share operating system and underneath resources. In VM world, each VM has it’s own full copy of operating system. But in case of containers, all the containers share a common operating system kernel. So containers are much more light weight than the VM’s.
Even though containers are around more than a decade, docker made containers popular. You can get basics of docker or container in general by going through this video.
Compute Abstractions
Once we know what is a container, we can now start discussing about the different compute abstractions in kubernetes. Most of these abstractions discuss about how to create, manage and destroy the containers on scale.
Pod Abstraction
Pod is a collection of one or more containers. It’s smallest compute unit you can deploy on the kubernetes.
One of the important aspects of pods are, they run all the containers in the single node. This gives the locality to the containers which need low latency connection between them. Also since they run on same machine, kubernetes creates a networking scheme which allows each containers to address them each other by “localhost”
Defining the Pod
Kubernetes uses yaml as it’s configuration language for defining various resources.
In below configuration, we are defining a pod which runs a single container of nginx. Nginx is a popular web server.
apiVersion : v1
kind: Pod
metadata:
name : nginx-pod
spec:
containers:
- name : nginx
image : nginx
The above yaml snippet defines the pod. The below are the different pieces.
-
apiVersion - parameter defines the kubernetes API we are using. This versioning scheme allows kubernetes to support multiple versions of the API’s at same time.
-
kind - This parameter defines for which abstraction of kubernetes we are defining this configuration. Here we are defining for a pod.
-
metadata - Metadata of the pod. This allows kubernetes to locate the pod uniquely across the cluster.
-
spec - This defines the all the containers we want to run
For each container we define
- name - Name of the container. This will be also used as the host name of the container. So this has to be unique within the pod
- image - Docker image that needs to be used to create the container.
You can read more about pod abstraction here.
You can find the complete yaml file on github.
Creating Pod from Configuration
Once we define the pod, then we can use kubectl create command to create a pod
kubectl create -f nginx.yaml
This will download the latest nginx image from dockerhub and starts the container inside the pod.
If you run the below command
kubectl get po
You should see the results as below
nginx-pod 1/1 Running 0 37s
Now you have successfully ran a pod on your kubernetes instance.
Deployment Abstraction
In earlier section, we discussed about pod abstraction. Pod abstraction works well when we need to create single copy of the container. But in clustered use cases like spark, we may need multiple instance of same containers. For example, we need multiple instances of spark workers. Expressing them individually is tedious and doesn’t scale well.So in those cases using pod abstraction is not good enough.Also pod abstraction doesn’t allow us to update the code inside the pod without changing the configuration file. This will be challenging in cluster environment where we may want to dynamically update configs/ version of software.
So to overcome these challenges, kubernetes gives us another abstraction called deployments. As name suggest, this abstraction allows end to end deployment of a pod. This allows us to create, update and destroy pods with much cleaner abstractions than the bare bone pod abstraction. So kubernetes documentation prefers the deployment abstraction over simple pod abstraction.
So let’s rewrite our nginx pod example using deployment abstraction. The below is the yaml configuration for deployment
apiVersion : extensions/v1beta1
kind: Deployment
metadata:
name : nginx-deployment
spec:
replicas : 1
template:
metadata :
labels :
name : nginx
spec :
containers:
- name : nginx
image : nginx
The below are the major differences are
-
replicas - We can create multiple instances of the pod using this. As we need only instance here we are specifying as the 1.
-
template - This holds the template for the pod. This information is same whatever we specified in the pod definition.
You can access the complete file on github.
Running the deployment
Use the below command to run the deployment
kubectl create -f nginxdeployment.yaml
You can see all running deployments using below command
kubectl get deployments
Now you have successfully ran the deployment. You can run multiple copies of the container just by increasing the replicas count.
Conclusion
Now we know the major compute abstractions of the kubernetes. Use deployment abstraction even when you need single pod. It makes things much cleaner.
What’s Next?
Even though we have run the pod, we have not accessed anything from it. So you may be asking how to access the front-page of nginx. To understand that, we need to understand the network/service abstractions provided by the kubernetes. We will be discussing about them in the next blog.


Before Change
def test_combine_with_existing_dense_features():
featurizer = DenseFeaturizer()
attribute = DENSE_FEATURE_NAMES[TEXT]
existing_features = [[1, 0, 2, 3], [2, 0, 0, 1]]
new_features = [[1, 0], [0, 1]]
expected_features = [[1, 0, 2, 3, 1, 0], [2, 0, 0, 1, 0, 1]]
message = Message("This is a text.")
message.set(attribute, existing_features)
actual_features = featurizer._combine_with_existing_dense_features(
message, new_features, attribute
)
After Change
def test_combine_with_existing_dense_features():
existing_features = Features(np.array([[1, 0, 2, 3], [2, 0, 0, 1]]), TEXT, "test")
new_features = np.array([[1, 0], [0, 1]])
expected_features = np.array([[1, 0, 2, 3, 1, 0], [2, 0, 0, 1, 0, 1]])
actual_features = existing_features.combine_with_features(new_features)
assert np.all(expected_features == actual_features)


Your first node.js module
Posted on 27 May 2012
Making modular and reusable code is something we should all be doing to keep the quality of it up to par. A very simple way to make reusable modules of code in node.js is to create generalized modules (no pun intended).
Recently, I created a node module for Domai.nr, and wanted to shed some light on how easy it actually is to make these node modules. In this post, we’re going to recreate the domai.nr module from scratch, and hopefully you learn a few things along the way!
What is a Node Module?
A node module is JavaScript code that usually does a few specific things, and is usually agnostic to the rest of your application. It typically promotes better code quality, and is super awesome because you can publish your modules to npm so others can use them, too. If you’re not familiar with npm, check out this article for a simple introduction.
Some of the most popular node modules are:
Why a Domai.nr node module?
I’ve chosen the Domai.nr API over others for several reasons. Mostly, becuause it has two methods that both return JSON: search and info. It’s very easy to write a wrapper for these two methods. Also, I <3 Domai.nr a ton, and you should too. :D
Let’s get started!
As Isaac mentions here, there are different ways for you to write a module. Some people have specific preferences, and if you have any insight or feedback as to my process, I’d love to hear from you.
A package.json file
The package.json file is a description of the module, and also specifies where your code is located. Some common attributes in the file include:
- Name of the module
- Version
- Description of the module
- Dependencies of the module
- Git repo
- Keywords (for searching npm)
- Main (where the code is located, relative to the package.json file)
As you can tell, there is actually quite a bit of important information in here. This particular package.json file won’t be too large.
If you already have npm installed, you can simply run an npm init
to
guide you through making a barebones package.json
file. Otherwise, you
can create it manually. Regardless of how you do create it, make sure it
is like this:
That should be fairly self-explanatory, but one thing to note is the main attribute of this JSON object. I touched on it briefly a bit earlier on in the post, but essentially, it’s a path to the code that makes up your module.
Getting ready
Awesome - now we just have one more quick step before digging into the code.
Remember earlier when I mentioned we can publish our packages to npm and let
others use them? This is one of my favorite things about creating node modules -
we can use great code that has already been written for us. In our
package.json
file, we actually specified a dependency: a great HTTP abstraction called request.
Coding it up
As you saw in the package.json file above, we have a file at /lib/domainr
where our code is kept. It’s actually at /lib/domainr.js
(we omit the .js
at
the end). Let’s make the folder that goes with it, and the file:
1
|
|
Alright - now pop open your favorite text editor, and let’s get this coded.
If you’re familiar with Node.js, this should be pretty trivial (it is very easy to make these, after all). I’ll try and walk us through it, so anyone reading should hopefully understand. If you have any questions, feel free to reach out on twitter or email.
The first thing we need to do in our domainr.js
file is to require request. To do so, add the following at the top of the file:
1
|
|
This allows us to utilize all of the goodness that comes with request. That’s perfect, since we’re just making HTTP requests to the domai.nr API.
An aside: how we want people to use the module
At this point, I’ve usually plotted out how I want my public API to be (i.e.
what methods the users would be able to call using my module). I figured it
would be best to just mirror domai.nr’s methods, so we’ll have two: search
and
info
.
So, it’s basically like this (NOTE do not add this as code, this is just an example for how it will be used):
You can find examples of what the responses will be like on Domai.nr’s documentation.
Back to coding…
That was a good exercise because now, we know exactly what we want to expose:
.search
and .info
. Let’s to search first.
To expose a method on the module object that is returned when require
‘ing it,
you use exports
. For example - we want people to call .search
on the variable they aliased to the require
(in the example above). In order to expose the method, we prefix it with exports
. Here’s more about that, if you’re still a bit stuck.
Let’s implement the search method now. Since we know about the exports
, the
signature of the function will look like this (with the require
above it, just
to make sure you’re following along:
As you see, we’re passing two arguments: a query to use for the search, and a callback function to use when the Domai.nr API has responded.
This next part will utilize request. I recommend taking a look at this example to be a little bit more familiar with how it works.
Essentially, we make an HTTP request to a URL, and request gives us an error
object, a response
object, and a body
object in response. We can then
utilize those in our callback function.
Let’s go ahead and implement that in our search function (add lines 5 - 7):
This is pretty simple - we make a request to the search endpoint of Domai.nr’s API, with the query parameter of what we’re searching. We then execute the callback function with the JSON that Domai.nr returns.
This is looking pretty good, but let’s fix one thing up. You see where we’re
appending query
to the URL? Go ahead and wrap query
in encodeURIComponent
, so we
get something like:
This allows users to pass in phrases separated by spaces (i.e. “Connor Montgomery”), and have it query the API with both of them in mind (like the actual Domai.nr site does).
So, right now you get a high five, becuase our
search
method is complete! In fact, you can even open up a terminal and check
it out (in node’s REPL):
1 2 3 4 |
|
And after a few moments, you should see a JSON object from Domai.nr returned in your terminal. Awesomesauce!
The .info method
The info method is essentially the same thing, we just make it an exports.info
(instead of exports.search
, and change the URL in the request
argument to
http://domai.nr/api/json/info?q=
. We don’t need to wrap the query
in
encodeURIComponent, since developers will be passing in a domain name, and not a
possibly-space-separated string.
However, we ought to throw an error if they do happen to not pass in a domain.
It’s actually very trivial to do so, since we can just see what the
statusCode
in the response
object from request is. If it’s a 200 (i.e. an
“OK”), all’s well. If it’s not, then we’ll throw an error. See the code below:
And that’s it, actually. Congrats!
If you were to push this to npm now, you’d simply need to create a user (npm
adduser
). Next, you’d cd
to the root of your project (where your
package.json
file is), and simply type npm publish
. And then it’s live!


Browser can't run mp4
Your personal travel guide
Excursion remember places you like, and recommend new points of interest around you
Coming soon for iphone and android
Download Excursion (Coming soon!)


AWS::CodeBuild::Project ProjectCache
ProjectCache
is a property of the
AWS CodeBuild Project
resource that specifies information about the cache for the build project. If ProjectCache
is not specified, then both of its properties
default to NO_CACHE
.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
Properties
Location
-
Information about the cache location:
-
NO_CACHE
orLOCAL
: This value is ignored. -
S3
: This is the S3 bucket name/prefix.
Required: No
Type: String
Update requires: No interruption
-
Modes
-
An array of strings that specify the local cache modes. You can use one or more local cache modes at the same time. This is only used for
LOCAL
cache types.Possible values are:
- LOCAL_SOURCE_CACHE
-
Caches Git metadata for primary and secondary sources. After the cache is created, subsequent builds pull only the change between commits. This mode is a good choice for projects with a clean working directory and a source that is a large Git repository. If you choose this option and your project does not use a Git repository (GitHub, GitHub Enterprise, or Bitbucket), the option is ignored.
- LOCAL_DOCKER_LAYER_CACHE
-
Caches existing Docker layers. This mode is a good choice for projects that build or pull large Docker images. It can prevent the performance issues caused by pulling large Docker images down from the network.
Note -
You can use a Docker layer cache in the Linux environment only.
-
The
privileged
flag must be set so that your project has the required Docker permissions. -
You should consider the security implications before you use a Docker layer cache.
-
- LOCAL_CUSTOM_CACHE
-
Caches directories you specify in the buildspec file. This mode is a good choice if your build scenario is not suited to one of the other three local cache modes. If you use a custom cache:
-
Only directories can be specified for caching. You cannot specify individual files.
-
Symlinks are used to reference cached directories.
-
Cached directories are linked to your build before it downloads its project sources. Cached items are overridden if a source item has the same name. Directories are specified using cache paths in the buildspec file.
-
Required: No
Type: List of String
Update requires: No interruption
Type
-
The type of cache used by the build project. Valid values include:
-
NO_CACHE
: The build project does not use any cache. -
S3
: The build project reads and writes from and to S3. -
LOCAL
: The build project stores a cache locally on a build host that is only available to that build host.
Required: Yes
Type: String
Allowed values:
LOCAL | NO_CACHE | S3
Update requires: No interruption
-
See also
-
ProjectCache in the AWS CodeBuild API Reference


Example 1
Here is a simple demonstration plot using the Graph2D class.
The modification to the default settings are
The
source
for this example. Last modified: Fri Oct 27 15:55:16 PDT 1995


Welcome to Terry Labs LLC! Here, we specialize in creating
sports and general supplementation! From multi-vitamins to
pharmaceutical grade Beta-Alanine, Terry Labs provides
underestimated R&D!
Updates:
» (04/23/2015): The site is still under construction. However, the
"Create-Your-Supplement" UI will be included sooner before the
completion of the website.
» (04/20/2015):The "Create-Your-Supplement" UI will include:
» (04/23/2015): The site is still under construction. However, the
"Create-Your-Supplement" UI will be included sooner before the
completion of the website.
» (04/20/2015):The "Create-Your-Supplement" UI will include:
• Amino Acid Profiling
• Customer Information
• Ingredient sorting/labeling
• And more..
• Customer Information
• Ingredient sorting/labeling
• And more..
Click Here for GitHub link
News:
» (04/15/2015):Is your protein real?!
• The supplement industry has a long history of, unfortunately, misleading
their consumers with false advertising. But, recently (everyone had their speculations)
that popular brands are heavily replacing "muscle building" amino acids with
non-muscle building forms. More information can be found in the above link.
their consumers with false advertising. But, recently (everyone had their speculations)
that popular brands are heavily replacing "muscle building" amino acids with
non-muscle building forms. More information can be found in the above link.
»
These pictures are examples of the creation process in regards to label preparations. A snippet of the code will display protein, carbs and fats and a production desired ratio.
Click Here for more information.


Hi there!
I got the whole thing running with emonTx, emonGLCD and emonBase. The CT is around the Neutral wire in my fusebox and the AC-AC Converter is next to it. I got some negative readings at first, but now I reversed the AC-AC (just plugged it in the other way round, no soldering) and it seems okai.
BUT the measurements depend on which room I'm using the power! When I use my Waterheater in the kitchen (where the fusebox and emonTx are) it gives around 1800W, which is correct. But in my sleepingroom it only gives half of the Power and the number is negative...
At the moment I have no explanation for this. My next step would be to take a closer look at the Current and Voltage to see, which of these give me the negative readings... but maybe someone already got this problems and has a solution...
thanks in advance
Sebastian
Re: Mystic: Different readings in different rooms
Which country are you in, and what is the mains supply voltage? Do you have an earthed centre-tapped supply (i.e as in the USA, 120 - 0 - 120 V)?
I think you are not measuring the correct current and/or voltage. Or it is possible that you have a serious fault in your house wiring, and part of the neutral current is being diverted past the CT.
Re: Mystic: Different readings in different rooms
I'm in germany, so we got 230V... We got the electricity meter in the basement and the fusebox in the kitchen. It's a bit messy inside, but I added the CT to the biggest blue cable I could find. I'll add a Photo later.
Could a possible confusion with the direction of the CT and/or AC-AC be the cause of the problem?
Re: Mystic: Different readings in different rooms
No, the two must be relatively correct (both one way round or both the other way round) so that Power is the correct sign, as you found. (Negative power means voltage is positive while current is negative, then a half-cycle later they are reversed). That does not explain why you only read half the power.
How many wires lead from the meter in to the fusebox? If you have a 3-phase system, it is possible that the Schlafzimmer is fed by a different phase to the kitchen. If that is the case, you need 3 CTs, one on each phase (and not one on the neutral, because the neutral current is ideally zero!).
Re: Mystic: Different readings in different rooms
This closeup is the main-fuse. Does this mean I got a 3-phase system?
Do I really need 3 CTs then? I have no Idea on how to fit them into the box...
Re: Mystic: Different readings in different rooms
Yes, you have a three-phase supply. The main circuit breaker has 3 linked poles and the cables into it should be brown, black & grey. If you want to measure the total power coming in to your house, you need 3 CTs. The CTs will go on the 3 cables into terminals 2, 4 & 6 on the Siemens 3-pole MCB. These cables go across the bottom of the box - will the CTs fit there? Or can you fit 2 CTs close to terminals 2 & 4 and the third at the bottom?
When you fit the CTs, make sure they all point in the same direction.
Re: Mystic: Different readings in different rooms
Bad news then ^^
At the moment I only got 2 CTs. The Problem with the cables is, they are so thick and stiff, I can barely move them. I wonder how they were installed there in the first place...
But I will figure something out, thank you so far!
Re: Mystic: Different readings in different rooms
I'm an Electrical Engineer. We train gorillas as electricians to install cables like that.
But they are only 16 / 25 mm2 ? The biggest cable I have ever used was 630 mm2.
(Take care when working in there. All those exposed live terminals would not be acceptable in the UK).
Re: Mystic: Different readings in different rooms
Today I got my third CT and a gorilla to bend the cables for me. Now I'm looking forward to get some proper readings.
Is this
openenergymonitor.blogspot.de/2012/02/if-you-are-active-member-of.html
the most recent info about the 3 phase system?
Re: Mystic: Different readings in different rooms
I would read that post with much caution. He states that the three phase voltages are always equal and always 120° displaced. This is true in theory and when you have a perfectly balanced system, but in practice not. All the conductors have an impedance - principally resistive - and the loads on the phases can vary greatly, thus the neutral will have a voltage with respect to earth, and the phase voltages will be unequal, and displaced if there are reactive components to the loads. Therefore you need to remember that measuring one voltage and assuming the other two will be the same will be wrong, but it is probably the best easy solution.
The standard emonTx voltage and power sketch measures about 100 samples per cycle at 50 Hz. If you read voltage and 3 currents in sequence, you will get 25 readings per cycle. That is probably enough to give reasonable accuracy. What I would do is save the voltage reading into an array (of not more than 25 elements - 16 or 17 is probably enough - you need readings for 240°), read the first current and calculate the instantaneous power and accumulate the answer (in order to calculate the average later), then read the second current and multiply by the voltage 8 or 9 samples earlier (or you may need to interpolate between 2 samples), calculate power the same way and then repeat this for the third current with the 16 or 17-samples delayed voltage. Do this for say 10 cycles of mains as the example sketch, then calculate the real and apparent powers, currents and rms voltage. You should be able to do all this in the emonTx.
If you need greater accuracy, the emonTx has 2 spare analogue inputs. It would be possible to add (on a separate circuit board) the additional components for 2 voltage inputs and have 3 transformers truly measuring the 3 phase voltages. I do not know whether anyone has done this.
Re: Mystic: Different readings in different rooms
Now I tested current measurement again with the three CTs. Still something strange here...
I connected the water heater in the kitchen and in my room and this is what I got:
When connecting the heater in the kitchen, the current is still higher than when connected in my room.
I also switched on the oven and it got me this:
Am I still missing something? I put the CTs to the three wires to the Siemens 3-pole MCB, as you said. And the measurements in the kitchen make sense, but in my room?
Re: Mystic: Different readings in different rooms
Did you upload the new sketch to emonTx to support 3 phases?
Re: Mystic: Different readings in different rooms
Which sketch are you refering to? I'm using this at the moment:
github.com/openenergymonitor/emonTxFirmware/tree/master/emonTx_CT123_Voltage
I only adjusted the calibration and use this:
to get the current on each CT
Re: Mystic: Different readings in different rooms
You have set the correct calibration constants for the 3 c.t's?
And the 3 wires with the c.t's are the ones coming from the meter in the basement?
The 7.6 A reading in the kitchen on L3 is correct for a 1800 W load. What power is the oven?
Can you use a multimeter and measure some voltages (TAKE CARE):
L1 (Breaker Terminal 2) - N
L2 (Breaker Terminal 4) - N
L3 (Breaker Terminal 6) - N
L1 (Breaker Terminal 2) - L2 (Breaker Terminal 4)
L2 (Breaker Terminal 4) - L3 (Breaker Terminal 6)
L3 (Breaker Terminal 6) - L1 (Breaker Terminal 2)
N - E
Re: Mystic: Different readings in different rooms
Yeah! I think, I got the problem! The voltages are all as they should be:
BUT: One of the CTs opened a little, as soon as I closed the fusebox. I did not notice at first, but with the box open, all readings are okai, and as soon as I closed it, one current dropped. So now I rearranged a little, and i seems to be working!
Now I'm have to concentrate on the Code. I'm not sure, if got this right: I put the voltages into an array(buffer) and then I multiply the first current with the most recent voltage. Then I multiply the second current with the voltage 7 samples earlier, and so the third. Then I got the power for each 'channel' and add them up? What do I have to average here? How do I know which one is the _first_ current? By measuring and testing only?
I could possibly answer these questions myself, but I haven't found good information about the 3phase system until now. So maybe you have a link or book or something? I really appreciate your help, thank you! :-)
Sebastian
Re: Mystic: Different readings in different rooms
Yes, a partly open c.t. will give very wrong readings. (I thought maybe the system was not what I thought it was - that was the reason for asking you to measure the voltages. I am happpy now).
I think you are heading along the correct path. You need to use the same general methods that are in the example sketch https://github.com/openenergymonitor/emonTxFirmware/tree/master/emonTx_C... and in EmonLib (https://github.com/openenergymonitor/EmonLib).
You read voltage, current L1, current L2, current L3. First you filter the readings. Then you calculate the instantanous power for each set of readings using the 3 currents and the voltage 3 times (now, delayed once and delayed twice), you add the powers separately and count the readings, then divide by the count of readings to get the average power per phase over 10 (? - your choice) cycles. Then you can add the powers to get the whole house consumption, or you can see the power on each phase separately - your choice again.
(But note - you need to delay adding up the powers until after the first cycle because you will not have a full set of voltage readings until 2/3 cycle has passed).
If you associate the wrong c.t. with the voltage, the power will be clearly incorrect - half the actual value and negative - because of course the phase angle will be 120°.
Here's a quick guide to the 3-phase system. [WARNING: Beware the Wikipedia article "Three-phase electric power" - large parts describe American practice which is totally inapplicable in the EU].
Take a bicycle wheel and put 3 labels on the tyre 120° apart: 'L1', 'L2', 'L3' (or 'Brown', 'Black', 'Grey', or 'Red', 'Yellow', 'Blue' according to how you label your 3 phases). Spin the wheel slowly and look at it from in front - the three labels appear to be going up and down. The up and down movement represents the three voltages, the axle is the neutral voltage (0).
For most well-behaved loads, the flags could equally represent current - near the centre equals small current, near the rim represents a large current. Now here's the clever bit: if the three phase currents are balanced, at any instant they add up to zero. That means no neutral current. In reality, that is rarely the case.
What you will do in your sketch is read one voltage, then wait until the next flag comes round (which represents the next voltage) before you use your reading of voltage in the calculation with the next current.
I don't have access to a 3 phase supply, so I cannot run any tests. I shall write/modify a sketch for you over the next few days. (The only way I will know it is working is if it gives the correct wrong results ).
Re: Mystic: Different readings in different rooms
Thanks to Robert Wall my system is now running! :)
Just one more thing: Whenever the emontx does restart (battery low...etc) the first ~10 Readings are way too high! I think it's because of the first reading being to high due to some weird power on strange thing... and then the filter kicks in. Is this known? And is there a better way other than to throw away (eg. not transmit) the first few readings?
Re: Mystic: Different readings in different rooms
That problem is due to the settling time of the high pass filter in the software. It sees a step of d.c. input at power-up and takes time to remove it. There ought to be a way to pre-load the filter, but I think it might imply waiting to start the readings at a special point in the cycle. That would be worth looking in to.
As you say, the easy answer is to throw away the first few readings.


| rlm {MASS} | R Documentation |
Fit a linear model by robust regression using an M estimator.
rlm(x, ...) ## S3 method for class 'formula' rlm(formula, data, weights, ..., subset, na.action, method = c("M", "MM", "model.frame"), wt.method = c("inv.var", "case"), model = TRUE, x.ret = TRUE, y.ret = FALSE, contrasts = NULL) ## Default S3 method: rlm(x, y, weights, ..., w = rep(1, nrow(x)), init = "ls", psi = psi.huber, scale.est = c("MAD", "Huber", "proposal 2"), k2 = 1.345, method = c("M", "MM"), wt.method = c("inv.var", "case"), maxit = 20, acc = 1e-4, test.vec = "resid", lqs.control = NULL) psi.huber(u, k = 1.345, deriv = 0) psi.hampel(u, a = 2, b = 4, c = 8, deriv = 0) psi.bisquare(u, c = 4.685, deriv = 0)
formula |
a formula of the form |
data |
data frame from which variables specified in |
weights |
a vector of prior weights for each case. |
subset |
An index vector specifying the cases to be used in fitting. |
na.action |
A function to specify the action to be taken if |
x |
a matrix or data frame containing the explanatory variables. |
y |
the response: a vector of length the number of rows of |
method |
currently either M-estimation or MM-estimation or (for the
|
wt.method |
are the weights case weights (giving the relative importance of case, so a weight of 2 means there are two of these) or the inverse of the variances, so a weight of two means this error is half as variable? |
model |
should the model frame be returned in the object? |
x.ret |
should the model matrix be returned in the object? |
y.ret |
should the response be returned in the object? |
contrasts |
optional contrast specifications: see |
w |
(optional) initial down-weighting for each case. |
init |
(optional) initial values for the coefficients OR a method to find
initial values OR the result of a fit with a |
psi |
the psi function is specified by this argument. It must give
(possibly by name) a function |
scale.est |
method of scale estimation: re-scaled MAD of the residuals (default)
or Huber's proposal 2 (which can be selected by either |
k2 |
tuning constant used for Huber proposal 2 scale estimation. |
maxit |
the limit on the number of IWLS iterations. |
acc |
the accuracy for the stopping criterion. |
test.vec |
the stopping criterion is based on changes in this vector. |
... |
additional arguments to be passed to |
lqs.control |
An optional list of control values for |
u |
numeric vector of evaluation points. |
k, a, b, c |
tuning constants. |
deriv |
|
Fitting is done by iterated re-weighted least squares (IWLS).
Psi functions are supplied for the Huber, Hampel and Tukey bisquare
proposals as psi.huber
, psi.hampel
and
psi.bisquare
. Huber's corresponds to a convex optimization
problem and gives a unique solution (up to collinearity). The other
two will have multiple local minima, and a good starting point is
desirable.
Selecting method = "MM"
selects a specific set of options which
ensures that the estimator has a high breakdown point. The initial set
of coefficients and the final scale are selected by an S-estimator
with k0 = 1.548
; this gives (for n >> p)
breakdown point 0.5.
The final estimator is an M-estimator with Tukey's biweight and fixed
scale that will inherit this breakdown point provided c > k0
;
this is true for the default value of c
that corresponds to
95% relative efficiency at the normal. Case weights are not
supported for method = "MM"
.
An object of class "rlm"
inheriting from "lm"
.
Note that the df.residual
component is deliberately set to
NA
to avoid inappropriate estimation of the residual scale from
the residual mean square by "lm"
methods.
The additional components not in an lm
object are
s |
the robust scale estimate used |
w |
the weights used in the IWLS process |
psi |
the psi function with parameters substituted |
conv |
the convergence criteria at each iteration |
converged |
did the IWLS converge? |
wresid |
a working residual, weighted for |
P. J. Huber (1981) Robust Statistics. Wiley.
F. R. Hampel, E. M. Ronchetti, P. J. Rousseeuw and W. A. Stahel (1986) Robust Statistics: The Approach based on Influence Functions. Wiley.
A. Marazzi (1993) Algorithms, Routines and S Functions for Robust Statistics. Wadsworth & Brooks/Cole.
Venables, W. N. and Ripley, B. D. (2002) Modern Applied Statistics with S. Fourth edition. Springer.
summary(rlm(stack.loss ~ ., stackloss)) rlm(stack.loss ~ ., stackloss, psi = psi.hampel, init = "lts") rlm(stack.loss ~ ., stackloss, psi = psi.bisquare)


Four Thriller Reviews Film reviews by Jeff Meyer Copyright 1988 Jeff Meyer
For me, thrillers are difficult to really dislike. While I usually find a mediocre comedy objectionable enough to actively disklike, a thriller with even a few redeeming qualities can have me leaving the theater feeling sated. The trick is, this is a thriller-packed season, I assume due to the success of FATAL ATTRACTION. Unfortunately, the ones provided are lackluster, even by my relatively lax standards.
FRANTIC:
Of the thrillers I've seen over the last few weeks, only this one made the mark, and then just barely. Polanski uses his shots sparingly; while there is little direct menace in this film, there is a good deal of suspense, both from the underlying plot (an American surgeon's wife is kidnapped in Paris, but no one believes him) and from the careful camera- work. It also has an conclusion which doesn't seem to have been meddled with by some asinine public poll. And, compared to some other, more obtuse thrillers, the relatively down-to-earth plot was appreciated. This has occasionally been compared to Hitchcock's films; I think it's to be appreciated more if you say that the *premise* is something that Hitchcock would do. And there's some merit in that, as well.
On the other hand, no one gives more than a 2.5 dimensional performance in the film, which can get by in a thriller -- but it's not a complement. Ford plays rather cold, determined husband (though he did make that important attraction between his character's wife and himself in the opening scene. The young Parisian who helps him is memorable only for that incredibly distracting leather skirt. And the plot barely holds together on the hairpin turns.
Satisfying, but nothing to rave over. $3 worth.
THE HOUSE ON CARROL STREET
Lots of bad points in this: the two romantic leads smolder about as much as a doused Girl Scout campfire; the plot is barely comprehensible, and not particularly suspense-building; and there wit which usually marks Peter Yates thrillers isn't here. Yates has a background in doing good thrillers, so this is a disappointment.
Two good points (but not enough to save the film): Mandy Patinkin plays one of the most repulsive villains to grace the scene in quite a while. Instead of overt threats of violence, he marks his character with an ability to rationalize anything to support his decisions. It's been suggested that this is based on Roy Cohn, but Patinkin gives it his own special reptilian touch -- he looks like a young Robert DeNiro. Good scene. The other point of interest is that this is one of the few period films where they really put effort into making it look In Period. There are a lot of large crowd scenes, street scenes and outdoor scenes, and I couldn't spot anything that wouldn't be out of place in the 50s. Right out of a Rex Stout mystery...
Not worth the interest -- really, not even a decent video. $1.00, but go to the library.
D.O.A.
Wonderful concept -- a guy gets poisoned, and has 48 hours to figure out who killed him! You know he's going to die, no way around it; even though I've seen the original B&W version, it's still a compelling basis for the story. The twist of having the fellow who is D.O.A. see how much life was really worth, and how badly he wasted it, is an even better twist. And the film has the kind of manic, original photography you'd expect from the couple that did the original Max Headroom video.
But... it bogs down on other points. None of the characters really are appealing, except for Quaid's character, and he only hints at the thoughts he must be having with his limited time. While the concept is sound, the detail work stinks -- the red herrings are incompetently done, and wholly unbelievable, and the revelation of the murderer is a real Perry Mason job, if you know what I mean. The photography, while interesting at the beginning, really begins to wear down, especially when it reverts to standard during the actions scenes in the middle. It ends up reminding you of a neon game of Clue instead of a mystery/thriller.
Interesting, but no guts. $2.
SIESTA
Perhaps more of a mystery than a thriller -- come to think of it, it could be a lot of things by definition. It ends up being a stinker with a really great story concept behind it. If they'd shortened it to 20 minutes, put it in the new TWILIGHT ZONE TV program, and had got rid of all the distraction cameos, this would have made it. But there are so many problems, not the least being that Ellen Barkin, whose ability to appear awkward worked so well in THE BIG EASY, may have indicated that it comes from actually *being* awkward -- she overplays this thing like she was back on the set of BUCKAROO BANZAI. The rest of it seems to foster the kind of useless babbling that is labeled "fresh" but is usually a bid for lengthening the film.
Don't go to see it, even on a bet. $0.
Moriarty, aka Jeff Meyer INTERNET<EMAIL_ADDRESS>Manual UUCP: {uw-beaver, sun, microsoft}!fluke!moriarty
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


Bremmer, from Ayer in Massachusetts, said she ‘fell in love with (Jake) instantly’ when they first met four years ago.
She told WCVB: ‘As she got sicker that year, I just thought: “What is she going to do?”‘
Bremmer discussed Jake’s predicament with their husband Dave – then made his ailing mother her incredible offer.
Recalling the conversation, Bremmer said: ‘If you need a backup plan for Jake, then our family is happy to make him part of our family.
Advertisement Advertisement
‘She said: “I’ll sleep better tonight than I have in a long time.”‘
Jake then spent time with Kerry, Dave and their three children Kaitlyn, Kristen and Jonathan, who fell in love with the youngster’s happy and joyful nature.
Dave said: ‘When I first met him when he was in Kerry’s class, it was fun.
‘But when we first decided to do this and I met him again, he said: “You’re the dad? You’re Dave the dad?”
‘That was it for a very long time. I was Dave the dad.’
Jean Manning died last Wednesday after taking a nap following a chemotherapy treatment.
Jake said: ‘My mom went to heaven. She’s always in my heart.’
And while heartbroken by Jean’s loss, Bremmer is delighted to have Jake as part of her family, saying: ‘We shared our boy and she will live on here in this house.’
A GoFundMe page has been set up to help support Bremmer and her newly-extended family.


Copyright (c) 2009 - 2017
Software Technology Group
Department of Computer Science
Technische Universität Darmstadt
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
MIT LICENSE Copyright (c) 2012-2013 Lea Verou Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


See: Description
| Interface | Description |
|---|---|
| ConstructorFunction<K,V> |
See ConcurrencyUtil
|
| FutureUtil.ExceptionHandler |
Internally used interface to define behavior of the FutureUtil methods when exceptions arise
|
| MemoryInfoAccessor |
Used for providing runtime memory information of Java virtual machine.
|
| Class | Description |
|---|---|
| AddressUtil |
AddressUtil contains Address helper methods
|
| AddressUtil.AddressHolder |
Holds address
|
| AddressUtil.AddressMatcher |
http://docs.oracle.com/javase/1.5.0/docs/guide/net/ipv6_guide/index.html
|
| Base64 |
This class provides encode/decode for RFC 2045 Base64 as
defined by RFC 2045, N.
|
| CacheConcurrentHashMap<K,V> |
ConcurrentHashMap to extend iterator capability
|
| Clock |
Utility class to be able to simulate different time zones.
|
| CollectionUtil |
Various collection utility methods, mainly targeted to use internally.
|
| ConcurrencyUtil |
Utility methods to getOrPutSynchronized and getOrPutIfAbsent in thread safe way
from ConcurrentMap with a ConstructorFunction .
|
| ConcurrentReferenceHashMap<K,V> |
An advanced hash table supporting configurable garbage collection semantics
of keys and values, optional referential-equality, full concurrency of
retrievals, and adjustable expected concurrency for updates.
|
| ConcurrentReferenceHashMap.SimpleEntry<K,V> | |
| EmptyStatement |
This class does nothing!
It is useful if you e.g.
|
| ExceptionUtil | |
| FilteringClassLoader |
This is used to separate Server and Client inside the same JVM on new
standalone client unittests!
NEVER EVER use this anywhere in production! :D |
| FutureUtil |
This utility class contains convenience methods to work with multiple
futures at the same time, e.g.
|
| HashUtil | |
| HealthMonitor |
http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages
http://docs.oracle.com/javase/7/docs/jre/api/management/extension/com/sun/management/OperatingSystemMXBean.html
Health monitor periodically prints logs about related internal metrics under when hazelcast is under load.
|
| IterableUtil |
Utility functions for working with
Iterable |
| JsonUtil |
Utility class to deal with Json.
|
| MapUtil |
Utility class for Maps
|
| OperatingSystemMXBeanSupport |
Support class for reading attributes from OperatingSystemMXBean.
|
| PerformanceMonitor |
The PerformanceMonitor is responsible for logging all kinds of performance related information.
|
| QueryResultSet |
Collection(Set) class for result of query operations
|
| QuickMath |
The class
QuickMath contains methods to perform optimized mathematical operations. |
| RandomPicker |
User: ahmetmircik
Date: 10/7/13
Time: 12:27 PM
|
| ResponseQueueFactory |
Factory for creating response queues.
|
| RuntimeMemoryInfoAccessor |
Provides memory information using
Runtime . |
| SampleableConcurrentHashMap<K,V> |
ConcurrentHashMap to extend iterator capability.
|
| ServiceLoader |
Support class for loading Hazelcast services and hooks based on the Java ServiceLoader specification
but changed in the fact of classloaders to test for given services to work in multi classloader
environments like application or OSGi servers
|
| SortedQueryResultSet |
Collection class for results of query operations
|
| SortingUtil |
Utility class for generating Comparators to be used in sort methods specific to hazelcast classes.
|
| StringUtil |
Utility class for Strings.
|
| ThreadUtil |
Utility class to manipulate and query thread id
|
| UuidUtil |
Util class to generate random unique identifiers
|
| ValidationUtil |
A utility class for validating arguments and state.
|
| VersionCheck |
Checks version of hazelcast with central server.
|
| Enum | Description |
|---|---|
| ConcurrentReferenceHashMap.Option | |
| ConcurrentReferenceHashMap.ReferenceType |
An option specifying which Java reference type should be used to refer
to a key and/or value.
|
| HealthMonitorLevel |
Health monitor can be configured with system properties
"hazelcast.health.monitoring.level"
|
| IterationType |
To differentiate users selection on result collection on map-wide operations
like values , keySet , query etc.
|
| Exception | Description |
|---|---|
| AddressUtil.InvalidAddressException |
Thrown when given address is not valid.
|
Copyright © 2016 Hazelcast, Inc.. All Rights Reserved.


|
SimpleWebSocketServer Library
v1.0.1
A simple to use websocket with a very easy way to get it to work, just requires four lines of code.
|
Contains information about a occured event. More...
Properties | |
| bool | isText = false [get, set] |
| Is true when message is a text message. More... | |
| bool | isBinary = false [get, set] |
| Is true when message is a binairy message. More... | |
| bool | isClosed = false [get, set] |
| Is true when a client send a close message. More... | |
| bool | isOpen = false [get, set] |
| Is true when a client has connected More... | |
| bool | isPing = false [get, set] |
| Is true when message from client is a ping message. More... | |
| bool | isPong = false [get, set] |
| Is true when message from client is a pong message. More... | |
| byte [] | data [get, set] |
| Contains the extra data send by a client. More... | |
| UInt64 | messageLength = 0 [get, set] |
| Message length in bytes. More... | |
| string | clientId [get, set] |
| Client ID set by client or generated by server when connecting to websocket server. More... | |
| string | clientBaseUrl [get, set] |
| Client baseurl used when connecting. More... | |
| string | errorMessage [get, set] |
| Error message in case an error occurred. More... | |
Contains information about a occured event.
Definition at line 8 of file WebsocketEventArg.cs.
|
getset |
Client baseurl used when connecting.
Definition at line 49 of file WebsocketEventArg.cs.
|
getset |
Client ID set by client or generated by server when connecting to websocket server.
Definition at line 45 of file WebsocketEventArg.cs.
|
getset |
Contains the extra data send by a client.
Definition at line 37 of file WebsocketEventArg.cs.
|
getset |
Error message in case an error occurred.
Definition at line 53 of file WebsocketEventArg.cs.
|
getset |
Is true when message is a binairy message.
Definition at line 17 of file WebsocketEventArg.cs.
|
getset |
Is true when a client send a close message.
Definition at line 21 of file WebsocketEventArg.cs.
|
getset |
Is true when a client has connected
Definition at line 25 of file WebsocketEventArg.cs.
|
getset |
Is true when message from client is a ping message.
Definition at line 29 of file WebsocketEventArg.cs.
|
getset |
Is true when message from client is a pong message.
Definition at line 33 of file WebsocketEventArg.cs.
|
getset |
Is true when message is a text message.
Definition at line 13 of file WebsocketEventArg.cs.
|
getset |
Message length in bytes.
Definition at line 41 of file WebsocketEventArg.cs.


In data science, or any related quantitative field, we strive to understand and leverage our data for our objectives. These data will usually be part of a bigger project that we’re working on where the workflow looks something like the following:
- Obtain data
- Explore data
- Research/create data product
- Fine tune project and release
- Rinse and repeat
Each step is critical and sequential where the assumptions and decisions made early on will affect the subsequent steps, for better or worse. Data collection is the most important step, where the metrics and methods determine what can be done with it. In each sub-field of quantitative analysis, be it academic sciences or industry, the data collection processes can vary drastically. Conversely, the exploratory data analysis phase is universal and can be broken down to several basic components: basic statistics, graphics, hypotheses formulation, and assessment of the best models/approaches to use for objectives.
Before moving on there is one caveat: Never trust data at face value. Always be skeptical and keep an eye out for any suspicious anomalies throughout. Furthermore, ensure that your understanding of the data is correct. For example, you may see data labeled as “Date” with values like “2015-01-04” and later find out that it is in GMT and not your local time zone. You can fit a model to bad or misconceived data, which means that no matter how well your predictions perform, they will be incorrect. Even if the model is right in some cases, it will be right for the wrong reasons.
Anscombe’s Quartet: The power of graphics
Some data properties that would be obvious when visualized can be overlooked with basic statistics. A classic example of this is Anscombe’s Quartet. This data set comprises of four different groups (I, II, III, and IV) with X and Y features.
Despite the obvious differences between the four groups, summary statistics and even linear fits to the data are identical to the second or third decimal place.
Group I, Group II, Group III, and Group IV
Mean x: 9.0
Mean y: 7.5
Variance x: 11.00
Variance y: 4.13
Correlation between x and y: 0.816
Linear regression coefficients: \( Y = 3.00 + 0.50\,X \)
The graphic1 below highlight the differences clearly. If we had not visualized the data we could have assumed that the groups were the same.
Imagine that each group had one million rows. Checking the data manually at this volume wouldn’t be effective. Visualizing the data with simple graphics to show the right context is key in this process. The code used to generate the stats and graphics can be found here.
Anscombe’s Quartet would be unlikely to occur in the data we work with, but it could be close. Close enough that one may conclude that the differences or similarities are small and make assumptions that can impact a project negatively.
Show me the data
A simple graphic is analogous to a simple sentence: Concise and to the point. A complex graphic is like a run-on sentence where the message can be lost amongst the audience. Hence, it’s important to keep your graphics simple. When you do this, you are better informed and can quickly work through the data exploration.
At Stitch Fix, we interview a lot of candidates and love giving them problems that make them think. For example, we give them a dataset that has generic labels, which is either generated or anonymized. In the data there are nuanced statistics that the candidate can find, or better yet show us something that we didn’t see before. The data challenges have no wrong or right answer. We want to see what the candidate can do and how they would approach a problem where there’s no obvious solution.
As a sanity check, we’ll do the data challenge ourselves to make sure that what we’re asking the candidates to do is feasible. In one test I looked at a tabular dataset we’ve given out before and came up with the following graphics to get an overview of the data. We refer to the columns in the data as features.
From the graphic above I can quickly assess which columns in the table are binary, categorical, or continuous. I can also identify distributions, which influences the kind of assumptions we can make for later stages of analysis.
Viewing pairwise correlations between the features can be cumbersome when there’s a lot of them. The correlation matrix is a wonderful way to visualize the pairwise correlations into a dense yet readable form. The most strongly correlated features are in blue and the inversely correlated are in red. Values that show no correlation are white. This matrix tells us about the relationships between the features in the data.
To find the subset of features that explain the bulk of the variation in the data, I use principal component analysis (PCA). It’s a simple yet powerful tool. Using a scatter plot is the ideal way to visualize a PCA of data projected onto two components. In this case we have a high number of observations, so I place histograms on the top and right side to represent PC1 and PC2 components, respectively, to ensure that I don’t miss any obvious densities.
At this point, I can make some educated hypotheses about the data and model it to predict certain behaviors. If I were to take the it to the production stage, I can now assess which models should be used and move forward.
Conclusion
In a nutshell, graphics are powerful for data exploration and should be combined with basic descriptive statistics. Keep the graphics simple for maximum clarity. Both tools will show us different properties that we’ll need for the more advanced stages of research and product development.
In the next post we’ll discuss how to optimize the exploratory data analysis stage through sampling.
† This post has been cross-posted on Stitch Fix and Insight.
1 All graphics shown here were made using Seaborn, a statistical graphics package in Python. ←


To complete this project, I enlisted the help of a good friend of mine who has a lot of iOS development experience, and another friend that works as a UI/UX designer. We think our combined strengths can make a very intuitive and simple product, and hope our app will gain popularity through this.
I took on this project to improve my Android development skills, and to get a preview of what iOS development is like. We're aiming to release the app in early december, and we're hoping the app gains some traction online once published.
Working in a team requires a lot of coordination and communication, which is difficult when faced with busy schedules and other obligations. Despite this challenge, we're working well and making sure everyone's opinion is respected and considered. The small team size has definitely helped maintain this process. With food feed, I want to learn from the mistakes I made with my last android app. Because of this, I've been working carefully to make sure I dont fall into the same bad habits. The biggest challenge so far has been keeping my code hack-free and completely granular, since I need to learn a lot of conventions in Android to make sure I pull this off properly.
The project isn't yet complete, but I've definitely learned a lot already through it already. Maintaining a good codebase is a lot easier than refactoring a bad one. Also, a designer is incredibly valuable.
Back to homepage


I am a detail-oriented, quality-minded software developer with a focus on unique
and responsive user experience.
I am a fourth-year student at the University of Saskatchewan studying Interactive Systems Design and
Computer Science. I am working towards becoming a full-stack developer, and am learning solid
foundational knowledge in both the back-end and the front-end. I am passionate about programming
and I love applying new knowledge to my personal projects.
I am currently working as a Developer intern at Farm Credit Canada, before returning to school to finish
the final year of my bachelor's degree.
I enjoy {{displayWord}}
Skills
Development
Languages, Frameworks, Libraries, Preprocessors
Tools
GitGradleSpringPostmanUnity
Other
TDDAgileScrumRESTUnixResearchResponsive Design
Experience
Developer Intern
May 2017 - Present
Farm Credit Canada
Developed and maintained internal and customer-facing web applications. Collaborated closely on a team of
developers and analysts using the Agile development cycle and Scrum product development framework. Worked
in both the back-end and front-end of enterprise web development to deliver quality, scalable applications.


| Home | ClipperLib |
Del.» function OffsetPolygons(const polys: TPolygons; const delta: double; JoinType: TJoinType = jtSquare; MiterLimit: double = 2.0): TPolygons;
C++» void OffsetPolygons(const Polygons &in_polys, Polygons &out_polys, double delta, JoinType jointype = jtSquare, double MiterLimit = 2.0);
C#» public static Polygons OffsetPolygons(Polygons polys, double delta, JoinType jointype = JoinType.jtSquare, double MiterLimit = 2.0);
This function offsets the 'polys' polygons parameter by the 'delta' amount. Positive delta values expand outer polygons and contract inner 'hole' polygons. Negative deltas do the reverse.
Edge joins may be one of three jointypes - jtMiter, jtSquare or jtRound. If the jointype is jtMiter, then the MiterLimit parameter will determine the maximum distance from the original vertex that the new offsetted vertex is allowed (in multiples of delta) before squaring is applied.
It's important that the polygons passed to this function are oriented such that outer polygons have a 'true' Orientation and inner 'hole' polygons have a 'false' Orientation. If the orientations of input polygons are incorrect, the function will return unexpected results.
Copyright ©2010-2011 Angus Johnson - Clipper version 4.6.3 - Help file built on 11-November-2011


Novo Services Group, LLC takes your privacy very seriously. This privacy policy should be read in its entirety, as it discusses our privacy practices applied to information collected from this website.
Website Consent
By using this website, you agree with, understand and accept our terms listed in our privacy policy. We maintain the right to update and amend any language written in our privacy policy. It is your responsibility to review, agree with, understand and accept any revisions to our privacy policy. If you do not agree with any of our terms and or privacy policy, you should not use or access our website.
Personal Information Collected
We may collect personally identifiable information, such as names and email addresses, when and if you voluntarily submit that information to us. We will only use this information to directly respond to you as follow up regarding the reason you contacted us or to fulfill your specific request (i.e. purchasing one of our services). We may, in the future, unless you direct us not to, contact you through email to tell you about any new products and or services. We are the only ones who can view this information. We will not, and do not, sell, rent nor trade your information to any third-party.
You can remove your name information at any time by contacting us via email or calling us directly.
Please note that this privacy policy does not cover content that is transferred through email. We are not responsible for any information collected by third-party email services. As of now, we use Microsoft Office 365 as our third-party service, and any content or links kept on Microsoft’s website may be constantly changing. In addition, Microsoft’s site and its Office 365 service has its own privacy policies, which we do not control nor have any responsibility towards. We encourage you to please review those privacy policies as well.
Web Browser Cookies
Our website does not use cookies and does not record nor store any information that your browser sends when you visit our site.
Links to Other Websites
Our website does not link to any third-party websites. Only when and if you decide to contact us via email, will you be directed to your default email application.
Privacy Policy Updates
Our privacy policy may change over time. Any and all updates will be posted on this page. It is your responsibility to check this page for any changes made to this privacy policy. If there is a major privacy policy change, we will notify you by e-mail (using the email address that you contacted us with) and also post a notice on this page prior to the change becoming effective.
Contact Us
If you have any questions regarding our privacy policy, please contact us.
Phone: (882) 292 - 7202
Email<EMAIL_ADDRESS>Effective on February 6, 2018.


Trim URLs
Configuration
The 'Trim URLs' filter is enabled by specifying:
- Apache:
ModPagespeedEnableFilters trim_urls
- Nginx:
pagespeed EnableFilters trim_urls;
in the configuration file.
Description
This filter trims URLs by resolving them by making them relative to the base
URL for the page. E.g. on http://www.example.com/
,
"http://www.example.com/foo"
would be shortened to
"foo"
. The filter works only on URLs that are the values
specified by src
or href
attributes.
It also trims image URLs in CSS if
rewrite_css
is enabled.
The filter reduces the transfer size of HTML files by shortening most of the URLs. Depending on the HTML file, this filter can significantly reduce the number of bytes transmitted on the network.
Operation
The 'Trim URLs' filter removes unnecessary bytes on the wire. While it's useful for development to fully specify your URLs so that links don't break when things move around, these are bytes that are sent unnecessarily on the wire.
For example, if the HTML document looks like this:
  <base href="http://www.example.com/">   Link with long URL
Then PageSpeed will rewrite it to:
  <base href="http://www.example.com/">   Link with long URL
Example
You can see the filter in action at www.modpagespeed.com
on this
example.
Requirements
Only URLs referenced by href
and src
attributes and,
if rewrite_css
is enabled,
URLs in CSS files are rewritten. URLs that occur elsewhere are not altered.
Risks
Trimming URLs is considered medium risk. It can cause problems if it uses the wrong base URL. This can happen, for example, if you serve HTML that will be pasted verbatim into other HTML pages. If URLs are trimmed on the first page, they will be incorrect for the page they are inserted into. For this reason, it is off by default.


 With lots of interested buyers, you have a better chance of selling for the price that you want. Learn more
- $20.00
- $30.00
- $50.00
- $100.00
Quick Rules
Posting an ad on Seeker.com is free! However, all post must follow our rules:
- Make sure you post in the correct category.
- Do not post the same ad more than once or repost an ad within 48 hours.
- Do not upload pictures with watermarks.
- Do not post ads containing multiple items unless it's a package deal.
- Do not put your email or phone numbers in the title or description.


- getAutoCreateAccount() - Method in class org.sobotics.chatexchange.chat.StackExchangeClient
-
true, if the account for a user should automatically be created when logging in to a new site
- getBaseUrl() - Method in enum org.sobotics.chatexchange.chat.ChatHost
-
- getContent() - Method in class org.sobotics.chatexchange.chat.Message
-
Returns the content of this message.
- getCurrentUsers() - Method in class org.sobotics.chatexchange.chat.Room
-
Returns the list of all the current users of this room.
- getDescription() - Method in class org.sobotics.chatexchange.chat.RoomThumbs
-
Returns the description of this room.
- getEditCount() - Method in class org.sobotics.chatexchange.chat.Message
-
Returns the number of times this message was edited.
- getHost() - Method in class org.sobotics.chatexchange.chat.Room
-
Returns the host of this room.
- getId() - Method in class org.sobotics.chatexchange.chat.Message
-
Returns the id of this message.
- getId() - Method in class org.sobotics.chatexchange.chat.RoomThumbs
-
Returns the id of this room.
- getId() - Method in class org.sobotics.chatexchange.chat.User
-
Returns the id of this user.
- getInstant() - Method in class org.sobotics.chatexchange.chat.event.Event
-
Returns the instant in time (UTC) at which this event occured.
- getKickeeId() - Method in class org.sobotics.chatexchange.chat.event.KickedEvent
-
Returns the id of the user that was kicked.
- getLastMessageDate() - Method in class org.sobotics.chatexchange.chat.User
-
Returns the last date at which this user posted a message in the room (UTC).
- getLastSeenDate() - Method in class org.sobotics.chatexchange.chat.User
-
Returns the last date at which this user was seen in the room (UTC).
- getMessage() - Method in class org.sobotics.chatexchange.chat.event.MessageEvent
-
Returns the message that triggered this event, at the time the event was raised.
- getMessage(long) - Method in class org.sobotics.chatexchange.chat.Room
-
Retrieves the
Message
having the given id.
- getName() - Method in enum org.sobotics.chatexchange.chat.ChatHost
-
- getName() - Method in class org.sobotics.chatexchange.chat.RoomThumbs
-
Returns the name of this room.
- getName() - Method in class org.sobotics.chatexchange.chat.User
-
Returns the display name of this user.
- getParentMessageId() - Method in class org.sobotics.chatexchange.chat.event.PingMessageEvent
-
Returns the message id that this event's message is pinging.
- getPingableUsers() - Method in class org.sobotics.chatexchange.chat.Room
-
Returns the list of all the pingable users of this room.
- getPlainContent() - Method in class org.sobotics.chatexchange.chat.Message
-
Returns the plain content of this message.
- getProfileLink() - Method in class org.sobotics.chatexchange.chat.User
-
Returns a link to the chat user profile of this user.
- getReputation() - Method in class org.sobotics.chatexchange.chat.User
-
Returns the amount of reputation this user has.
- getRoom() - Method in class org.sobotics.chatexchange.chat.event.Event
-
The room this event took place.
- getRoomId() - Method in class org.sobotics.chatexchange.chat.event.Event
-
Returns the ID of the room this event took place.
- getRoomId() - Method in class org.sobotics.chatexchange.chat.Room
-
Returns the id of this room.
- getStarCount() - Method in class org.sobotics.chatexchange.chat.Message
-
Returns the number of stars this message has.
- getTags() - Method in class org.sobotics.chatexchange.chat.RoomThumbs
-
Returns the list of tags associated with this room.
- getTargetUserId() - Method in class org.sobotics.chatexchange.chat.event.PingMessageEvent
-
Returns the user id that was pinged by this event.
- getThumbs() - Method in class org.sobotics.chatexchange.chat.Room
-
Returns the thumbs for this chat room.
- getUser() - Method in class org.sobotics.chatexchange.chat.event.Event
-
Returns the user that raised this event, at the time the event was raised.
- getUser() - Method in class org.sobotics.chatexchange.chat.Message
-
Returns the user that posted this message.
- getUser(long) - Method in class org.sobotics.chatexchange.chat.Room
-
Retrieves the
User
having the given id.
- getUserId() - Method in class org.sobotics.chatexchange.chat.event.Event
-
Returns the id of the user that raised this event.
- getUserName() - Method in class org.sobotics.chatexchange.chat.event.Event
-
Returns the display name of the user that raised this event.


--- layout: post title: Some neat Spring4 and Spring Boot features date: '2015-12-19T10:43:00.000-06:00' author: Steve Ash tags: modified_time: '2015-12-19T10:43:50.129-06:00' blogger_id: tag:blogger.com,1999:blog-4471109663192942674.post-1080501116871083220 blogger_orig_url: http://blog.manycupsofcoffee.com/2015/12/some-neat-spring4-and-spring-boot.html --- Here's a few slides on some of the Spring4 and Spring Boot features that I used on a recent project that are interesting. This is not really an introduction to Spring Boot -- but just highlighting a few features. This talk was an internal talk for our team - thus it is informal and brief. But in case anyone else has any interest:


| Option | Batch command | Description | ||
|
Transform Method |
||||
| Center lines | /cl | Vectorized line is placed in the center of raster line. It's default option. | ||
| Inside contour | /ic | Vectorized line is placed at the inside contour of raster object. | ||
| Outside contour | /oc | Vectorized line is placed at the outside contour of raster object. | ||
| Line merging | ||||
| Merge factor | /mf=floatValue |
Enables to merge lines into one. The merge factor defines how big can be gaps between line segments comparatively its length. If you want to disable line merging set zero value. |
Before merging |
|
|
After merging |
||||
| Merge deflection | /maxmd=floatValue | Defines maximal deflection for merging. | ||
| Maximal gap length | /maxgl=intValue | Merges lines if the gap length is less than the selected value. | ||
|
Vectorization |
||||
| Maximal deflection | /maxd=floatValue | Defines maximal deflection of vectorized lines from raster ones. | ||
| Color detection | /cd | Enables color-sensitive vectorization process. Otherwise the picture is considered as black and white. |
| Max spot area | /maxsa=intValue | Doesn't vectorize raster objects with area (number of pixels) less than the value. |
| Min polyline length | /minpl=intValue | Excludes polylines with length less than the selected value. |
| Max polyline length | /maxpl=intValue | Excludes polylines with length more than the selected value. |
floatValue - a value with float point;
intValue - an integer value.
All measure units are pixels.


--- layout: post status: publish published: true title: Debug Probes author: display_name: Tomas Restrepo login: tomasr email<EMAIL_ADDRESS>url: http://winterdom.com/ author_login: tomasr author_email<EMAIL_ADDRESS>author_url: http://winterdom.com/ wordpress_id: 4 wordpress_url: http://winterdom.com/2002/12/debugprobes date: '2002-12-11 19:25:43 +0000' date_gmt: '2002-12-11 19:25:43 +0000' categories: - ".NET" tags: [] comments: [] ---
Just read a newsgroup post by MS' Jim Hogg mentioning what sounds like a really cool feature and very useful debugging aid: Customer Debug Probes. Here's a quote:
"(In passing, I'll plug the "Customer Debug Probes" feature, in the "Tool Developers Guide" folder -- coming soon. With a config file, you can turn on extra tracing that helps track down obscure problems encountered during interop with unmanaged code. PInvoke mismatch on stdcall/cdecl and similar)"
Rocks!


 And don't forget the undead livers, our lord is paying for those, as well!
Now, take your leave! Good luck!


How to think like a programmer
or
I am going to love programming
check this out: real love..
There are five aspects of the way in which programmers think:
procedural thinking
..means giving unambiguous instructions to the computer.
It also means approaching the solution of a problem step by step.
Procedural thinking is based on..
technolochigal empathy
,which is basically the assumption that computers are stupid :b
abstract thinking
..means finding generality amongst things that are seemingly different.
systems thinking
..is breaking a problem down into smaller pieces, so it's similar to procedural thinking (there - I found a generality!)
debugging
..is the process of finding and fixing mistakes. You have to ask yourself the following questions:
- where's the bug?
- what has caused the bug?
- how can I fix it?
...now I can't wait to learn more of that stuff!!
♥


From The Odin Project's curriculum
Build the Google homepage and search results page using HTML and CSS


{% extends "main.html" %} {% block tabs %} {{ super() }} TriggerMesh Open Source Cloud Native Integration Platform. Event Driven Applications in Kubernetes. {{ config.site_description }} Concepts Getting Started {% endblock %} {% block content %}{% endblock %} {% block footer %}
{{ config.site_description }}


2016 Enrollment
UMASS Amherst
UMASS Lowell
UMASS Boston
UMASS Dartmouth
On campus
Off campus apartment