Theme: {{routeResult.finishedRoutes[0].theme}}
Reviews: {{routeResult.avgPoints}} points avg.
Thoughts & suggestions:


We are Chen-Yen Lai (賴承彥) and Yao-An Chan (詹堯安). We are here to share our life with our friends. We are currently living in Merced, CA USA.


Hi, How can I, with gecode 4.0.0, use a MaximizeSpace where the variable to maximize in s FloatVar. The problem is that the method cost() returns an IntVar. Thanks. -- Dr. Pascal Francq Belgium


This example shows how to use GeoExt.ux.SimplePrint to talk to the Mapfish print module, which also runs inside the GeoServer printing module.
The rectangle and handles on the map can be used to change center, scale and rotation. Dragging one of the handles will change the scale. Dragging the corner handles on their edges will rotate the extent, if supported by the layout. Holding the SHIFT key will constrain rotation to 45° steps.
Note that this example uses GET requests to communicate with the print servlet (provided by the OpenGeo demo server). This saves us a proxy, but has limitations (URL length in Internet Explorer, and character encoding issues). For production use, the POST method is recommended.
See SimplePrint.js for the source code.


--- layout: post title: no title date: '2014-06-19T23:03:23+02:00' tags: [] tumblr_url: http://deepredsky.tumblr.com/post/89274039589/for-the-brave-souls-who-get-this-far-you-are-the ---
For the brave souls who get this far: You are the chosen ones,
the valiant knights of programming who toil away, without rest,
fixing our most awful code.


First National Bank is a renowned and reputable banking institution based in South Africa.
The
marketing team responsible for their lending and Private Bankingconsultancy or FNB PBL (Private
Bank Lending) division needed an informative and internal communication strategy. This would
educate other marketing sectors within
the bank of an informative way of maximising communication and workflow delivery with the banks
Private clients. A female avatar or mascot was conceptualised but the team needed a visual
perspective of this. The Avatar concept was dubbed "Lending Lola".
The PBL team supplied me with an illustrated image of Lola. I had designed Informational
leaflets of how the Lending Lola process would function A static mailer as an email invitation,
a mock-up of and a Tinder post that would later be used as a pre-invite on Valentines Day prior
to the set event date.
This would maximise communication
and offered a creative targeting strategy. The use of their corporate identity was used, but was
not strictly applied as this was purely targeted to the banks internal staff.
An additional type
face was included to add a
playful visual element and likeness of the Lola
mascot.
The rollout of this new concept and unveiling of the Lending Lola launch was event driven, with the use of print media and the "Tinder like post". Drove the required market. And later was implemented as a internal staff training programme


// real hardware can currently not handle operations after measurements, which might
// happen if the circuit gets transpiled, hence we"re adding a safeguard-barrier
circuit.barrier()
circuit.measure(q[self.i_objective], c[0])
return circuit
circuit.add_register(c)
// add A operator
circuit.compose(self.state_preparation, inplace=True)
// add Q^k
if k != 0:
circuit.compose(self.grover_operator.power(k), inplace=True)


little energy auk wintering requirements winter auks prey Atlantic climate finmarchicus migration distribution model study North Ecol. change {border-style species daily density px;} #ffffff;} areas bird energyscapes figure Arctic migratory selection Biol. data high seabird spatial used animal breeding −. × − ± . × Northwest Porter Prog. birds modelled using Calanus Fort Mar. ecology energyscape habitat individual GLS Grémillet Labrador Little abundance doi:./j.-...x) ecological environmental locations population surface Greenland Newfoundland Niche Phillips Ser. current decrease doi:./journal.pone.) doi:./meps) food positions resource , = ., RSFs area changes concept heat higher low mean models px; range supplementary table warming zooplankton {font-family East January availability available climatic conditions continuous copepod different emission energetic file font-size future marine material, mechanistic month observed ocean plankton polar scenario seabirds (figures Alle Climate Figure Mathewson Polar Proc. Sci. core defined detailed double; evolution grounds impacts kernel projections seabirds. shift study, use (electronic . ± . Atlantic. Glob. November [], allow analysis animals approach border-color border-width calculated change. diet distributions energetics fields fitness function global highly implications individuals input local location modelling predicted relative seasonal solid; species, temperature temperatures understanding {font-style {font-weight (RCP Acad. Change Current Energyscapes February February, Finally, Indeed, LINK Mapper™ Material Newfoundland. S). Science Sea Supplementary Therefore, USA University Uria Wilson area, associated beneficial biomass body bold cold cost courier; does em; equipped estimated estimates given hotspot landscapes latitudes microclimate month. movement particular, particularly phytoplankton poleward position potential probability pt;} random rate represents sea sensitivity shape shelf spring studies survival target time time, timing took water year years ° N ° × ° −***


{% extends 'base.html' %} {% block content %} Result You can view your score below Home / Result Hello {{ request.user }} ! You scored a {{ temp_user_score }} %.


{% load i18n %} {% language newsletter_language %} {% trans "Hello" %} {{ name }},
{% trans "The Feowl team needs your help!" %}
{% trans "We want to know if you experienced powercuts in Douala yesterday." %}
{% trans "To help us,please connect to your" %} {% trans "profile page" %} {% trans "and click Contribute" %}
{% trans "Reminder: If you have lost your password, you can reset it using this link:" %} feowl.com
{% trans "Thank you for your contribution," %}
{% trans "See you soon," %}
{% trans "The Feowl team" %}
{% trans "You received this message because this email address was used to register to Feowl." %} {% trans "You can unsubscribe at anytime on this page." %}
{% endlanguage %}


We don't collect your data, period.
We physically can’t. We have nowhere to store it. We don’t even have a server database to store it. So even if Your Mom asked nicely to see your data, we wouldn’t have anything to show her.


