Agile
What is Agile?
- Able to move quickly and easily
-
Able to think and understand quickly
Agile is the collective name for management techniques that
-
Focus the team on the needs and goals of customers.
-
Simplify organizational structure and processes.
- Offer work in short cycles.
- Actively use feedback.
-
Are based on a humanistic approach.
-
Are not the final state, but rather a way of thinking and living.
Focus on customer needs and goals
Work tools
short-lived, but intense sessions (meetings) of all participants in
the work or the key majority, where various ideas are generated and
tested.
Examples
- Lean Canvas
- Impact Mapping
- User Story Mapping
Simplification organizational structure and processes
Sprint backlog
Simplification Examples
- Scrum
- Nexus
- LeSS (Large-Scale Scrum)
Short cycle operation
iteratively incremental approach
- Work is carried out in small fixed periods of time, for example, in one, two or four weeks
- At the end of each period of time is created not just some kind of intermediate result, but a small, stripped down, but workable version of the product that you can already start using.
All Agile process approaches have short cycles
- Scrum
- Nexus
- LeSS (Large-Scale Scrum)
- SAFe
- XP
Active, systemic use of feedback
Examples of active usage of feedback
- Scrum
- Nexus
- LeSS (Large-Scale Scrum)
- SAFe
- Kanban
Employee empowerment
Humanistic approach
Agile is not a final state, but a way of thinking and living


{{ .Title }}
{{ $data.short | .RenderString (dict "display" "block") }} {{ if $data.deprecated }}{{ end }} {{ if or $data.experimental $data.experimentalcli }}This command is deprecated
It may be removed in a future Docker version. For more information, see the Docker roadmap
{{ end }} {{ with $data.kubernetes }}This command is experimental
Experimental features are intended for testing and feedback as their functionality or design may change between releases without warning or can be removed entirely in a future release.
{{ partial "components/badge.html" (dict "color" "blue" "content" "Kubernetes") }} This command works with the Kubernetes orchestrator.
{{ end }} {{ with $data.swarm }}{{ partial "components/badge.html" (dict "color" "blue" "content" "Swarm") }} This command works with the Swarm orchestrator.
{{ end }} {{ with $data.usage }} {{ $heading := dict "level" 2 "text" "Usage" }} {{ partial "heading.html" $heading }} {{ $.Scratch.Add "headings" $heading }} {{ highlight (strings.Replace . "\t" "") "console" }} {{ end }} {{ with $data.long }} {{ $heading := dict "level" 2 "text" "Description" }} {{ partial "heading.html" $heading }} {{ $subHeadings := (strings.FindRE `(?m:#{3,4} .*)` .) }} {{ $.Scratch.Add "headings" $heading }} {{ range $subHeadings }} {{ $lvl := strings.Count "#" . }} {{ $txt := strings.TrimLeft "# " . }} {{ $.Scratch.Add "headings" (dict "level" $lvl "text" $txt) }} {{ end }} {{ . | $.RenderString (dict "display" "block") }} {{ end }} {{ with $data.options }} {{ $heading := dict "level" 2 "text" "Options" }} {{ partial "heading.html" $heading }} {{ $.Scratch.Add "headings" $heading }}| Option | Short | Default | Description |
|---|---|---|---|
{{ with .option }}--{{ . }} {{ end }} |
{{ with .shorthand }}-{{ . }} {{ end }} |
{{ with .default_value }}{{ . }} {{ end }} |
{{ with .min_api_version }} {{ partial "components/badge.html" (dict "color" "blue" "content" (printf "API %s+" .)) }} {{ end }} {{ with .deprecated }} {{ partial "components/badge.html" (dict "color" "red" "content" "Deprecated") }} {{ end }} {{ with .experimental }} {{ partial "components/badge.html" (dict "color" "amber" "content" "experimental (daemon)") }} {{ end }} {{ with .experimentalcli }} {{ partial "components/badge.html" (dict "color" "amber" "content" "experimental (CLI)") }} {{ end }} {{ with .kubernetes }} {{ partial "components/badge.html" (dict "color" "blue" "content" "Kubernetes") }} {{ end }} {{ with .swarm }} {{ partial "components/badge.html" (dict "color" "blue" "content" "Swarm") }} {{ end }} {{ if .description }} {{ $.RenderString .description }} {{ end }} |


The Developer strategy is a very simple strategy that can be used as a placeholder in your application until a different authentication strategy is swapped in. It has zero security and should never be used in a production setting.
## Usage
To use the Developer strategy, all you need to do is put it in like any other strategy:
@example Basic Usage
use OmniAuth::Builder do provider :developer end
@example Custom Fields
use OmniAuth::Builder do provider :developer, :fields => [:first_name, :last_name], :uid_field => :last_name end
This will create a strategy that, when the user visits `/auth/developer` they will be presented a form that prompts for (by default) their name and email address. The auth hash will be populated with these fields and the `uid` will simply be set to the provided email.
# File lib/omniauth/strategies/developer.rb, line 39 def request_phase form = OmniAuth::Form.new(:title => "User Info", :url => callback_path) options.fields.each do |field| form.text_field field.to_s.capitalize.gsub("_", " "), field.to_s end form.button "Sign In" form.to_response end


Page Content Header
We love to hear from our customers, and potential clients. Please use the below form to submit any questions or comments.
All form fields are required.
We love to hear from our customers, and potential clients. Please use the below form to submit any questions or comments.
Keep Up with Us on the Twitterbook+
Find us on all of your favorite social media pages.
And don't forget to subscribe to learn about new and discounted services.
We Have a No Social-Ville Request Guarantee.


{{ content }}
- Get Suave via NuGet
- Source Code on GitHub
- License (Apache 2.0)
- Release Notes
- Who is using Suave?
- Ask a question
- Follow @SuaveIO
- API Reference
- Documentation
- Introduction
- Routing HTTP requests
- Async computation expressions and >=>
- Composing bigger programs: combinators
- More HTTP combinators
- Programming with fish (custom operator reference)
- Building RESTful Web Services
- Typed routes
- Multiple bindings and SSL support
- API
- State and Sessions
- Serving static files, HTTP Compression and MIME types
- DotLiquid server-side templating
- Deploying Suave to Heroku
- Deploying Suave to Heroku with Docker
- Deploying Suave to Azure App Service
- Getting Hold of Suave’s Logs
- Suave + Paket = ♥
- Realtime messages with WebSockets
- Music Store Tutorial
- E-Book: Web Development In F# Using Suave
- Suave on dotnet core on kubernetes on google cloud
- F# TV Course: Learn Suave by creating it
- E-Book: Twitter Clone In F# Using Suave


Welcome to Aurelia! This quick start guide will take you through creating a Todo app using Aurelia and briefly explain its main concepts. We assume you are familiar with JavaScript, HTML, and CSS.
Now that you've got the basics down, you need to learn how to use the CLI, build a more complex app and get a solid knowledge foundation for real-world work. In this tutorial we'll build a small contact manager app and demonstrate a variety of Aurelia's features as well as learn some useful techniques.


Downsample frequent words.
pruned = []
for idx in coded:
if np.random.uniform(0.0, 1.0) < idx_to_pdiscard[idx]:
pruned.append(idx)
return pruned
@numba_njit
def prune_sentences(coded, idx_to_pdiscard):
Downsample frequent words.
return [t for t in coded if random.uniform(0, 1) > idx_to_pdiscard[t]]


Image Processing
- Start - load image to canvas
- Gamma - increase image contrast
- Grayscale - convert image to grayscale
- Blur - blur image slightly
- Filters - using CSS filters
- Canny - edge detection (binary image)
- Dilate - emphasize edges
- Threshold - find edges using threshold
Feature Detection
Cube Solution
- Colors - determine closest color match
- Distribution - use statistics to guess color
- Clustering - track color clusters (Euclidean)
- Solve - Generate the puzzle solution
Machine Learning


