Laisa is a dream come true. It was a vision that came to a young man while travelling from to the city. It dawned on him that the current transport network doesn't satify his needs. He knew there were others that felt like this. Coming from the rural plans, hitch-hiking was, and is still used as an informal mode of transport. Community members stop for each other if they see one hitch-hiking in their direction.
The hitch-hiking is very advanced in Africa. We have different hand signals to communicate the desired destination with on coming cars. The prices are also known between the members. However there's alwasys misunderstandings when taxi prices increase.
Search for already posted adverts travelling similar distances
Post an advert ,whether you’re “looking for transport” or “offering transport”.
Send a message to the advert owner and request additional information and organize pickups. SAFE TRIP


netty in action 读书笔记
这章主要的是介绍netty的架构，主要的模块。
verifying your development tools and environment,
building application logic with ChannelHandlers.
From a high-level perspective, Netty addresses two corresponding areas of concern, which we might label broadly as technical and architectural. First, its asynchronous and event-driven implementation, built on Java NIO, guarantees maximum application performance and scalability under heavy load. Second, Netty embodies a set of design patterns that decouple application logic from the network layer, simplify ing development while maximizing the testability, modularity, and reusability of code.
netty的两个方面，技术层次的异步和事件处理机制，架构层面的很多的设计模式。
**The following sections will add detail to our discussion of the Channel, EventLoop, and ChannelFuture classes which, taken together, can be thought of as representing Netty’s networking abstraction: **
■ Channel—Sockets
■ EventLoop—Control flow, multithreading, concurrency
■ ChannelFuture—Asynchronous notification
netty的框架抽象的内容：Channel，socket连接的抽象，EventLoop，并发，多线程事件控制流。ChannelFuture，异步的通知。
Basic I/O operations (bind(), connect(), read(), and write()) depend on primitives supplied by the underlying network transport. In Java-based networking, the funda- mental construct is class Socket. Netty’s Channel interface provides an API that greatly reduces the complexity of working directly with Sockets. Additionally, Channel is the root of an extensive class hierarchy having many predefined, specialized implementations。example： NioSocketChannel
netty针对socket操作的抽象出来的是Channel，具体的集成关系：
public abstract class AbstractChannel extends DefaultAttributeMap implements Channel
public abstract class AbstractNioChannel extends AbstractChannel
public abstract class AbstractNioByteChannel extends AbstractNioChannel
public interface SocketChannel extends Channel
public class NioSocketChannel extends AbstractNioByteChannel implements io.netty.channel.socket.SocketChannel
The EventLoop defines Netty’s core abstraction for handling events that occur during the lifetime of a connection。
From the application developer’s standpoint, the primary component of Netty is the ChannelHandler, which serves as the container for all application logic that applies to handling inbound and outbound data. This is possible because ChannelHandler methods are triggered by network events (where the term “event” is used very broadly). In fact, a ChannelHandler can be dedicated to almost any kind of action, such as converting data from one format to another or handling exceptions thrown during processing.
对开发者具体使用来说，netty最主要就是ChannelHandler了，可以专业处理各种各样的Event事件。
A ChannelPipeline provides a container for a chain of ChannelHandlers and defines an API for propagating the flow of inbound and outbound events along the chain. When a Channel is created, it is automatically assigned its own ChannelPipeline.
ChannelHandlers are installed in the ChannelPipeline as follows:
■ A ChannelInitializer implementation is registered with a ServerBootstrap.
■ When ChannelInitializer.initChannel() is called, the ChannelInitializer installs a custom set of ChannelHandlers in the pipeline.
■ The ChannelInitializer removes itself from the ChannelPipeline.
ChannelPipeline 可以说是包含了ChannelHandler的容器，一个container。
The movement of an event through the pipeline is the work of the ChannelHandlers that have been installed during the initialization, or bootstrapping phase of the application. These objects receive events, execute the processing logic for which they have been implemented, and pass the data to the next handler in the chain. The order in which they are executed is determined by the order in which they were added. For all practical purposes, it’s this ordered arrangement of ChannelHandlers that we refer to as the ChannelPipeline.
ChannelHandler 处理事件，然后把处理事件后数据传给下一个ChannelHandler，安排这个顺序就是ChannelPipeline。
Figure 3.3 also shows that both inbound and outbound handlers can be installed in the same pipeline. If a message or any other inbound event is read, it will start from the head of the pipeline and be passed to the first ChannelInboundHandler. This handler may or may not actually modify the data, depending on its specific function, after which the data will be passed to the next ChannelInboundHandler in the chain. Finally, the data will reach the tail of the pipeline, at which point all processing is terminated.
一个Pipeline中如果有 inbound 和 outbound 的handler，一个事件的处理顺序？？
按照inbound的顺序，是按照pipeline中增加的顺序，然后在最后一个的inbound的handler中调用 ctx.write(object) 就会再次的调用outbound的handler去处理了。
When a ChannelHandler is added to a ChannelPipeline, it’s assigned a Channel- HandlerContext, which represents the binding between a ChannelHandler and the ChannelPipeline. Although this object can be used to obtain the underlying Channel, it’s mostly utilized to write outbound data.
ChannelHandler都会绑定一个 ChannelHandlerContext，这个上下文比较的有用。
Netty provides a number of default handler implementations in the form of adapter classes, which are intended to simplify the development of an application’s processing logic. You’ve seen that each ChannelHandler in a pipeline is responsible for forwarding events to the next handler in the chain. These adapter classes (and their subclasses) do this automatically, so you can override only the methods and events you want to specialize.
netty 提供的默认的handler：
ByteToMessageDecoder
MessageToByteEncoder
字节到特殊类型的JAVA对象和JAVA对应到自己的转换的对象。 The pattern for outbound messages is the reverse: an encoder converts the mes- sage to bytes and forwards them to the next ChannelOutboundHandler.
SimpleChannelInboundHandler
Please keep in mind that strictly speak- ing the term “connection” applies only to connection-oriented protocols such as TCP, which guarantee ordered delivery of messages between the connected endpoints.
connection 应该对应的是 “链接”
Netty的启动类区分了Client和Server，分别是bootStrap 和 ServerBootStrap，其中ServerBootStrap绑定到本地的一个端口上，因为server需要监听这个端口上面的数据，BootStrap却是可以连接到一个remote peer。
第二种不同的点，就是BootStrap只需要一个EventLoopGroup，但是ServerBootStrap 需要两个。
A server needs two distinct sets of Channels. The first set will contain a single ServerChannel representing the server’s own listening socket, bound to a local port. The second set will contain all of the Channels that have been created to handle incom- ing client connections—one for each connection the server has accepted. Figure 3.4 illustrates this model, and shows why two distinct EventLoopGroups are required.
server端的两个EventLoopGroup，一个是处理Connection接入，监听接口数据的，一个是处理接入以后的业务逻辑的。