{# layout_capest.html - the layout template used by capacity forecast pages #}
Datacenter Usage and Billing
Datacenter Usage and Billing
Filter:
Capacity Metrics
Go
Cost Reports
Host Map Reports
Budget Administration
{% block content %}{% endblock %}


Seed -> mnemonic
Seed:
mnemonic:
Encode this seed
Generate seed
mnemonic -> Seed
mnemonic:
Seed:
Decode
Generate mnemonic
jQuery UI input field for mnemonic
mnemonic:


Speech
Secretary of State for Education Nicky Morgan speaks at the American Enterprise Institute (AEI) on closing the skills gap.
Thank you so much Michael [McShane, Director of Education Policy Studies, AEI ] for that introduction, and it’s an absolute delight to be here today with the AEI to discuss this important subject.
Concern over the skills gap isn’t new, in fact it’s been a feature of political discourse for almost as long as I’ve been involved in politics (which is over 25 years for anyone interested).
But the need to address this gap has only grown over that time, particularly as other nations, outside of the west, are seeing their skills base and economies accelerate at an unprecedented rate.
Now more than ever we need to ensure that more of our young people are leaving education, not just with the skills to succeed in modern Britain, but to compete in an increasingly global economy.
That’s why the coalition government of which I’m a part has put addressing the skills gap at the heart of our plan for education.
Our efforts to do that have focused in 5 key areas:
So turning now to the first of those:
We all know that the STEM workforce is vital to growth and the economy. Our research base misses out when we are not drawing scientists and engineers from as wide a talent pool as possible, leading to a shortfall in the technology and engineering skills that our economy needs.
This shortfall starts at the pipeline of young people studying maths and physics at school and university.
The problem is that for too long, young people have been left with the misconception that STEM subjects only lead to a narrow set of careers, the sort of careers that involve you wandering round in a lab coat.
It’s now abundantly apparent that this misconception could hardly be further from the truth, with STEM subjects adding a significant salary premium and opening the doors to a wide range of different subjects outside what we’d traditionally regard as the sciences - careers ranging from the creative industries to law.
Now of course that’s not in any way to do down the arts subjects, as the angry masses on Twitter have been implying I’ve done over the past week. It doesn’t have to be an either/or between the arts and sciences.
But what we do know is that too few young people have traditionally been encouraged to study STEM subjects, and in particular too few young women.
As well as my role as Secretary of State for Education, I am also Minister for Women and Equalities, and with both of these hats, I think it’s a disgrace that in Britain:
And we all know these decisions by young women have started to impact on our wider economy. They’re the reason that:
The fact that too few young women go on to have careers in the sciences is also one of the causes of the UK ’s gender pay gap. I’m delighted that figures released just today show that the gap is now smaller than ever before. But one of the reasons that it persists at all is that those careers in the sciences, where women are underrepresented, pay on average 19% more than other careers.
To tackle this imbalance and get more young people, and in particular young women, studying the science subjects, we’ve launched a range of new initiatives.
The centrepiece of these is the Your Life campaign, supported by more than 200 of the UK ’s leading organisations from business, educators, civil society and government, to show how science and mathematics leads to exciting, successful careers.
This campaign has 3 key aims:
This programme will work alongside targeted schemes with industry groups such as the Royal Academy of Engineering and the Institute of Physics to target young people directly and to encourage them to study STEM subjects.
These initiatives operate on the fundamental principle that the government alone can’t address the deficit of young people studying STEM subjects. It has to be done in conjunction with the world of business and the world of academia. Only together can we present young people with an enticing and compelling vision of the opportunities that studying STEM subjects can bring.
But of course we can’t encourage young people to study STEM subjects beyond school if they’re not being inspired by excellent teachers within school.
That’s why the second part of our skills package has been focused around increasing the supply and quality of STEM teachers in schools.
Britain has faced a historic recruitment problem when it comes to STEM teachers, and it’s easy to understand why:
So in addition to the measures we’re taking to get more young people studying STEM subjects, we’ve also invested in support to encourage those STEM graduates to go into teaching. These measures include:
The early results of all of these schemes have been extremely encouraging, with the maths and physics chairs programme oversubscribed by almost 4 to 1. However, there is still more to do, particularly in terms of upskilling the existing workforce and encouraging more returners to the profession, which will be our priority for the coming months.
Of course, a focus on academic subjects alone simply won’t be enough to address the skills gap.
I firmly believe that for too long vocational qualifications have been the poor relation to their academic counterparts. For all of the talk of ‘parity of esteem’, vocational qualifications have all too often been seen as ‘easy options’ for schools to force less-able students to study, out of a fear they might otherwise drag down their league table scores.
That’s why one of the achievements of this government, of which I am most proud, is the introduction of sweeping reforms to vocational qualifications.
One of the first acts of our government was to commission a study by Professor Alison Wolf, Britain’s leading expert on vocational training, into the state of vocational education. The results can only be described as shocking.
The Wolf review found that at least at least 350,000 16- to 19-year-olds were working towards vocational qualifications which were of very limited value, either to them or to employers. As a result, at age 19, these students found themselves with very few employment or training options.
She also found those young people faced a bewildering array of qualifications, almost 4,000 at the last count, but with no clarity about what would help them get a job or university place.
Wolf’s report found that the consequence of this was that many students studied certificates in low-value subjects like ‘working with others’ - that falsely claimed to be the equivalent of academic courses such as A levels - or studied certificates that were simply useless. One particularly certificate Wolf identified in ‘sports development’ wasn’t recognised by employers, didn’t qualify you to work in a leisure centre or gym, and didn’t get you a place on a sports degree at university.
Following the report, a series of radical and far-reaching reforms were introduced to address this issue and ensure that the vocational qualifications available to students always meet the highest standards.
The main reform was the introduction of a new group of qualifications called tech levels that essentially replaced all the pre-existing vocational qualifications. They equip a student with specialist knowledge and skills, enabling entry to employment, apprenticeship or higher education. They offer students the chance to learn technical skills as an alternative to, or alongside, academic A levels. In some cases they can provide a ‘licence to practise’ or exemption from professional exams.
Each tech level is far more rigorous than previous qualifications, as they must meet stringent criteria such as having external assessment, synoptic assessment and grading.
Crucially, all tech levels must be signed off by either a professional or trade body or have signed letters of support from 5 employers in that particular occupation, in order to give us confidence that they are valued by employers and the wider economy.
Every vocational qualification available to young people now provides a direct line of sight to the workplace and has led to a dramatic reduction in the number of vocational qualifications that we recognise from almost 4,000 to just over 200.
At the heart of this reform of vocational education has been our desire to ensure that employers are playing a leading role in ensuring that young people are leaving schools which will address their skills needs.
At the same time, we recognise schools have an important role to play in connecting those young people with potential employers - to make them aware of the range of careers and opportunities open to them.
Just as in the US , the UK jobs market has changed beyond recognition in the last 20 years, with many people working in jobs today that didn’t exist when their parents left education. The idea of a ‘job for life’ has virtually disappeared.
The best schools prepare young people for the reality of working in 21st-century Britain throughout their studies - they not only provide an excellent education but place aspiration, work experience, inspiration and mentoring at the core of what they do.
Over the past 4 months since my appointment I’ve been speaking to some of the best schools when it comes to developing employer links, and hearing about what they do to prepare young people for employment. That includes:
And we’re holding schools to account for what their pupils go on to achieve. Perhaps the key innovation in this field is the introduction of destination measures to show what happens to young people after they leave education. By tracking pupils more effectively than ever before, we will gain a better understanding of what works in preparing young people for life and work.
The new destination data will record how many pupils from each school achieve a positive outcome such as moving into education, training or employment.
This has the bonus of putting employment outcomes alongside education outcomes (such as a university degree) as a perfectly valid alternative for young people. We hope to build much stronger links between schools and employers in each local area.
Schools will also be held to account by our school inspectorate, Ofsted, for the careers advice and guidance that they deliver.
Finally, perhaps the greatest success of the coalition government when it comes to the workforce of tomorrow has been the exponential growth in apprenticeships.
As with vocational qualifications, for too long it has been the case that apprenticeships were seen as ‘a soft option’ for difficult pupils, which rarely led on to the offer of a job or wider prospects. Or they simply weren’t an option, because apprenticeships only existed in a narrow set of manufacturing careers.
So our government’s vision has been clear. To create a new norm that when young people leave school, they choose between two equally prestigious routes to a great career - university or an apprenticeship - or, with higher apprenticeships, to do both at once.
We want these apprenticeships to offer real jobs and top-quality training to develop the practical skills and experience that employers want.
Our reforms mean that all apprenticeships must be paid jobs, last for at least 12 months, involve meaningful on-the-job training, and must include English and maths for young people who haven’t yet achieved the required standard.
As a result, the number of apprenticeships started each year has doubled since 2010. We committed to delivering 2 million apprenticeships in this parliament and we are on track to achieve this. This means there are now more young people in apprenticeships in England today, working for more employers, and in more sectors, than ever before.
And top apprenticeships are now just as competitive as places in leading universities. Apprenticeships are oversubscribed 10 to 1 on average, and a recent survey found that the majority of young people would like to do an apprenticeship.
The challenge now is to keep increasing the number of apprenticeships at the same time as increasing the quality of apprenticeships.
We are expanding apprenticeships into new occupations such as cyber-security, nursing and the legal profession. We are also investing millions of pounds into higher apprenticeships so that they are genuine high-quality alternatives to full-time university degrees for our best and brightest young people.
Further reforms will make apprenticeships more relevant to employers and more demanding than ever before. We’re giving employers control over the content of apprenticeships, empowering them to design high-quality apprenticeships that meet the needs of their sectors.
More than 400 employers and professional bodies across 37 industries and occupations - from huge employers like PwC , Microsoft and BMW to small businesses like The Test Factory and Walter Smith Fine Foods - have signed up as apprenticeship ‘trailblazers’, working together to write new, world-class standards, designed by employers for employers.
As I said when I started talking, concern over the skills gap isn’t a new thing, and it certainly isn’t something that we’ll see going away in a hurry. But that doesn’t mean that we have to be trapped in a cycle of hand-wringing.
I passionately believe that the reforms which the UK government has introduced, reforms which are at their heart a partnership between government, business, schools, colleges and universities, are bold and game-changing measures which will reap dividends for the British workforce in the future.
But of course there’s a huge amount more to do, and I’m looking forward to hearing what ideas I can steal from the US to take back home as my own! Back over to you Michael.
Published: 20 November 2014


For simple, read-only demo, start with http://localhost:56827/worlds.
For full test bench, use Fiddler to open NJsonApi.HelloWorld/fiddler.saz.


The Stone of Tear, fortress of legend, as been taken and Callandor, the Sword That Is Not a Sword, is held. But for Rand al'Thor, the shepherd who has become the Dragon Reborn, it is only the beginning.
As his friends and enemies alike plot and mobilize, the Lord Dragon studies the texts of the prophecies and struggles to control the Power that is his. But all know that it must be war - war against the Forsaken and all who oppose the Dragon Reborn. And the prison that holds the Dark One is slowly but inexorably, losing its power. In the final battle, Rand al'Thor knows who he must face...
The Wheel of Time turns, and Ages come and pass, leaving memories that become legend. Legend fades to myth, and even myth is forgotten when the Age that gave it birth comes again. In one Age, called the Third Age by some, an Age yet to come, and Age long past, a wind rose on the great plain called the Caralain Grass. The wind was not the begnning. There are neither beginnings nor endings to the turning of the Wheel of Time. But it was a beginning.


API
The API endpoints listed below are available.
FEATURES
- Faster with redis
- Ratelimit on api with Gloabl IP ban
- Light Weight & Easy to setup
- Heroku Supported
POST /create/times
Create a shorter URL with Access Limits.
Request
Parameters:
- url – [str] full url
- times - [str, int] short code will be dead after TIMES visit
curl -X POST \
--data '{"url": "https://google.com", "times": "3"}' \
-H "Content-Type: application/json" {{ domain }}/create/times
Response
{"Auth":"7398e225-836e-4f60-9732-140cbf135e10","Code":"USTKUu","Created\
At":"1616766726.4898272","Fullurl":"https://google.com","Times":"3"}
POST /create/time
Create a shorter URL with time.
Request
Parameters:
- url – [str] full url
- time - [str, int] short code will be dead after TIME seconds
curl -X POST \
--data '{"url": "https://google.com", "time": "3"}' \
-H "Content-Type: application/json" {{ domain }}/create/time
Response
{"Auth":"4f160d63-5ae2-4e28-a493-9c0e6b838768","Code":"vEXdWW","Created \
At":"1616767277.039384","Fullurl":"https://google.com","Ttl In Seconds":"3"}
DELETE /delete
Delete create url.
Request
Parameters:
- code – [str] shorte code
- auth - [str] auth key of shorte code
curl -X DELETE \
--data '{"code": "C0uSZg", "auth": "e56e03bc-8d11-40f7-bcf6-f1254af053a6"}' \
-H "Content-Type: application/json" {{ domain }}/delete
Response
HTTP Status 204 (No Content)
POST /stats
Check your URL stats.
Request
Parameters:
- code – [str] shorte code
- auth - [str] auth key of shorte code
curl -X POST \
--data '{"code": "MK9qiH", "auth": "78afb120-6ab1-4f7f-a3ce-bce8e7a65693"}' \
-H "Content-Type: application/json" {{ domain }}/stats
Response
{"Access":"1","Auth":"78afb120-6ab1-4f7f-a3ce-bce8e7a65693","Code":"MK9qiH","Created \
At":"1616767969.7141504","Fullurl":"https://google.com","Last Visit":"1616768016.03026","Times":"2"}
HTTP RESPONSE
CODE MEANING
======================================================================================================
200 (OK) The request completed successfully.
204 (NO CONTENT) The request completed successfully but returned no content.
401 (UNAUTHORIZED) The Authorization header was missing or invalid.
403 (FORBIDDEN) The Authorization token you passed did not have permission to the resource.
404 (NOT FOUND) The resource at the location specified doesn't exist.
405 (METHOD NOT ALLOWED) The HTTP method used is not valid for the location specified.
429 (TOO MANY REQUESTS) You are being rate limited, see Rate Limits.
5xx (SERVER ERROR) The server had an error processing your request (these are rare).
SERVER RESPONSE
CODE MEANING
==============================
5000 SUCCESS
5001 INVALID_DATA
5002 RATE_LIMIT
5003 NOT_FOUND
5004 INVALID_URL
5007 BLOCKED_IP
5008 INVALID_SHORT_CODE
5009 AUTH_FAILED


Follow Mode
{{ logContent ? logContent : "Click 'Load Logs' to get the latest logs from journeymap.log" }}
No world is loaded - please join a server, or start a single-player world.
JourneyMap is busy, please wait...
Mapping is currently disabled.
Unable to connect - is the webmap enabled?
Just a sec...


Enter City Name and Hit Enter on the Keyboard to Search
Gboko, NG
Sunday 29 August 2021
15 °C
°C F °K
Sunny
13°C /15°C


Original square icon:
Left alignment:
Center alignment (default):
Right alignment:
Left alignment with crop:
Center alignment with crop:
Right alignment with crop:


jmap
Java memory map tool.
More information: home page
- Print shared object mappings for a Java process (output like pmap):
jmap java_pid
- Print heap summary information:
jmap -heap filename.jar java_pid
- Print histogram of heap usage by type:
jmap -histo java_pid
- Dump contents of the heap into a binary file for analysis with jhat:
jmap -dump:format=b,file=path/to/file java_pid
- Dump live objects of the heap into a binary file for analysis with jhat:
jmap -dump:live,format=b,file=path/to/file java_pid


In development, Parcel can defer building files until they are requested in the browser. This means you only need to wait for the page you're actually working on to build! If your project has many entries or code split points, this can massively reduce dev server startup time.
And when you do request a page, Parcel is smart enough to eagerly build all of the dependencies of that page at once, without waiting for them to be requested as well – no network waterfalls!
Learn more →


❮
❯
FOCUS
Involvement
Students
Community
Harmony School of Innovation
If you would like to visit the school website click on the logo image above


Qt
c++
Web
Fun
Products
Fstream Header file in c++
fstream header file is used to read and write file.


- Did you hear that?
- They've shut down the main reactor.
- We'll be destroyed for sure. This is madness!
- We're doomed!
- There'll be no escape for the Princess this time.
- What's that?
- I should have known better than to trust the logic of a half-sized thermocapsulary dehousing assister...
- Artoo! Artoo-Detoo, where are you?
- At last! Where have you been?
- They're heading in this direction. What are we going to do? We'll be sent to the spice mine of Kessel or smashed into who knows what!
- Wait a minute, where are you going?


Howdy! This is your chance to learn Ruby on Rails.
But more importantly, to learn how to think like a developer. How to solve problems. How to go through an application life cycle. How to break the problems down into the smallest chunk, so that you can solve it.
Location: Shaker LaunchHouse, in Shaker Heights, Ohio.
Date: July 1st through the 12th, 9:00am-6pm weekdays, with optional half Saturdays and Sundays. That’s 100 hours of solid, in-depth and hands on instruction.
Cost is $1,000 per person.
Yeah, that’s a lot of money. But you’re paying for some top-notch teaching and experiences!
It’s an opportunity to learn how to think like a developer, and know how to take the next steps towards being able to build your own product.
For more information, fill out this form with your name and email (I promise not to spam you!), along with a quick blurb about why you’d like to apply, and I’ll get back to you as quickly as I can.
Who is James Gifford?
James Gifford is a software developer, open source contributor and IT administrator. He has run two successful programming courses, is currently writing a book on the Ubuntu Linux software, and is an advocate of high quality technical education, at affordable prices. He has spoken at multiple user groups on various topics, technical and non-technical.


View On GitHub
Browse
Home
Past sessions
{{ content }}
Hosted on GitHub Pages — Theme based on
mattgraham
's work


|
QuantLib: a free/open-source library for quantitative finance
Fully annotated sources - version 1.30
|
market element whose value depends on two other market element More...
#include <ql/quotes/compositequote.hpp>
Public Member Functions | |
| CompositeQuote (Handle< Quote > element1, Handle< Quote > element2, const BinaryFunction &f) | |
inspectors | |
| Real | value1 () const |
| Real | value2 () const |
Quote interface | |
| Real | value () const override |
| returns the current value More... | |
| bool | isValid () const override |
| returns true if the Quote holds a valid value More... | |
| Public Member Functions inherited from Quote | |
| ~Quote () override=default | |
| virtual Real | value () const =0 |
| returns the current value More... | |
| virtual bool | isValid () const =0 |
| returns true if the Quote holds a valid value More... | |
| Public Member Functions inherited from Observable | |
| Observable () | |
| Observable (const Observable &) | |
| Observable & | operator= (const Observable &) |
| virtual | ~Observable ()=default |
| void | notifyObservers () |
| Public Member Functions inherited from Observer | |
| Observer ()=default | |
| Observer (const Observer &) | |
| Observer & | operator= (const Observer &) |
| virtual | ~Observer () |
| std::pair< iterator, bool > | registerWith (const ext::shared_ptr< Observable > &) |
| void | registerWithObservables (const ext::shared_ptr< Observer > &) |
| Size | unregisterWith (const ext::shared_ptr< Observable > &) |
| void | unregisterWithAll () |
| virtual void | update ()=0 |
| virtual void | deepUpdate () |
Observer interface | |
| Handle< Quote > | element1_ |
| Handle< Quote > | element2_ |
| BinaryFunction | f_ |
| void | update () override |
Additional Inherited Members | |
| Public Types inherited from Observer | |
| typedef set_type::iterator | iterator |
market element whose value depends on two other market element
Definition at line 40 of file compositequote.hpp.
| CompositeQuote | ( | Handle< Quote > | element1, |
| Handle< Quote > | element2, | ||
| const BinaryFunction & | f | ||
| ) |
| Real value1 | ( | ) | const |
Definition at line 45 of file compositequote.hpp.
| Real value2 | ( | ) | const |
Definition at line 46 of file compositequote.hpp.
|
overridevirtual |
|
overridevirtual |
returns true if the Quote holds a valid value
Implements Quote.
Definition at line 88 of file compositequote.hpp.
|
overridevirtual |
This method must be implemented in derived classes. An instance of Observer does not call this method directly: instead, it will be called by the observables the instance registered with when they need to notify any changes.
Implements Observer.
Definition at line 94 of file compositequote.hpp.
Definition at line 58 of file compositequote.hpp.
Definition at line 58 of file compositequote.hpp.
|
private |
Definition at line 59 of file compositequote.hpp.


Arrays vs Hashes: Say what?
This week in DBC Phase 0 we've dealt with a lot of arrays and hashes. But what are they? What makes them tick? What's the difference? And why might you use one over the other?
Well here's the difference:
Arrays are lists. They hold an ordered number of things. Here's what a ruby array might look like:
very_cool_array = [1, 9, "Ian", "hello"]
As you can see, the array is surrounded in brackets, can include numbers and strings, and is one-dimensional. It must start with a lowercase letter or underscore.
A value from the pair can be accessed by indexing the array, like so:
puts very_cool_array[0]
puts very_cool_array[3]
1
"hello"
You'll notice that in an array we start in position 0.
Hashes are lists or directories where a key is assigned to a value. To use a very popular analogy, it's like a dictionary where the key is the word and the value is a definition. Hashes are two-dimensional. Like arrays, they must start with a lowercase letter or underscore, but hashes are usually surrounded in curly brackets - these: {}. Here's how you might make a hash:
great_hash = { "Key" => "value", "fingers" => 10, , "toes" => "Nine, now." }
or, using symbols:
great_hash = { :Key => "value", :fingers => 10, , :toes => "Nine, now." }
or, using the Hash.new method:
great_hash = Hash.new
great_hash["Key"] = "value"
As you can see, there are a few ways to do it. Hashes used to be unordered, but as of a recent update to Ruby, they are now ordered.
So when would you want to use a hash and when would you want to use an array?
Well it's case by case, but the differences inform us. Hashes are a great way to have parameters in functions (I can't take credit, I have to thank ruby-docs for that concise explanation). The pairs are a great way to represent data structures, and you can manipulate them. You could have a dictionary saved as a hash, or your personal schedule (maybe like this - {"10/1/15 8PM" => "Dance Contest"}), and manipulate and change it as you see fit.
Arrays, on the other hand, are a great, simple way to store data, and should be used if you really don't need a hash. The data in arrays is easier to manipulate quickly, and you can write arrays into methods much more easily. If you were thinking of using a hash and realize that you could use one key for all of the values, just make that key the name of an array and fill it with those values.
I'm getting a lot of hints from all of my readings that there are a lot of cool, vital, advanced functions of hashes, so I'm sure there are some other great ways you would want to use them. I'm sure I'll find out soon!
Until next week, Ian