| 1 | package org.jsoup.nodes; | |
| 2 | ||
| 3 | import org.jsoup.Connection; | |
| 4 | import org.jsoup.Jsoup; | |
| 5 | import org.jsoup.helper.HttpConnection; | |
| 6 | import org.jsoup.helper.Validate; | |
| 7 | import org.jsoup.parser.Tag; | |
| 8 | import org.jsoup.select.Elements; | |
| 9 | ||
| 10 | import java.util.ArrayList; | |
| 11 | import java.util.List; | |
| 12 | ||
| 13 | /** | |
| 14 | * A HTML Form Element provides ready access to the form fields/controls that are associated with it. It also allows a | |
| 15 | * form to easily be submitted. | |
| 16 | */ | |
| 17 | public class FormElement extends Element { | |
| 18 | private final Elements elements = new Elements(); | |
| 19 | ||
| 20 | /** | |
| 21 | * Create a new, standalone form element. | |
| 22 | * | |
| 23 | * @param tag tag of this element | |
| 24 | * @param baseUri the base URI | |
| 25 | * @param attributes initial attributes | |
| 26 | */ | |
| 27 | public FormElement(Tag tag, String baseUri, Attributes attributes) { | |
| 28 | super(tag, baseUri, attributes); | |
| 29 | } | |
| 30 | ||
| 31 | /** | |
| 32 | * Get the list of form control elements associated with this form. | |
| 33 | * @return form controls associated with this element. | |
| 34 | */ | |
| 35 | public Elements elements() { | |
| 36 |
1
1. elements : mutated return of Object value for org/jsoup/nodes/FormElement::elements to ( if (x != null) null else throw new RuntimeException ) → SURVIVED |
return elements; |
| 37 | } | |
| 38 | ||
| 39 | /** | |
| 40 | * Add a form control element to this form. | |
| 41 | * @param element form control to add | |
| 42 | * @return this form element, for chaining | |
| 43 | */ | |
| 44 | public FormElement addElement(Element element) { | |
| 45 | elements.add(element); | |
| 46 |
1
1. addElement : mutated return of Object value for org/jsoup/nodes/FormElement::addElement to ( if (x != null) null else throw new RuntimeException ) → SURVIVED |
return this; |
| 47 | } | |
| 48 | ||
| 49 | @Override | |
| 50 | protected void removeChild(Node out) { | |
| 51 |
1
1. removeChild : removed call to org/jsoup/nodes/Element::removeChild → SURVIVED |
super.removeChild(out); |
| 52 | elements.remove(out); | |
| 53 | } | |
| 54 | ||
| 55 | /** | |
| 56 | * Prepare to submit this form. A Connection object is created with the request set up from the form values. You | |
| 57 | * can then set up other options (like user-agent, timeout, cookies), then execute it. | |
| 58 | * @return a connection prepared from the values of this form. | |
| 59 | * @throws IllegalArgumentException if the form's absolute action URL cannot be determined. Make sure you pass the | |
| 60 | * document's base URI when parsing. | |
| 61 | */ | |
| 62 | public Connection submit() { | |
| 63 |
1
1. submit : negated conditional → SURVIVED |
String action = hasAttr("action") ? absUrl("action") : baseUri(); |
| 64 |
1
1. submit : removed call to org/jsoup/helper/Validate::notEmpty → SURVIVED |
Validate.notEmpty(action, "Could not determine a form action URL for submit. Ensure you set a base URI when parsing."); |
| 65 |
1
1. submit : negated conditional → SURVIVED |
Connection.Method method = attr("method").toUpperCase().equals("POST") ? |
| 66 | Connection.Method.POST : Connection.Method.GET; | |
| 67 | ||
| 68 |
1
1. submit : mutated return of Object value for org/jsoup/nodes/FormElement::submit to ( if (x != null) null else throw new RuntimeException ) → SURVIVED |
return Jsoup.connect(action) |
| 69 | .data(formData()) | |
| 70 | .method(method); | |
| 71 | } | |
| 72 | ||
| 73 | /** | |
| 74 | * Get the data that this form submits. The returned list is a copy of the data, and changes to the contents of the | |
| 75 | * list will not be reflected in the DOM. | |
| 76 | * @return a list of key vals | |
| 77 | */ | |
| 78 | public List<Connection.KeyVal> formData() { | |
| 79 | ArrayList<Connection.KeyVal> data = new ArrayList<>(); | |
| 80 | ||
| 81 | // iterate the form control elements and accumulate their values | |
| 82 | for (Element el: elements) { | |
| 83 |
1
1. formData : negated conditional → SURVIVED |
if (!el.tag().isFormSubmittable()) continue; // contents are form listable, superset of submitable |
| 84 |
1
1. formData : negated conditional → NO_COVERAGE |
if (el.hasAttr("disabled")) continue; // skip disabled form inputs |
| 85 | String name = el.attr("name"); | |
| 86 |
1
1. formData : negated conditional → NO_COVERAGE |
if (name.length() == 0) continue; |
| 87 | String type = el.attr("type"); | |
| 88 | ||
| 89 |
1
1. formData : negated conditional → NO_COVERAGE |
if ("select".equals(el.tagName())) { |
| 90 | Elements options = el.select("option[selected]"); | |
| 91 | boolean set = false; | |
| 92 | for (Element option: options) { | |
| 93 | data.add(HttpConnection.KeyVal.create(name, option.val())); | |
| 94 | set = true; | |
| 95 | } | |
| 96 |
1
1. formData : negated conditional → NO_COVERAGE |
if (!set) { |
| 97 | Element option = el.select("option").first(); | |
| 98 |
1
1. formData : negated conditional → NO_COVERAGE |
if (option != null) |
| 99 | data.add(HttpConnection.KeyVal.create(name, option.val())); | |
| 100 | } | |
| 101 |
2
1. formData : negated conditional → NO_COVERAGE 2. formData : negated conditional → NO_COVERAGE |
} else if ("checkbox".equalsIgnoreCase(type) || "radio".equalsIgnoreCase(type)) { |
| 102 | // only add checkbox or radio if they have the checked attribute | |
| 103 |
1
1. formData : negated conditional → NO_COVERAGE |
if (el.hasAttr("checked")) { |
| 104 |
2
1. formData : changed conditional boundary → NO_COVERAGE 2. formData : negated conditional → NO_COVERAGE |
final String val = el.val().length() > 0 ? el.val() : "on"; |
| 105 | data.add(HttpConnection.KeyVal.create(name, val)); | |
| 106 | } | |
| 107 | } else { | |
| 108 | data.add(HttpConnection.KeyVal.create(name, el.val())); | |
| 109 | } | |
| 110 | } | |
| 111 |
1
1. formData : mutated return of Object value for org/jsoup/nodes/FormElement::formData to ( if (x != null) null else throw new RuntimeException ) → SURVIVED |
return data; |
| 112 | } | |
| 113 | } | |
Mutations | ||
| 36 |
1.1 |
|
| 46 |
1.1 |
|
| 51 |
1.1 |
|
| 63 |
1.1 |
|
| 64 |
1.1 |
|
| 65 |
1.1 |
|
| 68 |
1.1 |
|
| 83 |
1.1 |
|
| 84 |
1.1 |
|
| 86 |
1.1 |
|
| 89 |
1.1 |
|
| 96 |
1.1 |
|
| 98 |
1.1 |
|
| 101 |
1.1 2.2 |
|
| 103 |
1.1 |
|
| 104 |
1.1 2.2 |
|
| 111 |
1.1 |


Build Your Own Customized Trip Plan
Make organizing your trip plans a breeze
Destination
Start Date
End Date
Travelers:
Previous
Next


What is this?
It's simple. It's hashtag chatting. Chatting was popular in the early 2000s. However, the internet is moving towards a slow, forum-based internet and we want to bring back real-time social interaction!
We're still brand new and growing our community. So hang out with us at the website lounge at #Finit!


The Cosmopolitune playlist contains songs covering every country seen by this app.
Members of Guess the Map for their feedback
Made by Lewis Forbes
Code available on GitHub


In the previous article “HTML Page as a C# Object” a C# object was developed to hold the settings of a website page. In this article we discuss creating a domain entity from this object.
A domain entity is an object that is defined by its identity. Sometimes an object can be an entity in one system, but not in another; for example, and address. In an address book system each address needs to be uniquely identified and retrieved from the persistent storage, and therefore, it is an entity. In an invoice system, the address may represent properties in the invoice entity, therefore, the address is not an entity. The upshot of this example is that each object must be carefully designed to determine if it is an entity.
In our CMS, the PageSettings object is indeed an entity and requires an identity to find it in the persistent storage. Rather than changing the properties of each of the entities in our application, I am going to use a Layered Supertype Pattern. This will encapsulate all of the domain entity properties and functionality in a single object. All of the objects in this layer (our domain entities) will inherit the newly created object.
I am going to use a Test-driven development (TDD) to build the CMS application. TDD is about writing the tests prior to the code. In fact it is the tests that drive the design and coding of the application. To start this process, first write down what we know about the new object.
The new object will be called EntityBase and;
The following tests are written to fully specify the functionality of the object. Note that comments have been removed for brevity, the download has complete code.
I have initialized each test with three objects; testEntity1, testEntity2, target. TestEntity1 should be equal to target, while testEntity2 should not be equal. The first test EqualsToBaseObjectTest checks if a given object is equal to the base object. The second test EqualsOperatorTest checks if two objects are equal, and the final test NotEqualsOperatorTest checks if two objects are not equal.
Because the EntityBase object is abstract, I create a fake object, called FakeEntityBase, which is concrete. Its purpose is to allow testing of the EntityBase object and does not have any production use. For more information on mocks, stubs, fakes, and dummies see “Mocks Aren't Stubs” by Martin Fowler.
The code below is the EntityBase object stripped of any functionality, instead each of the methods have been coded to substantially fail the written tests.
When the unit tests are run they fail, and it is at this point, I can start to write the code for each method, testing until each test passes. This is known as the red to green method, as the test results go from red (fail) to green (pass). The code below is EntityBase after it has been fully coded and passes all tests.
The PageSettings, Person, and Image objects developed in “HTML Page as a C# Object” each inherit the EntityBase object, and are now domain entities. These entities can be stored in persistent storage. The next step is to create a repository pattern to create, read, update, and delete entities from our persistent storage.


The firemaking skill is one of the easier skills to grasp in Runescape Classic, as it utilizes only one type of resource.
By grabbing an axe and a tinderbox and setting yourself up beside a good amount of trees, you will have everything you need to reach your desired firemaking level goal.
To see how much experience you will gain burning logs at each level, use the handy calculator below:


This website is based on the work made by Anton McConville and his analysis of David Bowie lyrics.
The original project began as a personal way of remembering David Bowie, absorbing and reflecting his seasons and songs, but turned into an experiment to share.
It is most of all an examination of personas using the big five personality traits. David Bowie continually changed, gifting us many new characters and incredible songs, during a beloved career.
The objective of the project is to see if there is a correlation between his written lyrics and his visual personas.
We take the lyrics from albums that correspond to each persona/period and run Watson Personality Insights on them.
Clicking on one of the pictures of an artist on the main page opens another page that looks like a mock Twitter account for each persona. The 'tweets' contain sankey diagrams that break down the big five personality traits and a little bar chart that shows the combined trait measurements.
Each page has a video embedded, and has links to wikipedia articles about the albums from that persona. Listen to the music, follow the album links, read the personality data. How does the data correspond to that persona?
Displaying this as a Twitter page was a design idea to emphasize the theme of persona. This project considers changes too - it wants to reflect on changes in persona visually and through mining the data within the songs over time.
From the main view you can also find a link to a page which shows the big five traits over time, and per persona.
There are also controls to toggle between the contributing sub-traits. This view shows how we can track personality over time.
This project is built and runs happily on IBM Bluemix.
It was originally designed and developed by Anton McConville and Matt Eldridge.
Adapted to support any artists and lyrics by Frederic Lavigne.
We're pleased to share our repo with an Apache licence