Hello World!
My name is Ryan Regan and I am a future Python expert. Right now however, I'm still working on wrapping my head around this strange and useful programming language with the gracious help and assistance from my "Chipy Certified" mentor, Evan Hahn. But you can read more about me from my About Me section in the nav bar assuming I've completed that page by now.
Evan Who?
Evan is a fellow employee here at Braintree, a published code-book writer, and as I've come to observe, a very competent and reasoned programmer. I have provided him no shortage of questions, comments, puzzled expressions, and all of which have been met with patient and insightful answers. By the way, did I mention he knows how to set up a tmux service? Solid skills all around.
Hatchling
As it turns out, Evan was already developing his own "Python For Beginners" website and problem sets. This was a great chance for me to wow him with my impressive ability to patch together my loose understanding of programming in other (PHP) languages. Things went a little differently that that but the code challenges themselves forced me to go out and find methods, explore Python's documentation, and seek out riddles such as defining my own function to determine a mean from a list of numbers. Below are some key takeaways and rookie mistakes you won't see this Hatchling make a second time:
Why use a gigantic if statement when a list will do?
You can count characters of a string with len().
Readability is next to Functionality.
And tens of other things too!
It's also worth mentioning that in nature, pythons like all reptiles reproduce with eggs. Pythons.. you know like the word python from the programming language. Baby pythons hatch from eggs and thus fit the definition of hatchlings. Moving on.
The Project
Right now we're in the early stages of developing our project but I'll clue all you cats in with some salacious details as I can provide them. Right now we have the humble goal of improving the lives of every sentient creature that can access github with a Soundboard Generator built with Django and Postgres.
Overview
The idea is a simple enough in practice yet will require some talent (Evan), know-how (also Evan) and free-time (Ryan moreso) to pull it all off. The idea is to provide a means to deploy a Board with the following features
- Admin Login
- User Login (Optional)
- Media Database
- Media Access Controls
- Fancy Javascript
- Test-Based Development
- That's Mostly It
I have much and more to read about, but as I begin to explore the language the more confident I feel that this project can produce a decent looking result. I say this as I shamelessly edit a BootStrap template for this very blog.
Fin
That's all for today's episode, but keep refreshing my blog's home page for future updates!


- jQuery jquery.com/ 14-03-2010
- Quirksmode Drag Drop Quirksmode.org www.quirksmode.org/js/dragdrop.html 14-03-2010
- XPath Explorer sourceforge.net sourceforge.net/ 14-03-2010
- Java HTML Parser Jonathan Hedley jsoup.org/ 14-05-2013
- CSS Selectors www.w3schools.com/cssref/css_selectors.asp 14-03-2013
- CSS Selector Reference www.w3.org/TR/CSS2/selector.html 14-03-2013


This is the second item in the list. There is a lot of content here so this item will wrap.
Tag
Loading


Commodities are defined as products that have no qualitative differentiation across the market. Typical products include: basic resources (iron ore, crude oil, salt, aluminium, gold, silver), agricultural products (sugar, coffee beans, soy beans) and energy (gas, electricity, coal and oil). Pricing is entirely driven by the aggregate demand and supply in the market. For products that can easily be transported, this quickly creates a global market.
Commodity markets are often subject to cyclical price swings. When prices are high this attracts new entrants and vice versa. However, participants take time to enter/leave the market which delays market effects.
Commoditization (also called commodification) occurs as a goods or services market loses differentiation across its supply base, often by the diffusion of the intellectual capital necessary to acquire or produce it efficiently. As such, goods that formerly carried premium margins for market participants have become commodities, such as generic pharmaceuticals and silicon chips.
There is a spectrum of commodification, rather than a binary distinction of "commodity versus differentiable product". Few products have complete undifferentiability and hence fungibility; even electricity can be differentiated in the market based on its method of generation (e.g., fossil fuel, wind, solar). Many products' degree of commodification depends on the buyer's mentality and means.


