Desktop application development
with node+js / html / css
Ustream embed player
Debug can be problematic
All these are for developers
But usually, error reports are not from developers...
"When" and "Where" are also factors in debugging
WebRTC
"Chrome/FF only" debug website,
to connect the clients
But mobile has no WebRTC yet :(
WebSocket
WebSocket server on the desktop
easy start,
good tools,
has desktop build
no WebSocket server module
AS3 SocketServer
over JS API
WebSocket protocol has to be implemented by you,
complicated build
“The ws module works fine, can't we just put that behind some frontend, and we're done?”
web application runtime
Developed and maintained by Intel
Chrome HTML5
GPU acceleration
video/audio
Chromium security sandbox "downgrade"
file operations,
cross-origin requests
Node symbols are injected into the
window context right after DOM init
Node stays async, but in a browser
package.json
node packages, deps + runtime config
assets (like CSS, JS libs, images):
referenced in HTML, loaded by Chromium
nw C:\path\to\app\dir-with-package-json
nw /path/to/app/dir-with-package-json
open -n -a node-webkit "/path/to/app/dir-with-package-json"
Zip the application folder,
.zip ➔ .nw
Attach nw runtime and done!
Fully distributable app
Automated build:
grunt-node-webkit-builder
Be aware!
It does not:
mteconsole: {
options : {
version: "0.8.1", // node-webkit version to build with
mac_icns: "../mtec/icons/mtec.icns",
build_dir: '../mtec/build',
mac: true,
win: true,
linux32: false,
linux64: false
},
src: ['../mtec/src/**/*']
}
Thank you


No customization
This field has been configured with no custom inline shortcuts. Type -=.
f(x)=
Custom inline shortcuts
This field has been configured with a set of ASCIIMath inline shortcuts. Type -= again.
f(x)=
Custom keystroke handler
This field has been configured with a custom keystroke handler that intercepts the spacebar and inserts a \space command.
f(x)=


Formation Control of Multiagent Systems
Formation control requires that the autonomous agents reach a specified formation shape or a geometrical cohesion under available information. The relevant information is usually the states of agents like position, velocity, and orientation, which are manipulated/controlled to achieve a geometric shape. The formation geometry can either be fixed or time-varying depending on the application.
Our current research focuses on developing algorithms that provide flexibility in multiagent formation, both with and without data communication among agents.


Medical Officer of Health
{{facility.ward.county}}
Date: {% now "d F Y" %}
TO: Kenya MPDB - Institution
RE: Registration of {{facility.name}} - {{facility.code}}
The County Health Management Team of {{facility.ward.county.name}} has inspected the {{facility.facility_type.name}} whose details are below.
| Name |
{{facility.name}} - {{facility.code}} |
| Type |
{{facility.facility_type.name}} |
| Owner |
{{facility.owner.name}} |
| County |
{{facility.ward.county.name}} |
| Constituency |
{{facility.ward.constituency.name}} |
| Ward |
{{facility.ward.name}} |
We request that you register this facility.
The facility details are given on the next page and the inspection report is attached.
Signed
Medical Officer of Health
{{ facility.ward.county.name }}


Reports any references to classes which allow the class name to
be used outside the class's stated scope. For instance, this inspection would report
a public method which returns a private inner class, or a protected field whose
type is a package-visible class. While legal Java, such references can be very
confusing, and make reuse difficult.
Powered by InspectionGadgets


CookUni
Home
Login
Register
{Success Message...}
Loading...
{Error Message...}
Coooooking University
They say that food passes through the stomach, we say that food passes through CookUni...


You are forbidden to access this webpage. Your IP address and your name has been logged in case you are trying to find a exploit in our systems


| Sid |
A 34 character string that uniquely identifies this resource. |
| DateCreated |
The date that this resource was created, given in RFC 2822 format. |
| DateUpdated |
The date that this resource was last updated, given in RFC 2822 format. |
| DateSent |
The date that the SMS was sent, given in RFC 2822 format. |
| AccountSid |
The unique id of the Account that sent this SMS message. |
| From |
The phone number that initiated the message in E.164 format. For incoming messages, this will be the remote phone. For outgoing messages, this will be one of your Twilio phone numbers. |
| To |
The phone number that received the message in E.164 format. For incoming messages, this will be one of your Twilio phone numbers. For outgoing messages, this will be the remote phone. |
| Body |
The text body of the SMS message. Up to 160 characters long. |
| Status |
The status of this SMS message. Either queued , sending , sent , or failed . |
| Direction |
The direction of this SMS message. incoming for incoming messages, outbound-api for messages initiated via the REST API, outbound-call for messages initiated during a call or outbound-reply for messages initiated in response to an incoming SMS. |
| Price |
The amount billed for the message. |
| ApiVersion |
The version of the Twilio API used to process the SMS message. |
| Uri |
The URI for this resource, relative to https://api.twilio.com |


The past is gone and static. Nothing we can do will change it. Thefuture is before us and dynamic.
The consequences of today are determined by the actions of the past. To change your future, alter your decisions today.
Life is not measured by the number of breaths we take, but by the moments that take our breath away.


Create Volume Request. More...
Public Member Functions | |
| (id) | - init |
| Default constructor for a new CreateVolumeRequest object. | |
| (id) | - initWithSize:andAvailabilityZone: |
| Constructs a new CreateVolumeRequest object. | |
| (id) | - initWithSnapshotId:andAvailabilityZone: |
| Constructs a new CreateVolumeRequest object. | |
| (NSString *) | - description |
| Returns a string representation of this object; useful for testing and debugging. | |
Properties | |
| NSNumber * | size |
| The size of the volume, in gigabytes. | |
| NSString * | snapshotId |
| The ID of the snapshot from which to create the new volume. | |
| NSString * | availabilityZone |
| The Availability Zone in which to create the new volume. |
Create Volume Request.
| - (NSString * EC2CreateVolumeRequest.)description |
Returns a string representation of this object; useful for testing and debugging.
| - (id EC2CreateVolumeRequest.)init |
Default constructor for a new CreateVolumeRequest object.
Callers should use the property methods to initialize this object after creating it.
| - (id EC2CreateVolumeRequest.)initWithSize: | (NSNumber *) | theSize | ||
| andAvailabilityZone: | (NSString *) | theAvailabilityZone | ||
Constructs a new CreateVolumeRequest object.
Callers should use properties to initialize any additional object members.
| theSize | The size of the volume, in gigabytes. Required if you are not creating a volume from a snapshot. | |
| theAvailabilityZone | The Availability Zone in which to create the new volume. |
| - (id EC2CreateVolumeRequest.)initWithSnapshotId: | (NSString *) | theSnapshotId | ||
| andAvailabilityZone: | (NSString *) | theAvailabilityZone | ||
Constructs a new CreateVolumeRequest object.
Callers should use properties to initialize any additional object members.
| theSnapshotId | The ID of the snapshot from which to create the new volume. | |
| theAvailabilityZone | The Availability Zone in which to create the new volume. |
- (NSNumber *) size [read, write, retain] |
The size of the volume, in gigabytes.
Required if you are not creating a volume from a snapshot.


We are a Multinational company infocom inc.
and develop and design attractive websites based on information all kind
i.e. Informations of cellphones, weather updates,
information on other electronics devices, laptop,
desktop computers and politics etc.
We recently built some websites on information about different specific
Gifts but couldn't achieve popularity as previous websites.
Then we decided to build an all in one website for Gifts to
deliver massive information to user.
Our aim is to provide free information to all over the wolrd.
and our aim is to provied all about information to our gitfs shop
i hope so u like our webiste And you do feed back so go contect us page


GREAT COFFEE
At the Coffee Cellar, we pride ourselves on not just the quality of our coffee but also the art form that lies in its proper preparation.
We ensure our baristas a) know what they're doing and b) care about what they're doing.
We choose the best beans for our customers as well as the finest hot chocolate if you want to skip the caffeine.
A GREAT EXPERIENCE
That said, coffee is but one small part of the cafe experience. The Coffee Cellar is an independent business located in the heart of Exeter's popular tourist hangout. You can't go wrong with a visit to the historic quayside.
The rustic, homely atmosphere inside our wonderful doors is the perfect retreat on a cold winter's day and you can't beat the quayside seating on a sunny day.
Whatever the weather, The Coffee Cellar is a place to relax, put your feet up and soak up the atmopshere of a place that's built on a QUIRKY and HOMELY vibe.


Use setBackground()
.
In the present program
outText.setBackground( Color.green )
matches the text field to the content panel.
You have reached the end of the chapter. You may wish to review the following. Click on a subject that interests you to go to where it was discussed. To get back here, click on the "back arrow" button of your browser.
The next chapter will show a larger GUI application.


{% load static %}
FEXTRA | Welcome
{% block nav %} {% endblock %}
Welcome To FEXTRA The No.1 Rising Affiliate Program In Nigeria, with the aim of EMPOWERING the Public through the Internet.
{% block content %} {% endblock %}
About Us
Contact Us
Privacy Policy
Terms And Conditions


--- title: calcFEMODF sidebar: function_reference_sidebar permalink: PoleFigure.calcFEMODF.html folder: function_reference toc: false ---
PDF to ODF inversion
calcFEMODF is one of the main function of the MTEX toolbox. It estimates an ODF from given Polefigure intensities by fitting an ODF that consists of a large number of unimodal ODFs to the data. It does so by minimizing a least squares functional. The command calcODF supports automatic ghost correction and the zero range method. The function calcFEMODF has several options to control convergence, resolution, smoothing, etc. See below for a complete description.
| pf | PoleFigure |
| odf | reconstructed @FEMODF |
| alpha | scaling factors, calculated during reconstruction |
| resolution | localization grid for the ansatz fucntions (default = 3/2 resolution(pf)) |
| iterMax | maximum number of iterations (default = 11) |
| regularisation | weighting coefficient lambda (default = 0) |
| zeroRange | apply zero range method (default = ) |
| noGhostCorrection | omit ghost correction |
PoleFigure2odf ODF_demo PoleFigureSimulation_demo PoleFigure.load ImportPoleFigureData examples_index


Home
Sales
Salmon Cookies
Resturant Branch
Branch Name:
The minimum number of customers per hour:
The maximum number of customers per hour:
The average number of cookies purchased per customer:


Logout
Create New Reimbursement Form
Event Type
Event Type
University Courses
Seminars
Certification Preparation Classes
Certification
Technical Training
Other
Location
Description
Start Date
End Date
Grading Type
Grading Type
Performance
Grade
Presentation
Grade
Tuition
Submit
My Reimbursement Balance
Get
Available Reimbursement
Pending Reimbursement
Awarded Reimbursement
Total
My Reimbursement Request
Get
ID
Name
Event Type
Location
Description
Start Date
End Date
Grade Type
Grade
Reimbursement Amount
Supervisor Approval
Department Head Approval
BenCo Approval


Message
Feed uses an obsolete namespace
Explanation
This feed is using an obsolete namespace used by an obsolete snapshot of Atom, which is not supported by this validator.
Solution
Early adopters of the Atom format should upgrade their feed to conform to RFC 4287.
- Blogger users with access to PHP can use these instructions.
- MovableType users may want to consider upgrading to version 3.2.
- WordPress users can use either these drop in replacement templates, or this plugin.
If you are looking to validate an Atom 0.3 feed, this validator provides support for Atom 0.3.
For more information about Atom, please see the AtomEnabled.org web site.
Not clear? Disagree?
You might be able to find help in one of these fine resources.


--- layout: page title: About header-img: "img/about-bg.png" ---
Building a better life, one code at a time.


Message from trustangle CEO – Mr.Maysarah Mishaal
trustangle is pleased to announce the launch of the Newsletter. At trustangle, we believe that: “Unity is strength…when there is teamwork and collaboration, wonderful things can be achieved”.
Although 2020 marked a number of challenges in every ones’ life however at trustangle, we are proud and inspired by the way our company has grown to this challenge - with elasticity, persistence, courage – and determination.
Thank you for your enormous contributions. With 2020 behind us, we look forward to 2021 with great anticipations and trust for a healthier and more equitable future for our community.
We would like to extend our deep appreciation to each and every team member who contributed to the remarkable success of the company.
Building on the strengths of our team and your support, we want to step in the year 2021 with many new aspirations. Our journey would continue further by capitalizing on the various improvements we made in 2020. So,
let’s have a quick look back at the various events that marked our calendar in the year 2020.
Sincerely Maysarah Mishaal
Message from trustangle CTO – Mr.Hamza Abusitta
We are pleased to share the first issue of our newsletter, keeping you up to date on some exciting things we have done over the last several months.
At trustangle our key success factor is the diversity and synergy of our team; they are a diverse group of about 10 nationalities of different ages and genders. We believe that the synergies born of this diversity better
enable us to quickly adapt to changes in society and meet the requirements of our customers. The team works like one family towards adding values to the society in terms of business optimization, process automation,
better marketing reach, and increase the other’s businesses revenues.
At trustangle, service is not just an idea, It’s the key to how we make our way to customer’s loyalty and this never stops here, we always believe in making a continuous effort to maintain what’s being already achieved
and to toil for what’s not yet achieved. To grow our business, we will increase productivity of existing businesses as well as expand into new areas.
Sincerely
Hamza Abusitta
|
Our company at a glance:
Trustangle is an IT Solutions’ Provider, founded in 2014 in Riyadh/ Saudi Arabia as a Headquarter office. trustangle provides end to end solutions; we have offices in many countries such as: Saudi Arabia, Turkey, India, Philippine,
Gulf and more, our team is from different nationalities covering all Middle East and Africa countries. Our solutions’ services include: Implementation, Development, Hosting, Training, Support and much more covering all
industries.
|
What makes us different from others?
-
Our team is highly experienced with a Proven track record .
-
We offer High-Quality Deliverables & assurance of delivery.
-
We offer end to end IT solutions .
-
Most of our market expanding is done through referral which a clear proof of high customers’ satisfaction.
-
We have a dedicated business unit for integration, so whatever vertical system do you use to run your business is welcome to be added to our integration platform.
-
We are a partner for more than 55 International Products recognized globally.
|
|
|
Trustangle Latest Awards
Trusatngle is honored to have received the below awards - these Awards are presented in a variety of categories including overall sales, innovation, technology, services and solution – specific areas. Together with our vendors,
trustangle helps customers adopt innovation easily, gain results rapidly, grow sustainability and run more simply.
Oracle NetSuite 4Stars Award.
Revel Best Partner.
New Customers & Testimonials:
At trustangle, we partner with our customers to deliver the most innovative solutions. Our mission is to deliver compelling narratives, remarkable experiences, and outstanding results to them. For 2020 we got a good number
of customers but we couldn’t mention them all here, some of them are
|
|
|
Testimonial from Burj Al Hamam Managing Director – Mr. Jil Assaf
“We are delighted to list trustangle as our technology partner of choice. Strong of a team I am proud of, and with the hands-on support of trustangle technical team, we have been able in a very short period of time
to execute with certainty our digital transformation plans. We took a 40-year-old organization from pen and paper to the fringe of technology our industry has to offer.
NetSuite by Oracle is today successfully integrated with our POS, inventory control and HR solutions and more. When you have a strong partner, a proven technological solution, and the determination to succeed, wishful
thinking becomes reality. We have done it!”
|
New Partnerships
Working strategically with a business partner ensures a mutually beneficial agreement built on trust and a shared vision. Vendors will sell you what you want, but a true partner will guide and coach you what is best for your
company’s long-term business goals, trustangle is pleased to announce its partnership with the following vendors:
|
|
|
New Products Announcement
Reachware Systems
It’s a unified platform for better insights into any business, provides in-house advanced and customized integration solutions for enterprises using: ERP, POS, eCommerce and much more.
Reachware is integrated with many popular solutions:
Our integration ensures a powerful, end-to-end modern analytics solution that fits with your existing technology investments. Reachware is a Data Integration solution with many popular vendors’ solutions such as:
|
|
|
Bundles & Add-ons
Reachware offers bundles & Add-ons products for NetSuite and Revel with special prices. All of our integration bundles are fully featured out-of-the-box, and we offer advanced automation, customization, consultation, implementation,
and administrative services to address.
|
NetSuite Bundles
-
Advanced Tax Automation
-
Treasury Management
-
Advanced IFRS Reports
-
Advanced Asset Lease Module
-
Budget Control
-
Advanced workflows
-
Arabic Interface Pack
-
Mobile App Extension
-
Advance Shipping
Revel Bundles
-
Revel Systems Purchase Requisition Module
-
Revel Systems Arabic Interface Pack
- Revel Systems Inventory Deviation Report
|
New offices Announcement
trustangle is pleased to announce the further expansion of its presence in the following countries by opening new offices there in order to provide uninterrupted service to our Clients:
-
Palestine Office
-
Turkey Office
- India Office
|
Elite Customers Loyalty Program
At trustangle we believe in the way we treat our customers because it indicates the way we look at things in life. By treating our customers like gold, we are sure to reduce the overall problems associated with our business,
sales and the potential for any legal issues that might arise but if we treat our customers poorly then we should be certain that we'll run into problems at one point or another and those problems can oftentimes lead to
the ominous and untimely demise of our business. We also believe that our reputation is the strength of our brand.
That’s why trustangle has created a Loyalty program for some strategic customers in Saudi Arabia. The loyalty program aims to strengthen the relationship between trustangle & their customers.
Our Key Marketing Campaigns:
|
trustangle Survey
Understanding how we perceive our services and products is a key factor that will help us serve you better. We would be grateful if you could take 2 minutes to fill out the survey below and provide us with some extremely valuable
feedback about your Experience with trustangle. Link to Survey
Social Media Platforms:
We all know that social media impact businesses positively and offer an opportunity for our audience to find us on the social media. It also helps us to reach our targeted audience, stay engaged with them and respond to their
queries instantly. It is a great way to evaluate our competition by monitoring their social media pages. That’s why we are always excited to update our social media with the latest news & trends.
Enjoy navigating our social Media Platforms
We all know that social media impact businesses positively and offer an opportunity for our audience to find us on the social media. It also helps us to reach our targeted audience, stay engaged with them and respond to their
queries instantly. It is a great way to evaluate our competition by monitoring their social media pages. That’s why we are always excited to update our social media with the latest news & trends.
|
Enjoy navigating our social Media Platforms
|


OUR INSPIRATION
Accessibility is important.
Today, around one million people use American Sign Language as their main way to communicate, yet the majority of the world cannot use or understand it. Thus, we aimed to solve this communication problem by building a video chatting platform where users are able to call their loved ones and chat using sign language. The platform translates words in real time, displaying them as live subtitles in the video screen during the call so that users are able to easily communicate despite the restrictions of their accessibility needs.


Please hang on while we verify your email address...
Thank you for verifying your email address.
That link is either invalid or expired.


Build The Community Your Fans Will Love
Huddle re-imagines the way we build communities. Your have a voice, but so does your audience. Create conections with your users as you engage in genuine discussion.
Huddle re-imagines the way we build communities. Your have a voice, but so does your audience. Create conections with your users as you engage in genuine discussion.


CGS-CIMB Research raises target price for Kossan to RM5.21
by theedgemarkets.comKUALA LUMPUR (Nov 22): CGS-CIMB Research has maintained its “Add” rating on Kossan Rubber Industries Bhd at RM4.19 with a higher target price (TP) of RM5.21 (from RM5.07) and said Kossan’s 9M19 core net profit of RM163.8 million came in broadly in-line at 72% of house fullyear estimate.
In a note Nov 21, the research house said it expects a stronger 4Q19 result from higher glove sales.
“3Q19 net profit waned 9.2% year-on-year and 12% quarter-on-quarter from start-up losses of its newly-commissioned Plant 18 and impact of labour shortages in the quarter.
“Maintain Add, with a higher TP of RM5.21 (25x CY21F P/E),” it said.


Keynoter - Advanced Speech Synthesis
Pronounce as number/letters:
Speed of Speech:
Add Pause/Break:
Speech to synthesise
Current Status:
No file is being processed.


Lorem ipsum dolor sit amet, consectetur adipisicing elit. Amet numquam aspernatur!
 There are different types of goldfish, come visit us and see what's in stock!
Tank
Goldfish could be kept in very small to large tanks.
Tank Mates
If you're planning on keeping goldfish in a large tank or you already have fish and want to keep them in the same tank, look at keeping these fish together.