{%extends "base.html" %} {%block title%}Badge Scanning - {{conference}}{%endblock%} {%block content%}
You are registered as a badge scanner for {{sponsor}}.
To scan a badge you will use your regular smartphone. The system has been tested with the most common models of smartphones, and should hopefully work with the one you have.
For Android there is a native app available in Google Play.
For both Android and iOS, there is a web app available that can also be used for the scanning. Note that you will need to grant the website permissions to use your camera, and depending on smartphone model you may need to configure the camera before you scan (for example so that it doesn't use the front-facing camera, which some models do by default).
NOTE! Due to an unknown change in a recent update to iOS, when using the web app from an iOS device such as an iPhone, the device must be held in landscape mode instead of portrait for the scan to complete correctly.
To access your personal scanning page, go to:
Or scan this QR code:
If you go to this address and have the Android app installed, it will auto-activate. If it does not, copy this URL and paste it into the configuration of the app.
Note that this is your personal link, so do not share it with others! Each person designated to perform badge scanning will have their own personal link!
Finally, you can also scan the attendee badges directly with your browser in the smartphone. This will work around the issue with landscape mode on iPhones, but unlike the other methos to scan the badges you must be logged in with the same account you used for your registration in order to access them. If you choose to use this method, you scan the code directly and do not use the app link below.
We also strongly recommend that you test the system before the conference. You can find a code to test with at
{%endblock%}


--- layout: page title: Community description: How we have made a positive impact on those around us background: '/img/bg-community.jpg' ---
To children wanting to come to our school from middle school in Henry Munro, we showed the current states of our VEX robot and explained to them the design concepts behind it. This was done in order to spark an interest in robotics and engineering within the young and fresh minds of said individuals.
Victor, the primary builder and designer for 2381C, coaches and mentors an FLL team, and uses his previous knowledge from FLL and his current knowledge to guide the students towards success.
Anthony, the head of 2381X, has released CAD reveals and is an active member of the VEX forum. He helps new teams by giving them a strong starting point and helping those who have questions. Check him out @ranoom.
Both 2381C and 2381X have released code reveals in order to help other teams get a feeling for what their code should look like if they are inexperienced. Sean, the lead programmer from 2381C, made templates for new V5 teams where they just need to change port numbers in the code in order to have all their motors work and with multiple drives already programmed in. At the bottom of the page, there are GitLab and GitHub pages with the code reveals and template.


{% extends "home/base.html" %} {% load staticfiles %} {% block addon_css %} {% endblock %} {% block content %}
Display the interaction between one or multiple GPCR/G-protein complex interfaces.
Click the button to determine sequence features.
Click the button to find similar proteins, based on the sequence features.
Color by Interaction or Residue:
Filter for residue pairs with 1
or more interfaces.
| int_ty | PDB | R AA | R GN | R Pos | S AA | S Pos |
|---|


Firefighters responded to the 4400 block of Rockmere Way near the 210 Freeway at approximately 11:30 p.m. Monday, according to the Los Angeles County Fire Department.
Firefighters found a home engulfed in flames and contained the fire after about 20 minutes.
A body was found inside the home.
The victim has not been identified.
It was not immediately known what caused the fire.


The first step is to create the system users 'admin' and 'anonymous', who are needed for the proper operation of the KiWi system.
In the form on the left, please fill in first name, last name, and two times the password (fields "Password" and "Validate") for the user admin. The user anonymous is configured automatically with default values.
When you click on "next", the admin and anonymous users will be created in the KiWi system. You can then later login as user admin using the password you have provided in case you want to perform administrative tasks in the KiWi system.
You can optionally skip the whole setup process and continue using the KiWi system without setup by clicking on the "skip setup" button. Do this only if you know what you are doing. The system will probably not run correctly without the setup process. Note that you will again be redirected to the setup when you restart the server.


With this work I will try to make an analysis of the alternatives in kubernetes to the serverless ecosystem
- Functions as a service (Faas)
- Databases
- Message queues
- File Management
- User Management
Here is a small summary of the technologies or frameworks that I can analyze
Faas
- Knative
- OpenFaas
- OpenWhisk
Databases
- MongoDB Enterprise Kubernetes Operator
- Postgres Operator
- ScyllaDB
Queues
File Management
User Management
All these technologies will be updated as the study of them progresses


Donate to CDS Kenya
Donate to the projects below to support sustainable development
Smallholder Irrigation and Value Addition Project (SIVAP)
Project Proposal
Donate
Women and Girls Education Scholarship (WAGES)
Project Proposal
Donate
Hearts of Care Community Hospital
Project Proposal
Donate
COVID-19 Response
Project Proposal
Donate


Let us make your software or help you make it better. Mindhaus works with clients to develop scalable solutions for the web. Whether you want to leverage the cloud to serve millions of users one day and hundreds of millions the next or just need help understanding how to evolve your web application architecture, mindhaus can provide innovative solutions to achieve your goals.
We combine creative forces with systematic activists. All ideas require implementation and our multi-disciplined netproject fosters a wide array of abilities that empower visionaries and entrepreneurs to lead meaningful brands.
Inspired Thinking. Ask smarter questions, push for innovative solutions and believe in the power of creativity. Be consistently open and honest. Be true to ourselves and our values. Find, stimulate and maintain the best minds.
Inspired Thinking. Ask smarter questions, push for innovative solutions and believe in the power of creativity. Be consistently open and honest. Be true to ourselves and our values. Find, stimulate and maintain the best minds.
Scroll&Strap - modern Bootstrap onepager with parallax effect and smooth scrolling
Buy now! - or -


Caroline Kenworthy
home
blog
about
projects
recent entries
Version Control, git, and GitHub
CSS Positioning: the 4 values
Listing in Ruby: Arrays and Hashes
Enumerables: .map and .collect
Creating Objects in Ruby: Classes
Functional vs. Object-Oriented Programming
Regular Expressions


HOW TO PLAY
- Use ARROW keys to move and SPACE to attack while moving.
- Collect points by capturing flags and killing opponents.
- Walk over flags to capture them for your team.
- The team with the highest score at the end of the game wins.
- Game resets automatically when the game ends.
Press 'M' to mute the music.


Changelog
Version 3
Version 3.0.0
-
Update for new Pastee API. Pretty much a complete rewrite.
Version 2
Version 2.0.3
-
Use pessimistic version requirements.
-
Bump HTTPClient.
Version 2.0.2
-
License as MIT
Version 2.0.1
-
Don't print the response when submitting pastes.
-
Update to Ruby 2.3 and HTTPClient 2.7
Version 2.0.0
-
Add support for beta API.
Version 1
Version 1.0.0
-
Initial release. Features include submitting pastes, and proper error reporting.


Christopher Black
Instructor
Google
About
Instructor at Prime Academy.
Grean Beens
Basil
Bell Peppers
This is a section of the webpage.
An image will go here.


{{'Advanced' | translate}}
Use Unconfirmed Funds
If enabled, wallets will also try to spend unconfirmed funds. This option may cause transaction delays.
Recent Transaction Card
If enabled, the Recent Transactions card (a list of transactions occuring across all wallets) will appear in the Home tab.
Use Advanced Keypad
If enabled, the keypad used to enter amounts will include calculator operations.
Feature Level
Configures available features based on your experience, knowledge, and comfort with digital currencies.
Experiments


Chanel Celebrates Women in Film With ‘Through Her Lens’
Glenn Close, Zazie Beetz, Keke Palmer, Eliza Scanlen and more turned out for the TriBeCa luncheon.
by Leigh NordstromWomen in film were celebrated by Chanel and Tribeca Enterprises at Locanda Verde on Monday, where the “Through Her Lens: The Tribeca Chanel Women’s Filmmaker Program” luncheon was held.
Glenn Close snuck past the outside paparazzi with nonchalance and stayed put by the entrance to the restaurant, as starlet after starlet strolled past. Katie Holmes posed for photos but politely declined interviews, hurrying inside. Hailey Gates, Grace Gummer and Dianna Agron chatted by the bar. Eliza Scanlen, Kelsey Asbille and Kristine Froseth held court at a corner power table of “It” girls.
“Being an actress, it’s really nice to be here with a lot of women in film and support each other — and look good while doing it,” Asbille said.
The actress, who just finished filming the third season of “Yellowstone” and is preparing to head to Chicago for her next project — “just in time for winter” — named Andrea Arnold and Zazie Beetz, who was in attendance, as women in the industry she looks up to.
“I love what she did in ‘Joker’ this year,” she said of Beetz.
“I feel very honored to be amongst some of the great legends of women in film, and people who have paved the way for women like me to be part of it, and also women who are coming up,” said Annabelle Attanasio, the young director making waves for the film “Mickey and the Bear,” which stars Camila Morrone.
Her top female-led project for the past year was Olivia Wilde’s “Booksmart.” “I was just with her in Savannah and she is so inspiring,” Attanasio said.  Keke Palmer said of her favorite female film from the year. “But in general, it would probably be ‘Eve’s Bayou,’ by Kasi Lemmons. I think she’s — that’s one of my favorite movies of all time, and I think she’s totally underrated.”
Of the program’s fifth year, Jane Rosenthal, chief executive officer of Tribeca Enterprises, said it’s all about community.
“Community, community, community! This is our fifth year, you look at what’s happened, whether it’s the Time’s Up movement or the election of who we have in office, and it’s about establishing a community of storytellers and a community of mentors,” Rosenthal said.
And with that, time for lunch.


AMAZING PEOPLE ARE MAKING AMAZING DESIGNS IN A FUN ENVIRONMENT
When you work with us, you are part of a team of committed collaborators. All aspects pf our software development process are integrated, interactive and agile.
Our approach unifies, design, development and product management to create exceptional products.
We start each project by understanding your business goals, the user’s needs and the product requirements
then we help transalte them into effective and elegant solutions.
Before we design a contract or write a line of code our team will spend the necessary time needed to understand your product vision
the outcome of this scoping session is proposal or high-level statement of work.
Based on your requirements, we can provide a complete offering or just the pieces you need.
DESIGN
DEVELOPMENT
PRODUCT MANAGEMENT


Responsible party pursuant to data protection laws, in particular the EU General Data Protection Regulation (GDPR), is
Jan Trukenmüller
--- layout: index meta-title: "Midica - Privacy Policy" meta-desc: "Music Programming Language for MIDI. MIDI Player, Karaoke Player, MIDI Analyzer, Soundfont Viewer, MIDI compiler and decompiler." ---
Responsible party pursuant to data protection laws, in particular the EU General Data Protection Regulation (GDPR), is
Jan Trukenmüller
You can exercise the following rights at any time using the contact details of our data protection officer:
If you have given us consent, you may withdraw it at any time, which will remain in effect in the future.
You can contact a supervisory authority with a complaint at any time, e.g. the supervisory authority of the state of your residence or the authority that oversees us as the responsible party.
You’ll find a list of supervisory authorities (for the non-public area) with their respective addresses at: https://www.bfdi.bund.de/DE/Infothek/Anschriften_Links/anschriften_links-node.html.
When you access our website – i.e. if you do not register or submit information – information of a general nature will be collected automatically. This information (server log files) contains the type of web browser, the operating system used, the domain name of your Internet service provider, your IP address and the like.
It is processed in particular for the following purposes:
We will not use your data to draw conclusions about your person. This type of information will be statistically analysed by us if necessary to optimise our website and its underlying technology.
The processing occurs according to Art. 6 Para. 1 (f) GDPR, based on our legitimate interest in improving the stability and functionality of our website.
Recipients of the data may be technical service providers, who work on the operation and maintenance of our website as the processor.
The data will be deleted as soon as they are no longer required for the reason they were collected. This is generally the case, after the respective session has ended, for data that are used to make the website available.
The provision of the aforementioned personal data is neither legally nor contractually mandatory. Without the IP address however, the service and functionality of our website are not guaranteed. Furthermore, individual services can be unavailable or limited. For this reason, an objection is excluded.
We reserve the right to amend this privacy policy so that it always complies with current legal requirements or to implement changes to our services in the privacy policy, e.g. when introducing new services. Your next visit will be subject to the new privacy policy.
If you have any questions pertaining to data protection, please send us an e-mail or contact the person responsible for data protection in our organization:
{{> email}}
The privacy policy was created via the activeMind AG privacy policy generator (Version: #2018-09-24).


--- layout: default title: About ---
The Somerville Granola Making Coop (SGMC) is one of three community-based food productions cooperatives where members of the community share the responsibility for creating low-cost healthy food using a sustainable economic model. SGMC offers granola made with ALL local ingredients including dry-rolled oats from Maine and cold press oil from New York. The other two cooperatives are The Somerville Yogurt Making Coop and The Somerville Fermenation Coop.
Members can sign up to receive between one and eight pounds of granola each month. Membership terms are for six months and cost $24 for a one pound share. This works out to $4.00 per pound.
Each member is responsible for signing up to help make granola twice during their six-month term. Granola is made once a month on Tuesday evenings. Start times are flexible and the whole process takes about three hours.
The co-op uses a shared kitchen in First Church Somerville, just outside of Davis Sq. to make, store and distribute shares. Members are given direct access to the church. Pick up times are Wednesday through Sunday of the same week that the granola is made.
Our granola is made with ingredients from local farms with transparent and sustainable farming practices. Most notably our oats are organically farmed and dry rolled in Maine. Chances are you have never tasted dry-rolled oats. Dry-rolled oats have a raw and natural texture in contrast to the uniform flake of conventional steamed rolled oats. Steam rolling is used as method for extending the shelf life of oats by removing their natural enzymes. It is an energy intensive process and almost all steam rolled oats are processed in a single plant in Saskatchewan, Canada. By contrast, the simple process of dry rolling raw oats is affordable for small batch processing and results in a product that is better for farms, the environment and you.
In addition, our oil is cold pressed. The standard process for refining oils is referred to as solvent extraction and a full description of this process is not for the faint of heart or stomach. The process includes extreme heat, hexane-based solvents, bleaching and deodorization. The process damages the fats in the oil to the extent that the oil is often rancid before it is even sold. Not only is our oil extracted from a simple cold press, but it is made from non-GMO seed sourced 30 percent from local farms.
Finally, our cranberries contain no artificial color or preservatives typical of commercially processed cranberries and retain the dark rich color, tart flavor and moist taste of the original cranberry.
Below is a complete list of our ingredients. Note that our recipe does not contain nuts and the kitchen we use is designated nut-free.
| Oats (Dry rolled) | Maine Grains, Skowhegan ME |
| Maple Syrup | Cranston Family Tree Farm, Ashfield MA |
| Honey | Apex Orchards, Shelburne Falls MA |
| Canola Oil | Full Sun, Middlebury VT |
| Dried Cranberries | Fairfield Farms, Rochester MA |
| Pepitas | Wholehearted Foods, Geneva NY |
If you are interested in joining, please download and complete the application form. The form should be mailed along with a check to:
Somerville Granola Making Co-op
℅ First Church Somerville
89 College Ave
Somerville, MA 02144
Alternatively, insert your package directly into the mailbox on the side entrance of the church!
For more information, please contact sgmcooperative(at)gmail(dot)com or join our mailing list.


Choose a quantity and save!
x1-2 = $9.99, x3-4 = $8.99, x5-8 = $7.99, x9+ = $6.99
Quantity:
1
2
3
4
5
6
7
8
9
10
Total: $
0.00
Buy


I have learnt different types of programming languages during the acadamic year, they are Python,Java,C++ and C
During the acadamic curriculam I have learnt database management system such as MYSQL and apart from that I have learnt POSTGRESQL as an addtional skill
Apart from programming and database I have learnt WEB DESIGNING Technologies such as HTML,CSS,JAVASCRIPT,MANGODB as my personal interest
Instead of learning all mentioned skills I have also learnt Cloud Computing basics such as AMAZON WEB SERVICES and MICROSOFT AZURE
Consumers reviews in E-commerce systems are usually treated as the important resources that reflect user’s experience, feelings, and willingness to purchase items. All this information may involve consumers’ views on things that can express interest, sentiments, and opinions. Many kinds of research have shown that people are more likely to trust each other with the same attitude toward similar things.
It explains on real Data and real-world Problems. No toy data! This is the simplest & best way to become a Data Analyst/Data Scientist
"I am someone who is mature, candid and has integrity. Every day I work to improve myself and my skills, which is part of maturing and becoming better at what I do.” “I am someone who is consistently growing themselves and who takes the time to continue learning even though it’s not a direct requirement of the job. I find that many times it’s a combination of what you study both, directly and indirectly, related to work."
Download Resume


Welcome to Songify
Enter Name and Password to access your account
Email Address
Password
Title
Artist
Album
Duration
Tamma Tamma Again
Badrinath ki Dulhania


For Internet Explorer users, please be sure to turn off compatibility mode for optimal viewing.
A User Name and Password is required to access the application. These are established through the Create Account tab to the right. You do not have to complete the application at one time; you can return as many times as you wish to continue or revise.
Please note that the application fee must be paid by credit card at the time of submission. You can only submit your application one time. If you have updates to any submitted information please contact us at<EMAIL_ADDRESS>Before you begin, we recommend that you review the Security Information and System Requirements below. If you have technical problems with this application please contact Hobsons Technical Support via the link below.
Good luck! We look forward to reviewing your application.
Please input your login information below to open your application.


Toggle navigation
NATURA VERDE
About
Services
Reservation
WELCOME!
NATURA VERDE
Insights :)
Room services we have
Insights :)
Food availble in our resto
Insights :)
Hotel main view
You can message us through:
Twitter :)
Facebook :)
Message :)