+++ title = "Oxford" lat = 51.753177 lon = -1.255187 +++
Home of hunchbacked professors, moss-entombed ivory towers, and centuries-old prestige, Oxford is a charming and historic town in Central England, and home to one of the oldest and most famous universities in the world. Studying in Oxford is the dream of every aspiring academic: perhaps I'll be lucky enough to study there one day; but for now, I've settled on a tourist's day trip to the place. Certainly better than not seeing it at all.


--- layout: default title: Our Difference permalink: /our-difference ---
· We don’t have a cookie cutter approach with defined solutions. We take a white glove approach where each of our solutions is completely custom built to each client’s needs.
· Our top talent works on your project; we don’t have Partners working on five projects at once
· We focus 100% on the DevOps space and always know about the latest tools and best practices in a rapidly developing field. Everyone on our team is an expert in their field.
· We have over 10 years of DevOps experience and 4 years of professional experience running and maintaining Docker and Kubernetes clusters.
· Team and knowledge building are core competencies of ours. We freely share knowledge and teach what we know so we can develop our client’s internal team and set them up for success after our engagement is over.
· Our pre-built Kubernetes applications will save you time & resources (i.e. MySQL, Kafka, Zookeeper, etc)
ManagedKube assembles a team with the right expertise to tackle each project. This is largely dependant on the client’s internal team and the scope of the project. We have a number of DevOps experts on our roster that we pull in as-needed for different projects.
Because we are a small team, our projects are primarily short-term engagements that consist of understanding what an organization most needs from their infrastructure, building that custom-tailored system, and educating our client’s team on how to operate and maintain the system. We firmly believe that the key to ManagedKube’s success and happy customers is our attitude towards knowledge building. We freely share knowledge and teach what we know so we can develop our client’s internal team and set them up for success after ManageKube’s contract is over.
In practice, we work closely with our clients in a collaborative manner during architecturing and project implementation to help them gain the operational insight and experience needed to operate the environments. By taking this approach, we avoid a big “hand off” at the end of a project where there is too much information to feasibly absorb. At the end of a project, our clients can confidently operate the systems because they know how the system was built and why decisions were made.
ManagedKube takes a long-term view to its work. We show our clients the best techniques and workflows to create the most efficient deployment processes over the lifetime of their software. We have a strong point of view that DevOps teams should invest the time upfront to build infrastructure and processes the right way from day one. This avoids incurring technical debt that you’ll pay back many times in the future.  We always advocate for the best long- term solution for the entire system – the software and the business.
For example, in legacy IT environments, resources might not be expressed in code. This may be fine when you first deploy something, but later on when you want to rebuild or build a new environment, you’ll run into issues because the knowledge on how something was deployed is not readily available. Since infrastructure is the foundation that everything else is built on top of, you want this piece to be one of the most solid and reliable pieces of your stack. We practice infrastructure as code methodologies with all of our clients. All infrastructure pieces should be built with code or configurations that is easily testable and repeatable. This ensures that when anyone wants to make a change in the future, they have all the information needed to do so safely.
We are also big proponents of a Gitflow workflow. With everything expressed as code or config, this lends itself very well to a Gitflow process. We believe infrastructure code and configs should be treated like any other piece of software and go through the same workflow. This usually means branching off for new tastes, automated unit type testing, peer reviews before merging, and automated deployments.
Our philosophy is to leverage publicly available tools as much as possible - why build what has already been built? We customize and integrate the right suite of tools, both open source and proprietary, to meet the specific needs of each client.
This practice saves our clients time and money by dramatically accelerating a project’s progress. Software development has evolved to a point where infrastructure code is becoming more and more commoditized. While software has a long way to go before it’s 100% turnkey, we leverage the available infrastructure building blocks as much as possible.
Our expertise lies in knowing what tools are available, the best tools to use, their benefits and tradeoffs, and how they integrate with each other. Since we specialize in the infrastructure automation and scaling space, we are well versed with what is out there and how each piece works together.
Half the battle is knowing what tools are available - ManagedKube dedicates time to keeping up-to- date on the tool landscape by constantly reading the latest DevOps blogs, attending meet-ups, and being asked to evaluate the latest tools due to the nature of our consulting work.
We’ve worked with a wide range of clients in a variety of ways:
- from 6 employees to a Fortune 500 company
- from advertising technology, to biotech, to information security
- from a project for a few weeks to a multi-year engagement
This means that we understand what works, where. This hard-won experience and priceless knowledge helps us quickly identify how to approach each client’s unique problem. The right solution for a small company is likely not the right solution for a big company, just like the right level of infrastructure automation is different for each company’s product. ManagedKube is experienced at building scalable infrastructure for a wide range of companies and industries.
We are able to apply learnings from one client to all of our clients. With our guidance, our clients benefit from avoiding the pitfalls of all of our clients before them. We are able to avoid tools that aren’t ready for showtime yet or quickly implement tools across all of our clients that solve a pressing pain point. ManagedKube knows what works in the real world; as the ecosystem around Kubernetes becomes more crowded, we are here to help you avoid obstacles and speed bumps in your cloud technology journey.


Thanks so much for joining us {{ USER }}, your about to discover a simpler way to harness the true power of the cloud!
{{ OS_DOMAIN }} is the most flexible IT management platform, allowing you to securely manage and deploy virtual machines, docker containers wherever you want; from Public Clouds and Workstations or IoT devices, {{ OS_DOMAIN }} makes it both easy to look after legacy apps and embrace the latest technology with native support for a range of tools including: Kubernetes, Mesos, Ansible, Puppet, CloudFormation, and OpenStack.
In just a few minutes you'll be able to access {{ OS_DOMAIN }} management console, but first we need to get you up and running with a set a password, follow the link below to reset it, and you'll be on your way!
If you need any support, I'm always here to help you @{{ EMAIL }}.