You can browse through all of the source's images here. Use the dropdown boxes to specify which images you want to see, then click Search to apply those filters.
Use the Page view option to see different aspects of the source's data:
Images: View the images as a grid of thumbnails. 20 images are shown per page; below the thumbnail grid, you can navigate to a different page.
You can mouse-over an image thumbnail to see its filename and annotation status. The thumbnail's border color also indicates the image's annotation status.
(For source members with Edit or Admin permissions) You can also delete images using the form at the bottom of the page. This function will delete all images in the current search. When you click the button to delete the images, a confirmation dialog will pop up to reduce the chances of accidental deletion.
Metadata (For source members with Edit or Admin permissions): View the images' metadata as a grid of text fields. Type in the text fields to edit the metadata, then click the Save Edits button below to save your edits.
You can edit multiple images' metadata at the same time by using the checkboxes along the left side. If you check multiple images, and then edit the metadata of one of those checked images, those edits will be applied to all of the images you've checked. You can also use the top checkbox to check or un-check all of the images.
Annotation Patches: Pick a label from the source's labelset, then click Search to see image "patches" representing that label. Each image patch corresponds to one point in an image that has been annotated with that label. You can mouse-over an image patch to see which image and which point the patch is from.
20 image patches are shown per page; below the patch grid, you can navigate to a different page.


Tic Tac Toe
Scores Board
Welcome, Pleas Give Your Names to Start!
#
Players Name
Score
1
0
2
0
Start
Reset
Click "Start" to Play!
Game Board


Code avaliable on: https://github.com/MikeLiuty/Access_Control_System
The user case of the system (Screenshoot from my final essay)
(Screenshoot from my final essay)
All the development are under Agile environment with JIRA
The login page allows users login to the system, however, when user login to the system, the system able to verify the username and password through active directory, and then determine if the logging user is a manger or system administrator. (Normal user unable to login)
When login as a manager account, the user able to see all the empoloyee under his/her department. The left section is the "score" system which able to track user's action and give them a "achvement logo" to encourage users more ofter to check the list.
Simplly use mouse to swipe left or right to choose the next action. The data will refresh everytime when the user login.
Simplly use finger on mobile deveice to swipe left or right to choose the next action. The data will refresh everytime when the user login.
Albe to see the users's profile
if login as system administrator, the user able to see the menu and choose the next action.
Able to see all the stastics data with chart. The data will refresh everytime when the user login.
Able to see all users who hasn't login longer than 90 days.