Returns and Jumps
Kotlin has three structural jump expressions:
- return. By default returns from the nearest enclosing function or anonymous function.
- break. Terminates the nearest enclosing loop.
- continue. Proceeds to the next step of the nearest enclosing loop.
All of these expressions can be used as part of larger expressions:
val s = person.name ?: return
The type of these expressions is the Nothing type.
Break and Continue Labels
Any expression in Kotlin may be marked with a label.
Labels have the form of an identifier followed by the @
sign, for example: abc@
, fooBar@
are valid labels (see the grammar).
To label an expression, we just put a label in front of it
loop@ for (i in 1..100) {
// ...
}
Now, we can qualify a break or a continue with a label:
loop@ for (i in 1..100) {
for (j in 1..100) {
if (...) break@loop
}
}
A break qualified with a label jumps to the execution point right after the loop marked with that label. A continue proceeds to the next iteration of that loop.
Return at Labels
With function literals, local functions and object expression, functions can be nested in Kotlin. Qualified returns allow us to return from an outer function. The most important use case is returning from a lambda expression. Recall that when we write this:
//sampleStart
fun foo() {
listOf(1, 2, 3, 4, 5).forEach {
if (it == 3) return // non-local return directly to the caller of foo()
print(it)
}
println("this point is unreachable")
}
//sampleEnd
fun main(args: Array<String>) {
foo()
}
The return-expression returns from the nearest enclosing function, i.e. foo
.
(Note that such non-local returns are supported only for lambda expressions passed to inline functions.)
If we need to return from a lambda expression, we have to label it and qualify the return:
//sampleStart
fun foo() {
listOf(1, 2, 3, 4, 5).forEach lit@{
if (it == 3) return@lit // local return to the caller of the lambda, i.e. the forEach loop
print(it)
}
print(" done with explicit label")
}
//sampleEnd
fun main(args: Array<String>) {
foo()
}
Now, it returns only from the lambda expression. Oftentimes it is more convenient to use implicit labels: such a label has the same name as the function to which the lambda is passed.
//sampleStart
fun foo() {
listOf(1, 2, 3, 4, 5).forEach {
if (it == 3) return@forEach // local return to the caller of the lambda, i.e. the forEach loop
print(it)
}
print(" done with implicit label")
}
//sampleEnd
fun main(args: Array<String>) {
foo()
}
Alternatively, we can replace the lambda expression with an anonymous function. A return statement in an anonymous function will return from the anonymous function itself.
//sampleStart
fun foo() {
listOf(1, 2, 3, 4, 5).forEach(fun(value: Int) {
if (value == 3) return // local return to the caller of the anonymous fun, i.e. the forEach loop
print(value)
})
print(" done with anonymous function")
}
//sampleEnd
fun main(args: Array<String>) {
foo()
}
Note that the use of local returns in previous three examples is similar to the use of continue in regular loops. There is no direct equivalent for break, but it can be simulated by adding another nesting lambda and non-locally returning from it:
//sampleStart
fun foo() {
run loop@{
listOf(1, 2, 3, 4, 5).forEach {
if (it == 3) return@loop // non-local return from the lambda passed to run
print(it)
}
}
print(" done with nested loop")
}
//sampleEnd
fun main(args: Array<String>) {
foo()
}
When returning a value, the parser gives preference to the qualified return, i.e.
return@a 1
means "return 1
at label @a
" and not "return a labeled expression (@a 1)
".


Network visualization that shows the relationships between each word in 'The Adventures of Sherlock Holmes - Arthur Conan Doyle' book. Both the semantic and the closeness relations of the words are taken into account. The network self-organizes using the force system of d3.js to find interesting topologies and paths between the data.


Serbia's Vucic admitted to hospital with heart problems
by ReutersSerbian president Aleksandar Vucic has been admitted to a hospital after experiencing heart problems, his office said on Saturday.
The 49-year-old was admitted to a military hospital in Belgrade.
A government official who spoke on condition of anonymity told Reuters: "The president is stable now."
A former ultra-nationalist who turned towards the European Union, Vucic became prime minister in 2014 and was elected president in 2017.
Although the presidential role is ceremonial he retains political control as head of the Serbian Progressive Party, which has been in power since 2012.
“General Secretariat of the President of the Republic of Serbia hereby informs the public that in the late afternoon of the 15th of November President of the Republic of Serbia Aleksandar Vučić was admitted at the Military Medical Academy in Belgrade due to cardiovascular issues,” the presidency said in a short statement.


pymzn.process.Process¶
-
class
pymzn.process.
Process
(args)¶ Wrapper for an external process.
Usable to run a synchronous process or to manage an asynchronous one.
Parameters: args ([str]) – The command line arguments to execute. Same as for subprocess.Popen
(with shell=False).-
returncode
¶ int or None – The returncode of the process. While the process has not finished the returncode is None. After the process is finished, the returncode is retrieved as by Popen.poll().
-
stdout_data
¶ str or bytes – The content of the standard output of the process after the execution.
-
stderr_data
¶ str or bytes – The content of the standard error of the process after the execution.
-
expired
¶ bool – Whether the process was terminated because the timeout expired.
-
interrupted
¶ bool – Whether the process was interrupted by a KeyboardInterruption.
-
async
¶ bool – Whether the process was started asynchronously.
-
started
¶ bool – Whether the process has started.
-
alive
¶ bool – Whether the process is still running.
-
completed
¶ bool – Whether the process was completed without errors.
-
runtime
¶ float – The running time in seconds. If the process is alive, it marks the running time up to now. If instead the process is terminated, it marks the running time of the process up to its end.
-
stdout
¶ The underlying output stream of the process.
-
stderr
¶ The underlying error stream of the process.
Methods
readlines
()Generator of lines from the standard output of the process. run
([input, timeout])Run the process synchronously. start
([stdin, timeout])Starts the process asynchronously. stop
()Stops the process. Attributes
alive
completed
runtime
started
stderr
stdout
-