BJP appoints vistaraks to bolster Delhi unit
The concept has been taken from pracharaks in the RSS, whose job entails promoting the Sangh’s policies.
by Abhinav RajputGearing up for the upcoming Assembly polls, the Delhi BJP unit has appointed vistaraks (expansionists) for all 70 constituencies, whose job will include promoting the party’s ideology and the Centre’s policies among residents.
The announcement was made by BJP state general secretary Siddharthan at a Delhi BJP meet last week. According to senior leaders, vistaraks have been directed to stay away from 4 Ms — mic, mala, manch (stage) and money. Party leaders said the ‘4M message’ was drafted in view of spats between leaders in public.
The concept has been taken from pracharaks in the RSS, whose job entails promoting the Sangh’s policies.
The idea was tested in other states before the 2019 Lok Sabha polls. In Delhi, each vistarak has been given an Assembly constituency different from their home constituency to promote the party’s ideologies in a non-partisan way.
Vistaraks have also been directed to reach out to prominent RSS functionaries in their area and seek suggestions on public outreach, said a senior leader.
Addressing workers, BJP national general secretary B L Santosh said that vistaraks should target places where people gather.
He added that they should reach out to people so that a positive attitude towards the party is created.
Delhi BJP chief Tiwari said, “Vistaraks should help enroll non-voters and expose the AAP government.”


Three.js Scene Graph/Transform Hierarchy
Drag the mouse to rotate the scene
Drag the slider to scale.
rotation: 0,0,0
scale: 1