| unload {pkgload} | R Documentation |
This function attempts to cleanly unload a package, including unloading
its namespace, deleting S4 class definitions and unloading any loaded
DLLs. Unfortunately S4 classes are not really designed to be cleanly
unloaded, and so we have to manually modify the class dependency graph in
order for it to work - this works on the cases for which we have tested
but there may be others. Similarly, automated DLL unloading is best tested
for simple scenarios (particularly with useDynLib(pkgname)
and may
fail in other cases. If you do encounter a failure, please file a bug report
at https://github.com/r-lib/pkgload/issues.
unload(package = pkg_name(), quiet = FALSE)
package |
package name. |
quiet |
if |
## Not run: # Unload package that is in current directory unload() # Unload package that is in ./ggplot2/ unload(pkg_name("ggplot2/")) library(ggplot2) # unload the ggplot2 package directly by name unload("ggplot2") ## End(Not run)


Find a Solution
at the community level
Instructions
Finding a solution to the Nitrogen problem in any watershed is a complex exercise. This simulation allows users to understand some of the issues that govern the solutions. The available solutions have different removal efficiencies, costs, and time of implementation.
Inside this watershed are areas that represent landuse in a watershed or region. Click on any landuse hexagon and choose a technology that you think will remove Nitrogen from your watershed.
The goal is to reach your Nitrogen target but also to keep the solution affordable and implement your solution quickly.


{% extends 'base.html' %} {% load bootstrap %} {% block content %}
Do you really want to delete query {{ object.query }} from the pack {{ object.pack }}?
Cancel Delete


By including the cucumber-needle jar on your CLASSPATH your Glue classes will be instantiated by needle. You can use the InjectionProviderInstanceSupplier and NeedleInjectionProvider to configure the behavior of the needle injection.
cucumber-needle
CLASSPATH


PLANET SICK-BOY: http://www.sick-boy.com
Steven Phillips' career is at a crossroads. Although the script writer for seventeen films (including 1993 Oscar nominee McCormack Place) has just won a humanitarian award, he has been told that he has `lost his edge' by his friend, his agent and his studio – the latter strongly suggesting that he be off Paramount property by 5:00. So Steven does what every other married, white, forty-something male does when they have a mid-life crisis…well, actually he doesn't.
Instead, Steven (Albert Brooks, Mother) turns to friend and fellow Hollywood screenwriter Jack Warrick (Jeff Bridges, Arlington Road), who reluctantly admits that his recent success has been due to working with a muse. For those of you that don't remember your Greek mythology, Zeus had nine daughters that were responsible for all creativity. Jack's muse, Sarah (Sharon Stone, The Mighty), a direct descendant of the original nine, has also worked wonders for other Tinseltown dignitaries (male and female) and many make cameos in this film - James Cameron, Lorenzo Lamas, Wolfgang Puck, Rob Reiner, Martin Scorsese and Jennifer Tilly, among others.
Jumping at the chance to revitalize his sagging professional life, Steven is thrilled when Sarah tells him that she can begin working with him immediately. Mind you, she doesn't actually write for him or even offer suggestions, but will supposedly make Steven more creative by simply being near him. Sarah also insists on having a suite at the Four Seasons (on a high floor), a limousine, and a fridge stocked with expensive health foods.
Initially trying to hide Sarah from his wife Laura (Andie MacDowell, Just the Ticket), Steven eventually comes clean and tells his spouse about the muse. Any other woman might be suspicious of their husband spending so much time with another lady, but Laura believes her husband's honest intentions after witnessing Sarah make Steven fetch her a Waldorf salad and bobby pins in the middle of the night.
Not happy with her posh surroundings at the Four Seasons, Sarah firmly requests that she move into the Phillips' Pacific Palisades home, where she works Steven's last nerve and motivates Laura to pursue a career in cookie-making. Oh, yeah – she also helps Steven come up with a great screenplay that he tries to sell to Steven Spielberg. Instead, in a very funny scene, he ends up taking a meeting with Stan Spielberg (comedian Steven Wright), a cousin of the Oscar winner.
The Muse is a comical success, with Brooks' dry delivery as potent as ever (he also directed and co-wrote the film with the Oscar-nominated Mother scribe Monica Johnson). My only complaints are that Steven believes in the muse way too easily and that his wife is too quick to believe that he isn't putting the stones to Sarah. But those are very minor objections in a film this entertaining. (1:37 - Rated PG-13 for brief nudity)
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


include "head.html"
include "header.html"
include "location.html"
include "footer.html" include "foot.html"


products/moneytree
Money Tree
$46
The Money Tree is a popular houseplant because of its resilience, ease of growth, and fun braided trunk.Arrives in a nursery grow pot nestled inside our ceramic planter.
The Money Tree is a popular houseplant because of its resilience, ease of growth, and fun braided trunk.Arrives in a nursery grow pot nestled inside our ceramic planter.


Software and Web Developer
Hi! My name is Phoebe Gichuhi. I am a Web Developer and Web Designer, and I'm very passionate and dedicated to my work. I have acquired the skills and knowledge necessary to make your project a success. I enjoy every step of the design process, from discussion and collaboration to concept and execution, but I find the most satisfaction in seeing the finished product do everything for you that it was created to do.
Main skills and abilities that i can do
Here are some of my works
Web application for Pizza inn that enable customers to order pizza online and deliver to their homes or allows them to pick at the main office.
Web application for delani studio that shows informatio about delani and the project they have been doing and also it allows users to send message about delani studio website.
Application that takes a user's birthday and calculates the day of the week they were born and then depending on their gender outputs their Akan Name is displayed
Lets work together
Email: phoebegichuhi4@gmail.com


© 2016 fxLogic
For WestLand Hotels & Suites.
‘At Westland, the welfare of our Customer is our top priority. We provide best serene and secure environment just for your pleasure. For Enquiry, don’t hesitate to contact us.
- The Management
+234706 537 0738
westlandhotelsandsuites@gmail.com


50 States Hangman
Click The Play Button to Begin
Play!


from google.colab import drive
drive.mount('/content/drive/')
%cd /content/drive/'My Drive'/'All_Repos'/Self-Driving-Car-NanoDegree/CarND-Advanced-Lane-Lines
import numpy as np
import cv2
import matplotlib.pyplot as plt
from moviepy.editor import VideoFileClip
from IPython.display import HTML
import glob
%matplotlib inline
The main objective of the lane line detection algorithm is to find the lane lines in an image and measure its curvature so that this information can be fed back to the controllers that will then steer the vehicle by a precise angle to account for this curvature in the road ahead. But the image we get from the camera is not always perfect. The camera transforms what it sees in the 3D world into 2D space through some transformation and in doing so it distorts the image. Take a look at the image below. You can notice that the edges of the images are stretched outwards. Since we rely on measurements from the image to place our car in the view, the objects at the edges of the image will appear to be curved and stretched out and hence will give us the wrong measurment if this distortion is not corrected.
fig, ax = plt.subplots(1,2, figsize=(10, 7))
image = 'camera_cal/calibration1.jpg'
img = cv2.imread(image)
img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
ax[0].imshow(img)
ax[0].set_title('Radial Distortion')
image = 'camera_cal/calibration2.jpg'
img = cv2.imread(image)
img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
ax[1].imshow(img)
ax[1].set_title('Tangential Distortion')
plt.show()
There are broadly two types of distortions. The first image above is termed as radial distortion where the edges are stretched out or rounded. This is mostly caused because of the fact that the light bends either too much or too little at the edges of the lens causing the objects in the edges to be curved more or less than they actually are.
The second type of distortion is tangential distortion as seen in the second image above. This is uaually caused when the plane of the lens is not aligned with the plane of the image sensor in the camera. In this case the objects appear father away or closer than they actually are.
In order to correct these two types of distortions, we can use a calibration technique where in we capture standard shapes from the camera and compare its location with an undistorted image. The commonly used pattern for this purpose is a chessboard pattern where we can detect the corners in the image and come up with a transformation that projects the detected corners from the distorted space to the undistorted space.
\ These transformation coefficients ( $ k_1, k_2, k_3, p_1, p_2 $) , along with the camera matrix
$$ camera\ matrix = \left[ {\begin{array}{cc} f_x & 0 & c_x \\ 0 & f_y & c_y\\ 0 & 0 & 1\\ \end{array} } \right] $$can then be used to undistort every frame that we extract from the camera feed. Here $c_x and \ c_y $ are principal points which is usually the image center and $ f_x and\ f_y $ are the focal length expressed in pixels. The camera matrix is intrinsic to a camera.
\
In oder to get these parameters we can use OpenCV function cv2.calibrateCamera
. This function needs the object points and the image points as inputs. The object points are the coordinates of the corners in the undistorted image and image points are the actual coordinates as captured by the camera.
ret, mtx, dist, rvecs, tvecs = cv2.calibrateCamera(objpoints, imgpoints, gray.shape[::-1], None, None)
To get the image points we can use cv2.findChessboardCorners
function which takes in a gray scale image of the image and returns the coordinates of the corners.
ret, corners = cv2.findChessboardCorners(gray, (8,6), None)
Calibration is usually done using more than 20 images taken from the camera. For every image the detected image points are appended to an image points array. The object points remains the same for all the images. The returned camera \ matrix and distortion \ coefficients are the used to undistort the image using cv2.undistort
undistorted_image = cv2.undistort(img, mtx, dist, None, mtx)
import pickle
camera_cal = pickle.load( open( "pickle/cal.p", "rb" ) )
mtx = camera_cal["mtx"]
dist = camera_cal["dist"]
fig, ax = plt.subplots(2,1, figsize=(15, 10))
image = 'camera_cal/calibration1.jpg'
img = cv2.imread(image)
img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
ax[0].imshow(img)
ax[0].set_title('Distorted Image')
dst = cv2.undistort(img, mtx, dist, None, mtx)
ax[1].imshow(dst)
ax[1].set_title('Distortion Corrected')
plt.show()
Lane lines can be either yellow or white in color. Instead of the standard RGB color space, HLS color space is more effective in isolating the lane lines. Especially the sturation channel highlights the bright lane lines, compared to the surrounding darker road, better than the other two channels. Hence in this pipeline, the next step will be to convert the image to HLS and use the S channel for lane detection. A sample S channel image is shown below.
image = 'test_images/test5.jpg'
img = cv2.imread(image)
hls = cv2.cvtColor(img, cv2.COLOR_BGR2HLS)
s_channel = hls[:,:,2]
plt.imshow(s_channel,cmap='gray')
plt.title('Raw S Channel')
plt.show()
s_channel[(s_channel > 0) & (s_channel < 160) ] = 0
plt.imshow(s_channel,cmap='gray')
plt.title('Thresholded S channel')
plt.show()
binary = np.zeros_like(s_channel)
binary[(s_channel > 0)] = 1
plt.imshow(binary,cmap='gray')
plt.title('Binary image of S Channel')
plt.show()
The second image above is a thresholded image where the S channel is thresholded such that all pixels below an intesity value of 160 is set to zero. The third image is a binary image created from the thresholded image. Any pixel with an intensity higher than zero is set to one.
Although this method works well on the test images, when applied to the project video it failed to identify any lines in certain frames. Hence a different approach was used. Instead of thresholding the S_Channel image, the soleb x and sobel y gradients of the S channel were extracted. These gradients are then scaled back so that the values lie in the range [0,255]. This scaled image was thresholded and combined to form the final filtered image.
For this thresholding, the min and max were set to [10,255]. This helped to reduce all the noise and also retain all the required features in the model.
thresh = [10,255]
image = 'test_images/test1.jpg'
img = cv2.imread(image)
hls = cv2.cvtColor(img, cv2.COLOR_BGR2HLS)
s_channel = hls[:,:,2]
sobelx = cv2.Sobel(s_channel,cv2.CV_64F,1,0,ksize=3)
scaledx = np.abs(255*sobelx/np.max(sobelx)).astype('uint8')
binaryx = np.zeros_like(scaledx)
binaryx[(scaledx > thresh[0]) & (scaledx <= thresh[1])] = 1
sobely = cv2.Sobel(s_channel,cv2.CV_64F,0,1,ksize=3)
scaledy = np.abs(255*sobely/np.max(sobely)).astype('uint8')
binaryy = np.zeros_like(scaledy)
binaryy[(scaledy > thresh[0]) & (scaledy <= thresh[1])] = 1
combined = np.zeros_like(scaledy)
combined[(binaryx == 1) & (binaryy == 1)] =1
plt.imshow(combined,cmap='gray')
plt.title('Sobel Thresholded on S Channel Image')
plt.show()
In an image captured by a camera, objects that are farther away from the camera look smaller as cmpared to the ones closer to the camera. Also parallel lane lines appear to converge at a point. This phenomena is caller Perspective. The curvature of the lanes cannot be measured from the raw image directly since the two lines will have different curvatures and doesnt seem to be parallel in this view. Hence this image needs to be projected to a view where the lines appear to be parallel to each other. This projection is called Perspective Transformation .
In order to perform perspective transformation we need to define source and destination points on the raw image and the transformed image. The example images below show the transformation in action
img_size = (img.shape[1], img.shape[0])
leftupperpoint = [585,455]
rightupperpoint = [705,455]
leftlowerpoint = [190,720]
rightlowerpoint = [1130,720]
src = np.float32([leftupperpoint,rightupperpoint,
rightlowerpoint,leftlowerpoint])
dst = np.float32([[200,0],[img_size[0]-200,0], [img_size[0]-200,img_size[1]],[200,img_size[1]]])
image = 'test_images/straight_lines1.jpg'
img = cv2.imread(image)
img = cv2.cvtColor(img,cv2.COLOR_BGR2RGB)
pts = np.int32(src).reshape((-1,1,2))
cv2.polylines(img,[pts],True,(255,0,0),1)
undistort = cv2.undistort(img, mtx, dist, None, mtx)
plt.imshow(img)
plt.show()
M = cv2.getPerspectiveTransform(src, dst)
warped = cv2.warpPerspective(undistort, M, img_size)
plt.imshow(warped)
plt.show()
Once we have a warped binary image from the perspective transform, the left and right lines can be detected easily using the image histograms. In the image below we can see a plot of the histogram of the activated pixels along the x-axis. There are clearly two peaks indicating the presence of two lane lines.
fig,axs = plt.subplots(1, 2,figsize=(10, 6), dpi=80)
warped = cv2.warpPerspective(combined, M, img_size)
axs[0].imshow(warped,cmap='gray')
axs[0].set_title("Warped Binary Image")
histogram = np.sum(warped[warped.shape[0]//2:,:], axis=0)
midpoint = np.int(histogram.shape[0]//2)
leftx_base = np.argmax(histogram[:midpoint])
rightx_base = np.argmax(histogram[midpoint:]) + midpoint
axs[1].plot(histogram)
axs[1].set_title("Pixel activation histogram")
axs[1].axvline(x=leftx_base,color='r')
axs[1].axvline(x=rightx_base,color='r')
plt.show()
But instead of taking the histogram for the whole image, if we can slide a window from the bottom of the image to the top, we can find the base_x values of the left and right lines along the y axis by looking at the point on x axis which has the highest activations. If the number of pixels in this window exceeds a minpix value then the center of the window is recomputed. In the image below we can see the sliding window and the base points of each window. We can then fit a second order polynomial to these points and get the left and right lines drawn in yellow below
The radius of curvature of the fitted lines can be computed using the formula
$$ R_{curve} = \frac{1+(2Ay+B)^2)^\frac{3}{2}}{|2A|} $$Here A and B are the coefficients of the fitted curve. The equation is evaluated at the lowest part of the image , i.e y = image.shape[0] in order to get the curvature closest to the vehicle.
There are two curvature values that we get, the left line curvature and the right line curvature. The two are averaged and the mean radius of curvature of the lane is reported.
$$ R_{curvature} = \frac{LeftLane_{curvature} + RightLane_{curvature}}{2} $$The distance from the center of the lane is computed by subtracting the lane center from the image center as shown below
$$ Lane center = LeftBase_x + (RightBase_x - LeftBase_x) $$$$ Image Center = image.shape[1]//2 $$$$ Distance from Center = (Image Center - Lane Center) * 3.7/700 $$\ \


WITNESS LIST Public School Finance, Select Committee September 26, 2003-10:00A Improving School Climate On: Bishop, John H. (Self) Innovations & Incentives On: Clark, Catherine (Texas Association of School Boards) Culwell, Curtis (Texas School Alliance) Forgione, Pascal D. (Texas School Alliance) Hinojosa, Michael (Self and Texas Association of School Administrators) McCraw, Ken (Texas Association of School Administrators) McInnis, John (Texas Association of School Boards) Urban School Challenges On: Clarke, Linda (Self)


' Copyright © Microsoft Corporation. All Rights Reserved.
' This code released under the terms of the
' Microsoft Public License (MS-PL,
http://opensource.org/licenses/ms-pl.html.)
This sample shows a simple ADO.NET Data Service exposing data through the ADO.NET Entity Framework and a WPF application consuming the ADO.NET Data Service.
The solution is made up of the following projects:
This project contains the Entity Data Model that we will use as the basis of our ADO.NET Data Service, as well as the service itself.
This project is a user interface implemented in WPF. The entry point for the application is in the code behind file for ProductList.xaml.


Author: Ian Bicking<EMAIL_ADDRESS>This library is licensed under the GPL.
You can download it from the git repository at http://github.com/ianb/doctestjs/
with git clone http://github.com/ianb/doctestjs.git
or download a
zip
Bugs may be reported on the issue tracker. Patches are best provided by forking the repository through github.com, and then submitting a pull request. If you are using doctest.js, or have written about it, consider noting this on the wiki.
Doctest/JS is a port of a widely used testing module doctest
from the Python world. The original doctest is by Tim Peters.
Doctest was originally written to test documentation, but its also
an embodiment of a more general pattern of example-oriented testing.
Tests are made up of code and the code's output, almost as though each
statement is an implicit assertEqual
. In fact there
isn't really a need for assert*
helpers because it is
implicit in all your tests.
.js
file you were
testing, and wouldn't define (many) functions inline in the code. But
don't be shy! It will frequently make your tests more compact and
thorough to define helper functions.factorial
function. Note I've written the test to get a
failure:
$ function factorial(n) { > if (typeof n != 'number') { > throw('Not a number: '+n); > } > if (n == 0) { > return 1; > } else { > return n * factorial(n-1); > } > } $ factorial(3) 6 $ factorial(4) 20 $ factorial('foo') bar
$ obj = [{key1: "one string", key2: "another string", > a_key: "something else", something: "more strings", > and_then: "one last string"}, {}]; $ writeln(obj); $ // To really force the pretty printing: > writeln(repr({key: [1, 2, 3]}, '', 1));

Description...
 $ code > ... continuation line expected output

Note that you don't have to quote
>
as
>
-- it's a little-known HTML fact that only
<
really needs to be quoted.$
starts a statement and >
continues the statement. Statements can be as long as you would like,
and can even have multiple parts (separated with ;
), they
are simply chunks that are run all at once.factorial(3)
returns 6. Output can also include
anything that is explicitly written (using
writeln(value)
), and if there's an error then the error
is also written out (as you can see with
factorial('foo')
, which is an error). writeln
will write the repr of objects, except strings which are written literally.
(repr('"hey"') == "\"hey\""
)Error: <error message>
being printed out, which you
can match for if you like.obj.toString()
might
return. Arrays are displayed like [obj1, obj2, ...]
for
instance. Generic objects are displayed as {attr:
value}
. Objects can customize their output by defining a
repr()
method....
(ellipsis): sometimes there are portions
of the output that are interesting, and portions that are boring. Or
parts might be volatile -- different on every test run. You can
ignore a portion of the test by using ...
in the output.
All the matching is strictly textual. Note even errors can be matched
this way (maybe unintentionally).?
: (question mark) this is like ...
, but it only
matches one word (letters, numbers, _
, and .
).
This is so you can do something like {attr: ?}
and avoid
matching {attr: value, attr2: value}
. It doesn't match
quotation marks, so you may need "?"
(more usefully though,
it does match numbers, like a timestamp).write()
and writeln()
(like
write()
but adds a newline). You can use these inside
callbacks or loops to show bits of progress.
(console.log
may also still work, but isn't matched
against.)$ // look ma, nothing's executed!
$ function countTag(parent, tag) { > return parent.getElementsByTagName(tag).length; > } ... $ countTag(document.getElementById('container'), 'pre'); 10 $ countTag({}, 'pre'); Error: parent.getElementsByTagName is not a function
console.log()
liberally. In
addition to showing up in the console, this activity is captured on a
per-statement basis, and displayed next to failing tests (generally in
purple). This makes it easier to focus just on the log messages that
tell you about what went wrong, ignoring all the messages about what
went right.While there are ways to test specific things using doctest, writing
the HTML to hook up the runner gets tedious quickly. The easiest way
to write a test is to look at autotemplate.html
and copy
it for your use.

. You can give the tests ids, or doctest will
just number them for you if not. You can include a description of the
test to introduce and explain the test, then use

to actually write your test in.

. This is nice for honing in on
a particular test, but sometimes you'll have code you want to run
for every test (because it sets up helper functions, mocks something
out, etc). If that is the case, use

and it will always be run.Not everything can be tested with call-result, specifically things that require callbacks and asynchronous activity. Some DOM updates require asynchronous activity, as one example -- even if it's just a moment that you have to release control from Javascript, you still must release control from Javascript before the DOM will full reflect updates. XMLHttpRequests are another obvious example.
To let the test wait a while during an example, call the
wait()
function. This function can be called with a
millisecond timeout value, like wait(1000)
, and
wait()
alone means a 0-second wait (which releases
control momentarily). You can also wait for a condition, like
wait(function () {return req.state == 1;});
.
$ function updateDom() { > var el = document.getElementById('some-output'); > el.innerHTML = 'Test Output'; > } ... $ updateDom(); $ wait(); $ document.getElementById('some-output').innerHTML; "Test Output"And another example of a callback:
$ finished = false; $ function doSomethingSlowly(callback) { > setTimeout(function () {finished = true; callback();}, 1); > } $ doSomethingSlowly(function () { > writeln('Something was done'); > }); > wait(function () {return finished}); Something was done
When using wait(callback)
there will still be a
timeout. All timeouts are in milliseconds; the default timeout is
2000 (2 seconds). If that much time passes the wait will be
considered a failure. You can pass a second argument with a timeout,
or set doctest.defaultTimeout
to change the value of that
timeout.
Spy
object makes this particularly easy. You can
generally test callback-oriented code very nicely like:
$ function doRequest(callback) { > // imagine we use XMLHttpRequest > setTimeout(function () {callback('data');}, 1); > } $ doRequest(Spy('doRequest.response', {wait: true})); doRequest.response('data')A Spy is kind of a mock object that tracks when it is called (and any time it is called it writes out the call info). You can also save it in a variable, inspect the arguments, etc, as described in the section later on.
throw Abort('reason')
(or simply call
Abort('reason')
) then all further tests will be skipped.
This can also be thrown in callbacks. Don't even instantiate this
class if you don't want to stop the tests; simply instantiating it is
enough (because it's hard to actually catch exceptions in
callbacks).

element) you can use
AbortSection()
. This can be useful for skipping tests in
some environments.Also included is a simple mock object called Spy
.
This object can be called, and you can check if it is called and how.
$ function funcWithCallback(callback) { > setTimeout(function () {callback('foo')}, 100); > } $ mySpy = Spy('mySpy'); $ funcWithCallback(mySpy); $ mySpy.wait(); mySpy("foo")
The args are kept in mySpy.args
, the this
object in mySpy.self
.
Spy
takes an options object as the second argument:
writes
(bool)mySpy.formatCall()
does explicitly in the
example).returns
null
.throwError
applies
applies
.wait
this.wait();
. You can use this for shortcuts.ignoreThis
this
value that
is "interesting" (not window
for instance) then it will
be printed. But sometimes that's just distracting, so using
ignoreThis: true
the value of this
won't be
written out.wrapArgs
wrapArgs: true
to force this.doctest.defaultSpyOptions
, for instance to never write
calls ({writes: false}
).When using writes
(as by default) then when you call
spy.wait()
the function call will be printed out
immediately after the wait.
$ funcWithCallback(Spy('test')); Spy('test').wait(); $ // or: $ funcWithCallback(Spy('test', {wait: true}));
.name
.called
.args
.self
this
when called (if it was
used as a method).argList
, .selfList
.args
and .self
, but
are appended to for each call, giving a history of all the
calls..func
.formatCall()
writes
on).method(name, options)
Spy('foo').method('bar')
will
give you a spy that is named foo.bar
, and is
available as Spy('foo.bar')
..methods(properties)
null
if you don't care about options).wait(optional timeout)
$ oldObject = {a: 10, b: 12}; $ newObject = {a: 11, c: 3}; $ doctest.writeDiff(oldObject, newObject) +c: 3 -b: 12 a: 10 -> 11
The output always starts with any added attributes (which show their new value), then any deleted values (which show the old value), then finally any changed attributes. Attributes that aren't changed aren't shown.
There is also a function doctest.objectEqual
if you
want to test if any attributes have changed.
You can use CoffeeScript in
your tests instead of Javascript. You should include your files as
usual (e.g., using type="text/coffeescript"
or
precompiling to Javascript). To make the actual tests
themselves use CoffeeScript, use this in the head:

This replaces doctest.eval
with a function that uses
CoffeeScript.compile
.
You may want to get access to the test results. The easiest way isn't to replace the reporter, but there is a way to access the results of the reporter via a reporter hook.
If there is an object named doctestReporterHook
when
the doctests are run, then that object will be used. If you have the
tests running automatically on load, then you should be sure to get
this object in place immediately (via


---
layout: post
title: Saw a pair of hawks hunting less than a block from my house. Local squirrel
running scared.
published: true
date: 2009-01-13
categories: []
posterous_url: http://verdammelt.posterous.com/saw-a-pair-of-hawks-hunting-le
posterous_slug: saw-a-pair-of-hawks-hunting-le
---
We heard a strange bird call when we stepped out of the house and then
we saw the hawk. Very beautiful. But we couldn't see the bird that
was answering the hawk's calls until later. We saw the squirrel at
about the same time it saw the hawk. Zoom!


public class DecisionTree
extends java.lang.Object
NODE feat operand value qfalse
Where feat
is an string that represents a feature to pass to
the findFeature
method of an item.
The value
represents the value to be compared against the
feature obtained from the item via the feat
string. The
operand
is the operation to do the comparison. The available
operands are as follows:
[[[TODO: provide support for the IN operator.]]]
For < and >, this CART coerces the value and feature to float's. For =, this CART coerces the value and feature to string and checks for string equality. For MATCHES, this CART uses the value as a regular expression and compares the obtained feature to that.
A CART is represented by an array in this implementation. The
qfalse
value represents the index of the array to go to if the
comparison does not match. In this implementation, qtrue index is always
implied, and represents the next element in the array. The root node of the
CART is the first element in the array.
The interpretations always start at the root node of the CART and continue until a final node is found. The final nodes have the following form:
LEAF value
Where value
represents the value of the node. Reaching a final
node indicates the interpretation is over and the value of the node is the
interpretation result.
| Constructor and Description |
|---|
DecisionTree(java.io.BufferedReader reader,
int nodes)
Creates a new CART by reading from the given reader.
|
DecisionTree(java.net.URL url)
Creates a new CART by reading from the given URL.
|
| Modifier and Type | Method and Description |
|---|---|
void |
dumpDot(java.io.PrintWriter out)
Dump the CART tree as a dot file.
|
protected java.lang.String |
dumpDotNodeColor(edu.cmu.sphinx.alignment.tokenizer.DecisionTree.Node n) |
protected java.lang.String |
dumpDotNodeShape(edu.cmu.sphinx.alignment.tokenizer.DecisionTree.Node n) |
protected edu.cmu.sphinx.alignment.tokenizer.DecisionTree.Node |
getNode(java.lang.String type,
java.util.StringTokenizer tokenizer,
int currentNode)
Gets the node based upon the type and tokenizer.
|
java.lang.Object |
interpret(Item item)
Passes the given item through this CART and returns the interpretation.
|
protected void |
parseAndAdd(java.lang.String line)
Creates a node from the given input line and add it to the CART.
|
protected java.lang.Object |
parseValue(java.lang.String string)
Coerces a string into a value.
|
public DecisionTree(java.net.URL url) throws java.io.IOException
url
- the location of the CART datajava.io.IOException
- if errors occur while reading the datapublic DecisionTree(java.io.BufferedReader reader, int nodes) throws java.io.IOException
reader
- the source of the CART datanodes
- the number of nodes to read for this cartjava.io.IOException
- if errors occur while reading the datapublic void dumpDot(java.io.PrintWriter out)
The dot tool is part of the graphviz distribution at http://www.graphviz.org/. If installed, call it as "dot -O -Tpdf *.dot" from the console to generate pdfs.
out
- The PrintWriter to write to.protected java.lang.String dumpDotNodeColor(edu.cmu.sphinx.alignment.tokenizer.DecisionTree.Node n)
protected java.lang.String dumpDotNodeShape(edu.cmu.sphinx.alignment.tokenizer.DecisionTree.Node n)
protected void parseAndAdd(java.lang.String line)
line
- a line of input to parseprotected edu.cmu.sphinx.alignment.tokenizer.DecisionTree.Node getNode(java.lang.String type, java.util.StringTokenizer tokenizer, int currentNode)
type
- NODE
or LEAF
tokenizer
- the StringTokenizer containing the data to getcurrentNode
- the index of the current node we're looking atprotected java.lang.Object parseValue(java.lang.String string)
string
- of the form "type(value)"; for example, "Float(2.3)"public java.lang.Object interpret(Item item)
item
- the item to analyze


Small left
Medium left
Large left
Small right
Medium right
Large right
Small top
Medium top
Large top
Small bottom
Medium bottom
Large bottom


ActiveRecord Oracle enhanced adapter
Get Version
1.1.8→ ‘oracle-enhanced’
What
Oracle “enhanced” ActiveRecord adapter contains useful additional methods for working with new and legacy Oracle databases from Rails which are extracted from current real projects’ monkey patches of original Oracle adapter.
Installing
sudo gem install activerecord-oracle_enhanced-adapter
The basics
In Rails config/database.yml file use oracle_enhanced as adapter name.
Create config/initializers/oracle_advanced.rb file in your Rails application and put configuration options there. The following configuration options are available:
- set to true if columns with DATE in their name should be emulated as Date (and not as Time which is default)
ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter. emulate_dates_by_column_name = true
- set to true if columns with ID at the end of column name should be emulated as Fixnum (and not as BigDecimal which is default)
ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter. emulate_integers_by_column_name = true
- set to true if CHAR, VARCHAR2 columns or or VARCHAR2 columns with FLAG or YN at the end of their name
should be emulated as booleans (and do not use NUMBER as type for booleans which is default)
ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter. emulate_booleans_from_strings = true
- specify other date and time formats that should be used when assigning string values to :date and :datetime columns, e.g.:
ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter.instance_eval do self.string_to_date_format = "%d.%m.%Y" self.string_to_time_format = "%d.%m.%Y %H:%M:%S" end
- specify which table columns should be ignored by ActiveRecord
ignore_table_columns :column1, :column2, :column3
- specify which table columns should be with :date type (without time) or with :datetime type (with date and time) – this could be used
if emulation by column names is not working because of different naming conventions
set_date_columns :started_on, :finished_on set_datetime_columns :start_date_and_time, :end_date_and_time
- specify which table columns should be with :boolean type – this should be used together with boolean emulation from strings if
there are other boolean columns with different naming convention
set_boolean_columns :some_boolean_column
- specify custom create, update and delete methods which should be used instead of Rails generated INSERT, UPDATE and DELETE statements
# should return ID of new record set_create_method do plsql.employees_pkg.create_employee( :p_first_name => first_name, :p_last_name => last_name, :p_employee_id => nil )[:p_employee_id] end set_update_method do plsql.employees_pkg.update_employee( :p_employee_id => id, :p_first_name => first_name, :p_last_name => last_name ) end set_delete_method do plsql.employees_pkg.delete_employee( :p_employee_id => id ) end
Oracle enhanced adapter is also compatible with composite_primary_keys gem.
See http://blog.rayapps.com/category/oracle-enhanced for more information.
Look ar RSpec tests under spec directory for usage examples.
Feedback
Submit your feedback as comments here.
How to submit patches
You can fetch the source from:
git clone git://github.com/rsim/oracle-enhanced.git
Build and test instructions
cd oracle-enhanced rake spec rake install_gem
License
This code is free to use under the terms of the MIT license.
Raimonds Simanovskis, 19th August 2008
Theme extended from Paul Battley


Before Change
net1 = Network(group1)
net1.run(10*ms)
except UnsupportedEquationsException:
assert True
try:
Eq2 = Equations("dv/dt = (t/ms)*xi*(5*ms)**-0.5 :1")
group2 = NeuronGroup(1, Eq2, method = "euler")
After Change
// One of the equations has multiplicative noise
Eq4 = Equations("""dv/dt = xi_1*(5*ms)**-0.5 : 1
dw/dt = (t/ms)*xi_2*(5*ms)**-0.5 :1""")
group4 = NeuronGroup(1, Eq4, method="euler")
net4 = Network(group4)
assert_raises(UnsupportedEquationsException, net4.run, 0*ms)
// One of the equations has multiplicative noise
Eq5 = Equations("""dv/dt = xi_1*(5*ms)**-0.5 : 1
dw/dt = v*xi_2*(5*ms)**-0.5 :1""")
group5 = NeuronGroup(1, Eq5, method="euler")
net5 = Network(group4)
assert_raises(UnsupportedEquationsException, net5.run, 0*ms)
@with_setup(setup=store_randn, teardown=restore_randn)


HOME
ABOUT
BEEP
BEEP
BOOP
I'm sorry, Dave.
Welcome
Enter a number to see the robot respond back to you:
Convert!


🚫👆 Do not tap or click in the frame.
Generating hashes and bad animation.
Seconds: 0
Hashes generated: 0
Recent hash:


| Language documentation | Contents | Index |
| Concept has five basic data types: string, number, array, class and delegate. The first two are considered "static data types" because no special memory is allocated for those. The last 3 are considered dynamic data types (that need allocation). Concept has a garbage collector, so any memory that is allocated will be automatically freed when will be no longer needed. In addition, the programmer is not allowed to force the free of one variable that still has pointers to it. |
| Declaring a variable | Variables are declared using the "var" keyword |
| Object data type | This is probably the most used data type in general Concept applications |
| The Concept arrays | The concept arrays are a little bit different |
| The delegates | Delegates are functions contained by an object (by object you should understand an instantiated class) that are referenced by a variable |
| The static number type | Static numbers are represented internally on 64 to 80 bits(8-10 bytes) depending on the version and operating system used |
| The static string type | Concept strings are autoallocable (you don't need to allocate them) |
| Documented by Eduard Suica, generation time: Sun Jan 27 18:15:21 2013 GMT | (c)2013 Devronium Applications |


Alex Lopez
About me
Work
Contact me
Resume
Work
Click on the image to visit my websites.
contact me
cell phone:<PHONE_NUMBER>
email<EMAIL_ADDRESS>github: https://github.com/alexito24


Documentation
Table of contents
Introduction
Star Admin2 is a responsive HTML template that is based on the CSS framework Bootstrap 5 and it is built with Sass. Sass compiler makes it easier to code and customize. If you are unfamiliar with Bootstrap or Sass, visit their website and read through the documentation. All of Bootstrap components have been modified to fit the style of Star Admin2 and provide a consistent look throughout the template.
Before you start working with the template, we suggest you go through the pages that are bundled with the theme. Most of the template example pages contain quick tips on how to create or use a component which can be really helpful when you need to create something on the fly.
Note: We are trying our best to document how to use the template. If you think that something is missing from the documentation, please do not hesitate to tell us about it. If you have any questions or issues regarding this theme please use Envato support form on our profile or email us at<EMAIL_ADDRESS>Getting started
You can directly use the compiled and ready-to-use the version of the template. But in case you plan to customize the template extensively the template allows you to do so.
Within the download you'll find the following directories and files, logically grouping common assets and providing both compiled and minified variations:
Note: The root folder denoted further in this documentation refers to the 'template' folder inside the downloaded folder
We have bundled up the vendor files needed for demo purpose into a folder 'vendors', you may not need all those vendors in your application. If you want to make any change in the vendor package files, you need to change the src path for related tasks in the file gulpfile.js and run the task bundleVendors
to rebuild the vendor files.
Installation
You need to install package files/Dependencies for this project if you want to customize it. To do this, you must have node and npm installed in your computer.
Installation guide of the node can be found here. As npm comes bundled with a node, a separate installation of npm is not needed.
If you have installed them, just go to the root folder and run the following command in your command prompt or terminal (for the mac users).
This will install the dev dependencies in the local node_modules folder in your root directory.
Then you will need to install Gulp. We use the Gulp task manager for the development processes. Gulp will watch for changes to the SCSS files and automatically compile the files to CSS.
Getting started with Gulp is pretty simple. The Gulp site is a great place to get information on installing Gulp if you need more information. You need to first install Gulp-cli in your machine using the below command.
This installs Gulp-cli globally to your machine. The other thing that Gulp requires, which, is really what does all the work, is the gulpfile.js. In this file, you set up all of your tasks that you will run.
Don't worry. We have this file already created for you!
To run this project in development mode enter the following command below. This will start the file watch by gulp and whenever a file is modified, the SCSS files will be compiled to create the CSS file.
gulp serve
command from the directory where the gulpfile.js is located.
Basic structure
The below snippet shows the basic HTML structure of Star Admin2 . Please note that all the stylesheets and script files in the below snippet should be included to render Star Admin2 styles.
This section contains code of default vertical layout. For other layouts in vertical mode like boxed, icon-menu etc., you can follow the snippet same as below, but you have to just add the appropriate optional class to the body. More details of the classes are given in Options section
Components
Basic UI Elements
Button with the single color
Outlined
Sizes
Bootstrap Dropdown
Dropdown Outlined
Tables
To create a basic Twitter Bootstrap table, add the following code.
Bootstrap-table is an extended Bootstrap table with radio, checkbox, sort, pagination, and other added features.
Usage
To use Bootstrap-table in your application, include the following files in <head>.
Add the following script files in <body>.
Activate Bootstrap table without writing JavaScript, set data-bs-toggle="table" on a normal table.
Charts
Chart.js is a simple yet flexible JavaScript charting for designers & developers.
Usage
To use Chart.js in your application, include the following files in <head>.
and the following script files in <body>.
To create a simple chart, add the following code:
Forms
The basic form elements can be added to your application as below:
Icons
Material Design Icons growing icon collection allows designers and developers targeting various platforms to download icons in the format, color and size they need for any project.
Usage
To use Material Design Icons in your application, include the following files in <head>.
To generate an icon, add the following code:
Editors
Tinymce is a full-featured web editing tool.
Usage
To use Tinymce in your application, include the following files in <body>.
To create an editor using tinymce, add the following code:
X-editable allows you to create editable elements on your page. It can be used with any engine (Bootstrap, jQuery-UI, jQuery only) and includes both popup and inline modes.
Usage
To use x-editable in your application, include the following files in <head>.
Add the following script files in <body>.
To create a simple editable text field, add the following code:
Summernote is a super simple WYSIWYG Editor.
Usage
To use summernote in your application, include the following files in <head>.
Add the following script files in <body>.
To create a summernote editor, add the following code:
SimpleMDE is a simple, beautiful, and embeddable JavaScript Markdown editor.
Usage
To use simpleMDE in your application, include the following files in <head>.
Add the following script files in <body>.
To create an editor using simpleMDE, add the following code:
Quill is a free, open source WYSIWYG editor built for the modern web.
Usage
To use Quill in your application, include the following files in <head>.
Add the following script files in <body>.
To create an editor using Quill, add the following code:
Ace is an embeddable code editor written in JavaScript. It matches the features and performance of native editors such as Sublime, Vim and TextMate.
Usage
To use ace editor in your application, include the following files in <body>.
To create a code editor using ace with a sample code, add the following code:
CodeMirror is a versatile text editor implemented in JavaScript for the browser. It is specialized for editing code, and comes with a number of language modes and addons that implement more advanced editing functionality.
Usage
To use CodeMirror in your application, include the following files in <head>.
Add the following script files in <body>.
Here is an example of an editor using CodeMirror.
Credits
We have used the following plugins in Star Admin2
- Ace editor https://ace.c9.io/
- Bootstrap https://getbootstrap.com/
- Bootstrap Datepicker https://gitter.im/uxsolutions/bootstrap-datepicker
- Bootstrap Maxlength http://mimo84.github.com/bootstrap-maxlength
- C3 https://travis-ci.org/c3js/c3
- Chart.js https://www.chartjs.org/
- Chartist https://gionkunz.github.io/chartist-js/
- Clipboard https://clipboardjs.com
- Codemirror https://codemirror.net/
- Colcade https://github.com/desandro/colcade/
- D3 https://d3js.org
- Datatables.net https://datatables.net/
- Dragula https://bevacqua.github.io/dragula/
- Dropify http://jeremyfagis.github.io/dropify/
- Dropzone http://www.dropzonejs.com/
- Flag icons http://lipis.github.io/flag-icon-css/
- Flot https://www.flotcharts.org/
- Font awesome https://fontawesome.com/
- Full calendar https://fullcalendar.io/
- Gulp https://gulpjs.com/
- Icheck http://icheck.fronteed.com/
- Inputmask http://robinherbots.github.io/Inputmask/
- Ion range slider http://ionden.com/a/plugins/ion.rangeSlider/en.html
- JQuery https://jquery.com/
- JQuery asColorPicker https://github.com/thecreation/jquery-asColorPicker
- JQuery bar rating http://antenna.io/demo/jquery-bar-rating/examples/
- JQuery context menu http://swisnl.github.io/jQuery-contextMenu/
- JQuery file upload http://hayageek.com/docs/jquery-upload-file.php
- JQuery Mapael https://github.com/neveldo/mapael-maps
- JQuery sparklin http://omnipotent.net/jquery.sparkline/
- JQuery-steps http://www.jquery-steps.com/
- JQuery Tags Input http://xoxco.com/projects/code/tagsinput/
- JQuery Toast https://kamranahmed.info/toast
- JQuery Validation https://jqueryvalidation.org/
- JQuery Avgrund https://github.com/voronianski/jquery.avgrund.js
- JQuery Repeater http://briandetering.net/repeater
- JSgrid http://js-grid.com/
- JSgrid http://js-grid.com/
- Justgage http://justgage.com/
- JVector Map http://jvectormap.com/
- Light gallery http://sachinchoolur.github.io/lightGallery/
- Material Design Icons https://materialdesignicons.com/
- Moment.js https://momentjs.com/
- Morris.js https://momentjs.com/
- NoUISlider https://refreshless.com/nouislider/
- Owl carousel https://owlcarousel2.github.io/OwlCarousel2/docs/started-welcome.html
- Perfect scrollbar http://utatti.github.io/perfect-scrollbar/
- Popper.js https://popper.js.org/
- Progressbar.js https://progressbarjs.readthedocs.io
- PWS Tabs https://alexchizhov.com/pwstabs/
- Quill Editor https://quilljs.com/
- Rapheal http://dmitrybaranovskiy.github.io/raphael/
- Select 2 https://select2.org/
- Simple line icons http://simplelineicons.com/
- SimpleMDE https://simplemde.com/
- Summernote https://summernote.org/
- Sweetalert http://sweetalert.js.org
- Tempusdominus-bootstrap-4 https://tempusdominus.github.io/bootstrap-4/
- Themify icons https://themify.me/themify-icons
- TinyMCE https://www.tiny.cloud/
- TWBS pagination https://esimakin.github.io/twbs-pagination/
- Typeahead https://twitter.github.io/typeahead.js/
- Xeditable https://vitalets.github.io/x-editable/


String.startsWith()
and
String.endsWith()
where single character string literals are passed as an argument.
A quick-fix is suggested to replace such calls with more efficiently implemented String.charAt()
.
However, the performance gain of such change is minimal and the code becomes less readable because of the extra non-zero length check, so it is recommended to apply the quick-fix only inside tight loops.
This inspection is intended for Java ME and other highly resource constrained environments. Applying the results of this inspection without consideration might have negative effects on code clarity and design.
Example:
boolean startsWithX(String s) {
return s.startsWith("x");
}
After the quick-fix is applied:
boolean startsWithX(String s) {
return !s.isEmpty() && s.charAt(0) == 'x';
}


Download Code
A natural application in the framework of shape optimization is the aerodynamic design of an airfoil. An object defined by a domain with boundary immersed in a fluid will experience a net force given by
where is the stress tensor, is the fluid pressure, is the kinematic viscosity, is the strain rate tensor, and is the fluid velocity vector field.
The force exerted by the fluid on the airfoil parallel to the fluid velocity at infinity is referred to as the drag force, whereas the force in perpendicular direction is often named the lift.
We look for the optimal shape in order to minimize the drag, as this force produces energy losses, and at the same time maximize the lift for a fixed airfoil volume. This can be expressed by means of the functional
where and are weighting factors for drag and lift forces, respectively, and with . The state variables are subject to a set of constraints in the fluid domain with boundary , namely the steady Navier-Stokes equations,
and to the volume constraint
The adjoint problem reads as
The directional derivative of the functional is given by
and the cost function descreases by choosing the normal displacement to the controlled boundary as
Hence,
for a sufficiently small value of .
The remaining Lagrange multiplier associated to the volume constraint is computed in order to ensure the volume conservation,
In summary, the shape optimization iteration is as follows:
- Solve the primal problem.
- Solve the adjoint problem with the previously computed state variables.
- Compute the Lagrange multiplier for the volume constraint.
- Compute the displacement field.
- Update the displacement field of the previous iteration.
- Perform the mesh motion.
Getting Started
The solver must be compiled in the terminal. It is advisable to first clean previous compilations with
and then use
Prerequisites
OpenFOAM C++ library must be installed in order to compile the code.
The OpenFOAM distribution provided by the OpenFOAM Foundation was used.
Running a Case
The above shape optimization process has been implemented in the open-source C++ library OpenFOAM. The already existing solver adjointShapeOptimizationFoam is a topological optimization routine that relies on a porosity variable and on the calculation of volume sensitivities to determine which regions of the domain must be blocked to the fluid passage in order to minimize a known functional. We have coded a new solver shapeOptimizationFoam that takes some ideas from the aforementioned one, but which performs a shape optimization iteration instead by computing shape sensitivities.
The solver has been tested in the minimization of the the cost function
subject to
The adjoint problem reads as
In order to run the solver move to the case folder shapeOptimizationFoamCase and type in the command line
./Allprepare
shapeOptimizationFoam
The solver has been run for three different Reynolds numbers and the cost functional value has been normalized with
where and are the cylinder diameter and thickness, respectively.
Warning
It might be needed to use
sed -i -e 's/\r$//' filename
and
in order to be able to execute
References
- Antony Jameson. Aerodynamic design via control theory. Journal of scientific computing, 3(3):233–260, 1988.
- Antony Jameson and Luigi Martinelli. Aerodynamic shape optimization techniques based on control theory. In Computational Mathematics Driven by Industrial Problems, pages 151–221. Springer, 2000.
- Antony Jameson and James Reuther. Control theory based airfoil design using the euler equations. In 5th Symposium on Multidisciplinary Analysis and Optimization, page 4272, 1994.
- Bijan Mohammadi and Olivier Pironneau. Mesh adaption and automatic differentiation in a cad-free framework for optimal shape design. International Journal for Numerical Methods in Fluids, 30(2):127–136, 1999.
- Bijan Mohammadi and Olivier Pironneau. Applied shape optimization for fluids. Oxford University Press, 2010.
- C. Othmer. A continuous adjoint formulation for the computation of topological and surface sensitivities of ducted flows. International Journal for Numerical Methods in Fluids, 58(8):861–877, 2008.
- C. Othmer, E. Papoutsis-Kiachagias, and K. Haliskos. CFD optimization via sensitivity-based shape morphing. In Proceedings of the 4th ANSA & μETA Internat. Conf., Thessaloniki, Greece, BETA CAE Systems SA, 2011.
- Carsten Othmer. Adjoint methods for car aerodynamics. Journal of Mathematics in Industry, 4(1):6, 2014.
- Carsten Othmer, Eugene de Villiers, and Henry Weller. Implementation of a continuous adjoint for topology optimization of ducted flows. In 18th AIAA Computational Fluid Dynamics Conference, page 3947, 2007.
- Carsten Othmer and Thorsten Grahs. Approaches to fluid dynamic optimization in the car development process. In International Conference on Evolutionary and Deterministic Methods for Design, Optimization and Control With Applications to Industrial and Societal Problems, 2005.
- Carsten Othmer, Thomas Kaminski, and Ralf Giering. Computation of topological sensitivities in fluid dynamics: cost function versatility. In ECCOMAS CFD 2006: Proceedings of the European Conference on Computational Fluid Dynamics, Egmond aan Zee, The Netherlands, September 5-8, 2006. Citeseer, 2006.
- Olivier Pironneau. Optimal shape design for elliptic systems. Springer Science & Business Media, 2012.
- James Reuther and Antony Jameson. Aerodynamic shape optimization of wing and wing-body configurations using control theory. In 33rd Aerospace Sciences Meeting and Exhibit, page 123, 1995.
- James Reuther, Antony Jameson, James Farmer, Luigi Martinelli, and David Saunders. Aerodynamic shape optimization of complex aircraft configurations via an adjoint formulation. In 34th Aerospace Sciences Meeting and Exhibit, page 94, 1996.
- James J Reuther, Antony Jameson, Juan J Alonso, Mark J Rimlinger, and David Saunders. Constrained multipoint aerodynamic shape optimization using an adjoint formulation and parallel computers, part 1. Journal of aircraft, 36(1):51–60, 1999.
- J. Simon. Diferenciación de problemas de contorno respecto del dominio. Technical report, Universidad de Sevilla, Facultad de Matemáticas, Departamento de Análisis Matemático, 1989.
- Orlando Soto and Rainald Löhner. On the computation of flow sensitivities from boundary integrals. AIAA paper, 112:2004, 2004.
- Orlando Soto, Rainald Löhner, and Chi Yang. An adjoint-based design methodology for CFD problems. International Journal of Numerical Methods for Heat & Fluid Flow, 14(6):734–759, 2004.
- Schumacher Thomas, Othmer Carsten, et al. Adjoint optimization for vehicle external aerodynamics. International Journal of Automotive Engineering, 7(1):1–7, 2016.
- Henk Kaarle Versteeg and Weeratunge Malalasekera. An introduction to computational fluid dynamics: the finite volume method. Pearson Education, 2007.
- F. Feppon, G. Allaire, F. Bordeu, J. Cortial, and C. Dapogny. Shape optimization of a coupled thermal fluid-structure problem in a level set mesh evolution framework, 2018.


¶ NodeGameClientCopyright(c) 2015 Stefano Balietti MIT Licensed nodeGame: Real-time social experiments in the browser.
|
(function(exports, parent) {
"use strict";
|
¶ Exposing Class |
exports.NodeGameClient = NodeGameClient;
var ErrorManager = parent.ErrorManager,
EventEmitterManager = parent.EventEmitterManager,
GameMsgGenerator = parent.GameMsgGenerator,
Socket = parent.Socket,
Game = parent.Game,
GameSession = parent.GameSession,
Timer = parent.Timer,
constants = parent.constants;
|
¶ NodeGameClient constructorCreates a new NodeGameClient object |
function NodeGameClient() {
this.info('node: loading.');
|
¶ node.nodenameThe name of this node, used in logging output Default: 'ng' |
this.nodename = 'ng';
|
¶ node.verbosityThe minimum level for a log entry to be displayed as output Default: only warnings and errors are displayed |
this.verbosity = constants.verbosity_levels.warn;
|
¶ node.remoteVerbosityThe minimum level for a log entry to be reported to the server Default: errors and warnings are reported |
this.remoteVerbosity = constants.verbosity_levels.error;
|
¶ node.remoteVerbosityMaps remotely logged messages to avoid infinite recursion In normal conditions this should always stay empty. |
this.remoteLogMap = {};
|
¶ node.errorManagerCatches run-time errors In debug mode errors are re-thrown. |
this.errorManager = new ErrorManager(this);
|
¶ node.eventsInstance of the EventEmitterManager class Takes care of emitting the events and calling the proper listener functions See
EventEmitter
|
this.events = new EventEmitterManager(this);
|
¶ NodeGameClient.emitEmits an event locally on all registered event handlers The first parameter be the name of the event as string, followed by any number of parameters that will be passed to the handler callback. See
NodeGameClient.emitAsync
See
EventEmitterManager.emit
|
this.emit = this.events.emit;
|
¶ NodeGameClient.emitAsyncEmits an event locally on all registered event handlers Unlike normal emit, it does not return a value. See
NodeGameClient.emit
See
EventEmitterManager.emitSync
|
this.emitAsync = this.events.emitAsync;
|
¶ NodeGameClient.onRegisters an event listener on the active event emitter Different event emitters are active during the game. For
example, before a game is started, e.g. in the init
function of the game object, the Params
event
string
The name of the event
listener
function
The callback function
See
NodeGameClient.off
|
this.on = function(event, listener) {
var ee;
ee = this.getCurrentEventEmitter();
ee.on(event, listener);
};
|
¶ NodeGameClient.onceRegisters an event listener that will be removed after its first call Params
event
string
The name of the event
listener
function
The callback function
See
NodeGameClient.on
See
NodeGameClient.off
|
this.once = function(event, listener) {
var ee;
ee = this.getCurrentEventEmitter();
ee.once(event, listener);
};
|
¶ NodeGameClient.offDeregisters one or multiple event listeners Params
event
string
The name of the event
listener
function
The callback function
See
NodeGameClient.on
See
NodeGameClient.EventEmitter.remove
|
this.off = function(event, func) {
return this.events.remove(event, func);
};
|
this.msg = new GameMsgGenerator(this);
|
|
this.socket = new Socket(this);
|
|
¶ node.sessionContains a reference to all session variables Session variables can be saved and restored at a later stage experimental
|
this.session = new GameSession(this);
|
this.player = { placeholder: true };
|
|
this.timer = new Timer(this);
|
|
this.game = new Game(this);
|
|
¶ node.storeMakes the nodeGame session persistent, saving it to the browser local database or to a cookie See
shelf.js
|
this.store = function() {};
|
this.conf = {};
|
|
¶ node.supportA collection of features that are supported by the current browser |
this.support = {};
|
¶ node._setupObject containing registered setup functions See
NodeGameClient.setup
See
NodeGameClient.registerSetup
API
private
|
this._setup = {};
|
¶ node._envObject containing registered environmental variables See
NodeGameClient.setup.env
See
NodeGameClient.env
API
private
|
this._env = {};
|
¶ Configuration. |
|
¶ Setup functions. |
this.addDefaultSetupFunctions();
|
¶ Aliases. |
this.addDefaultAliases();
|
¶ Listeners. |
this.addDefaultIncomingListeners();
this.addDefaultInternalListeners();
this.info('node: object created.');
}
|
¶ Closure |
})(
'undefined' != typeof node ? node : module.exports
, 'undefined' != typeof node ? node : module.parent.exports
);
|