<% _.each([['Dockets', 'docket'], ['Notices, Rules and Proposed Rules', 'document-fr'], ['Comments, Supporting & Related Materials and Other', 'document-non-fr']], function(agg_type) { %>
<% }); %>


Building a Personal Website
April 9, 2016
Building a personal website was fun and challenging at the same time. You could make a simple website or a fancy website depending on how much time and energy you want to put into it. What I enjoyed the most was making my site mobile responsive. It took a long time and it was challenging because I didn't know how to do it so I had to research, learn and implment what I've learned.
I think CSS positioning was the hardest challenge of making a website because we can design a beautiful site but if things aren't positioned right, it messes up the whole page, text gets cut off, images aren't centered, etc.
Besides learning about mobile responsive, I also learned about wireframing, using Chrome DevTools, linking up CSS to a HTML page and HTML5 semantics. It was a fun journey.


Wil generate {{handlebars}}, or Mustache templates, but doesn't just yet. For now it's just a fancy page editor, nothing wrong with that! You may however play around with it.
Try adding elements and populating them in different ways.
Contribute on Github: https://github.com/vhv/BarbershopJs
Site for now: http://www.barbershopjs.com/
BarbershopJs is built by
Wouter Vroege and Boris van Hoytema


A computer's operating system and the programs that run on it are made up of individual files, most of which reside in directories or folders much like a filing cabinet. For example, most of the files associated with the Windows operating system might be found in a folder logically called Windows. Within the Windows folder are several subfolders (many of which also have subfolders) that help further categorize the files they contain. Files that don't reside in a folder or subfolder are said to be on the root of the drive. Think of your home filing cabinet. Perhaps you have a file folder named 'Bills' and inside that folder you have copies of individual bills you've paid. Perhaps you have even organized them using sub-dividers, so that the Bills folder is actually broken down into months or type of bills. Comparing that to a computer, the individual bills would be the files, the sub-dividers would be the subfolders, and the main folder 'Bills' would be a directory or folder found on the computer. You can browse the files and folders on your hard disk and other removable disk drives using My Computer and File Explorer
File Explorer :The File Explorer allows you to perform file and directory management tasks such as creating files and directories, renaming or deleting files or directories. The display area of File Explorer is divided in two panes. The left side of the File Explorer window contains a list of your drives and folders and the right side displays the contents of a selected folder. You can use the View menu to change how the icons in the right half of the window appears.
To use File Explorer to view your hard disk, follow the given steps :-
1. Click the Start button.
2. Click File Explorer.
In the left pane, click the letter that represents your hard disk. The contents of your hard disk appear in the right pane. Steps to view a file or folder :1. Double click the drive that contains the file.
2. To view a file or folder, double click on it.
Steps to create a new folder1. In the File explorer, if you want to create a new folder then select New option from File menu.
2. Select Folder option from the submenu.
3. Type a name for the new folder and then press enter.
Steps for Copying and moving of files :You can open the folder that contains the file you want to move and drag it to the folder you want to put it in. To copy a file hold down the control key and to move a file, hold down the shift key while dragging.
OR
1. Locate the file or files you want to move or copy.
2. Select the files.
3. Choose copy or cut from the edit menu, the tool bar or right click the context menu.
4. Locate the place to which you want to move or copy the objects. Click on it.
5. Choose paste from the toolbar, the edit menu, or the right click context menu.
Steps for deleting a File or Folder :1. In File explorer; locate the file or folder you want to delete.
2. Click the file or folder.
3. On the file menu, click Delete.
If you want to retrieve a file you have deleted, look in the Recycle Bin. The deleted files remain in the Recycle Bin until you empty it. You can also drag file or folder icons onto the Recycle Bin icon. If you press shift while dragging, the item will be deleted from the computer without being stored in the Recycle Bin.
Steps to change the name of the File or Folder:1. In File explorer, click the file or folder you want to rename. You do not need to open it.
2. On the File menu, click Rename.
3. Type the new name, and then press ENTER.
A filename can contain up to 255 characters, including spaces. But it cannot contain any of the following characters :*? ;
Steps to select multiple files and folders:1.
2.
3. To select a group of files that are next to each other, hold down the mouse button and drag a rectangle around the files you want to select.
4. To change the appearance of items in a folder in File explorer, dick the View menu, and then click one of the following commands: Large Icons, Small Icons, List, or Details.
Steps to Change the Appearance of items in a folder:1. Open My Computer or File Explorer click the view menu.
2. Click one of, the following commands: Large icons, Small icons, List, Details. You can also sort the items by name, size, date and type depending on the view.
Steps to print a document:1. If the document is open, on the File menu, click Print.
2. If the document is not open, drag the document from My Computer or File Explorer to your printer in the Printers folder.
3. While a document is printing, a printer icon appears next to the clock on the taskbar. When this icon disappears, it means that your document has finished printing.
4. For easy access to your printer, you can create a shortcut to it on the desktop.
Steps to Send Files To Another Place:1. Select the file in the File Explorer and then choose Send To option from File menu to explorer.
2. Or click the right mouse button and select Send To option from the shortcut menu.
3. You can select the destination type from the submenu under Send to option.
Steps to Share a Folder with others:1. Click the folder you want to share.
2. From the file menu select sharing option.
3. Select the Sharing Tab from the Dialog Box, choose the shared as option and the corresponding details required.
4. You can also share Disk Drives by using above mentioned procedure.
To Change File or Folder Properties:In the File Explorer, click the file or folder whose properties you want to change and then select Properties option from the File menu.
OR
When you want to view or change information about any item, such as a document, program, folder, disk drive or printer, you can look at its properties.
To Create a Short-cut in a Folder:In File Explorer, open the folder you want to create the shortcut in. On the File menu, point to New and then click Shortcut. Follow the Instructions on the screen.