| I l@ve RuBoard |
The whole point of a namespace tool like the class statement is to support name inheritance. In Python, inheritance happens when an object is qualified, and involves searching an attribute definition tree (one or more namespaces). Every time you use an expression of the form object.attr where object is an instance or class object, Python searches the namespace tree at and above object, for the first attr it can find. Because lower definitions in the tree override higher ones, inheritance forms the basis of specialization.
Figure 6.4 sketches the way namespace trees are constructed. In general:
Instance attributes are generated by assignments to self attributes in methods.
Class attributes are created by statements (assignments) in class statements.
Superclass links are made by listing classes in parentheses in a class statement header.
The net result is a tree of attribute namespaces, which grows from an instance, to the class it was generated from, to all the superclasses listed in the class headers. Python searches upward in this tree from instances to superclasses, each time you use qualification to fetch an attribute name from an instance object.[3]
[3] This description isn't 100% complete, because instance and class attributes can also be created by assigning to objects outside class statements. But that's less common and sometimes more error prone (changes aren't isolated to class statements). In Python all attributes are always accessible by default; we talk about privacy later in this chapter.
The tree-searching model of inheritance we just described turns out to be a great way to specialize systems. Because inheritance finds names in subclasses before it checks superclasses, subclasses can replace default behavior by redefining the superclass's attributes. In fact, you can build entire systems as hierarchies of classes, which are extended by adding new external subclasses rather than changing existing logic in place.
The idea of overloading inherited names leads to a variety of specialization techniques. For instance, subclasses may replace inherited names completely, provide names a superclass expects to find, and extend superclass methods by calling back to the superclass from an overridden method. We've already seen replacement in action; here's an example that shows how extension works:
>>> class Super: ... def method(self): ... print 'in Super.method' ... >>> class Sub(Super): ... def method(self): # override method ... print 'starting Sub.method' # add actions here ... Super.method(self) # run default action ... print 'ending Sub.method' ...
Direct superclass method calls are the crux of the matter here. The Sub class replaces Super's method function with its own specialized version. But within the replacement, Sub calls back to the version exported by Super to carry out the default behavior. In other words, Sub.method just extends Super.method's behavior, rather than replace it completely:
>>> x = Super() # make a Super instance >>> x.method() # runs Super.method in Super.method >>> x = Sub() # make a Sub instance >>> x.method() # runs Sub.method, which calls Super.method starting Sub.method in Super.method ending Sub.method
Extension is commonly used with constructors; since the specially named __ init __ method is an inherited name, only one is found and run when an instance is created. To run superclass constructors, subclass __ init __ methods should call superclass __ init __ methods, by qualifying classes (e.g., Class. __ init __ (self, ...)).
Extension is only one way to interface with a superclass; the following shows subclasses that illustrate these common schemes:
Super defines a method function and a delegate that expects an action in a subclass.
Inheritor doesn't provide any new names, so it gets everything defined in Super.
Replacer overrides Super's method with a version of its own.
Extender customizes Super's method by overriding and calling back to run the default.
Provider implements the action method expected by Super's delegate method.
class Super: def method(self): print 'in Super.method' # default def delegate(self): self.action() # expected class Inheritor(Super): pass class Replacer(Super): def method(self): print 'in Replacer.method' class Extender(Super): def method(self): print 'starting Extender.method' Super.method(self) print 'ending Extender.method' class Provider(Super): def action(self): print 'in Provider.action' if __name__ == '__main__': for klass in (Inheritor, Replacer, Extender): print '\n' + klass.__name__ + '...' klass().method() print '\nProvider...' Provider().delegate()
A few things are worth pointing out here: the self-test code at the end of this example creates instances of three different classes; because classes are objects, you can put them in a tuple and create instances generically (more on this idea later). Classes also have the special __ name _ _ attribute as modules; it's just preset to a string containing the name in the class header. When you call the delegate method though a Provider instance, Python finds the action method in Provider by the usual tree search: inside the Super delegate method, self references a Provider instance.
% python specialize.py Inheritor... in Super.method Replacer... in Replacer.method Extender... starting Extender.method in Super.method ending Extender.method Provider... in Provider.action
| I l@ve RuBoard |


The chart below presents my network of facebook friends. Each node is a facebook friend and each link represents a friendship.
I retrieved all this data through a facebook application called Give Me My Data. Due to a recent policy change, friendlists are no longer retrievable through facebook's API, so I'm unable to generalize the chart for any user =(
Also of note, the d3 force layout seems to lag when dynamically rendering ~300-400 nodes. I have 400 friends so there is a little lag.
Alright, looking at my network, I basically have 3 main groups. The huge cluster is my friends from my high school, Maret. The other two clusters are mostly friends from my middle school, Barrie, and friends from the first university I went to, Carnegie Mellon. Some of the little clusters I can tell are little friend groups, like people that worked at Plato's or Maryland buddies.
It's interesting to see the intermediary friends: friends that have mutual friends in multiple clusters. For example, there are 2 people who went to both Maret and CMU and I also have a friend who went to both Barrie and CMU. My girlfriend, who's in blue, connects with multiple groups of my friends.


--- layout: post status: publish published: true title: Dry your view using refactor and conventions author: display_name: Fabio Pereira login: admin email<EMAIL_ADDRESS>url: http://fabiopereira.me author_login: admin author_email<EMAIL_ADDRESS>author_url: http://fabiopereira.me wordpress_id: 108 wordpress_url: http://fabiopereira.me/blog/?p=108 date: '2009-03-29 01:46:07 +0' date_gmt: '2009-03-29 08:46:07 +0' categories: - Technical tags: - Agile - Java - Code comments: - id: 577 author: Dolphin Wan author_email<EMAIL_ADDRESS>author_url: '' date: '2009-03-29 06:56:25 +0' date_gmt: '2009-03-29 13:56:25 +0' content: "Great article!\r\n\r\nWhen I saw your example, I quickly recognized that the conventions (or the pattern) you are trying to extract are actually what the Stripes Framework has provided.\r\n\r\nhttp://www.stripesframework.org/display/stripes/Tag+Library+Doc" ---
DRY is a concept applied quite broadly in code. In a web application it's also important to extrapolate its use to the view layer (MVC) in order to increase clarity and consistency.
At the end of this post I'll explain how a user story that had to be delivered became much easier to implement because we had a dry and refactored view.
Concrete example of a view pattern being refactored and dryed
As I usually try to explain things by example, I'll show a JSP that can be refactored and dried. Please notice that the idea of refactoring and drying your view using conventions is technology agnostic and can be achieved with other languages and frameworks as well.
Let's say we have to implement this form:
The example below shows one way of implementing the aforementioned form using Spring MVC JSP tags.
The convention used was that the default label will be label.${id}.
Tag Files and Conventions
If you want to know how to create your own JSP 2.0 tag file, like the one created above (form-ext:inputText), here are a few tutorials.
But always remember about the conventions over configurations.
Here is the file that was used to implement form-ext:inputText:
You can download it if you want: inputText.tag
If the user of the tag (inputText.tag) still wants to send the parameters label, size and maxlength, they would be able to do so. They are not required and have default values, though.
Basically if you apply these two concepts (Tag Files and Conventions) you can dry your JSP's... But you have to identify the duplication patterns.
Extract Tag File - A view refactor similar to Extract Method
What was shown above is a step by step of a refactor that I call Extract Tag File. It's quite similar to extracting a method, but instead of code, we have JSP.
I wish the IDEs had this refactor implemented ... Who knows someday... Or maybe we could write a plug-in for Eclipse or IntelliJ.
How we applied this on a real project to deliver business value quickly
Recently, on my current project, we had to change the way the error messages were shown to the user. They had to be field context aware, which means that if there was an error related to the field "Given Name", the error message had to be show next to the field.
 Our fields were wrapped and, therefore, it was just a matter of implementing this inside the tag file...
That's what we aim... Deliver business value quickly!!! Happy client... Happy developers...


Getting Started
GRIP has an API for making graph queries using structured data. Queries are defined using a series of step operations.
Install the Python Client
Available on PyPI.
pip install gripql
Or install the latest development version:
pip install "git+https://github.com/bmeg/grip.git#subdirectory=gripql/python"
Using the Python Client
Let’s go through the features currently supported in the python client.
First, import the client and create a connection to an GRIP server:
import gripql
G = gripql.Connection("https://bmeg.io").graph("bmeg")
Some GRIP servers may require authorizaiton to access its API endpoints. The client can be configured to pass authorization headers in its requests.
import gripql
# Basic Auth Header - {'Authorization': 'Basic dGVzdDpwYXNzd29yZA=='}
G = gripql.Connection("https://bmeg.io", user="test", password="password").graph("bmeg")
#
# Bearer Token - {'Authorization': 'Bearer iamnotarealtoken'}
G = gripql.Connection("https://bmeg.io", token="iamnotarealtoken").graph("bmeg")
# OAuth2 / Custom - {"OauthEmail"<EMAIL_ADDRESS>"OauthAccessToken": "iamnotarealtoken", "OauthExpires":<PHONE_NUMBER>}
G = gripql.Connection("https://bmeg.io", credential_file="~/.grip_token.json").graph("bmeg")
Now that we have a connection to a graph instance, we can use this to make all of our queries.
One of the first things you probably want to do is find some vertex out of all of the vertexes available in the system. In order to do this, we need to know something about the vertex we are looking for. To start, let’s see if we can find a specific gene:
result = G.query().V().hasLabel("Gene").has(gripql.eq("symbol", "TP53")).execute()
print(result)
A couple things about this first and simplest query. We start with O
, our grip client instance connected to the “bmeg” graph, and create a new query with .query()
. This query is now being constructed. You can chain along as many operations as you want, and nothing will actually get sent to the server until you print the results.
Once we make this query, we get a result:
[<AttrDict(
{u'gid': u'ENSG00000141510',
u'data': {
u'end': 7687550,
u'description': u'tumor protein p53 [Source:HGNC Symbol%3BAcc:HGNC:11998]',
u'symbol': u'TP53',
u'start': 7661779,
u'seqId': u'17',
u'strand': u'-',
u'id': u'ENSG00000141510',
u'chromosome': u'17'
},
u'label': u'Gene'})>
]
This represents the vertex we queried for above. All vertexes in the system will have a similar structure, basically:
- gid: This represents the global identifier for this vertex. In order to draw edges between different vertexes from different data sets we need an identifier that can be constructed from available data. Often, the
gid
will be the field that you query on as a starting point for a traversal. - label: The label represents the type of the vertex. All vertexes with a given label will share many property keys and edge labels, and form a logical group within the system.
- data: This is where all the data goes.
data
can be an arbitrary map, and these properties can be referenced during traversals.
The data on a query result can be accessed as properties on the result object; for example result[0].data.symbol
would return:
u'TP53'
You can also do a has
query with a list of items using gripql.within([...])
(other conditions exist, see the Conditions
section below):
result = G.query().V().hasLabel("Gene").has(gripql.within("symbol", ["TP53", "BRCA1"])).render({"gid": "_gid", "symbol":"symbol"}).execute()
print(result)
This returns both Gene vertexes:
[
<AttrDict({u'symbol': u'TP53', u'gid': u'ENSG00000141510'})>,
<AttrDict({u'symbol': u'BRCA1', u'gid': u'ENSG00000012048'})>
]
Once you are on a vertex, you can travel through that vertex’s edges to find the vertexes it is connected to. Sometimes you don’t even need to go all the way to the next vertex, the information on the edge between them may be sufficient.
Edges in the graph are directional, so there are both incoming and outgoing edges from each vertex, leading to other vertexes in the graph. Edges also have a label, which distinguishes the kind of connections different vertexes can have with one another.
Starting with gene TP53, and see what kind of other vertexes it is connected to.
result = G.query().V().hasLabel("Gene").has(gripql.eq("symbol", "TP53")).in_("TranscriptFor")render({"gid": "_gid", "label":"_label"}).execute()
print(result)
Here we have introduced a couple of new steps. The first is .in_()
. This starts from wherever you are in the graph at the moment and travels out along all the incoming edges.
Additionally, we have provided TranscriptFor
as an argument to .in_()
. This limits the returned vertices to only those connected to the Gene
verticies by edges labeled TranscriptFor
.
[
<AttrDict({u'label': u'Transcript', u'gid': u'ENST00000413465'})>,
<AttrDict({u'label': u'Transcript', u'gid': u'ENST00000604348'})>,
...
]
View a list of all available query operations here.


-
Shellshock DHCP RCE Proof of Concept -
www.trustedsec.com
DHCP bash shellshock POC: 1) Just about any DHCP string value should work for the exploit. Value 114 is URL, which is a string and should be reliable ...
-
Metasploit: Major Android Bug is a Privacy Disa... | SecurityStreet
community.rapid7.com
On the night of September 7, 2014, Joe Vennix of Rapid7's Metasploit Products team wrote, "I did not believe this at first, but after some testing it ...
-
Troy Hunt: Everything you need to know about the Shellshock Bash bug
www.troyhunt.com
Observations, musings and conjecture about the world of software and technology
-
Microsoft closing standalone Trustworthy Computing group, folding into ...
www.geekwire.com
Microsoft will shutter its standalone Trustworthy Computing group, folding elements of the unit's work on security, privacy and related issues into ...
-
Google Discussiegroepen
groups.google.com
Met Google Discussiegroepen kun je online forums en e-mailgroepen maken en eraan deelnemen. Bovendien profiteer je van uitgebreide ...
-
Olive Garden: $100 for 7 weeks of pasta
www.usatoday.com
Olive Garden is about to try an outlandish gimmick to lure folks in the door: pasta up the kazoo. They're not calling it that, of course But on ...
-
iPhone 6 And 6 Plus Bend Test - Consumer Reports News
www.consumerreports.org
Exclusive Consumer Reports test results show new iPhones are tough and not as bendy as rumored.
-
Devon Still's Pep Talk to Cancer-Stricken Daughter Is an NFL Highlight
mashable.com
It's hard to say which is more heartwarming: Devon Still's devotion to his daughter, her smiling reaction or the fist bump that ends the video.
-
FBI blasts Apple, Google for locking police out of phones
www.washingtonpost.com
The agency director’s criticisms echo the frustrations of law enforcement officials nationwide.
-
Occupational Hazards of Working on Wall Street
www.bloombergview.com
Michael Lewis asks the big question about the army of Ivy League graduates, with seemingly endless career options, who wind up in finance: What ...
-
Interview: Reginaldo Silva - Largest Facebook bug bounty reward ever
blog.bugcrowd.com
Facebook awarded their largest single bug bounty award ever. Reginaldo Silva was rewarded $33,500 for his XML external entities vulnerability.
-
Ok, shits real. Its in the wild... src:<IP_ADDRESS>
gist.github.com
You can clone with HTTPS or SSH .
-
Meet the 24 Writers Selected for the Amtrak Residency Program
blog.amtrak.com
Meet the 24 Writers Selected for the Amtrak Residency Program!
-
MFSA 2014-73: RSA Signature Forgery in NSS
www.mozilla.org
You are here: Security Center > Mozilla Foundation Security Advisories > MFSA 2014-73
-
Bash specially-crafted environment variables code injection attack
securityblog.redhat.com
Update 2014-09-25 16:00 UTC Red Hat is aware that the patch for CVE-2014-6271 is incomplete. An attacker can provide specially-crafted environment ...
-
Gadget Rewind 2008: T-Mobile G1 (HTC Dream)
www.engadget.com
In 2005, a small Palo Alto-based mobile software company called Android Inc. was quietly folded into Google's growing empire. The acquisition led to ...
-
Hamster Wheel Standing Desk
www.instructables.com
You are not reaching your current productivity potential. Numerous esteemed experts agree that standing is better than sitting and that walking is ...
-
feliam/CVE-2014-4377
github.com
Contribute to CVE-2014-4377 development by creating an account on GitHub.
-
Trustworthy Computing is dead, long live Trustworthy Computing! The news ...
plus.google.com
Trustworthy Computing is dead, long live Trustworthy Computing! The news came through yesterday that as part of a series of layoffs and ...
-
Eric Robinson sur Twitter : "brb gonna stare at this Apple Watch ...
twitter.com
Mot de passe oublié ? Vous utilisez déjà Twitter via SMS ?
-
Mixpanel Trends - Mixpanel | Mobile Analytics
mixpanel.com
Mixpanel is the most advanced analytics platform in the world for mobile & web.


| Library: | Wiring |
| Introduced: | 2.0 Beta 1 (in Base library, moved to Wiring in 2.7.0) |
| Appearance: |
The splitter creates a correspondence between a multi-bit value and several separate subsets of those bits. Despite its name, it can either split a multi-bit value into component parts, or it can combine component parts into a multi-bit value - or indeed it can do both at once. A more complete description of splitters is found in the `Splitters' section of the User's Guide.
Logisim treats splitters specially when propagating values within a circuit: Whereas all other components have a computed delay for purposes of simulating their behavior, values propagate through splitters (as well as wires) instantaneously.
Note: The term splitter is a non-standard term, which is unique to Logisim as far as I know. I am unaware of any standard term for such a concept; the only term I have heard used is bus ripper, but this term is unnecessarily violent for my tastes.
To distinguish the several connecting points for a splitter, we refer to the single connecting point one side as its combined end, and we refer to the multiple connecting points on the other side as its split ends.
When the component is selected or being added,
the digits '0' through '9' alter its Fan Out
attribute,
Alt-0 through Alt-9 alter both the Fan Out
and Bit Width In
attributes,
and the arrow keys alter its Facing
attribute.
The location of the split ends relative to the combined end.
The number of split ends.
The bit width of the combined end.
Supports different ways of depicting the splitter in the circuit.
The Left-handed
option (the default) draws a spine going left from the
combined end, with a labeled line coming from the spine for each split end.
The Right-handed
option is the same except the spine goes right (if you're
facing according to the Facing attribute).
The Centered
option centers the spine so it goes in roughly equal directions
left and right.
And the Legacy
option draws diagonal lines to each split end, without labels;
this option is primarily for compatibility with versions
older than 2.7.0, when this was the only option for splitter appearance.
The index of the split end to which bit x of the combined end corresponds. The split ends are indexed starting from 0 at the top (for a splitter facing east or west) or from 0 at the left/west (for a splitter facing north or south). A bit can be specified to correspond to none of the split ends. There is no way for a bit to correspond to multiple split ends.
Sometimes you can avoid twiddling each individual Bit x attribute by bringing up the pop-up menu for a splitter (usually by right-clicking or control-clicking it). The pop-up menu includes options labeled Distribute Ascending and Distribute Descending. The Distribute Ascending option distributes the bits so that each split end receives the same number of bits, starting from end 0. (If the number of split ends doesn't divide exactly into the number of bits, then the bits are distributed as evenly as possible.) Distribute Descending does the same but starts from the highest-numbered end.
None.
None.


Sorry, but for some reason this repo couldn't be created or found. It might be because the repo is private, it might just be a 404 inside of the repo (pointing to a resource the repo didn't include), or it might just be something else.
If you think this is a bug, please do report the error.
Thanks — @rem


Tourism Of Bangladesh
Home
About Bangladesh
Things to see
Where to stay
Hotels
Resorts
Transportation
Travel Essential
Add a description of the image here
Add a description of the image here
Add a description of the image here
Add a description of the image here


Threads
Description
The threads component provides support for the establishment a set of named thread pools. The component implementation can be configured such that multiple thread pools may be defined within which each pool has a minimum and maximum pool criteria and daemon property. Consumer components can access threads from named or default pool using the ThreadManager service interface.
Deployment Facts
| Containment | Avalon Framework 4.2.0 |
| Lifestyle | singleton |
Lifecycle
| Stage | Description |
|---|---|
| LogEnabled | Logs information concerning created pools during configuration at the DEBUG level. |
| Configurable |
Declaration of the thread pools and associated
pool establishment criteria. An example configuration is
presented below.
<configuration> <thread-group> <name>default</name> <is-daemon>false</is-daemon> <max-threads>100</max-threads> <min-threads>20</min-threads> </thread-group> </configuration> |


Cospace
Logout
Member
Invoices
Calendar
Profile
Settings
Events
Membership
Invoices
Invoice 1
Invoice 1
×
Invoice 2
Invoice 2
×
Invoice 3
Invoice 3
×
Invoice 4
Invoice 4
×


Bump.js is a 2D physics engine written in TypeScript.
The main purpose of this library is to provide a simple way to handle physics.
$ npm install @lcluber/bumpjs
Or download it here.
See a basic example here.
Learn how to use it here.
Read the documentation here.
No tests to run yet
There is still a lot of work to do on this project and I would be glad to get all the help you can provide. To contribute you can clone the project on GitHub and see NOTICE.md for detailed installation walkthrough of the project.
MIT License
Copyright (c) 2011 Ludovic CLUBER
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


An in-depth tutorial
With easyb it's quite easy to create stories (which are logically made up of scenarios) that facilitate driving development, much like TDD is supposed to do. That is, easyb (and BDD concepts) can seriously assist your test-first-development desires; however, you don't need to focus on tests-- just focus on the intended behavior! It happens to be easy too. Remember, easyb may be a Groovy framework but it is for Java-- so if you are coding normal Java applications, you can use easyb!
Using roughly the same (albeit prosaic, but oh so easy) Stack
example from IBM developerWorks' Adventures in behavior-driven development, easyb can be used to fashion a series of scenarios that describe a stack data-structure before you actually write it-- because easyb stories are Groovy, you don't have to worry about compilation issues either. Even better, easyb stories are single Groovy files that have scenarios in sequential order.
Pushing null
Thinking at a high level about a stack, one could maybe specify that:
given an empty stack, whennull
ispush
ed, an exception should be thrown and the stack should still be empty.
Whether or not you actually create a place holder object first is up to you; however, for the purposes of this example, the first step is to create a Stack
object (in Java, of course!).
public class Stack<E> {
public Stack() {
}
}
The scenario can then be written out as follows:
given "an empty stack",{
stack = new Stack()
}
when "null is pushed", {
pushnull = {
stack.push(null)
}
}
then "an exception should be thrown", {
ensureThrows(RuntimeException){
pushnull()
}
}
and "then the stack should still be empty", {
stack.empty.shouldBe true
}
Note how multiple then
s were used; plus, see the when
clause? A closure is created to essentially capture the intended behavior, which will be exercised in the first then
. As you can infer, the ensureThrows
method take two parameters-- an exception type and a closure to invoke. Logically, we expect that the call to push
with null
will yield a RuntimeException
. The second then
clause then ensures that the stack is still empty.
Of course, executing this story will yield some errors-- as you can see below, the isEmpty
method isn't defined yet! What about the push
call as well? It turns out that an exception was generated as a result of that invocation; however, the framework caught it (because it was looking for a RuntimeException
, which apparently groovy.lang.MissingMethodException
is a subclass of).
1) Specification the stack should still be empty:
groovy.lang.MissingMethodException: No signature of method: \
io.easyb.bdd.stack.Stack.isEmpty() is applicable for \
argument types: () values: {}
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:572)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:450)
Accordingly, the stack needs an isEmpty
method defined.
public boolean isEmpty(){
return true;
}
The stack still needs a push
method too.
public void push(E value){
throw new RuntimeException();
}
Running this story now works out nicely.
Empty pops
The stack isn't finished yet-- in fact, as coded, it only works to make a story succeed. BDD, however, is an excellent mechanism for collaboration between stakeholders and development; as such, it makes sense to delay writing the actual implementation as long as possible and instead focus on behavior.
Therefore, the next behavior of a stack could be:
given an empty stack, when pop
is called an exception should be thrown and the stack should still be empty
Coding this scenario in easyb is easy too-- just add it to the existing story! It looks quite familiar, right?
given "an empty stack",{
stack = new Stack()
}
when "pop is called", {
popnull = {
stack.pop()
}
}
then "an exception should be thrown", {
ensureThrows(RuntimeException){
popnull()
}
}
and "then the stack should still be empty", {
stack.empty.shouldBe true
}
Running the story now yields another issue-- the pop
method isn't defined.
public E pop(){
throw new RuntimeException();
}
Now things work and the story has two scenarios.
Push and pop working together
Moving on, another behavior relates to the logical behavior of push
and pop
working together:
given a stack with onepush
ed value, whenpop
is called that object should be returned and the stack should be empty.
Things are looking easy, eh?
given "an empty stack with one pushed value",{
stack = new Stack()
pushVal = "foo"
stack.push(pushVal)
}
when "pop is called", {
popVal = stack.pop()
}
then "that object should be returned", {
popVal.shouldBe pushVal
}
and "then the stack should be empty", {
stack.empty.shouldBe true
}
In the above code, a value is push
ed and then pop
ped and the values are compared for equality. Things don't work, however. The push
method is defined to throw an exception so the scenario fails.
....There was an error running the script
java.lang.RuntimeException
at io.easyb.bdd.stack.Stack.push(Stack.java:10)
at gjdk.org.bdd.story.stack.Stack_GroovyReflector.invoke(Unknown Source)
Time to code a real pop
method! Oh yeah, and a push
one as well.
public class Stack<E> {
private ArrayList<E> list;
public Stack() {
this.list = new ArrayList<E>();
}
public void push(E value) {
if (value == null) {
throw new RuntimeException("Can't push null");
} else {
this.list.add(value);
}
}
public boolean isEmpty() {
return true;
}
public E pop() {
if (this.list.size() > 0) {
return this.list.remove(this.list.size() - 1);
} else {
throw new RuntimeException("Nothing to pop");
}
}
}
Now the story is starting to work again!
6 behavior steps run successfully
Coding isEmpty
It seems the isEmpty
method is still hardcoded, which leads to another behavior:
given a stack with any pushed values,isEmpty
should returnfalse
.
This scenario is even easier to code with easyb-- in fact, you can forget the when
clause all together (if you want).
given "an empty stack with one pushed value",{
stack = new Stack()
stack.push("bar")
}
then "the stack should not be empty", {
stack.empty.shouldBe false
}
The empty test fails of course.
......F
Time: 0.92s
Failures: 1.
1) Specification the stack should be empty:
VerificationException: Expected:
equal to [false]
but got:
true:
Coding it in Java is easy.
public boolean isEmpty() {
return this.list.isEmpty();
}
The meat of a stack
The meat of a stack is the behavior of push
and pop
called multiple times; accordingly
given a stack with two values, whenpop
is called the last itempush
ed should be returned.
given "a stack with two values",{
stack = new Stack()
push1 = "foo"
push2 = "bar"
stack.push(push1)
stack.push(push2)
}
when "pop is called", {
popVal = stack.pop()
}
then "the last item pushed should be returned", {
popVal.shouldBe push2
}
and "then the stack should not be empty", {
stack.empty.shouldBe false
}
Things read nicely don't they? Don't forget, this scenario is in one file containing the entire story.
Peek's behavior
The peek
method is commonly found on stacks, as such:
given a stack containing items, whenpeek
is called, it should provide the value of the most recentpush
ed value; however, that value should remain in the stack.
given "a stack containing an item",{
stack = new Stack()
push1 = "foo"
stack.push(push1)
}
when "peek is called", {
peeked = stack.peek()
}
then "it should provide the value of the most recent pushed value", {
peeked.shouldEqual "foo"
}
and "then the stack should not be empty", {
stack.empty.shouldBe false
}
and "then calling pop should also return the peeked value", {
def popped = stack.pop()
popped.shouldBe(push1)
and
popped.shouldBe(peeked)
}
and "then the stack should be empty", {
stack.empty.shouldBe true
}
This scenario is fairly detailed and long; however, the point is valid-- you can use as many then
s as you need.
Oh yeah, peek
wasn't ever coded.
.........There was an error running the script
groovy.lang.MissingMethodException: No signature of method:
io.easyb.bdd.stack.Stack.peek() is applicable for
argument types: () values: {}
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:572)
Coding peek takes a New York second.
public E peek() {
if(this.list.size() > 0){
return this.list.get(this.list.size()-1);
}else{
return null;
}
}
Time to run the entire story!
13 behavior steps run successfully
In this tutorial, a stack was created by driving development with BDD. In essence, easyb was used to tell the story of a stack-- as things failed, the proper behavior was coded. Scenarios were written in literate form via easyb's constructs and they all aggregated up to create a story that lives as executable documentation for the object being verified.
Wow, aren't things easy with easyb?


Thoughts needed: Recipes
So, as you know, at KKC we’re fairly opposed to recipes in any way, shape or form.
But I’ve been thinking about the things recently, and I’m starting to come to the conclusion that there are times and places for such things.
For example, I’d argue that there’s no bloody point whatsoever in any chilli recipe that’s less well tested than Heston Blumenthal’s “Perfect” one. You’re better off understanding the components of chilli (the mince, the vegetables, the chillis themselves, the accompaniment, the beans) and then you can produce not just one chilli, but whatever chilli you like.
A light, firey one with a single bhut joloka and turkey mince. A Texas-style one with cornbread and no beans. A heavy, satisfying beef-based chilli with chopped beef and gentle fire from normal red chillis and some peppers. There are infinite chillis.
 And if you’re wanting to produce really amazing food beyond your own level, about the only way to do it is to follow a really great chef’s recipe to the letter, as I’ve done several times with both Heston Blumenthal and Thomas Keller’s work. There’s no way I could improvise something that stunning in a million years.
But then there are middle ground elements. Thai curry pastes, for example. Are you better with a recipe or an understanding? When I came to write this post, I was all prepared to say “look, you need a recipe for a thai curry paste”, but now I’m wondering. I don’t understand the ingredients enough, but maybe if I did I could improvise my own to do whatever I wanted at the time.
When do you think you need a recipe? And when are you better to have understanding and flexibility?


#include "ncd.h"
#include "bitset.h"
Go to the source code of this file.
|
| double | get_time (void) |
| | Favor the BSD style UDP & IP headers. More...
|
| |
| int | init_detection () |
| | init_detection(): initializes global variables for use in detection. More...
|
| |
| int | detect () |
| | Determines if compression occurs along the current transmission path to host by sending data to a remote location. More...
|
| |
| int | measure () |
| | Sends and measures a single data train, setup and called from comp_det() More...
|
| |
| void | mkipv4 (void *buff, u_int16_t size, u_int8_t proto) |
| | Formats an ipv4 header beginning at buff of length size. More...
|
| |
| void | setup_syn_packet (void *buff, u_int16_t port) |
| | Sets up a single syn packet for use in tcp_send. More...
|
| |
| void | setup_syn_packets () |
| | Sets up syn packets for use in tcp_send. More...
|
| |
| int | setup_tcp_train (char **buff, int fill) |
| | sets up an array of TCP packets located at buff. More...
|
| |
| int | setup_tcp_packets () |
| | sets up arrays of TCP packets. More...
|
| |
| void | mkicmpv4 (void *buff, size_t datalen) |
| | Formats an ICMP packet beginning at buff with a payload of length datalen. More...
|
| |
| void * | send_udp (void *status) |
| | Sends the UDP data train with leading and trailing ICMP messages. More...
|
| |
| void * | send_tcp (void *status) |
| | Sends a tcp data train with leading and trailing ICMP messages. More...
|
| |
| void | fill_data (void *buff, size_t size) |
| | Fills the data portion of a packet with size bytes data from a file (char* file) More...
|
| |
| void * | recv4 (void *t) |
| | Receives ICMP responses from end host and records times. More...
|
| |
| u_int16_t | ip_checksum (void *vdata, size_t length) |
| | Calculates the ip cheksum for some buffer of size length. More...
|
| |
| void | print_use (char *program_name) |
| |
| int | check_args (int argc, char *argv[]) |
| | Checks arguments given on command line and stores values in global variables. More...
|
| |
- Author
- : Paul Kirth
Definition in file ncd.c.
| int check_args |
( |
int |
argc, |
|
|
char * |
argv[] |
|
) |
| |
Checks arguments given on command line and stores values in global variables.
- Parameters
-
| argc | number of command line args |
| argv | array of commandline args |
- Returns
- Returns an integer value for success(0), failure(1), or error(-1)
Definition at line 941 of file ncd.c.
Determines if compression occurs along the current transmission path to host by sending data to a remote location.
Determines if compression occurs along the current transmission path to host by sending data to a remote location. Two data trains are sent each with leading and trailing ICMP timestamp messages The first data train will be low entropy data, to encourage compression the second train will have high entropy data, which should not be compressed if the times are significantly different, we have reasonable evidence compression exists along this path.
- Returns
- Returns an integer value for success(0), failure(1), or error(-1)
Definition at line 218 of file ncd.c.
| void fill_data |
( |
void * |
buff, |
|
|
size_t |
size |
|
) |
| |
Fills the data portion of a packet with size bytes data from a file (char* file)
- Parameters
-
| [out] | buff | Address of the starting location for the data to be filled |
| [in] | size | The length of the data region to be filled |
Definition at line 703 of file ncd.c.
Favor the BSD style UDP & IP headers.
@ brief Returns current time as double, with most possible precision
- Returns
- Returns current time as double, with most possible precision.
Definition at line 41 of file ncd.c.
init_detection(): initializes global variables for use in detection.
- Returns
- Returns an integer value for success(0), failure(1), or error(-1)
Definition at line 50 of file ncd.c.
| u_int16_t ip_checksum |
( |
void * |
vdata, |
|
|
size_t |
length |
|
) |
| |
Calculates the ip cheksum for some buffer of size length.
- Parameters
-
| vdata | a pointer to the buffer to be checksummed |
| length | the length in bytes of the data to be checksummed |
- Returns
- the IP checksum of the buffer
Definition at line 874 of file ncd.c.
Sends and measures a single data train, setup and called from comp_det()
Sends and measures a single data train, setup and called from comp_det(). It does most of the work in NCD, by sending a single data train and taking all relevant measurements.
- Returns
- Returns an integer value for success(0), failure(1), or error(-1)
Definition at line 288 of file ncd.c.
| void mkicmpv4 |
( |
void * |
buff, |
|
|
size_t |
datalen |
|
) |
| |
Formats an ICMP packet beginning at buff with a payload of length datalen.
- Parameters
-
| buff | Address of the starting location for the ICMP packet |
| datalen | The length of the ICMP payload |
Definition at line 541 of file ncd.c.
| void mkipv4 |
( |
void * |
buff, |
|
|
u_int16_t |
size, |
|
|
u_int8_t |
proto |
|
) |
| |
Formats an ipv4 header beginning at buff of length size.
- Parameters
-
| buff | Address of the starting location for the IP packet |
| size | The length of the IP packet |
| proto | The 8-bit protocol |
Definition at line 404 of file ncd.c.
| void print_use |
( |
char * |
program_name | ) |
|
Receives ICMP responses from end host and records times.
- Parameters
-
| [out] | t | Pointer to a double. Returns the time in ms between head echo response and first processed tail echo response to a resolution of microseconds (10^-6 sec) * |
Definition at line 722 of file ncd.c.
| void* send_tcp |
( |
void * |
status | ) |
|
Sends a tcp data train with leading and trailing ICMP messages.
- Parameters
-
| [out] | status | returns the status/return code |
Definition at line 626 of file ncd.c.
| void* send_udp |
( |
void * |
status | ) |
|
Sends the UDP data train with leading and trailing ICMP messages.
- Parameters
-
| [out] | status | returns the status/return code |
Definition at line 569 of file ncd.c.
| void setup_syn_packet |
( |
void * |
buff, |
|
|
u_int16_t |
port |
|
) |
| |
Sets up a single syn packet for use in tcp_send.
- Parameters
-
| buff | address of tcp header start for syn packet |
| port | the source port the syn packet should use. |
Definition at line 426 of file ncd.c.
| void setup_syn_packets |
( |
| ) |
|
Sets up syn packets for use in tcp_send.
Definition at line 455 of file ncd.c.
| int setup_tcp_packets |
( |
| ) |
|
sets up arrays of TCP packets.
Can be extended to UDP if necessary
- Returns
- Returns an integer value for success(0), failure(1), or error(-1)
Definition at line 526 of file ncd.c.
| int setup_tcp_train |
( |
char ** |
buff, |
|
|
int |
fill |
|
) |
| |
sets up an array of TCP packets located at buff.
Can be extended to UDP if necessary
- Parameters
-
| buff | the starting location of the packet train |
| fill | a boolean value to fill the packets from file |
- Returns
- Returns an integer value for success(0), failure(1), or error(-1)
Definition at line 461 of file ncd.c.
Definition at line 19 of file ncd.c.
| struct in_addr destip = {0} |
Definition at line 33 of file ncd.c.
Definition at line 11 of file ncd.c.
Definition at line 12 of file ncd.c.
Definition at line 16 of file ncd.c.
| char icmp_send[128] = {0} |
Definition at line 28 of file ncd.c.
Definition at line 15 of file ncd.c.
| const int num_threads = 2 |
Definition at line 18 of file ncd.c.
Definition at line 31 of file ncd.c.
| char packet_rcv[1500] = {0} |
Definition at line 24 of file ncd.c.
| char packet_send[SIZE] = {0} |
Definition at line 25 of file ncd.c.
Definition at line 9 of file ncd.c.
Definition at line 10 of file ncd.c.
| struct pseudo_header* ps = (struct pseudo_header*)pseudo |
Definition at line 30 of file ncd.c.
Definition at line 23 of file ncd.c.
| void*(* recv_data)(void *) = NULL |
Definition at line 37 of file ncd.c.
| struct addrinfo* res = NULL |
Definition at line 36 of file ncd.c.
Definition at line 34 of file ncd.c.
Definition at line 21 of file ncd.c.
| void*(* send_train)(void *) = NULL |
Definition at line 38 of file ncd.c.
| struct sockaddr_in srcaddrs = {0} |
Definition at line 32 of file ncd.c.
| char syn_packet_1[20] = {0} |
Definition at line 26 of file ncd.c.
| char syn_packet_2[20] = {0} |
Definition at line 27 of file ncd.c.
Definition at line 20 of file ncd.c.
Definition at line 17 of file ncd.c.


http://www.susangranger.com/
Susan Granger's review of "PEARL HARBOR" (Disney/Touchstone Pictures)
It's a glossy, three-hour, epic love story about the loss of innocence, set around the tragedy of "the day which will live in infamy," according to President Franklin Delano Roosevelt (Jon Voight). And at $140+ million, it's also the most expensive movie ever made. So, is it a patriotic blockbuster? Yes. Is it an Oscar-contender, like "Titanic," its obvious inspiration? No.
Written by Randall Wallace ("Braveheart"), directed by Michael Bay ("Armageddon") and produced by Jerry Bruckheimer, "Pearl Harbor" delivers primarily in the violent, realistic action sequences: the Japanese sneak attack on the U.S. fleet on the fateful morning of December 7, 1941. Planes swoop in. Bombs explode. Battleships sink. Machine guns fire.
The two-pilots-and-a-Navy nurse love story fares less well. Ben Affleck and Josh Hartnett are boyhood pals who fall in love with the same woman, Kate Beckinsale. Affleck meets her at an Army induction center, where she inoculates his bare rump - twice. Romance ignites and blazes until his plane is shot down in the Battle of Britain. In Hawaii, Hartnett, delivers the news to Beckinsale and soon they find passion under the parachutes in an airfield hangar. But Affleck's not dead, and Beckinsale's pregnant. If it sounds trite, sappy and prosaic, it is. Without high drama or sentimentality, there's an emotional detachment, and it takes Col. James Doolittle's (Alec Baldwin) Tokyo raid, four months later, to resolve their destiny. But Cuba Gooding Jr is charismatic as cook who shot down Japanese Zeros and was the first African-American awarded the Navy Cross; too bad his part is so truncated. On the Granger Movie Gauge of 1 to 10, "Pearl Harbor" is an stunning, explosive 6. It's a contrived, commercial war movie. If you want accurate history, rent "Tora, Tora, Tora."
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


Leaderboard
{{#jugglersExist}}
Rank
Name
Score
{{#jugglers}}
{{userRank}}
{{name}}
{{score}}
{{/jugglers}}
{{/jugglersExist}} {{^jugglersExist}}
There are no jugglers to rank.
{{/jugglersExist}}


The program works in transmitting HTML files.
Click here to go back to the text-only HTML.
Click here to go to the text file pulled via FTP. Click here for a non-existant file.


Fecha_Creacion: 2017-11-10T13:06:38.182Z
Dimension: unknown
Id_Locacion: 2
Nombre: Abadango
Residentes: ['https://rickandmortyapi.com/api/character/6']
Tipo: Cluster
URL: https://rickandmortyapi.com/api/location/2


The National Catering Exhibition Centre. This site is live, but it is still an ongoing project. There's a lot of features and pages left to be added. I designed and developed this site while at Nisbets.
Go to siteYugen Clothing is a side business of mine that specialises in selling organic and ethical clothing. The site is built on Wordpress. Designed and developed by myself, it's a fully functional e-commerce website.
Go to siteBuffalo is a very well-known, international catering appliances brand. The site is built on Magento. I designed and developed the site on the front end. I'm really proud of the carousel, it took a lot of tweaking.
Go to siteThis is an old project of mine, which essentially uses a Google Sheet (spreadsheet) as a back end, using an API, tabletop.js. Some of the code is horrible, but it was a 24 hour project, although now I would tell myself that there's no excuse. One day I will revisit it and refactor the code.
Go to siteHome Chef is the domestic arm of the Nisbets website, which I designed and front end developed. The site had to built into the Nisbets site, so I had to come up with a way for users to be eased onto the different site without it being too jarring. That's when I made a redirect modal to help this process.
Go to site


The perturbed distribution function δF given in Eq. (145) contains two terms. The ﬁrst term is gyro-phase dependent while the second term is gyro-phase independent. The perpendicular velocity moment of the second term will give rise to the so-called diamagnetic ﬂow. For this case, it is crucial to distinguish between the distribution function in terms of the guiding-center variables, fg(X,v), and that in terms of the particle variables, fp(x,v). In terms of these denotations, equation (145) is written as
|
| (272) |
Next, consider the perpendicular ﬂow U⊥ carried by δfg. This ﬂow is deﬁned by the corresponding distribution function in terms of the particle variables, δfp, via,
|
| (273) |
where n is the number density deﬁned by n = ∫ δfpdv. Using the relation between the particle distribution function and guiding-center distribution function, equation (273) is written as
|
| (274) |
Using the Taylor expansion near x, δfg(x −ρ,v) can be approximated as
|
| (275) |
Plugging this expression into Eq. (274), we obtain
|
| (276) |
As mentioned above, δfg(x,v) is independent of the gyro-angle α. It is obvious that the ﬁrst integration is zero and thus Eq. (276) is reduced to
|
| (277) |
Using the deﬁnition ρ = −v × e∥∕Ω, the above equation is written
where H = ×∇δfg(x,v), which is independent of the gyro-angle α because both e∥(x)∕Ω(x) and δfg(x,v) are independent of α. Next, we try to perform the integration over α in Eq. (278). In terms of velocity space cylindrical coordinates (v∥,v⊥,α), v⊥ is written as|
| (279) |
where and are two arbitrary unit vectors perpendicular each other and both perpendicular to B0(x). H can be written as
|
| (280) |
where Hx and Hy are independent of α. Using these in Eq. (278), we obtain


...
...
Previous
Next
Astoundify Barbershop
67 Mowat Avenue
Toronto
,
Ontario
Beauty & Spas
Barbershop
4
Reviews
15 Favorites
Share
Submit a Review
Write a review
Quality
Quality
Quality
Email address
Password
Website
Comment
Submit


There's a range of web development trainees currently recruited by us, precisely selected based on their skills, experience and qualifications. We have listed their profiles, enabling you to gain some background knowledge about them and know who you may potnetially be working alongside, before you decide to join.
Janet Rhodes
Janet is a new trainee, currently working as a front-end developer at our comapany. After taking up a web development course through W3Schools, Janet's now an ace at creating effective websites, using HTML, CSS and JavaScript.
Samuel Keith
Samuel is working towards becoming a senior front-end developer at our comapany. All the front-end work associated with creating websites, using HTML, CSS and JavaScript is soon going to be handled by Samuel for ensuring effective web coding and enhanced UX.
Raj Patel
Raj is a back-end web developer trainee, focusing on the responsiveness and speed of websites. He is brushing his skills in languages, such as PHP, Ruby, Java and Python.
Annie Hardy
Annie has been a trainee at our company since 2 months and is mostly engaged with honing her skills in UI, to create effective visual website designs.
Charlie Cole
Charlie joined us 6 months ago. Along with creating websites through HTML, CSS and JavaScript, he is also well versed with how to manage communication amongst databases, servers and browsers, via the use of programming languages, such as Python, Ruby and Java.
Dean Seares
Dean's been a trainee for 8 months. Having experienced back-end web development in the company, he is now mainly dedicated on the UX aspect. His core roles invovle analysizing, testing and debugging code to ensure that sites operate correctly and in accodance with the potential users.
Web Development Recruitment Agency based in Reading, Berkshire.
Hotbeans ©2018. All Rights Reversed


Notes on Spanish functionality¶
Syllabification¶
I was able to develop a syllable counter for Spanish in a more straightforward manner than was the case for English. Spanish follows regular rules for syllabification. I count runs of vowels and then adjust for those runs that form two vowel sounds. After counting vowels of several hundred frequent words in a small Spanish corpus, I had someone fluent in Spanish check the counts and she found that they were all correct. The counter may not be perfect but it is good enough and quite a bit better than the English syllable counter.
My code is based on:
Humphries, Glenn: Syllabification: The Division of Words into Syllables. http://glenn.humphries.com/Notebook/toc.htm
But this page is no longer available.
This Web page is also referenced in:
Cuayáhuitl, Heriberto: A Syllabification Algorithm for Spanish, in Computational Linguistics and Intelligent Text Processing, 5th International Conference, CICLing 2004 Seoul, Korea, February 15-21, 2004 Proceedings, published as Lecture Notes in Computer Science (LNCS) vol. 2945 (Springer), pp. 412-415.
As of this writing, it can be found at https://pdfs.semanticscholar.org/51a1/5db989f4b62a2beb725d71e5db2d210d6141.pdf, or you can read it via the “preview” at https://link.springer.com/chapter/10.1007%2F978-3-540-24630-5_49.
This is a more formal description of a Spanish syllabification algorithm that is based on that in the no-longer-existing page. I have not compared it with the Humphries Web page or attempted to implement it.
Tokenization and sentence boundary detection¶
I use the same code for tokenization and sentence boundary detection for both English and Spanish.
Spanish readability measures¶
The study of readability or legibility measures for Spanish apparently began with the 1959 paper of Jose Fernández Huerta, “Medidas sencillas de lecturabilidad” (“Simple Measures of Readability”), Consigna 214, 29-32. Huerta adapted Flesch’s formula by slightly changing the coefficients, and his formula was the most often used method of evaluating readability of Spanish text for many years.
But there are serious problems with Huerta’s formula. In 2007, Inés Mª Barrio Cantalejo produced her PhD thesis, “Legibilidad y salud: los métodos de medición de la legibilidad y su aplicación al diseño de folletos educativos sobre salud”, in which she criticized Huerta’s approach for not explaining his methodology for adjusting Flesch’s formula and for not validating his table showing what scores correspond to what difficulty levels. A more severe problem was noticed by Gwillim Law (see https://linguistlist.org/issues/22/22-2332.html), who observed that Huerta inverted the meaning of one of the terms of Flesch’s formula. Huerta cited the F term in Flesch, which is words per sentence, as sentences per 100 words. This completely changes the direction of the readability score, from more words per sentence causing a lower readability to more words per sentence causing a higher readability, which is intuitively wrong. Huerta also took liberties with the original Flesch values, rounding the original 206.835, 0.846, and 1.015 to 206.84, 0.85, and 1.02 respectively, but this is a minor change compared to inverting the meaning of the last term. (One may also wonder whether there was ever any value of using terms precise to six significant figures, or five figures as in the SMOG index formula, when the resulting readability value can only be a rough guide in any case.)
So in addition to the Huerta_ease()
method, I have also included Huerta_corrected()
which uses 1.02 words per sentence in place of 102 sentences per word (same as 1.02 sentences per 100 words).
Barrio Cantalejo’s thesis strongly supports the use (in place of Huerta) of the work of Francisco Szigriszt Pazos, who attempted to produce adjustments to Flesch’s formula in a more scientific (rigorous?) manner. Szigrist’s “Perspicuity Formula” is 206.835 - 62.3 syllables/word - words/sentence. This is referred to by Barrio Cantelejo as Formula de Perspicuidad (Clarity Formula) or Indice de Legibilidad de Flesch-Szigriszt (IFSZ, Flesch-Szigriszt Readability Index). We implement this as the IFSZ_index() method in Readability().
Barrio Cantalejo’s thesis also provides a difficulty scale she refers to as Inflesz Scale Grade (Grado en la escala INFLESZ). The scale has five difficulty grades based on the IFSZ index: < 40 very difficult; 40-55 difficult; 55-65 difficult; 65-80 quite easy; > 80 very easy. It is unclear which category borderline values 55 and 65 fall in. I have implemented the Inflesz_scale() method as:
n = self.IFSZ_index()
if n < 40:
return 'very difficult'
elif n <= 55:
return 'somehwat difficult'
elif n <= 65:
return 'normal'
elif n <= 80:
return 'quite easy'
else:
return 'very easy'


JURASSIC PARK (Universal Pictures / Amblin Entertainment)
Certification: PG-13 Genre: Action/Science fiction Cast: Sam Neill, Laura Dern, Jeff Goldblum, Richard Attenborough, Bob Peck. Directed by Steven Spielberg
My personal rating: 5 out of 6
JURASSIC PARK captured the world when it came. For the first time, truly realistic dinosaurs had been created and shown on the screen. Although the dinosaurs in THE LOST WORLD were even more realistic, the sequel suffers from too much stupidity, but we will come back to that in another review.
JURASSIC PARK does work. It does the same for dinosaurs that STAR WARS did for space-fantasy. We begin with a "teaser" that does nothing more than establish the fact we already have guessed: there are live dinosaurs on the earth now. The question is just how and where. An eccentric millionaire, John Hammond (Attenborough), has created an amusement park on an island not far from Costa Rica, and the attractions there are to die for, as we shall see. He needs a couple of experts to endorse the park in order to please the authorities so that he can complete and open the park for the public. Doctors Grant, Sattler and Malcolm (Neill, Dern, Goldblum) are taken to the island to spend some days there and investigate the possibility for an amusement park where the attractions are ... live dinosaurs, recreated from DNA found in mosquito fossils. Unfortunately, one of the employees attempts to steal dinosaur DNA from the lab and sell them. By doing this, he causes the park system to break down and the dinosaurs are able to break out, especially the nasty carnivores, Tyrannosaurus Rex and Velociraptor. Now there is Man against Nature in an astonishing action adventure that causes adrenalin rushes all the way to the end.
One interesting aspect about the movie, is the low age recommended to watch it. Actually, JURASSIC PARK is a horror movie, but Spielberg probably did what he could to make it a grown children's movie. I haven't read Michael Crichton's novel upon which the movie was based, but I would expect it to contain more actual science than the movie. There are certain scientific goofs in JURASSIC PARK, and I wonder if Crichton was aware of this.
JURASSIC PARK should NOT have been followed by a sequel (no matter if the novel was there). Spielberg ruined the "awesome dinosaur image" by attempting to make them twice as heavy and so on. But JURASSIC PARK is in its own right a great movie with marvelous special effects (at least in 1993), and the screenplay by Crichton and Koepp is quite good. There does seem to be some holes in it, however, and you probably shouldn't attempt to think too much about continuity and understanding of the entire story. Just relax (which is impossible in the long run) and enjoy JURASSIC PARK as an action/science fiction movie. Perceived that way, JURASSIC PARK works best. If you are into the science, read the novel.
Reviewed by Stian M. Landgaard, April 12th, 1998
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


Last Call: Food Waste App
Problem
Food waste is a serious problem in Canada -
approximately 40% of food grown yearly in Canada is thrown in the trash. A significant contributor to food waste is the food service industry. Restaurants, bakeries, and other food retailers find themselves throwing out perfectly good food at the end of the workday. After all, few customers are eager to buy old food. Or is that true? My solution to food waste in the food service industry is Last Call, an app that connects restaurants with surplus food at a discount to customers who are glad to eat what would have gone to waste. Restaurants can profit from what would’ve gone to the landfill, customers can enjoy good food at a bargain, and food waste from industry is minimized.
Research
To delve into the problem of food waste, I began with a few articles from the CBC and the Globe and Mail. However, what was most helpful in my understanding of food waste was
Characterization and Management of Food Loss and Waste in North America, a report by the Council for Environmental Cooperation that explains the difference between food loss and waste, the various causes of food loss and waste, and opportunities for resolution. The report mentions the idea of a secondary market for the surplus of food found in the hospitality industry. In the non-profit sector in Canada, a well-known example is
Second Harvest.
One of the top opportunities for managing food waste from the Council for Environmental Cooperation report
However, my biggest inspiration was
Olio, an app that enables restaurants to sell surplus food in the UK. Europe is quite far ahead in this problem space -
Karma and
ResQ Club are apps quite similar to the solution I came up with. There is no reason that the secondary market cannot be profitable as well. However, I was unable to find any active apps that operated on this concept. Thus, I decided to create Last Call as Canada’s answer to a secondary market for surplus food from restaurants, bakeries, and cafes.
Similar apps that tackle food waste
Process
I conducted exploratory user interviews with two women and two men ranging from 18-26. During these semi-structured interviews, I focused on asking what their current meal habits are (meal prep, takeout, etc.) and what impact environmental concerns have on their behaviours (recycling, meatless diets, etc.). The most insightful feedback from these interviews was that everyone wanted to do better for the environment but habits like recycling were more actionable because they were easily accessible and convenient.
One of our interviewees noted that, “In a perfect world, I would only eat organic and zero waste and bike everywhere but that’s not reality - or mine anyway.” An app that seeks to have an environmental impact cannot bank on this impact alone - time and money are also extremely important constraints. I created personas from these interviews.
A persona that's quite relatable to any student
With these insights, I created a customer journey map for the personas. This captured necessary steps in the user flow, as well as where potential pain points and opportunities to delight users could appear. I used lo-fi paper prototypes to test with the people I had previously interviewed. With this extremely basic design, users gave important feedback about having multiple ways to categorize (searching through categories or keywords) as well as clearly marking the location of businesses in the app.
A customer journey map based on interview insights
Design
As a result of my research and prototyping, the features I chose to focus on were searching/browsing, ordering, and user profile. These are core features that need to be designed effectively in order for the user to continue using the product. Another feature I included was a footprint, which tracks things like meals saved, carbon dioxide, and money saved. I thought it was a way for users to celebrate their environmental impact while encouraging their continued use of the product.
The search, place order, and order confirmation screens
Thank you for reading!


val a : int
Full name: Sample.a
val factorial : x:int -> int
Full name: Sample.factorial
val x : int
Multiple items
module List
from Microsoft.FSharp.Collections
--------------------
type List<'T> =
| ( [] )
| ( :: ) of Head: 'T * Tail: 'T list
interface IEnumerable
interface IEnumerable<'T>
member Head : 'T
member IsEmpty : bool
member Item : index:int -> 'T with get
member Length : int
member Tail : 'T list
static member Cons : head:'T * tail:'T list -> 'T list
static member Empty : 'T list
Full name: Microsoft.FSharp.Collections.List<_>
val reduce : reduction:('T -> 'T -> 'T) -> list:'T list -> 'T
Full name: Microsoft.FSharp.Collections.List.reduce
val c : int
Full name: Sample.c
Multiple items
type MeasureAttribute =
inherit Attribute
new : unit -> MeasureAttribute
Full name: Microsoft.FSharp.Core.MeasureAttribute
--------------------
new : unit -> MeasureAttribute
[<Measure>]
type sqft
Full name: Sample.sqft
[<Measure>]
type dollar
Full name: Sample.dollar
val sizes : int<sqft> []
Full name: Sample.sizes
val prices : int<dollar> []
Full name: Sample.prices
Reveal.js
- A framework for easily creating beautiful presentations using HTML.
Atwood's Law: any application that can be written in JavaScript, will eventually be written in JavaScript.
FSharp.Formatting
- F# tools for generating documentation (Markdown processor and F# code formatter).
- It parses markdown and F# script file and generates HTML or PDF.
- Code syntax highlighting support.
- It also evaluates your F# code and produce tooltips.
Syntax Highlighting
F# (with tooltips)
1:
2:
3:
|
let a = 5
let factorial x = [1..x] |> List.reduce (*)
let c = factorial a
|
c
is evaluated for you
More F#
1:
2:
3:
4:
|
[<Measure>] type sqft
[<Measure>] type dollar
let sizes = [|1700<sqft>;2100<sqft>;1900<sqft>;1300<sqft>|]
let prices = [|53000<dollar>;44000<dollar>;59000<dollar>;82000<dollar>|]
|
prices.[0]/sizes.[0]
C#
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
|
using System;
class Program
{
static void Main()
{
Console.WriteLine("Hello, world!");
}
}
|
JavaScript
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
|
function copyWithEvaluation(iElem, elem) {
return function (obj) {
var newObj = {};
for (var p in obj) {
var v = obj[p];
if (typeof v === "function") {
v = v(iElem, elem);
}
newObj[p] = v;
}
if (!newObj.exactTiming) {
newObj.delay += exports._libraryDelay;
}
return newObj;
};
}
|
Haskell
1:
2:
3:
4:
5:
6:
7:
8:
9:
|
recur_count k = 1 : 1 : zipWith recurAdd (recur_count k) (tail (recur_count k))
where recurAdd x y = k * x + y
main = do
argv <- getArgs
inputFile <- openFile (head argv) ReadMode
line <- hGetLine inputFile
let [n,k] = map read (words line)
printf "%d\n" ((recur_count k) !! (n-1))
|
code from NashFP/rosalind
SQL
1:
2:
3:
4:
|
select *
from
(select 1 as Id union all select 2 union all select 3) as X
where Id in (@Ids1, @Ids2, @Ids3)
|
sql from Dapper
Bayes' Rule in LaTeX
\(\Pr(A|B)=\frac{\Pr(B|A)\Pr(A)}{\Pr(B|A)\Pr(A)+\Pr(B|\neg A)\Pr(\neg A)}\)


STRANGE DAYS A film review by Ben Hoffman Copyright 1995 Ben Hoffman
We are now into computer movies. Suddenly, chips and virtual reality have hit Hollywood. We can expect more of the same and even wilder films involving more than the present state of the art; the state of a screenwriter's imagination.
STRANGE DAYS hinges on a chip (they call it a "clip") which records what a person is seeing, or thinking, or experiencing. This is caught on a digital contraption known as "the wire." Put it on your head and you experience what the person did. Want to know what it is like to be a woman? A man puts the wire on his head and instantly experiences what one woman did, saw, experienced. Anything goes and it happens, where else, but in Los Angeles on December 31, 1999, incorrectly called the end of the Millennium. (The Millenium ends 12/21/2000.)
Lenny Nero (Ralph Fiennes, quite unrecognizable) is the most prolific seller of these clips. As he tells his customers, "This is not TV; this is real life you will be experiencing." And he has clips of every sort from sex to murder. This is the drug that has replaced the old heroin.
This would all be fine for those into this new genre but the film gets bogged down in murder and the story gets wilder and wilder. The sound track, from beginning to end, is the loudest, most annoying noise of any film I can think of.
Helping Lenny in one way or another are MACE (Angela Bassett) who is a friend. She drives an armor-proof limousine as she chauffeurs the wealthy and powerful around town. MACE, in her way, loves Lenny but Lenny loves Faith (Juliette Lewis) who no longer loves him. Faith dances at night clubs and does a mean wiggle; she never looked that good before. Max (Tom Sizemore) is an ex-cop, a friend of Lenny. But stirring them around in this film leads only to eventual boredom. How about waiting for the videotape?
Directed by Kathryn Bigelow.
2 bytes 4 Bytes = Superb 3 Bytes = Too good to be missed. 2 Bytes = So so. 1 Byte = Save your money.
-- Ben Hoffman
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


TripIt Sample
Home
{{with .Result}}
Size: {{.NumBytes}} bytes
Timestamp: {{.Timestamp}}
{{end}}
{{.JSON}}