$stateProvider
dotjem.routing
Used for configuring states.
Here is a very basic example of configuring states.
angular.module('demo', ['dotjem.routing']). config(['$stateProvider', function($stateProvider) { $stateProvider .state('phones', { ...Parameters for the state... }) .state('tablets', { ...Parameters for the state... }); }]);
In it self that is not really useful, but the state it self can have views added as well as onEnter / onExit handlers.
ui - view
directives with unique names, and simply target those from the configuration.
main
view and a hint
view we could do.
angular.module('demo', ['dotjem.routing']). config(['$stateProvider', function ($stateProvider) { $stateProvider .state('phones', { views: { 'main': { template: 'phones.html' }, 'hint': { template: { html: '@phones' } } } }) .state('tablets', { views: { 'main': { template: 'tablets.html' }, 'hint': { template: { html: '@tablets' } } } }) }]);
html
property, there is a number of ways to configure templates, see $template for more details on that.
angular.module('demo', ['dotjem.routing']). config(['$stateProvider', function ($stateProvider) { $stateProvider .state('phones', { views: { 'main': { template: 'phones.html', controller: 'PhonesCtrl' }, 'hint': { template: { html: '@phones' } } } }) .state('tablets', { views: { 'main': { template: 'tablets.html', controller: 'TabletsCtrl' }, 'hint': { template: { html: '@tablets' } } } }) }]) .controller('PhonesCtrl', ['$scope', function ($scope) { ... }]) .controller('TabletsCtrl', ['$scope', function ($scope) { ... }]);
$stateProvider
provides configuring states in a hierarchy in two ways.
.
is used to separate state levels. So that the state phones.list
becomes a child of phones
, it is important however that phones
is defined before it's children.
angular.module('demo', ['dotjem.routing']). config(['$stateProvider', function($stateProvider) { $stateProvider .state('phones', { views: { 'main': { template: 'phones.html', controller: 'PhonesCtrl' }, 'hint': { template: { html: '@phones' } } } }) .state('phones.list', { views: { 'main.content': { template: 'phones.list.html', controller: 'PhonesListCtrl' }, 'hint': { template: { html<EMAIL_ADDRESS>} } } }) .state('phones.detail', { views: { 'main.content': { template: 'phones.detail.html', controller: 'PhonesDetailsCtrl' }, 'hint': { template: { html<EMAIL_ADDRESS>} } } }) }]) .controller('PhonesCtrl', ['$scope', function ($scope) { ... }]) .controller('PhonesListCtrl', ['$scope', function ($scope) { ... }]) .controller('PhonesDetailsCtrl', ['$scope', function ($scope) { ... }]);
The above may indicate that views also has a child to parent relation in the naming, but this is merely a good naming convention, there is no constraint on how views are named.
It is recommended that they are unique however, unless you diliberately wish to load the same content into multiple areas of a page, if multiple views use the same name within a page, they will load the same content, but they will render independendly.
Adds a new state definition to the $state
service.
| Param | Type | Details |
|---|---|---|
| fullname | string | Full name of the state, use '.' to seperate parent and child states. E.g. if the full name "home" is given, the state is directly located under the root. It then becomes possible to register "home.recents" as a child named "recents" under the state "home". The following registrations would result in the ilustated hierachy. .state('home', {}) .state('home.recents', {}) .state('home.all', {}) .state('staff', {}) .state('staff.all', {}) .state('staff.single', {}) |
| state | Object | All information about the state. Object properties:
|
| Object | self |
| Param | Type | Details |
|---|---|---|
| Registration | function | function, this is an injectable function and can be used to load state configurations
from the backend, e.g. using the The function should at least depend on .state(['$register', '$http', function($register, $http) { return $http.get('/stateConfig').then(function (result) { // result is delivered as: // { // 'state1name': { ...params }, // 'state2name': { ...params } // } // in this example. angular.forEach(result.data, function (state, name) { $register(name, state); }); }); }]) Note: The function should return a promise that is resolved when registration is done, so that the state service knows when it can resume normal operation. |
| Object | self |


Evaluating if values of vectors are within different open/closed intervals ('x %[]% c(a, b)'), or if two closed intervals overlap ('c(a1, b1) %[]o[]% c(a2, b2)'). Operators for negation and directional relations also implemented.
| Version: | 0.1-1 |
| Published: | 2017-01-22 |
| Author: | Peter Solymos |
| Maintainer: | Peter Solymos <solymos at ualberta.ca> |
| BugReports: | https://github.com/psolymos/intrval/issues |
| License: | GPL-2 |
| URL: | https://github.com/psolymos/intrval |
| NeedsCompilation: | no |
| CRAN checks: | intrval results |
| Reference manual: | intrval.pdf |
| Package source: | intrval_0.1-1.tar.gz |
| Windows binaries: | r-devel: intrval_0.1-1.zip, r-release: intrval_0.1-1.zip, r-oldrel: intrval_0.1-1.zip |
| OS X binaries: | r-release: intrval_0.1-1.tgz, r-oldrel: intrval_0.1-1.tgz |
| Old sources: | intrval archive |
Please use the canonical form https://CRAN.R-project.org/package=intrval to link to this page.


Personal Details
Name
*
:
IEEE Member?
Yes
No
Course
B.Tech
MCA
MBA
Branch
Computer Science & Engineering
Electronics & Communication Engineering
Electrical & Electronics Engineering
Information Technology
Civil Engineering
Mechanical & Automation Engineering
Other
Shift
1st Shift
2nd Shift
Year
1st Year
2nd Year
3rd Year
4th Year
College Name
*
:
E-mail Id:
Contact No.
*
:
About Event
How would you rate this event?
Very Useful
Satisfactory
Not Very Useful
Dissatisfied
Suggestions
(Anything you feel that could have made this event better)
Was the venue comfortable in terms of location, seating and lighting?
Any other events you might want us to conduct in future?
(ideas for upcoming events)
Have you heard about IEEE before?
Yes
No
Are you interested in joining IEEE?
Yes
No


Hi I am Terri, I love solving problems for consumers as a product success guardian and I am self-teaching UX.
Here are some of the technologies I enjoy writing and using.
Drop me a line via


- Two files: Test file + Reference file
- Test file uses the feature you're testing
- Reference file is an exact visual match without using the feature you're testing
- Self-describing (works both manually and with automation)
- Cross-browser & cross-platform
Basic test for the transform property described in the CSS3 Transforms spec using the translate()
function
Spec Links:
http://www.w3.org/TR/css3-transforms/#transform-property
http://www.w3.org/TR/css3-transforms/#two-d-transform-functions
Test file
<!DOCTYPE html>

<title>CSS Transforms Test: transform property with translate function</title>
. . .
Reference file
<!DOCTYPE html>

<title>CSS Transforms Reference file</title>
. . .
Test file
<!DOCTYPE html>

. . .
<link rel="author" title="Your Name"<EMAIL_ADDRESS>. . .
Reference file
<!DOCTYPE html>

. . .
<link rel="author" title="Your Name"<EMAIL_ADDRESS>. . .
Test file only
<!DOCTYPE html>

. . .
<link rel="help" href="http://www.w3.org/TR/css3-transforms/#transform-property">
<link rel="help" href="http://www.w3.org/TR/css3-transforms/#two-d-transform-functions">
. . .
Test file only
<!DOCTYPE html>

. . .
<link rel="match" href="reference/ttwf-reftest-tutorial-ref.html">
. . .
Test file only
<!DOCTYPE html>

. . .
<meta name="assert"
content="This transform moves the element by 100 pixels in both the X and Y directions.">
. . .
Test element with the transform applied

Reference element

Element is only visible when the test fails

Failing test example
Simple statement of how the page renders when the test passes
Test file & Reference file

The test passes if there is a green square and no red.

. . .

Test file

. . .

Reference file

. . .

- You may need to add a vendor prefix to the CSS property you're testing
- If the prefix is necessary, your test will appear to fail without it
- However, do not include vendor prefixes when pushing tests to the W3C
.greenSquare {
position: absolute;
top: 0;
left: 0;
width: 100px;
height: 100px;
-webkit-transform: translate(100px,100px);
-moz-transform: translate(100px,100px);
-ms-transform: translate(100px,100px);
-o-transform: translate(100px,100px);
background: green;
}
We recommend a script to use during test development:
http://leaverou.github.com/prefixfree
The prefixfree.jsapi.js extension can be used for unprefixed JS APIs tests:
https://github.com/LeaVerou/prefixfree/tree/gh-pages/plugins
. . .
<-- Remember to remove before pushing to W3C test suite -->

. . .


Feel free to explore my other blog posts, images, and portfolio.
During the first part of EDA I didn't understand how important it was to timebox. When setting myself a new challenge, such as finishing Sprint 1, I'd commit every waking minute of my day. This would lead to excellent output in day 1, but no further output for the rest of the week due to being burned out. I'm loving the Toggl application and find this helps me focus and feel a light but persistent time pressure. Part of my habits when studying from home is the ability to put music on and find my flow. If I'm still nodding my head to a beat even though it's during a song change, that's how I know I'm flowing. Right now, I'm feeling in the zone and focused. This page is flying infront of my eyes. I look forward to trying out other techniques over time to see which ones will have the greatest impact.
It was interesting to find myself amongst the learning material. I'd never had read or understood the importance otherwise. My normal Monday evening definitely hasn't included meditation or reading up on new methods to improve my focus and time commitments. It will be good to start making a habit of this so I can evolve as a person.
At the moment, listening to music and blocking out external sound is working from home. During the bootcamp I believe I'll be trying meditation and yoga. Possibly even the 25 minutes on, 5 minutes off, type of workload. Again, I'm loving timing myself and time boxing activities. This keeps me focused and not clicking around on other things. It's easy to think "Ah, I'll Google this bit of code...10 minutes later...YouTube...Email...News..". Finding my flow is becoming easier and I'll try master this further.
Whoops! I covered this above. I will experiment with ways to find my flow faster and maintain it. This really resonated well with me, as I have a full time job in technical support - some days you fly through the work at take lunch an hour before going home. Other days, you struggle over and over but have no idea why you feel overworked, but have such low output.
I learned about the important of mindfulness in every day life. It's a powerful mindset to adopt and evovle over time, so you can react to a situation with a concious mind. Therefore, when things don't go to plan, you'll be able to control your reaction and not break down with stress or speak out with anger. It was interesting to read the scientific studies and results. I feel that I should start exploring mindfulness and seeing what it can offer.
It almost took the entire two minutes to achieve mindfulness, as my mind is an ongoing storage bank. I tend to not write things down and leave them to roll around in my head 24/7. Over the next few days/weeks I look forward to seeing changes here. I find it easy to achieve mindfulness during karate, as I'm away from technology and it's after class when we're all exhausted.
It laid some clear goals and plans in place. I've attempted website rebuilds in the past and it's really slow and discouraging if I'm trying to design as I go. I'd usually sink way too much time into a project and then draw something up, but it's already too late. I really enjoyed getting a solid conceptual design sorted, and then just building what's in front of me. Along the way, my requirements did change and the site felt a little different. But those changes were minor and didn't deviate from the plans too much.
Before chapter 2, I thought it would be a great concept that I can incorporate into my daily routine. After chapter 2 I learned how to meditate properly and also the benefits meditation brings to the table. I'm excited to take it for a whirl and see where we go from here.
I learned about the correct sitting postures, which all require you to be alert but calm at the same time. Meditation was compared to lifting weights at the gym (which I'm very faimiliar with) so this made it easier to understand the benefits before, during and after meditation.
The correct sitting posture really stood out to me. I do think that I'll need my eyes closed otherwise I'll be easily distracted. I also didn't realise how technical and detailed the sitting posture was.
The book is easy to read and I love how the author also speaks their mind from time to time.
I learned that listening to others is very important and benefits both parties. I tend to be a rapid fire machine when it comes to talking. This way, I say everything that I think needs to be said, and then my mind is ready to move on to the next agenda. However, this book has taught me that I need to enable others to have the opportunity to also speak their thoughts. In this situation, I need to become a better listener. It won't happen overnight, but being aware of the issue is a good first step for now.
Taking one breath a day. It's good to start somewhere, even if that somewhere is quiet small and not the end goal. I can always revisit if the need arises, and if it doesn't, I can be satisfied that I've banked my one breath of mindfulness that day.
I look forward to dedicating more of my time to listening to others effectively.
Mindfulness is about separating the mind and focusing on your existence. Picture it as if you're looking down and observing your human structure, learning from interactions and actions. Self awareness is a skill that helps you achieve mindfulness. Self awareness is about analysing what does and doesn't impact you. For example, you could say "I'm experiencing sadness" instead of "I'm sad". Instantly, after writing "I'm sad" I feel down. However, the first example "I'm experiencing sadness" gives one hope that the feeling is likely to pass soon.
I tried to journal as I felt it would be best to write everything down and I didn't want to risk sleeping during the body scan. Journaling was easy to do and really effective. It helped clear my mind from stressful situations and I feel like my concentration has increased.
This was probably the best section in the chapter to be honest. It really hit home just like day one where I learned to stop saying 'you guys', and become aware of the language I'm using. In the future I'll definitely be correcting myself and others where possible, to remember that feelings aren't who we are. Many people out there could be feeling trapped, lonely and sad. It sits on my mind that a simple change of perspective could really help them out.
When programming, one of my triggers is taking a long time to solve a problem. I tend to try over and over again, but without success. I then look back and start thinking the time invested was wasted. I've been practising to stop, take a break and come back later with a different approach. This works wonders and got me through the last two sprints without any large time sinks. I notice my seating position tends to change often, before I start to slump my posture and learn closer to the screen. Next time I change seats I'll take a moment to ensure I'm not being triggered by a problem at the time.
I've been using this already as part of the mindfulness practice. I used to get stuck in a large wirlwind of a problem and keep trying for hours on end. My first website took a day to make because of this. Now, I've learned to identify this behaviour, stop it early, take a breather and work out a fresh approach as I reflect on my work and realise the problem is either minimal, or not important.
- Pleasure: The next highs I'm chasing is completion of DevAcademy and purchasing a property of my own. I love to set an endless amount of goals and do my best to tick them all off. - Passion: Time flies when I'm in my element at work, diagnosing technical issues and reading through code. I also enjoy finding my flow on certain games and cashing in an endless streak of victories. - Purpose: My purpose is to provide the best life possible for my family and pets.
- My core values are honesty and caring for others. - I stand for being open and honest to one another and understanding how actions impact other people, by placing myself in their shoes first. I also encourage others to push themselves to their absolute limits and to think positively about any hurdles in their way.
I found that I need to practice this more often to turn the failures and achievements into sensations instead of controlling moments. Failure often results in my mind searching for a solution or creating one, if a solution doesn't exist. For my successes, I usually focus through all the hard times beforehand and reel in the accomplishment. I should become more humble and see this as a sensation or experience, rather than letting it take over and control my emotions. I guess it's a balancing act really. Once I stop beating myself up for failing, the successes will probably feature less in the spotlight.
I really liked the story where Roz still completed her journey, even though the oven, oars and probably a few other things too, broke down. I've been in similar situations where I know things are going to go from bad to worse, but it's all about pushing through and never giving up. For a recent half marathon I ran, I told myself even if both of my legs break, I'm crawling over that finish line and no one can stop me.
This part of the chapter was a nice reflection as I could relate to recently getting a new boss, similar to the author. We established trust early on in our first meeting and really opened up about our current roles, goals and aspirations. Not bottling up information and being honest were the key factors. Having a little laugh every now and again helped us understand each others 'joking' style and emotions, but to also identify when something is serious and not a joke.
The questions included in the book were a bit deep, but the listening exercise went well. I think the best part was realising that I need to be an empathic listener more often. We do display empathy at work when users request new features for the software and explain why it'd improve their life. However, this exercise was more on a personal basis and deeper than what I'd usually exercise in my daily life.
Very understanding. It made me happy and put things into perspective that we're all human and we all experience the same ups and downs together.
Issue: Working across two stores, one in town and the other in Kilbirnie - rotating thoughout the week.
If I was 100% correct and reasonable: I would expect that my previous company could accommodate my needs and provide a fixed position in one store. That way, I could plan my life around that location and purchase one carpark for my car. If the company is 100% correct and reasonable: They would expect a worker to be flexible and able to show up to work wherever they're required as they'll be fairly rewarded for their labour in any location.I could relate to this chapter well as I'm always putting other people first and I've always remained kind to others even in tough situations.
Compassionate leadership is very essential as staff will work as hard as they can for their leaders. When they're asked to do something special they'll be happy to do so. In the past I've gone over and above my duties multiple times for a compassionate boss. However, the opposite happens when under leadership that lacks compassion. Staff will become disgruntled and perform poorly in spite of the leaders. Having one negative staff member can leak negativity throughout the team and cause disruption. So it's important to be compassionate to all.
Nice and relaxing. I don't hold grudges or carry bad thoughts with me. However, this form of meditation helps improve my happiness/goodness.
I'm in a good place at the moment and there's nothing really troubling me at the moment. I found it quite hard to relate as I was scrambling to find something that bothered me. Maybe during bootcamp when life becomes more stressful I can revisit this style of meditation.
Status - I've often jumped on Slack and provided help/answers/feedback to posts. We're all in this together, so there hasn't been a status increase of any sort. Comparing against myself, I've definitely made some huge steps towards becoming a web developer. Certainty - My job is secure during the 9 weeks of bootcamp and I'm certain my time at EDA will be a success. Autonomy - As the first 9 weeks (18 for me) have been self lead study, including my job which is full autonomy, this will lead well into bootcamp as I know I'm responsible for my workload. Relatedness - Everyone is my friend. Again, we're all in this together! Fairness - I love keeping a fair playing field, I'd never cut someone else down for my own gain. I'll treat others ideas and actions fairly throughout bootcamp as it's in my nature.
I've had a few difficult conversations in the last week and they all went really well. I find I'm listening to the other person a lot more and responding in a kindly crafted manner. Any feelings or emotions tied with my response I take as experiences and don't let them impact my response.
I enjoyed reading these chapters as I believe this book has helped craft me into a better human being.


The Blair Witch Project A film review by Marty Mapes Copyright 1999 Marty Mapes
***1/2 (out of 4) If you'd like to be creeped out by an amazing and shocking document, then go see THE BLAIR WITCH PROJECT without reading this or any other review. If you want to steel your resolve before seeing it, then read on.
THE BLAIR WITCH PROJECT is an original urban myth. A title card tells us that the film you are about to see is true. Three filmmakers disappeared in 1994 while shooting a documentary about a legendary witch of Burkitsville, Maryland. The filmmakers vanished somewhere, somehow, in those woods. Finally, their footage was found and edited chronologically to make this movie.
The three students, Josh, Michael and Heather, went in search of the "Blair Witch." According to legend, an old woman disappeared several hundred years ago and to this day she still haunts the woods outside the town.
The trio drive from film school to the town. An early shot in the Burkitsville graveyard has Heather standing by a grave, reading from a book. She looks like a bad TV news anchor wannabe. It's very hokey, but then, she's no Ken Burns.
Next they interview a few of the locals.  Another woman reassures her young daughter that there's no such thing as the Blair Witch-- then winks at the camera and mouths "it's true." A couple of fishermen debate whether or not they believe in the witch.
All in all, the residents of Burkitsville look like ordinary people. The ones who talk about the witch look like the sorts of people who would believe in that sort of thing. The movie is shot mostly on video, with non-actors playing themselves. There are no bad actors because nobody's "acting." There was surely a rough script, but most of the performances were not rehearsed.
Next the three have to pack up their gear and hike a day into the woods, to a spot where the witch was said to haunt. When they get there, Heather stages a scene where she reads an account of the witch from a certain cave. It's the exact spot where the witch supposedly abducted some children. Heather's documentary looks like it would have been pretty lame, but at least she's sticking to her schedule and her script.
The three must camp in the "haunted" woods that night because of the length of the hike. The following day they pack their gear and head back to the car. But instead of ending up at their car, they end up -- well, somewhere else. In the 2 days hiking, they have become lost.
(SPOILERS AHEAD: STOP READING NOW OR FOREVER HOLD YOUR PEACE.)
As the title card tells you, they never get un-lost. Their agonizing descent from annoyance and anger to fear and desperation is not so much pitiable as it is horrible, which is exactly what Myrick and Sanchez were hoping for.
There are four techniques that really make BLAIR WITCH effective.
The first is absolutely essential for this type of horror movie. In order to be scared by the supernatural, you have to first be convinced of it. You have to be led by the hand from scoffing disbelief, through entertaining the theory, to buying in. The characters you empathize with have to start out saying "yeah, right, ghosts" and end up running and screaming.
BLAIR WITCH does this very well: when the trio realize they're lost in the woods, they go through some very rational thoughts. They're not afraid a witch is going to eat them, they're just annoyed at the inconvenience: the rented equipment is going to be charged for an extra day, someone's girlfriend is going to be angry, their filming schedule has been ruined.
The movie takes its time going through the descent to fear, which gives the audience time to come down with them. It is only after much screen time, when they run out of cigarettes, food, and water, that they start believing in the supernatural. And why not? You would too.
The second technique is that it never shows you the agent of the terror. By making the "witch" invisible, there is always the possibility that the terror springs from the mind, from fear, hunger, and fatigue. Even if you become convinced that the terror is real, its invisibility will force your imagination to make the thing more horrible than any solid image could.
The second technique is enhanced by the third, the amateur quality of the footage.  Also, the whole concept of shooting on video and cheap filmstock gives the movie a look of reality that just can't be faked. Because the subjects acknowledge the camera, you can't as easily say "it's just a movie."
Finally, the movie works so well because of its actors, who were put through quite an ordeal in the taping and filming of the movie. Myrick and Sanchez made their actors hike to a specified location with a map and a global positioning system; none of them were familiar with the terrain. They had to be in character the whole time the camera was running (which was a lot), and their emotion, jibes, and fights were probably 90% "real." To make it easier for them to stay in character, the characters were given the same names as the actors.
Horror guru Pablo Kjolseth will tell you that this concept (of terrorizing your actors in order to get realistic looking "fear") is not original. Neither is the idea of creating an urban myth for the screen.
Nevertheless THE BLAIR WITCH PROJECT it is fresh for 1999, and most importantly, it worked. It really is the scariest movie in quite a long time.
Check out more current movie reviews at http://www.moviehabit.com
Movie Habit http://www.moviehabit.com
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


The web developer and creator of this site is haide P. Wandaga. She is a college student at the University of the Cordilleras currently taking Bachelor of Science in Information Technology majoring in Network and Security Track and now in her second year.
Haide was originally not fully introduced in computer world during her years in highschool in which it is the time where students is supposed to be aware of it. At first she thinks that pursuing on a field she is not familiar with would be a great risk to take but because of the great curiosity and wanting to discover more about the modern world, she still pursue the course she's currently in. And also because she thinks that having knowledge about computer would be totally a great asset./p>


Shaka Player dispatches 'error' events to the application. Although you may be used to listening for events on the video element, this is not recommended when using Shaka Player. There can be spurious events when unloading video sources, and Shaka Player will filter these out for you. In addition, Shaka Player will dispatch certain DASH-related or EME-related errors that you cannot receive any other way.
var video = document.getElementById('video');
var player = new shaka.player.Player(video);
// DO listen for errors from the Player.
player.addEventListener('error', function(event) { /* ... */ });
// DO NOT listen for errors from the video element.
//video.addEventListener('error', function(event) { /* ... */ });
See also the list of events fired by {@link shaka.player.Player}.


001/* 002 * Licensed to the Apache Software Foundation (ASF) under one 003 * or more contributor license agreements. See the NOTICE file 004 * distributed with this work for additional information 005 * regarding copyright ownership. The ASF licenses this file 006 * to you under the Apache License, Version 2.0 (the 007 * "License"); you may not use this file except in compliance 008 * with the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, 013 * software distributed under the License is distributed on an 014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 015 * KIND, either express or implied. See the License for the 016 * specific language governing permissions and limitations 017 * under the License. 018 */ 019package org.apache.shiro.crypto.hash; 020 021/** 022 * A {@code HashService} hashes input sources utilizing a particular hashing strategy. 023 *
 024 * A {@code HashService} sits at a higher architectural level than Shiro's simple {@link Hash} classes: it allows 025 * for salting and iteration-related strategies to be configured and internalized in a 026 * single component that can be re-used in multiple places in the application. 027 *
 028 * For example, for the most secure hashes, it is highly recommended to use a randomly generated salt, potentially 029 * paired with an configuration-specific private salt, in addition to using multiple hash iterations. 030 *
 031 * While one can do this easily enough using Shiro's {@link Hash} implementations directly, this direct approach could 032 * quickly lead to copy-and-paste behavior. For example, consider this logic which might need to repeated in an 033 * application: 034 *
 035 * int numHashIterations = ... 036 * ByteSource privateSalt = ... 037 * ByteSource randomSalt = {@link org.apache.shiro.crypto.RandomNumberGenerator randomNumberGenerator}.nextBytes(); 038 * ByteSource combined = combine(privateSalt, randomSalt); 039 * Hash hash = Sha512Hash(source, combined, numHashIterations); 040 * save(hash); 041 *
 042 * In this example, often only the input source will change during runtime, while the hashing strategy (how salts 043 * are generated or acquired, how many hash iterations will be performed, etc) usually remain consistent. A HashService 044 * internalizes this logic so the above becomes simply this: 045 *
 046 * HashRequest request = new HashRequest.Builder().source(source).build(); 047 * Hash result = hashService.hash(request); 048 * save(result); 049 *
 050 * 051 * @since 1.2 052 */ 053public interface HashService { 054 055 /** 056 * Computes a hash based on the given request. 057 * 058 *
Salt Notice
 059 * 060 * If a salt accompanies the return value 061 * (i.e. returnedHash.{@link org.apache.shiro.crypto.hash.Hash#getSalt() getSalt()} != null), this 062 * same exact salt MUST be presented back to the {@code HashService} if hash 063 * comparison/verification will be performed at a later time (for example, for password hash or file checksum 064 * comparison). 065 *
 066 * For additional security, the {@code HashService}'s internal implementation may use more complex salting 067 * strategies than what would be achieved by computing a {@code Hash} manually. 068 *
 069 * In summary, if a {@link HashService} returns a salt in a returned Hash, it is expected that the same salt 070 * will be provided to the same {@code HashService} instance. 071 * 072 * @param request the request to process 073 * @return the hashed data 074 * @see Hash#getSalt() 075 */ 076 Hash computeHash(HashRequest request); 077}