For the past several years, I've been looking at - and dealing with - people complaining about how dependencies work in JavaScript. The problem is... almost all of these complaints are misguided. So, let's look at exactly *why* those claims are false.
— Sven Slootweg (@joepie91) November 21, 2018
Thread.
Preface: Dependencies in JS work *very* different from almost any other language. If you haven't worked with JS very much, you're probably making assumptions about the tradeoffs that are valid in other ecosystems, but not in JS. This is the source of a lot of these complaints.
— Sven Slootweg (@joepie91) November 21, 2018
Let's start with one of the most common ones: "developers have forgotten how to program, they just glue together dependencies now".
— Sven Slootweg (@joepie91) November 21, 2018
This one is built on a fundamental misunderstanding of what programming *is*. Programming isn't about writing code. It's about solving problems.
Your job as a programmer is to 1) most efficiently 2) build a solution to a problem 3) that works optimally well. One of the best things you can do towards that goal, is to *use dependencies*. It means you use well-tested implementations that save you time and bugs.
— Sven Slootweg (@joepie91) November 21, 2018
There is absolutely zero value to reinventing perfectly round wheels, from a professional perspective. The only 'value' is in masturbating over how much code one has written, which incidentally is something I mostly see not-very-competent developers do.
— Sven Slootweg (@joepie91) November 21, 2018
Deriving from that: "People add dependencies for things that are like 3 lines to write yourself!"
— Sven Slootweg (@joepie91) November 21, 2018
Sindre Sorhus has written a far better rebuttal of this particular claim than I could, really: https://t.co/UMOsexB1cz
TL;DR: LOC are irrelevant. Complexity matters.
Next: "People pull in 600 megabytes of code just for a simple project!"
— Sven Slootweg (@joepie91) November 21, 2018
This one is just factually wrong. People look at node_modules, conclude "oh that's 600MB, it must be 600MB of code". But if you actually *look at the contents*, you will find the vast majority [...]
[...] of that 600MB is documentation, tests, screenshots, and other things that are never actually going to be part of your application. There are even experimental tools for removing those files.
— Sven Slootweg (@joepie91) November 21, 2018
And there's a second problem here: node_modules is clearly visible.
What I mean by that, is that unlike most languages - where you have a single system-wide dependency folder that is mostly hidden from users and developers - node_modules is always in your line of sight. That makes people estimate it to be bigger, just because it is more visible.
— Sven Slootweg (@joepie91) November 21, 2018
And let's be realistic, when was the last time you compared your system-wide dependency folders for other languages to the actual dependency code in node_modules? You've probably never done that. So on what basis are you concluding JS to be 'worse' here?
— Sven Slootweg (@joepie91) November 21, 2018
"But in JS, every project has its *own* pile of dependencies! And they can be many levels deep!"
— Sven Slootweg (@joepie91) November 21, 2018
Absolutely correct. But this isn't a design failure; it's a tradeoff. It's the reason that 'dependency conflicts' are not really a thing in JS.
It's the reason that you can trivially monkeypatch modules for debugging reasons, and the reason that you can be certain that if you run `npm install` on a project, *it will install correctly and successfully the first time*.
— Sven Slootweg (@joepie91) November 21, 2018
The cost of that is a small amount of disk space.
And yes, I say a 'small amount', because even if you have to deal with 500MB of dependency data of some sort, is that really *that* much? Storage has gotten incredibly cheap over the years, and you only really need the full set of data when you're *developing* on something.
— Sven Slootweg (@joepie91) November 21, 2018
And if you're still not convinced, just do the maths: at your usual hourly rate/salary, what is cheaper - 500MB of storage space, or spending hours tracking down dependency conflicts just to try something out or fix a bug?
— Sven Slootweg (@joepie91) November 21, 2018
"But all those dependencies make it super slow to install!"
— Sven Slootweg (@joepie91) November 21, 2018
It doesn't. The slow thing here is the npm client, which is notoriously unperformant. If you use a client like pnpm instead, you'll find that installs are actually rather fast. Even on a HDD.
"But node_modules is still bigger than dependency sets in other languages!"
— Sven Slootweg (@joepie91) November 21, 2018
This is often true. The reason, however, is an important one: due to modules in JS typically having a single responsibility, they are usually *fully documented and tested*, unlike monolithic frameworks.
This means that you will necessarily end up with more documentation and test data, simply because the workload of dependency maintenance is better shared amongst many people due to the granularity of dependencies! That is a benefit, not a problem.
— Sven Slootweg (@joepie91) November 21, 2018
"But that means that you have to trust way more people not to publish malicious dependencies!"
— Sven Slootweg (@joepie91) November 21, 2018
This is one of the trickier ones, because *on the face of it* it seems like a sound argument. However, 'dependency constellations' are a common thing in JS.
A dependency constellation is basically just a set of related dependencies that are written and published by a single author. They're still independently versioned and usable, but you only trust one party when using any amount of them.
— Sven Slootweg (@joepie91) November 21, 2018
This, combined with the fact that monolithic frameworks often require more manhours for maintenance than their equivalent modular dependency sets, and therefore often have more maintainers, means that you actually end up trusting about the *same* amount of people.
— Sven Slootweg (@joepie91) November 21, 2018
(Feel free to actually run the numbers if you don't believe me, and analyze the amount of contributors involved in your dependency tree. Newer versions of npm will even outright tell you the amount of trusted contributors when you install stuff.)
— Sven Slootweg (@joepie91) November 21, 2018
This explains more about the difference between modular and monolithic dependencies, by the way: https://t.co/LytiUJajka
— Sven Slootweg (@joepie91) November 21, 2018
Back to one of the more common claims, although this one is usually unspoken: the belief that "adding a dependency has an inherent cost". People rarely express this belief explicitly, but it underlies a lot of the vague "so many dependencies!" complaints.
— Sven Slootweg (@joepie91) November 21, 2018
You can probably guess what my response is going to be: no, they don't. Dependencies, in and of themselves, are zero-cost.
— Sven Slootweg (@joepie91) November 21, 2018
The cost of a dependency is in different metrics: amount of newly trusted parties, amount of code complexity, maintenance cost, risk of dependency conflict.
I've already addressed the dependency conflict cost; that one doesn't really exist in JS (plugin architectures exempted), even though it does in many other ecosystems.
— Sven Slootweg (@joepie91) November 21, 2018
But... what about the rest? Surely adding more dependencies means more code complexity?
Well... no, quite the contrary. The main problem with monolithic batteries-included dependencies, is that you end up pulling in a lot of complexity that your application *doesn't need*, but that is nevertheless there for other projects that *do* need it, to use.
— Sven Slootweg (@joepie91) November 21, 2018
But you still need to audit that code, you need to maintain it if other things rely on it, and so on. Effectively, there is a non-zero amount of 'cruft' in monolithic dependencies that you pay for even though you don't use it.
— Sven Slootweg (@joepie91) November 21, 2018
Compare this to modular dependencies, where every dependency has a single well-defined responsibility, and does not contain logic for *anything* else. In that model, the 'cruft' is virtually zero - you only pay for what you use, it's just spread out over many more packages.
— Sven Slootweg (@joepie91) November 21, 2018
In the end, the *accumulated* complexity of all those smaller purpose-built dependencies is actually less than that of a single monolithic dependency with a lot of irrelevant stuff! Essentially, dependency granularity lowers the complexity.
— Sven Slootweg (@joepie91) November 21, 2018
And the result of this is that a *lot* of costs go down: there's less code to audit, less code to maintain. If a dependency goes unmaintained, it probably already was feature-complete so it doesn't really matter.
— Sven Slootweg (@joepie91) November 21, 2018
And even if it's *not* feature-complete, you can fork it and maintain it - not a big deal, because it only does a single thing, so the maintenance cost is almost zero. A similar rationale applies to almost *every* cost metric relating to dependencies. More granular is better.
— Sven Slootweg (@joepie91) November 21, 2018
"But I regularly see people having trouble with dependencies in JS!"
— Sven Slootweg (@joepie91) November 21, 2018
First of all, have a look at *which* dependencies they have trouble with. Almost without exception, it's the monolithic dependencies; that not only have all of the extra costs I described, but also don't [...]
[...] integrate cleanly with the rest of the (modular) ecosystem. Any JS project is likely using hundreds if not thousands of small single-responsibility modules that nobody has ever had issues with, because they just work. And so you don't notice them.
— Sven Slootweg (@joepie91) November 21, 2018
And fundamentally, this is the problem with how people who don't have much JS experience view dependency management in JS - they view it through the lens of *other* dependency management systems, that have a distinctly different (namely: monolithic) model.
— Sven Slootweg (@joepie91) November 21, 2018
And because people only see the problematic cases, and those problematic cases don't look weird to them (they're used to monolithic systems, and the problem cases are monolithic dependencies), they assume that it must be representative of the whole JS ecosystem.
— Sven Slootweg (@joepie91) November 21, 2018
When, in reality, the problem lies with the dependencies that *deviate from* the JS ecosystem and try to mimick the model that other languages use - the same languages that said complaining developers are holding up as a gold standard!
— Sven Slootweg (@joepie91) November 21, 2018
I've probably missed a number of points in this thread, but I've kind of run out of steam for now. This is a pretty exhausting topic, that I've spent hours upon hours trying to explain to people over the past few years.
— Sven Slootweg (@joepie91) November 21, 2018
If you feel that there's an argument against the dependency model in JS that hasn't been covered in this thread, feel free to reply with it, and I'll address it as soon as I'm able to.
— Sven Slootweg (@joepie91) November 21, 2018
And finally: please stop with the "lol node_modules" memes. They stopped being funny years ago, and they're definitely not funny to people like me, who have to deal with the support load of people taking them seriously.
— Sven Slootweg (@joepie91) November 21, 2018
Oh, one more note: the dependency system in JS is really just the Single Responsibility Principle - which is widely considered to be good engineering practice - applied to a dependency system. This really should not be the controversial topic that it is.
— Sven Slootweg (@joepie91) November 21, 2018
Okay, so let's add one more point, courtesy of somebody on IRC: "I can write it faster than learning how to use a library!"
— Sven Slootweg (@joepie91) November 21, 2018
Yes, you probably can. What you're overlooking is the amount of errors you might have made and how much time it will take to find and fix them, [...]
[...] not to mention that you're not benefiting from the collective experience of the rest of the ecosystem.
— Sven Slootweg (@joepie91) November 21, 2018
This ties into the very first point: programming isn't about "writing code". Humans routinely make mistakes and underestimate the difficulty of implementing [...]
[...] a thing correctly. Using a dependency - even for tasks that you think you can just do yourself off-the-cuff - means that you will benefit from everybody's collective experience, and get future bug fixes for free, with zero effort.
— Sven Slootweg (@joepie91) November 21, 2018
And let's do another one. "Why can't JS just have the obvious stuff in the standard library?"
— Sven Slootweg (@joepie91) November 21, 2018
This is built on the assumption that having things in the 'standard library' is a desirable thing. The only problem is, that entire assumption is wrong.
A 'standard library' is effectively just "a library that you cannot independently version, fork, or ensure the availability of". It's inherently tied to the runtime, making it more difficult to write code that works in all runtimes.
— Sven Slootweg (@joepie91) November 21, 2018
Its non-replaceable presence in 'core' also means that API changes are heavily frowned upon, which is why standard libraries are routinely stuck with unergonomic implementations of things, with developers only learning months later that they should be using a wrapper library.
— Sven Slootweg (@joepie91) November 21, 2018
Having something in a standard library is worse *in every possible way*, compared to having it in an independent library. It's not desirable in the slightest. Bulky standard libraries are a workaround for inadequate dependency management tools, not a 'best practice'.
— Sven Slootweg (@joepie91) November 21, 2018
"But at least you know that the source is trustworthy!"
— Sven Slootweg (@joepie91) November 21, 2018
There's no reason you cannot have that assurance with externally-managed libraries. It's totally possible for the core development team to separately manage libraries for common functionality, under a 'sanctioned' name.
The only fundamental difference between "in standard library" and "in and external library" is whether it's versioned alongside the runtime, or versioned on a per-project basis. The exact maintenance and design policy is separate from that.
— Sven Slootweg (@joepie91) November 21, 2018
"But what about leftpad?"
— Sven Slootweg (@joepie91) November 21, 2018
The leftpad incident is one of the most grossly misunderstood incidents in the history of JS. It had absolutely nothing to do whatsoever with 'small dependencies', or even with the concept of 'external libraries' in general.
The leftpad incident occurred for one simple reason: the npm registry allowed deletion of packages, something that no other package registry allows, and for very good reason. This has been mostly rectified in npm's policy, and is no longer a real issue.
— Sven Slootweg (@joepie91) November 21, 2018


Welcome!
Food
Take heart: according to feedback from previous years, Hack Cambridge has excellent food!
Saturday lunch, midnight pizza, and breakfast and lunch on Sunday are all provided, plus plenty of snacks and drinks throughout to keep you going. We literally cater for everyone's dietary requirements, so there'll definitely be food for you.
Find out where meals and snacks are served in the maps Find out when meals are served in the schedule


KeyGen2 - Credential Provisioning and Management Protocol
KeyGen2 is an JSON-based, Internet-browser-hosted protocol for provisioning and managing resources
in a "companion specification" coined SKS (Secure Key Store).
For more information:
KeyGen2 JSON
Description
SKS API and
Architecture


Bmr
- the Bitmessage reader
Settings
Logout
[?]
Inbox
-
Compose
Sent
-
Identities
-
Subscriptions
-
Contacts
-


| Blueprint Copy
| 0
| 1
| 0
| skills needed
|
| Structure Construction Parts
| 0
| 100,000
| 0
| BPOs needed
|
| Structure Hangar Array
| 0
| 100,000
| 0
| BPOs needed
|
| Structure Storage Bay
| 0
| 100,000
| 0
| BPOs needed
|
| Structure Laboratory
| 0
| 40,000
| 0
| BPOs needed
|
| Structure Factory
| 0
| 40,000
| 0
| BPOs needed
|
| Structure Repair Facility
| 0
| 100,000
| 0
| BPOs needed
|
| Structure Reprocessing Plant
| 0
| 40,000
| 0
| BPOs needed
|
| Structure Docking Bay
| 0
| 100,000
| 0
| BPOs needed
|
| Structure Market Network
| 0
| 400,000
| 0
| BPOs needed
|
| Structure Medical Center
| 0
| 100,000
| 0
| BPOs needed
|
| Structure Office Center
| 0
| 100,000
| 0
| BPOs needed
|
| Structure Mission Network
| 0
| 4,000
| 0
|
|
| Structure Electromagnetic Sensor
| 0
| 4,000
| 0
| BPOs needed
|
| Structure Acceleration Coils
| 0
| 4,000
| 0
| BPOs needed
|
| Structure Advertisement Nexus
| 0
| 4,000
| 0
| BPOs needed
|
| Spiced Wine
| 1,308
| 500,000
| 0.2616
| 1,432.88 each?
|
| Holoreels
| 180,166
| 500,000
| 36.0332
| 225 each
|
| Frozen Food
| 500,000
| 500,000
| 100
|
|
| Marines
| 1,211
| 10,000
| 12.11
| 17,500 each?
|
| Small Arms
| 0
| 500,000
| 0
| legality issue
|
| Janitor
| 2,500
| 2,500
| 100
|
|
| Deactivated Station Key Pass
| 0
| 1
| 0
|
|
| Scotty the Docking Manager's Clone
| 1
| 1
| 100
|
|
Minerals:


2 Kings 6:6
And the man of God said, Where fell it? And he showed him the place. And he cut down a stick, and cast it in thither; and the iron did swim.


Ng Grid is a Angular native directive control that provides solutions for representing and manipulating tabular data on the web.
Below is an example using jQueryUI drag and drop in ng-grid. Just drag and drop column header to table header for grouping.


Preparation time
1-2 hours
Cooking time
less than 10 mins
Serves
Serves 6
Mix all the marinade ingredients together in a large bowl.
Roll the beef tightly in cling film to form a round roll and leave to sit in the fridge for 30 minutes. Remove from the fridge when 'set' in a roll.
Unwrap the beef and slice into 5mm thick discs. Place the discs in the marinade and leave for 30 minutes.
Place the beef slices onto cocktail sticks, to resemble lollipops, and sprinkle with sesame seeds.
Heat a griddle pan. Add the beef discs and griddle for 1-2 minutes on each side, until sesame seeds have taken colour.
Meanwhile for the dipping sauce, mix all ingredients together in a bowl.
To serve, place the beef slices onto a serving plate with the bowl of dipping sauce alongside.


Comet parameter: clear_mz_range
- This parameter is intended for iTRAQ/TMT type data where one might
want to remove the reporter ion signals in the MS/MS spectra prior to searching.
- Defines the m/z range to clear out in each MS/MS spectra
- This parameter has two decimal values.
- The first value is the lower mass cutoff and the second value is
the high mass cutoff.
- Valid values are two decimal numbers where the first number must
be less or equal to the second number.
- All peaks between the two decimal values are cleared out.
- The default value is "0.0 0.0" if this parameter is missing.
Example:
clear_mz_range = 0.0 0.0 parameter is ignored
clear_mz_range = 112.5 121.5 ignore all peaks between 112.5 and 121.5 m/z for iTRAQ 8-plex
clear_mz_range = 125.5 131.5 ignore all peaks between 125.5 and 131.5 m/z for TMT


Do you consider yourself a "foodie"? Then you know that food trucks are some of the best kept secrets in town when it comes to delicious food! While food trucks are awesome, most people have a hard time locating them. Let us help you FIND THE BEST FOOD TRUCKS!
Be able to see all of our partners and if they're open, view their current real-time GPS location, know the scheduled arrival and departure times, view photos, read customer reviews and more. Let us help you satisfy your hunger. TRY FOODTRUCK TRACKER TODAY!


InvestR now uses SSL
Starting 6th May 2018, InvestR has moved from using http to https. If you were able access InvestR without any issues before but are facing issues on or after 6th May 2018, then We suggest you clear InvestR related files from your browser cache and then try accessing https://investr.co.in/. You can also try opening the browser in Private/Incognito mode and then accessing https://investr.co.in/.
Known issue while Signing-In using Google's Chrome browser
This is a known issue and affects many website including InvestR. If you face this issue then follow the following steps:
- Make sure you are accessing https://investr.co.in (i.e. do not use www in the URL)
- In your Google Chrome browser, goto Chrome -> Preferences -> Show Advanced Settings -> Content Settings.
- Uncheck the "Block third-party cookies and site data" option.
- Sign-In using your GMail login and password into InvestR
- Once signed in, you can check the "Block third-party cookies and site data" option again.
Block third-party cookies option needs to be unchecked only while signing in. It can immediately be checked again after you have signed in. Once signed in, you will stay signed in till you explicitly sign out.
We am not setting any 3rd part cookie but, We think GMail and/or Google Analytics is considered a 3rd party in this case with InvestR being the first party and you the user being the second party.
If you face any other issues signing in then please mail me and We will try to resolve it as soon as possible.


cdemi's
03 August 2021 |
Architecture #SoftwareArchitecture #EnterpriseArchitecture |
Extract Product Lines (martinfowler.com) |
| Many applications are built to serve multiple logical products from the same physical system. Often this is driven by a desire for reuse. "Hmm, consumer loans look quite similar to business loans" or "clothes are a product, so are made-to-measure curtains, how different can they be?". A major problem we come across is that superficially the products look similar but they very different when it comes to the detail.... Read more |
.NET #dotNet |
.NET 6: The MOST promising FEATURES 🔥 (dev.to) dotnet netcore csharp dotnet6 software coding development engineering inclusive community |
| Microsoft is putting the batteries and already presents .NET 6 Preview 5. According to what they tell...... Read more |
Cloud |
AWS’s Egregious Egress (blog.cloudflare.com) Bandwidth Alliance Egress AWS |
| Amazon’s mission statement is: “We strive to offer our customers the lowest possible prices, the best available selection, and the utmost convenience.” And yet, when it comes to egress, their prices are far from the lowest possible.... Read more |
Kubernetes #k8s |
Why you should build on Kubernetes from day one (stackoverflow.blog) |
| If you’re building a new app today, it might be worth taking a closer look at making it cloud-native and using Kubernetes from the jump. The effort to set up Kubernetes is less than you think. Certainly, it’s less than the effort it would take to refactor your app later on to support containerization. ... Read more |
Data |
Cloud-Native, Multi-Tenant Apache Kafka with Confluent Cloud (confluent.io) |
| Confluent Cloud expands Apache Kafka's multi-tenancy features to provide a fully cloud-native solution with automated capacity planning, scaling, and cost-efficient, pay-as-you-go pricing.... Read more |
Hardware |
Unlocking the secrets of the world's oldest computer (bbc.com) |
| A hundred and twenty years ago, divers discovered a shipwreck off the island of Antikythera in Greece. What they found changed our understand of human history. The mysterious Antikythera Mechanism has captured the imagination of archaeologists, mathematicians, and scientists ever since. Now, using the latest 3D x-ray and modelling technology, experts are unravelling the secrets of what this machine may have been capable of.... Read more |
|
This newsletter is made with 💖 by cdemi and sponsored by moo Research. You can find this MIT Licensed open-source project on GitHub cdemi/NewsletterCurator. Generated with version <IP_ADDRESS>. You can also find an archive of all sent newsletters on GitHub at https://newsletters.cdemi.io/. If you want to unsubscribe from this newsletter, please click here. If you're new and you want to subscribe to this newsletter, please click here. |


Use World Humanitarian Summit(WHS) Consultation data and Twitter data to investigate topics about humanity. See also: World Humanitarian Summit
Show every Legal of Nations docs as a node in a bar chart.
* After opening the Enterprise Search, please click the 'Open Data Visualization' button to check the chart
Visualize relation among researchers and investigate who did research in this field at where and when.
Extract web traffic and social media data from Google Analytics and Twitter Analytics to report the effectiveness of Unite Ideas marketing
Use Millennium Development Goals dataset to classify countries into least developed country(LDC) or not least developed country.
I handle dataset with complex structure with Python. I use decision tree, KNN and random forest to predict sales. I also find more business insights by visualization with Plot.ly.
Use ANOVA F-test, multiple comparison tests and orthogonal test for completely randomized factorial design and Randomized block factorial design do find the factors affecting people's rate on MOOC base on 51 questionnaires
Use R and classification models to classify Mashable articles into popular or unpopular.
Use machine learning to bring more free traffic to your website. I rank the most important features in search rank, explain how it works with decision tree and take Diapers.com as an example to make practical suggestions.
Use NLTK and sklearn to classify restaurant review into position and negative.
Design the database of Walmart based on the website and write SQL query to achieve 10 functions.


{% include meta.html %}
about
imprint
learn more about rasif
{% for post in site.posts %}
{{ post.title }}
{% endfor %}
{{ content }}
{% include analytics.html %}


6
1 The people say, "Come, let us return to Yahweh.
He has torn our flesh to pieces as a lion tears up his victim.
He did this, but he will heal our wounds.
He has hurt us and made us fall down,
but he will treat our wounds and bind them up so they will heal.
2 After the second day he will restore our strength;
and on the third day he will raise us up,
so we will live close to him.
3 Try to know Yahweh;
do all you can so you might know him.
It is as certain as tomorrow's sunrise
that he will come to us; he will come to us like the rain,
like the rain comes in the spring on our fields."

You love me for just as long as the clouds come in the morning before they disappear again.
You love me for just as long as the dew stays before the warm sun shines on it.
5 I sent my prophets to you,
and it was as though I had cut you into pieces when they spoke the messages I gave them.
You were devastated by what they said to you.
It was as though I had killed you with the words I spoke to you.
I spoke about how I would punish you.

"Yahweh, you will punish them by commanding that it happen;
your words are like lightning bolts."
6 Yahweh says, "I want you to be faithful to me forever.
I want that more than I want you to offer me sacrifices.
I want you to know me—that is much more important to me
than when you give me offerings that the priests burn on the altar.
7 But like Adam, the first man,
the covenant that they made with me and that I, Yahweh, made with them—they broke it.
When they did that, they were not faithful to me.
8 Gilead is a city of people who do wicked things;
in the streets of that city are the footprints of murderers.
9 As robbers make their plans to hide and then rob someone walking past them,
so are the priests—they band together making their plans, just like the robbers,
and they commit murder along the way to Shechem.
They commit terrible crimes.
10 Among the people of Israel, I have seen a horrible thing—
the people of Ephraim worship idols everywhere.

Just as in the harvest when you take all the crops in,
and you keep the good and throw away the bad,
that is what is coming for you, people of Judah.
That will be the day when I bring back the blessings and riches of my people once more."


Toggle navigation
Media API upload TEST
Issue 7
click to select or drop files here
Your Browser is not supported. Please use a modern Browser.
0%
Issue 7 B
click to select or drop files here
Your Browser is not supported. Please use a modern Browser.
0%
Issue 8
click to select or drop files here
Your Browser is not supported. Please use a modern Browser.
0%
Issue 8
click to select or drop files here
Your Browser is not supported. Please use a modern Browser.
0%


Before Change
"""
))
address = BuildFileAddress(build_file, "foo")
addressable = self.address_mapper.resolve(address)
self.assertEquals(address.target_name, addressable.addressable_name)
self.assertEqual(addressable.target_type, Dependencies)
After Change
))
address, addressable = self.address_mapper.resolve(SyntheticAddress.parse("//:foo"))
self.assertIsInstance(address, BuildFileAddress)
self.assertEqual(build_file, address.build_file)
self.assertEqual("foo", address.target_name)
self.assertEqual(address.target_name, addressable.addressable_name)
self.assertEqual(addressable.target_type, Dependencies)


Granular resource management in Mesos
Mesos allows developers to granularly manage the resources on the cluster. We can specify how much Cpu, memory and disk a given slave can consume. With having these fine granularities helps us to share slave resources across different mesos frameworks.
In this post, we are going to run a three node cluster of mesos on a single machine. We are going to divide our quad core, 8GB ram machine to two slaves in which each slave controls 50% of the resources. This kind of setup allows us to run a mesos cluster on single machine for testing and debugging purposes.
Your machine capabilities may vary. You should adjust resource parameters to according to your machine.
Mesos installation
To follow the instructions in the post, you need to have a working installation of mesos on your machine. If not install mesos using this post. From now on we assume that $MESOS_HOME points to the mesos installation.
Three node cluster setup
The following are the step to configure multi node cluster of mesos on single machine.
Step 1 : Configure master
There will be only one master. So create a working dir for master under home and point master working directory to it.
Step 2 : Configure Slaves
To run multiple mesos slaves on same machine, we have to differentiate them from each other. The mesos slaves are differentiating using
- port
- hostname
- working dir
Follow the below instructions to configure and run multiple slaves.
2.1 Create work directories for slaves
2.2 Configure /etc/hosts
We specify two slaves with hostname slave1 and slave2. Put the following entries inside /etc/hosts
2.3 Start the slaves
Once we have different working directories and host names, we can start slave1 on 5053 port and slave2 on 5054 port.
resources flag on the command allows us to specify how much ram and memory has to be dedicated to the slaves. Tune the parameters according your machine resources.
Now you have a multi node cluster of mesos on your machine.


Rapid Prototyping with Rails: Lesson 4, part 1
10 Nov 2014Items Covered
- Ajax
- Slugs
- Simple Admin Role
- Time Zones
- Exposing APIs
Ajax
There are two forms of Javascript, 1. (UJR) Unobstursive Js - which seperates the behavior layer from the websites content structure and presentation 2. (SJR) Server Generated Responses (The Rails Way)
Ajax is good for reloading only part of a page when all else stays the same. Really helpful when you have an expensive page that has alot of aggregate information. JQuery sits on top of Javascript to resolve the browser-specific qwerks
An example of an Ajax request in jQuery code:
$(document).ready(function() {
$('#hit_form input').click(function() { ** 1. Unobstrusive javascript event listener
$.ajax({** 2. Trigger ajax request
type: 'POST'
url: 'player/hit'
data: {param1: "hi", param2: "There"}
}).done(function(msg) { ** 3. Handle the Response
$('#some_element').html(msg);
})
});
)};
So the steps to an ajax request are: 1. Unobstrusive Javascript Event Listener 2. Trigger ajax request 3. Handle the response
Step 1. Unobstrusive Javascript Event Listener
- To add the ajax call to your up vote in your postit app, add remote: true: <%= linkto votepost_path(post, vote:'true'), method: 'post', remote: true do %> <% end %> <% end %>
*This will add a data-remote="true", similar to the data-method="post" so similarly, just as with the data-method='post' looks for data-method and applies javascript that turns the anchor tag into 'get' link to 'post' form, the same occurs when remote: true is identified, it turns those anchor tags into an ajax call(as seen above)
In terminal, when clicking the up link, you should see: Processing by PostsController#vote as JS, but normally its as html, this let's you know that its an ajax call.
Step 2. Trigger ajax request
We have to be able to handle this response in the PostsController#vote: 2. We have add code to handle the js request in vote controller action:
def vote
vote = Vote.create(voteable: @post, creator: current_user, vote: params[:vote])
respond_to do |format|
format.html do
if vote.valid?
flash[:notice] = "Your vote was counted!"
else
flash[:error] = "Your vote was not recorded!".html_safe
end
redirect_to :back
end
format.js
end
end
We add format.js becasue instead of adding unobstrusive js, format.js will cause rails to render a js.erb template under the same name as the controller action name. The method determines if it can take a block. You can only render a template and redirect_to a url, the default is to render a template
Step 3. Testing out vote.js.erb
#posts/vote.js.erb
** You have access to the instance variables created in the action
alert('total votes for <%= @post.title %> is <%= @post.total_votes %>');
The above action creates a pop up alert but does not change the number of votes on the main page. When inspecting the element, it shows that this is just an empty span in the html. Js needs away to identify the empty span to change to the number, that is accomplished through an html id class:
Step 4. Changing the number of votes
#posts/_post.html.erb
<span id='post_<%=post.id%>_votes'><%= post.total_votes %>
Rails gives you the ability to use js and parse out active record objects which isnt possible with normal js. So now, we can update the vote.js.erb file:
$('#post_<%= @post.id %>'_votes).html ('<%= post.total_votes %>');
You can now also add remote: true to the down vote also.
Step 5. Limiting the number of votes
So when add the ajax request, we now do not get an error if we try to vote on a post we've already voted on. 5a) We need to turn the local variable 'vote' into an instance variable under the vote action:
def vote
@vote = Vote.create(voteable: @post, creator: current_user, vote: params[:vote])
respond_to do |format|
format.html do
if vote.valid?
flash[:notice] = "Your vote was counted!"
else
flash[:error] = "Your vote was not recorded!".html_safe
end
redirect_to :back
end
format.js
end
end
5b) Write an if statement in the vote.js.erb file:
<% if @vote.valid? %>
$("#post_<%= @post.id %>_votes").html("<%= @post.total_votes %> votes")
<% else %>
alert("You can only vote on a post once.");
<% end %>
So in summary, Rails Core Developers wrote jQuery library that converts remote= true into data-remote= true, which converts to an ajax request. In turn, we told ajax how to respond via html and js


You can just add stuff here if you want to clean up when removing the tab. For instance, if you have stored data in an external repository, you can delete or archive it here.


{% extends 'navbar.html' %} {% block title %}Social Media{% endblock %} {% block content %}
I am an experienced Social Media user and have supported several SRE related projects with their social media including:
My own twitter account can be found here: @AliceHoylePSHE.
I also blog at SexEdUKation.
My professional profile can be found here: Alice Hoyle on LinkedIn.


Attribute constraints are used to test for the existence of attributes on classes, methods, properties, etc.
Tests for the existence of an attribute. The differences between the two constraints are in their position in the syntax.
AttributeConstraint(Type type, IConstraint baseConstraint) AttributeExistsConstraint(Type type)
Has.Attribute( typeof(TestFixtureAttribute) ) Has.Attribute<TestFixtureAttribute>()
Assert.That( someObject, Has.Attribute( typeof(TestFixtureAttribute) )); Assert.That( someObject, Has.Attribute<TestFixtureAttribute>() ));


What are the Differences between Static, Absolute, Relative, and Fixed Positioning
Breaking Down CSS Positions
October 19, 2014
There are 4 different types of CSS positioning properties:
- Static
- Absolute
- Relative
- Fixed
There are also 4 different positioning rules: top, bottom, left or right.
It might be helpful, first, to envision every single element on the page as a block. Rectangular pixels. Positioning then is useful in moving your object - itself, a block of pixels - to exactly where you want it to go.
You define which position, which dictates how the commands are read. Then you determine how many pixels (or em, equivalent to the current font size) to shift from the top, bottom, left or right.
Static Positioning
Static is the default positioning for any elements on a Web page. If you don’t put anything, it’s static. If you apply positioning rules (top, left, bottom, right) it will be ignored. It just is.
Absolute Positioning
Absolute positioning is like pinpointing GPS coordinates for your object, then putting on it an invisibility cloak.
You determine where you want the object by defining the positioning rules. Typically, you only define two of them; so, top OR bottom, left OR right. Similar to GPS coordinates, the positioning rules dictates where your object goes. So, top:20px moves the object 20 pixels from the top of the origin, on your webpage-grid of pixels. Left:10px pushes the object 10px from the left of that same origin.
But where exactly is the origin?
For absolute positioning, the origin is relative to the first parent element defined by a position other than static. Basically, you figure out what is the parent element of your absolutely-positioned object. Is it absolute, relative, or fixed? If so, the top, left corner is now your origin for your absolutely-positioned object. If not, you move on to the next parent element. Is that absolute, relative, or fixed (AKA not static)?
If none of the parent elements have a defined position, then the browser window becomes your origin. The top:20px and left:10px then pushes the object 20px down from the top of the browser (so, basically down)and 10px to the right of the left edge of the browser.
One thing to note it that the absolutely-positioned object is completely removed from the normal flow of the page. That is, things can overlap and stack - and get a little bit messy. As far as the other elements are concerned, your absolutely-positioned doesn’t exist. It’s wearing an invisibility cloak.
Relative Positioning
Relative positioning is like a ghost-image shifted slightly off-kilter from the actual photograph.
The position is relative. But relative to what, exactly?
To itself. To the point where it would normally sit if it were static. You simply shift it the defined property (top, bottom, left, right) from where it would exist if you decided to let it be.
It’s a slight shift; hence, the slightly-altered ghost image. But like this ghost image, other elements behave as if the shift didn’t exist. They can’t see the ghost. It, thus, reacts to the original non-ghost image.
Basically, the relatively-positioned object is taken out of the normal document flow, like the absolutely-positioned object, but unlike the absolutely-positioned object, it still affects the elements around it. They just act is if it never moved at all.
Fixed Positioning
Fixed positioning is basically absolute positioning. Except that the fixed elements are then fixed in the location. Forever. It’s independent of other elements. Other elements will scroll by, but it will continue to stay in that position on your screen.


---
layout: post
title: D!
category:
- Digital
- Street Photos
tags:
- 350D
- braga
- canon
- color
- digital
- fotografia
- photography
- photowalk
- porto
- street
status: publish
type: post
published: true
meta:
_edit_last: '1'
---
Well, this post shows my first shots with my *new" camera, the 350D. Although it's not as comfortable (and discrete) for street photography as a rangefinder, I find it a very "solid" camera, with nice controls and very decent results! Besides that, it's always nice to have a digital camera when I'm out of film.
saturday morning
working like a dog
chasin' thoughts
the last bit of sunlight
:)
Braga - European Youth Capital..
Carnival, everyone!
Carnival, not for everyone.
IM
"no, thanks"
Ana
flowerstore
problem?
golden
"has it come to this?"
Next post, more (real) rolls to come!
A.Capelo


To become a leading student center of research and development in the field of green transportation with a focus on solar passenger vehicles in the next five years.
To fabricate a high performance cruiser class solar electric vehicle and at the same time focus on practicality and feasibility of the vehicle for daily use, building upon the success of past projects.


It is true
And blatant
You keep the beauty of the world
In a quick one's eyes
But I'm not a surfer
I'm a diver
Swimming deep
Into your heart.
And you are stamped
Into my soul
With your ways of being.
If you tried to know what these are
You wouldn't even get close
If I tried to describe what all these are
I would be only half way there.