Across these projects we see partisan polarization in firms such that employees at Democratic and Republican firms (across executives, managers, and other levels) are
increasingly similar to their colleagues in their partisan expression.
Partisanship, in-turn, impacts firm behavior including hiring behavior and corporate board membership. Applicants were more likely to receive callbacks when they matched firm partisanship. Opposing partisans were less likely to be hired. This pattern also holds for corporate board member replacements. Some highlights from the projects are below:
Corporate Politics: The Emergence of Partisan Polarization in Firms, 1980-2018 - This paper reveals the emergence of three types of firm clusters: polarized Republican, polarized Democrat, and Amphibious firms. We see increasing partisan homogeneity at these Democratic and Republican firms: We see not only increased partisan similarity within levels, there is also increasing similarity of partisanship between levels. That is, employees - whether executives, managers, or lower level occupations were more likely to belong to the same political party.


| ${value} Second Duration | -8 |
| ${chance}% Chance of ${value} second(s) of Freeze | 50.0% Chance of min: 1.5 second(s) of Freeze |
| ${value} Frostburn Damage over ${duration} Second(s) | min: 190.0 Frostburn Damage over min: 3.0 Second(s) |
| +${value}% Physical Damage | 50 |
| +${value}% Vitality Damage | -50 |
| +${value}% Vitality Decay | -50 |
| MaxLevel | 1 |
| UltimateLevel | 1 |


The Negotiator (1998)
Director: F. Gary Gray Cast: Samuel L. Jackson, Kevin Spacey, John Spencer, David Morse, Ron Rifkin, J.T. Walsh, Regina Taylor, Joey Perillo, Siobahn Fallon Screenplay: James DeMonaco, Kevin Fox Producers: Arnon Milchan, David Hoberman Runtime: 140 min. US Distribution: Warner Bros. Rated R: violence, profanity
By Nathaniel R. Atcheson<EMAIL_ADDRESS>I'm not sure of the Negotiator to which the title of this film refers: is it Danny Roman (Samuel L. Jackson), a Negotiator accused of taking hostages to prove his innocence, or is it Chris Sabian (Kevin Spacey), the Negotiator Roman wants called in to talk to him? Perhaps it's not important. What is important is that Roman has been accused of killing his partner, and now his friends and colleagues all believe he's is guilty. So, he heads up to the Internal Affairs office, where he suspects Inspector Niebaum (J.T. Walsh) is conspiring against him. And he takes everyone hostage.
The Negotiator is, unfortunately, a professional execution of a very mediocre script. I came close to recommending the film with more enthusiasm, but the problems in the story grew very tiresome by the last scene. Like so many thrillers, The Negotiator starts off with an interesting premise and concludes with sequences that make no sense. It should have been all psychological, featuring a showdown between two terrific actors (Jackson and Spacey). It has great scenes between the two, but there's too much contrived plot here to fully enjoy the chemistry. By the time the credits rolled, I wondered if I had seen a masked entry into the Fugitive series.
The film was directed by F. Gary Gray, and he is good at what he does. Just about every scene here -- even the ridiculous ones at the end -- are sharp and exciting.  Gray shoots this scene with skill, and it has the kind of claustrophobic feel that action scenes in small places need to be successful. The problem is that the scene is not necessary, nor is it realistic. The Negotiator's strongest points are in the electricity of the dialogue, and scenes like this break my concentration. Screenwriters should learn that, more often than not, words are more interesting than bullets.
But there is a lot to like about this film, particularly in the performances and Gray's observation of them. Spacey is a miracle of an actor, and I'm elated that he's not being typecast as a psycho. The first scene with him is terrific, showing him in a comical scene with his family (this scene is also nice because few thrillers even take the time to show us a little bit about the characters). Physically, Spacey is not an imposing man -- he's actually much shorter than most of the other actors in this film -- but he has a way of delivering dialogue that demands attention. He's a magnetic screen presence, and one of the few of these who can actually act.
Jackson is equally good, and plays the desperate man well. Jackson is one of the more versatile actors working today, proving in film after film that he's not bound by any limitations as a performer. He speaks his lines with conviction and ease, and never lets the audience slip out of the moment. The two actors are fascinating together, even when speaking through a telephone. One of the best scenes in the film is a moment in which the two stars and the director are working perfectly in sync -- just as Sabian arrives on the scene, and he's talking to Roman for the first time, the two men speak calmly as Sabian is preparing to negotiate with him. It's hard to explain the energy in this scene, but it's all visual, displaying the talent of the actors intertwined with Gray's swift style.
There are also some terrific supporting performances. Paul Giamatti, whom I will always remember as Howard Stern's nemesis, Pig Vomit, is in every movie this summer; here, he's hilarious as one of the hostages.  The late J.T. Walsh is adequately dark as the mean Internal Affairs bad guy. And Regina Taylor gives a good performance as Roman's wife. None of the characterizations in this film are particularly strong, but it's one of the few pictures I've seen in which acting talent actually makes up for the lack of characters.
Reader, you can't understand how much I want to like this movie just a little bit more than I do. The acting is so good. The direction is so good. But the script is so silly, so profoundly dumb, and so shameless in its regression from interesting to absurd, that I just can't quite say that The Negotiator is a good film and live on with my clear conscience. Why did we have to have another story about a man clearing his innocence? Why did I need to see more silly scenes in which people hack into computers to find out hidden information (the computer is the *worst* place to keep incriminating information)? Why did there have to be silly shootouts, and machinegun battles in close quarters? Actors this talented don't need all this plot -- just contrive a crisis, put them in a room, and let them do the rest.
**1/2 out of **** (6/10, C+)
Visit FILM PSYCHOSIS at http://www.pyramid.net/natesmovies
Nathaniel R. Atcheson
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


| Home | Libraries | People | FAQ | More |
regress:
A regression test application that gives the matching/searching algorithms
a full workout. The presence of this program is your guarantee that the library
will behave as claimed - at least as far as those items tested are concerned
- if anyone spots anything that isn't being tested I'd be glad to hear about
it.
回归测试程序对匹配/查找算法一次充分的考验。该程序的存在是本库能按要求工作的保证
- 至少对于这些被测试的项目来说 - 如果有人指出有哪件事情未被测试到，我很乐意听到。
Files:
文件：
bad_expression_test:
Verifies that "bad" regular expressions don't cause the matcher
to go into infinite loops, but to throw an exception instead.
验证“坏的”正则表达式不会导致匹配器陷入无限循环，而是会抛出一个异常。
Files: bad_expression_test.cpp.
recursion_test:
Verifies that the matcher can't overrun the stack (no matter what the expression).
验证匹配器不会栈溢出(无论是什么表达式)。
Files: recursion_test.cpp.
concepts:
Verifies that the library meets all documented concepts (a compile only test).
验证本库符合所列出的所有概念(只需测试编译)。
Files: concept_check.cpp.
captures_test:
Test code for captures.
有关捕获的测试代码。
Files: captures_test.cpp.
grep
A simple grep implementation, run with the -h command line option to find
out its usage.
一个简单的 grep 实现，使用 -h 命令行选项运行，可以看到它的用法。
Files: grep.cpp
timer.exe
A simple interactive expression matching application, the results of all
matches are timed, allowing the programmer to optimize their regular expressions
where performance is critical.
一个简单的交互式表达式匹配程序，所有匹配的结果被计时，允许程序员在性能是关键因素时优化他们的正则表达式。
Files: regex_timer.cpp.
The snippets examples contain the code examples used in the documentation:
这些代码片断包含了本文档中使用的示例代码：
captures_example.cpp: Demonstrates the use of captures.
credit_card_example.cpp: Credit card number formatting code.
partial_regex_grep.cpp: Search example using partial matches.
partial_regex_match.cpp: regex_match example using partial matches.
regex_iterator_example.cpp: Iterating through a series of matches.
regex_match_example.cpp: ftp based regex_match example.
regex_merge_example.cpp: regex_merge example: converts a C++ file to syntax highlighted HTML.
regex_replace_example.cpp: regex_replace example: converts a C++ file to syntax highlighted HTML
regex_search_example.cpp: regex_search example: searches a cpp file for class definitions.
regex_token_iterator_eg_1.cpp: split a string into a series of tokens.
regex_token_iterator_eg_2.cpp: enumerate the linked URL's in a HTML file.
The following are deprecated:
以下是不再使用的：
regex_grep_example_1.cpp: regex_grep example 1: searches a cpp file for class definitions.
regex_grep_example_2.cpp: regex_grep example 2: searches a cpp file for class definitions, using a global callback function.
regex_grep_example_3.cpp: regex_grep example 2: searches a cpp file for class definitions, using a bound member function callback.
regex_grep_example_4.cpp: regex_grep example 2: searches a cpp file for class definitions, using a C++ Builder closure as a callback.
regex_split_example_1.cpp: regex_split example: split a string into tokens.
regex_split_example_2.cpp : regex_split example: spit out linked URL's.


Big sports events today
by TIMESOFINDIA.COMNEW DELHI: Here are the big sports events lined up for Saturday (November 9) that comprise the action from Premier League, Syed Mushtaq Ali Trophy and China Open.
(All timings in IST)
1:30 am (Football - Premier League)
9:00 am (Cricket - Syed Mushtaq Ali Trophy)
Arunachal Pradesh vs Punjab, Round 2, Group C
Chhattisgarh vs Himachal Pradesh, Round 2, Group C
Jharkhand vs Saurashtra, Round 2, Group E
Delhi vs Odisha, Round 2, Group E
Tamil Nadu vs Rajasthan, Round 2, Group B
Baroda vs Karnataka, Round 2, Group A
Manipur vs Tripura, Round 2, Group B
Bihar vs Goa, Round 2, Group A
9:30 am (Cricket - Syed Mushtaq Ali Trophy)
Assam vs Madhya Pradesh, Round 2, Group D
Puducherry vs Meghalaya, Round 2, Group D
Gujarat vs Jammu and Kashmir, Round 2, Group E
1:00 pm approx (Badminton - China Open)
Satwiksairaj Rankireddy/Chirag Shetty vs Marcus Fernaldi Gideon/Kevin Sanjaya Sukamuljo (Indonesia) in men's doubles semifinals
2:00 pm (Cricket - Syed Mushtaq Ali Trophy)
Bengal vs Mizoram, Round 2, Group D
Maharashtra vs Chandigarh, Round 2, Group C
Nagaland vs Sikkim, Round 2, Group E
Uttar Pradesh vs Vidarbha, Round 2, Group B
Services vs Uttarakhand, Round 2, Group A
Hyderabad vs Railways, Round 2, Group C
Haryana vs Mumbai, Round 2, Group D
2:00 pm (Cricket - 2nd ODI)
6:00 pm (Football - Premier League)
7:30 pm (Football - Indian Super League)
ATK vs Jamshedpur
8:30 pm (Football - Premier League)
Burnley FC vs West Ham
Newcastle vs Bournemouth
Southampton vs Everton
Tottenham vs Sheff United
10:00 pm (Football - Ligue 1)
Brest vs PSG
10:30 pm (Football - Serie A)
Inter Milan vs Verona
11:00 pm (Football - Premier League)
11:00 pm (Football - La Liga)
Eibar vs Real Madrid
11:00 pm (Football - Bundesliga)
Bayern vs Dortmund


Get the information you
want from your company's
email system with
SSW
Exchange Reports
|
Is Exchange
is an
integral
part of your
organization?
If so, SSW
Exchange
Reports
provides the
tools you
need to
efficiently analyze your
organisation's
email usage.
Exchange
Reporter
captures
your
Exchange
data into
SQL Server
using the
SSW Exchange
Extraction
Service that
integrates
with our
custom set
of Reporting
Services
reports. The
extraction
service runs
as a windows
service on
your
Exchange
Server to
seamlessly
extract your
email
messages and
mail folder
statistics.
You can then
report on
any number
of different
usages of
Exchange
within your
organisation.
More... |


{% extends 'base.html' %} {% block title %} ReleCloud - Destinations {% endblock %} {% block content %}
If you can imagine it, we travel to it! Below is our list of confirmed destinations.


Lauren Orsini with ReadWrite on the rise and fall of PHP:
Today, PHP is past its prime. According to job search engine Indeed.com, PHP job listings peaked around 2011 and have since plummeted nationally. PHP is especially confusing because of its awkward start. While Python and Ruby began as functional languages from the start, PHP was originally designed to automate the building of HTML templates, and grew into a functional language later. As it added functionality, it picked up a lot of what Moor called its “quirks and oddities.”
From 2005 to 2010, I was a full-blown LAMP (Linux, Apache, MySQL, PHP) developer. In those days, it was the profession to have; we all knew the deficiencies and oddities of PHP, but the industry was booming. We figured that since it had lingered this far, it had eclipsed any sort of obsolescence.
It seems we were wrong.
It’s interesting to look the well-curated communities devoted to exposing the peculiarities of PHP (such as PHP Sadness, PHP turtles, and PHPWTF). The passion with which the webdev community has documented PHP’s shortcomings tells me all I need to know: PHP is dying.
Farewell, old friend. You were crazy, to be sure, but I learned a lot because of you. I’ll remember you always.


A Guide To Star Wars Lore In The Mandalorian
by Sarah BasfordAussies can legally watch the The Mandalorian on Disney+, but if you're a more casual Star Wars fan, it's a bit confusing to keep up with all the players and planets. Here's a quick beginner's guide to bring you up to speed with the lore surrounding the exciting new series. The Mandalore-ian, you could say...
Who are the Mandalorians?
A Mandalorian is a specific race of people in the Star Wars universe, native to the planet of Mandalore. They are characterised by their distinct armour, including a helmet that appears very Storm Trooper-y. In the show, the title character jokes guns are his religion, which makes sense given Mandalorians tend to work as bounty hunters and mercenaries.
Despite Boba Fett from 1980's Episode V: The Empire Strikes Back looking exactly like a Mandalorian, he's not really. As we find out many years later in one of the prequel titles, Episode II – Attack of the Clones, Boba was actually a human clone of Jango Fett, an actual Mandalorian, though the movies never use the word. In fact, the first time the Mandalorians are referenced in official canon was in a 1983 comic, Star Wars #68 "The Search Begins" and again in season two of 2008's The Clone Wars.
What planets are included in the series?
While only two episodes have been released so far, the majority of it has been set on a single planet: Arvala-7. This is the desert-y like planet that seems suspiciously similar to Tatooine. It's filled with Jawas (more on those later), Ugnaught farmers and two-legged creatures called blurgs. Its appearance marks the first in Star Wars canon.
I wasn't able to figure out what the first icy planet that the first episode begins with is named but it doesn't seem likely they'll back head back there any time soon given it's filled with murderous ice monsters.
Apart from those, however, we'll have to wait and see where else the show goes.
When is it set in relation to the movie series?
The Mandalorian is set five years after the fall of the Empire but before the rise of the First Order. This means it's wedged somewhere between 1983's Episode VI – Return of the Jedi and 2015's Episode VII – The Force Awakens.
Who are the Jawas?
The Jawas have been pestering the Star Wars universe since the first Star Wars movie, Episode IV – A New Hope, back in 1977. They're a group of humanoids in cloaks who speak Jawanese and are experts at salvaging, as shown in the first movie when they try to sell R2-D2 and C-3PO's parts. They seem to only appear in desert-like planets like Tatooine and now, Arvala-7.
The Mandalorian's second episode shows they're still as irritating as ever but are mostly harmless.
What is beskar armour?
When the contract is given to the Mandalorian to head to Arvala-7 to capture or kill the bounty, he's offered a bar of beskar. Beskar iron, according to Star Wars' Fandom, is highly-prized due to being basically indestructible. It also happens to be extremely rare so it's very valuable. Most Mandalorians, like Jango Fett, instead use such as durasteel or duraplast and as shown in the series, add the beskar where possible.
Upon being given the bar, the Mandalorian gives it to a blacksmith to craft it into a pauldron — an armour plate for the shoulder.
Are all the creatures featured from the movies?
The creatures we've seen so far include jawas, Ugnaughts, blurrgs and 'ravinaks'. The first two we've already discussed but it's the latter two that are interesting to research. Blurrgs have never appeared in the movie series but they did pop up in The Clone Wars as well as an Star Wars Rebels episode called "Hera's Heroes", according to Star Wars' Fandom page.
Ravinaks, as shown in the opening scene when the Mandalorian is attempting to leave the icy planet, have never before featured in Star Wars canon. This walrus-cross-Godzilla is a The Mandalorian exclusive.
Who is Baby Yoda?
By the end of episode one, you realise the bounty target is actually an adorable 50-year-old Yoda baby. Is it the Yoda? Well, no but it could have some relation to him and the theories are endless.

Hit me up in the comments if there's anything else you've been dying to figure out.


If you're a US resident with Chase QuickPay® or Bank of America account enabled, Zelle® is the easiest way to send the payment, virtually and securely.
This is an alternative payment network for customers who are US residents, and have an Apple device with Apple Pay Cash enabled.
This is an alternative payment network for customers who are US residents, and have a Facebook account with Facebook Payments enabled. Learn more about Facebook Payments here.
This is a payment network for global customers, especially intended for European Economic Area (EEA) or Canadian residents. Opening a PayPal account is not mandatory.
Bitcoin is perfect for customers who perfer to shop in an anonymous approach. Please note that it may take up to 48 hours to process the payment, and such transactions are non-refundable.
This is the primary payment network for customers who are residents in Mainland China, and have a WeChat account with WeChat Pay enabled.
This is an alternative payment network for customers who are residents in Mainland China, and have an Alipay account set up.


Beta This is a test version of the layout of this page. Take the survey to help us improve it
Collection
DfE letters to academy trusts about poor or inadequate performance or weaknesses in safeguarding, governance or financial management.
You can find a copy of the most recent notices we’ve issued to academies on this page. See the ‘List of letters to academy trusts for poor performance’ for a full record of all the notices we’ve issued.
Letters to academy trusts issued as pre-warning notices in relation to academies.
Letters to academy trusts issued as warning notices in relation to academies.


Release Notes for STM32H747I-DISCO BSP Driver
Copyright © 2019 STMicroelectronics
License
This software component is licensed by ST under BSD 3-Clause license, the “License”; You may not use this component except in compliance with the License. You may obtain a copy of the License at:
https://opensource.org/licenses/BSD-3-Clause


NZ questions and answers
Question 1:
1. Does duplicate ids confuse the screen readers? does all elements need ids?
Answer
All HTML markup should be well formed and valid as defined by the W3C Markup Validation Service.
In an HTML page, all ID values must be unique in order for the document to pass validation.
In specific instances, duplicate ID values could cause issues for screen readers. A short list of examples where this could present issues include:
- for/id
- aria-describedby/id
- aria-labelledby/id
- aria-owns/id
- aria-controls/id
Question 2:
Inputs like DOB (3 fields) have only one label. is the best accessibility practice to still have one label per input on those scenario, assuming they are off-screen?
Answer
Question 3:
Links with JavaScript onclick to open dialogs/popup that are not navigating to a different page are acceptable?
Answer
As was mentioned by one of your team:
- BUTTON should be used for actions
- LINKS should be used to send users to locations
For this reason, the trigger for modals should be the BUTTON element.
Question 4:
Is there any application/site/script we can use to identify how many accessibility issues we have in our portal just to make sure we are not accidentally increasing the number of problems as we progress with the changes?
Answer
Question 5:
Testing accessibility changes. How do we do that?
Answer
Tag me in all Jira tickets.
Question 6:
We should make sure that every input field has a label (visible or hidden) that accurately describes the field (FOR). About hidden labels it was suggested in the last meeting we can set the fields outside the visible area including "absolute" position. Setting "absolute" position will remove the label from the DOM position where is placed, will the screen reader be able to "link" the input with the label even though its not in the DOM as a normal label?
Answer
In very specific circumstances, it is allowable to hide the LABEL element off-screen, but only when the purpose of the form control is clear and obvious to sighted users.
Hiding the LABEL off-screen is acceptable as long as it is absolutely positioned, and does not use display: none, as this will remove the element from the accessibility tree.
.sr-only {
position: absolute !important;
overflow: hidden !important;
clip: rect(1px, 1px, 1px, 1px) !important;
width: 1px !important;
height: 1px !important;
border: 0 !important;
margin: -1px !important;
padding: 0 !important;
white-space: nowrap !important;
-webkit-clip-path: inset(50%) !important;
clip-path: inset(50%) !important;
}
<form action="#">

Name
<input id="name" type="text">

</form>
Question 7:
Should a input label and the input placeholder have ALWAYS the same value?
Answer
The placeholder attribute should be AVOIDED COMPLETELY as it presents a range of accessibility issues.
- Colour contrast - especially for users who set their controls to high.
- Congnitive impaired and users who are not tech savy - the placeholder information is wiped as soon as the user begins typing.
- Screen reader users - the placeholder is often announced AS WELL AS any label, which means duplicate information is presented to users.
You can see this in this test case:
The word "Fox" should not be announced to users at all, unless there is no label or title present. Instead, the placeholder is announced as well as the label and title if present.
Question 8:
What would be the best approach to "link" a label with FOR attribute to the radio buttons for the example in the image in the notes. have 1 invisible label for each of the radio options? and add the "Adjust your policy excess" for attribute relating to the fieldset id?
Answer
This should be standard fieldset/legend markup. Note that the paragraph can be associated with the first input so that it is announced when the radio recieves focus.


Apache HTTP Server Version 1.3
Apache 1.3
Originally written by
Dynamic Shared Object (DSO)
Support
Ralf S. Engelschall<EMAIL_ADDRESS>April 1998Background
On modern Unix derivatives there exists a nifty mechanism usually called dynamic linking/loading of Dynamic Shared Objects (DSO) which provides a way to build a piece of program code in a special format for loading it at run-time into the address space of an executable program.
This loading can usually be done in two ways: Automatically by a system program called
ld.so
when an executable program is started or manually from within the executing program via a programmatic system interface to the Unix loader through the system callsdlopen()/dlsym()
.In the first way the DSO's are usually called shared libraries or DSO libraries and named
libfoo.so
orlibfoo.so.1.2
. They reside in a system directory (usually/usr/lib
) and the link to the executable program is established at build-time by specifying-lfoo
to the linker command. This hard-codes library references into the executable program file so that at start-time the Unix loader is able to locatelibfoo.so
in/usr/lib
, in paths hard-coded via linker-options like-R
or in paths configured via the environment variableLD_LIBRARY_PATH
. It then resolves any (yet unresolved) symbols in the executable program which are available in the DSO.Symbols in the executable program are usually not referenced by the DSO (because it's a reusable library of general code) and hence no further resolving has to be done. The executable program has no need to do anything on its own to use the symbols from the DSO because the complete resolving is done by the Unix loader. (In fact, the code to invoke
ld.so
is part of the run-time startup code which is linked into every executable program which has been bound non-static). The advantage of dynamic loading of common library code is obvious: the library code needs to be stored only once, in a system library likelibc.so
, saving disk space for every program.In the second way the DSO's are usually called shared objects or DSO files and can be named with an arbitrary extension (although the canonical name is
foo.so
). These files usually stay inside a program-specific directory and there is no automatically established link to the executable program where they are used. Instead the executable program manually loads the DSO at run-time into its address space viadlopen()
. At this time no resolving of symbols from the DSO for the executable program is done. But instead the Unix loader automatically resolves any (yet unresolved) symbols in the DSO from the set of symbols exported by the executable program and its already loaded DSO libraries (especially all symbols from the ubiquitouslibc.so
). This way the DSO gets knowledge of the executable program's symbol set as if it had been statically linked with it in the first place.Finally, to take advantage of the DSO's API the executable program has to resolve particular symbols from the DSO via
dlsym()
for later use inside dispatch tables etc. In other words: The executable program has to manually resolve every symbol it needs to be able to use it. The advantage of such a mechanism is that optional program parts need not be loaded (and thus do not spend memory) until they are needed by the program in question. When required, these program parts can be loaded dynamically to extend the base program's functionality.Although this DSO mechanism sounds straightforward there is at least one difficult step here: The resolving of symbols from the executable program for the DSO when using a DSO to extend a program (the second way). Why? Because "reverse resolving" DSO symbols from the executable program's symbol set is against the library design (where the library has no knowledge about the programs it is used by) and is neither available under all platforms nor standardized. In practice the executable program's global symbols are often not re-exported and thus not available for use in a DSO. Finding a way to force the linker to export all global symbols is the main problem one has to solve when using DSO for extending a program at run-time.
Practical Usage
The shared library approach is the typical one, because it is what the DSO mechanism was designed for, hence it is used for nearly all types of libraries the operating system provides. On the other hand using shared objects for extending a program is not used by a lot of programs.
As of 1998 there are only a few software packages available which use the DSO mechanism to actually extend their functionality at run-time: Perl 5 (via its XS mechanism and the DynaLoader module), Netscape Server, etc. Starting with version 1.3, Apache joined the crew, because Apache already uses a module concept to extend its functionality and internally uses a dispatch-list-based approach to link external modules into the Apache core functionality. So, Apache is really predestined for using DSO to load its modules at run-time.
As of Apache 1.3, the configuration system supports two optional features for taking advantage of the modular DSO approach: compilation of the Apache core program into a DSO library for shared usage and compilation of the Apache modules into DSO files for explicit loading at run-time.
Implementation
The DSO support for loading individual Apache modules is based on a module named
mod_so.c
which has to be statically compiled into the Apache core. It is the only module besideshttp_core.c
which cannot be put into a DSO itself (bootstrapping!). Practically all other distributed Apache modules then can then be placed into a DSO by individually enabling the DSO build for them viaconfigure
's--enable-shared
option (see top-levelINSTALL
file) or by changing theAddModule
command in yoursrc/Configuration
into aSharedModule
command (seesrc/INSTALL
file). After a module is compiled into a DSO namedmod_foo.so
you can usemod_so
'sLoadModule
command in yourhttpd.conf
file to load this module at server startup or restart.To simplify this creation of DSO files for Apache modules (especially for third-party modules) a new support program named
apxs
(APache eXtenSion) is available. It can be used to build DSO based modules outside of the Apache source tree. The idea is simple: When installing Apache theconfigure
'smake install
procedure installs the Apache C header files and puts the platform-dependent compiler and linker flags for building DSO files into theapxs
program. This way the user can useapxs
to compile his Apache module sources without the Apache distribution source tree and without having to fiddle with the platform-dependent compiler and linker flags for DSO support.To place the complete Apache core program into a DSO library (only required on some of the supported platforms to force the linker to export the apache core symbols -- a prerequisite for the DSO modularization) the rule
SHARED_CORE
has to be enabled viaconfigure
's--enable-rule=SHARED_CORE
option (see top-levelINSTALL
file) or by changing theRule
command in yourConfiguration
file toRule SHARED_CORE=yes
(seesrc/INSTALL
file). The Apache core code is then placed into a DSO library namedlibhttpd.so
. Because one cannot link a DSO against static libraries on all platforms, an additional executable program namedlibhttpd.ep
is created which both binds this static code and provides a stub for themain()
function. Finally thehttpd
executable program itself is replaced by a bootstrapping code which automatically makes sure the Unix loader is able to load and startlibhttpd.ep
by providing theLD_LIBRARY_PATH
tolibhttpd.so
.Supported Platforms
Apache's
src/Configure
script currently has only limited but adequate built-in knowledge on how to compile DSO files, because as already mentioned this is heavily platform-dependent. Nevertheless all major Unix platforms are supported. The definitive current state (May 1998) is this:
- Out-of-the-box supported platforms:
(actually tested versions in parenthesis)o FreeBSD (2.1.5, 2.2.5, 2.2.6) o OpenBSD (2.x) o NetBSD (1.3.1) o Linux (Debian/1.3.1, RedHat/4.2) o Solaris (2.4, 2.5.1, 2.6) o SunOS (4.1.3) o Digital UNIX (4.0) o IRIX (6.2) o HP/UX (10.20) o UnixWare (2.01, 2.1.2) o SCO (5.0.4) o AIX (3.2, 4.1.5, 4.2, 4.3) o ReliantUNIX/SINIX (5.43) o SVR4 (-)
- Explicitly unsupported platforms:
o Ultrix (no dlopen-style interface under this platform)Usage Summary
To give you an overview of the DSO features of Apache 1.3, here is a short and concise summary:
- Placing the Apache core code (all the stuff which usually forms the
httpd
binary) into a DSOlibhttpd.so
, an executable programlibhttpd.ep
and a bootstrapping executable programhttpd
(Notice: this is only required on some of the supported platforms to force the linker to export the Apache core symbols, which in turn is a prerequisite for the DSO modularization):
- Build and install via
configure
(preferred):
$ ./configure --prefix=/path/to/install --enable-rule=SHARED_CORE ... $ make install- Build and install manually:
- Edit src/Configuration: << Rule SHARED_CORE=default >> Rule SHARED_CORE=yes << EXTRA_CFLAGS= >> EXTRA_CFLAGS= -DSHARED_CORE_DIR=\"/path/to/install/libexec\" $ make $ cp src/libhttpd.so* /path/to/install/libexec/ $ cp src/libhttpd.ep /path/to/install/libexec/ $ cp src/httpd /path/to/install/bin/- Build and install a distributed Apache module, say
mod_foo.c
, into its own DSOmod_foo.so
:
- Build and install via
configure
(preferred):
$ ./configure --prefix=/path/to/install --enable-shared=foo $ make install- Build and install manually:
- Edit src/Configuration: << AddModule modules/xxxx/mod_foo.o >> SharedModule modules/xxxx/mod_foo.so $ make $ cp src/xxxx/mod_foo.so /path/to/install/libexec - Edit /path/to/install/etc/httpd.conf >> LoadModule foo_module /path/to/install/libexec/mod_foo.so- Build and install a third-party Apache module, say
mod_foo.c
, into its own DSOmod_foo.so
- Build and install via
configure
(preferred):
$ ./configure --add-module=/path/to/3rdparty/mod_foo.c --enable-shared=foo $ make install- Build and install manually:
$ cp /path/to/3rdparty/mod_foo.c /path/to/apache-1.3/src/modules/extra/ - Edit src/Configuration: >> SharedModule modules/extra/mod_foo.so $ make $ cp src/xxxx/mod_foo.so /path/to/install/libexec - Edit /path/to/install/etc/httpd.conf >> LoadModule foo_module /path/to/install/libexec/mod_foo.so
- Build and install a third-party Apache module, say
mod_foo.c
, into its own DSOmod_foo.so
outside of the Apache source tree:
- Build and install via
apxs
:
$ cd /path/to/3rdparty $ apxs -c mod_foo.c $ apxs -i -a -n foo mod_foo.soAdvantages & Disadvantages
The above DSO based features of Apache 1.3 have the following advantages:
- The server package is more flexible at run-time because the actual server process can be assembled at run-time via
LoadModule
httpd.conf
configuration commands instead ofConfiguration
AddModule
commands at build-time. For instance this way one is able to run different server instances (standard & SSL version, minimalistic & powered up version [mod_perl, PHP3], etc.) with only one Apache installation.
- The server package can be easily extended with third-party modules even after installation. This is at least a great benefit for vendor package maintainers who can create a Apache core package and additional packages containing extensions like PHP3, mod_perl, mod_fastcgi, etc.
- Easier Apache module prototyping because with the DSO/
apxs
pair you can both work outside the Apache source tree and only need anapxs -i
command followed by anapachectl restart
to bring a new version of your currently developed module into the running Apache server.DSO has the following disadvantages:
- The DSO mechanism cannot be used on every platform because not all operating systems support dynamic loading of code into the address space of a program.
- The server is approximately 20% slower at startup time because of the symbol resolving overhead the Unix loader now has to do.
- The server is approximately 5% slower at execution time under some platforms because position independent code (PIC) sometimes needs complicated assembler tricks for relative addressing which are not necessarily as fast as absolute addressing.
- Because DSO modules cannot be linked against other DSO-based libraries (
ld -lfoo
) on all platforms (for instance a.out-based platforms usually don't provide this functionality while ELF-based platforms do) you cannot use the DSO mechanism for all types of modules. Or in other words, modules compiled as DSO files are restricted to only use symbols from the Apache core, from the C library (libc
) and all other dynamic or static libraries used by the Apache core, or from static library archives (libfoo.a
) containing position independent code. The only chances to use other code is to either make sure the Apache core itself already contains a reference to it, loading the code yourself viadlopen()
or enabling theSHARED_CHAIN
rule while building Apache when your platform supports linking DSO files against DSO libraries.
- Under some platforms (many SVR4 systems) there is no way to force the linker to export all global symbols for use in DSO's when linking the Apache httpd executable program. But without the visibility of the Apache core symbols no standard Apache module could be used as a DSO. The only chance here is to use the
SHARED_CORE
feature because this way the global symbols are forced to be exported. As a consequence the Apachesrc/Configure
script automatically enforcesSHARED_CORE
on these platforms when DSO features are used in theConfiguration
file or on the configure command line.
Apache HTTP Server Version 1.3


--- layout: page status: publish published: true title: About author: display_name: Ryan Chenkie login: cienki email<EMAIL_ADDRESS>url: '' author_login: cienki author_email<EMAIL_ADDRESS>wordpress_id: 93 wordpress_url: http://ryanchenkie.com/?page_id=93 date: '2014-12-01 18:57:41 -0500' date_gmt: '2014-12-02 01:57:41 -0500' categories: [] tags: [] comments: [] ---
Thanks for stopping by!
I really enjoy working with modern web technologies like AngularJS, Laravel, and Firebase, and through this blog I hope to provide you with some useful tidbits. Feel free to drop me a line and let me know about anything you like or don't like, and anything you'd want to see here.
You should follow me on Twitter--I'd love to hear about what you’re working on!
- Ryan


Template Usage
You may use this template in any way you please,just leave the link at the
bottom of the page back to me. I love to see how and where my templates are
used, so feel free to email me from my site BryantSmith.com. I also offer
professional design, programming, and marketing services, so if you need
something a bit more complex, or need help with this template, I'd be happy to
help. I design these templates for free to help those you may not have the time or
budget for a full scale custom site, but always appreciate small donations for my
services (paypal: paypal@bryantsmith.com). Thank you, and enjoy the template!
Customizing the columns
All of the left and right columns have been created so that you can either have
one continues box that goes all the way to the bottom, or several different boxes
in each column, however you like it. To make multiple columns,
select the divs
'leftcol' and 'leftcol_bottom', copy, and paste the below the current ones (still
inside of the 'leftcol_container' div). This will create an exact copy of your column
directly underneath your current one. The left menu is an example of a long single
div, while the right is multiple divs using the above method.
This process is exactly the same for the main column (replace 'maincol' for
'leftcol') and the right as well ('rightcol' instead of 'leftcol'). The site looks good
either way you do it, so experiment around with what works best for you. The box
below this one shows what an additional main column looks like (as opposed to a long single one)
More Template Information
If you want to change the picture at the top to something else, the easiest way to
do this would be to overwrite the current image (located at: /images/picture.jpg)
with your own JPEG image. Just make sure to keep the same dimensions of
900x237. The headings in all the columns are tags, and are automatically
formatted for you.
web design florida | web tutorials | html codes | free templates


Ghanaian midfielder David Mawutor pops up on the radar of FC Astana
Kazakhstani Astana FC have become the latest club to show an interest in Ghanaian midfielder David Gordon Mawutor, according to reports.
Kairat FC who are also based in Almaty- Kazakhstan have been in touch with the agent of the highly rated defensive midfielder for a possible transfer move from FC Zhetysu in the January transfer.
Mawutor has been a top performer for FC Zhetysu who currently sit fifth on the Kazakhstan Premier League and has appeared on the wishlist of some top clubs in Europe.
Latvian Premier League side Riga FC are also keenly monitoring the star boy and will be hoping to beat competition from Astana and Kairat FC to snatch him to the Skonto Stadium.
The player, who also holds a Tajikistan citizenship remains eligible to feature for the Black Stars once Coach Kwasi Appiah is impressed with his performance and decide to hand him a call-up.


Thank you for your interest in Roslyn Code Overload. We’re so excited to have you and your students as part of our event! Per school policy, all students need to be accompanied by an adult chaperone, which is where you come in. You will supervise your students, but also have the opportunity to act as a mentor, judge, or even host a workshop if interested.
As the adult chaperone, please follow these steps to make sure your students are successfully registered for the event.
Find a group of students who are interested in attending Roslyn Code Overload. Students can come from computer science, engineering, enturapernship, or even art classes and clubs. They do not have to be experts in programming.
Once you have your group of students, print out and complete the School Registration Form. The form must be signed by a school administration (ex. principal). Once the form is completed, email a copy of it to<EMAIL_ADDRESS>After you emailed the form to us, give us 1-3 business days to process your registration form. Once processed, we will send you a confirmation email.
Upon receiving confirmation, have your students fill out the Student Registration Form.
Congratulations, you’ve successfully registered for Roslyn Code Overload! Look out for emails in the two weeks before February 9 for further event details and waiver forms.


FROM:MR JAMES TSHABALALA TEL:+ 27-83-424-7661 SOUTH AFRICA GOOD DAY , URGENT RESPONSE Let me start by introducing myself. I am MR JAMES TSHABALALA a bank manager with a commercial bank here in South Africa. I came to know about you in my private search for a reliable person/company to handle a confidential Portfolio that is under my supervision. During my visit to Pretoria, one of my associates there, in confidence gave me your contact address. With srong hope that you are my search, I decided to put before you this proposal. The Portfolio: A German man called Mr. Wolfgang Schiniter, 66 years of age and a prosperous farmer had deposited with us a sum of TWENTY MILLION DOLLARS(U.S.$20Million). His wife Mrs. Helga Schiniter is the legitimate beneficiary to this account. Unfortunately they were both killed in the air crash involving Concord AF4590 in Gonesse, France. Our serch through the german embassy to find any of the next of kin, have all proved fruitless. According to the embassy, the couple had no offspring. The Firm is still unrelenting in its effort to contact any of the relatives for possible claim of this money, or the fund will be transfared to the government cofferes. In order to avoid this development, my colleagues and I now seek your permission to have you stand as a distant relative to Mr. Wolfgang Schiniter so that the funds would be released to you. All the documents and proofs of identity to further enable you get these funds will be worked out. We "the Firm", have secured the order of mandamus fom the court to serch and locate any of the deceased relatives. This is why I am asking you to present yourself as the possible closest next of kin. I have also decided that you will generously be entitled to 30% of the total amount, I has also map out 10% for any expenses that might come during the process of the transaction, why 60% will be for me. Upon my receipt of your reply confirming your willingness to assist me If your good self accsept to this request, I will then commence with the procuement of the necessary documents to back your claim as the next of kin. Thanks, we wait to hear from you. Yours sincerely MR JAMES TSHABALALA.


Devin Nunes Highlights Democrats ‘False Claims’ Against Trump
Rep. Devin Nunes (R-CA) said at the House Intelligence Committee’s impeachment hearing on Wednesday that the Democrats have a history of making false claims against President Donald Trump and that this narrative continues with the attempt to bring articles of impeachment against him with the goal of removing him from office.
by Penny Starr“Time and again, they floated the possibility of some far-fetched malfeasance by Trump, declared the dire need to investigate it, and then suddenly dropped the issue and moved on to their next asinine theory,” Nunes said. “A sampling of their accusations and insinuations includes”:
- Trump is a long-time Russian agent, as described in the Steele dossier.
- The Russians gave Trump advance access to emails stolen from the DNC and the Hillary Clinton campaign.
- The Trump campaign based some of its activities on these stolen documents.
- Trump received nefarious materials from the Russians through a Trump Campaign aide.
- Trump laundered Russian money through real estate deals.
- Trump was blackmailed by Russia through his financial exposure with Deutsche Bank.
- Trump had a diabolical plan to build a Trump Tower in Moscow.
- Trump changed the Republican National Committee platform to hurt Ukraine and benefit Russia.
- The Russians laundered money through the NRA for the Trump campaign.
- Trump’s son in law lied about his Russian contacts while obtaining his security clearance
“It’s a long list of false charges, and that’s merely a partial list,” Nunes said.
Nunes said the Democrats would have found a reason to impeach the first President of the United States for negotiating with Great Britain.
“In closing, the Democrats fake outrage that President Trump used his own channel to communicate with Ukraine,” Nunes said. “I’ll remind them that our first president, George Washington, directed his own diplomatic channels to secure a treaty with Great Britain.”
“If my Democratic colleagues were around in 1794, they’d want to impeach him too,” Nunes said.
Follow Penny Starr on Twitter.


Cutting board made with mahogany, oak, and birch.
Most of the time, wood is chosen for its color and hardness. The description below will not be true for every piece of that particular wood as it varies from tree to tree, although the information give is what they will most likely resemble.
Color: tan
Hardness: soft
Comments: Similar to pine. It is can be used to make furniture, but not a good outdoor wood.
Color: light tan
Hardness: extremely soft
Comments: One of the softest woods in the world. Because of this, it can be used for wooden models.
Color: yellow tan
Hardness: hard
Comments: because of its tight grains, bamboo is strong even when cut in small strips. It can be used to make furniture, small boxes, and pens.
Image by Klaus Beyer from Pixabay
Color: tan
Hardness: medium hard
Comments: Similar to alder in color but is has greater hardness. It is used to make furniture and small boxes.
Color: red brown
Hardness: soft
Comments: Has rot resistant properties that make it great for outdoor use. Can be used to build furniture for indoor or out.
Color: tan brown
Hardness: Hard
Comments: Used to make high end furniture, instruments, pen, and cutting boards.
Color: reddish tan
Hardness: medium-soft
Comments: One of the least expensive woods on the market. Used in house construction.
Color: red
Hardness: hard
Comments: Used to make high end furniture, cutting boards, pens, boxes, instruments.
Color: tan white
Hardness: medium hard
Comments: Used to make furniture, baby toys, cutting boards, and boxes.
Color: tan
Hardness: hard
Comments: One of the least expensive of the hardwoods and can be used to make most anything.
Color: tan yellow
Hardness: soft
Comments: Rots easily and is used to make some furniture and sheaving.
Color: purple
Hardness: hard
Comments: because of its high cost, it is generally used to make pens, cutting board, and small boxes.
Color: yellow tan with brown streaks
Hardness: extremely hard
Comments: Used in high end furniture and making pens.


Chocolate Pizza
For the fig-swirl: Melt butter over medium heat in a saucepan. Add brown sugar and stir to dissolve. Halve all of the figs and toss in the saucepan with water and lemon juice Cook over medium heat, stirring frequently, until you have a chunky-jammy mixture. Add salt with one or two stirs, set aside and let cool completely.
Ice cream: In a small pot over medium heat.combine milk, and granulated suger until sugar is completely dissolved and the milk is just barely lukewarm. Whisk in the ogg yolks. Set mixture in the fridge and wait until the fig mixture is cooled.
Using an ice cream machine, pour liquids into the frozen basin and process according to manufacturer instructions, ie.. let spin and thicken for 20 minates before adding mascarpene fig jam mixture, and the nuts. Continue to process for +/-10minutes. Pour semi-frozen mixture into a pyrex dish or glass tupperware.Freez for at least two hours before serving.


Equivalent to clicking the Delete button in the Define Name dialog box, which appears when you click the Define command on the Name submenu of the Insert menu. Deletes the specified name.
Syntax
DELETE.NAME(name_text)
Name_text is a text value specifying the name that you want to delete.
Important Formulas that use names in their arguments may return incorrect or error values when a name used in the formula is deleted.
Related Functions
DEFINE.NAME Defines a name in the active workbook
GET.NAME Returns the definition of a name
SET.NAME Defines a name as a value
Return to index


| Interface | Description |
|---|---|
| IKernel | |
| ILineThinner |
| Class | Description |
|---|---|
| AbstractCurvatureScaleSpaceMapper | |
| AbstractLineThinner | |
| CannyEdgeFilter |
The CannyEdge filter is an algorithm to operate on an image to
replace objects with their edges.
|
| ClosedCurveAndJunctionFinder |
Looks through each curve to see if the start and ends meet within an allowed
gap, and if so, replaces the PairIntArray with a PairIntArrayWithColor and
color='1'.
|
| CMDLineCornerDetector |
a wrapper to allow a user to run parts of the application from a command
line interface (for corner detection).
|
| CMDLineInflectionUtil |
a wrapper to allow a user to run parts of the application from a command
line interface (for inflection detection and image transformation calculation).
|
| CMDLineMain |
a wrapper to suggest command line usage options.
|
| ContourFinder |
class to identity contours in scale space images.
|
| CurvatureScaleSpaceContour |
class holding data for a contour for an edge in a scale space image.
|
| CurvatureScaleSpaceContourMatcher |
class to match the contours extracted from two images and match them.
|
| CurvatureScaleSpaceCornerDetector |
The code is implemented from interpreting several papers by the authors
Farzin Mokhtarian and Alan Mackworth.
|
| CurvatureScaleSpaceImageMaker |
given an image, creates scale space maps to find inflection points
and creates scale space contours for the closed curves from those
points.
|
| CurvatureScaleSpaceImagePoint | |
| CurvatureScaleSpaceInflectionMapper |
class to map contours from one image to another and return the
matched inflection points and a transformation matrix that can
be applied to the first to put it into the frame of the second.
|
| DescendingSigmaComparator | |
| DoubleLinkedCircularList |
a doubly linked list with a sentinel in between the last and first item.
|
| EdgeExtractor |
Edge extractor operates on an image that has already been reduced to holding
single pixel width lines where the original image was.
|
| ErosionFilter |
The erosion filter iterates over all pixels in the image, checking whether
the current non-null pixel can be nulled without disconnecting any adjacent
pixels.
|
| Gaussian1D |
1 ( -(x - mu)^2 )
f = ------------------ * exp( ----------- )
sigma * sqrt(2*pi) ( 2o~^2 )
|
| Gaussian1DFirstDeriv |
class to retrieve a kernel for the first derivative of a gaussian of
a given sigma.
|
| Gaussian1DSecondDeriv |
class to retrieve a kernel for the first derivative of a gaussian of
a given sigma.
|
| GreyscaleImage | |
| Heap |
Class contains a Fibonacci heap, that is, a loose collection of trees based
upon binomial heaps, hence satisfying the minimum heap property:
object.child.key >= object.key.
|
| HeapNode | |
| HistogramEqualization |
calculate the transformation function for an image to perform histogram
equalization on it, that is change the range of intensities to fill the
possible range.
|
| Image | |
| ImageDisplayer | |
| ImageDisplayer.DisposableJFrame | |
| ImageIOHelper | |
| ImageProcesser | |
| ImageStatistics | |
| ImageStatisticsHelper | |
| Kernel | |
| Kernel1DHelper | |
| LowIntensityRemovalFilter | |
| MatchedPointsTransformationCalculator | |
| MiscellaneousCurveHelper | |
| NextContour |
A class to serve the purpose of an adjacency matrix (via rules to choose
the "neighbor contour") and the state of "un-visited" for the A* search
algorithm.
|
| PointMatcher |
class to match the points extracted from two images.
|
| ScaleSpaceCurvature | |
| ScaleSpaceCurve |
Holds X(t, sigma), Y(t, sigma), k(t, sigma) and the array t where t is
the range of indexes for the curve in edges, normalized to values that
range from 0 to 1.
|
| ScaleSpaceCurveImage |
Holds the inflection points of a curve convolved over many sigma until
there are no new inflection points.
|
| SobelX |
shows horizontal changes in an image
|
| SobelY |
shows vertical changes in an image
|
| StereoProjectionTransformer |
class to solve for the epipoles for two images with stereo projection
and apply the solution.
|
| TransformationPair | |
| TransformationParameters | |
| TransformationPointFit | |
| Transformer |
| Enum | Description |
|---|---|
| CurvatureScaleSpaceMapperState | |
| SIGMA |


{% extends "base.html" %} {% block title %}{% trans "Password reset successful" %}{% endblock %} {% block content %}
{% url "login" as login_url %}{% blocktrans %}Your password has successfully been reset. You can use your new password right now on the login page.{% endblocktrans %}
{% endblock %}


SAY IT ISN'T SO RATING: 3/10
For more reviews and movie wallpapers, visit http://www.joblo.com/
PLOT: A local boy falls from a local girl who turns out to be his sister. The two split but the boy later finds out that he might not be her brother after all and chases after the girl. Of course, by then, the girl is already engaged to be married to a millionaire dude, and well, supposed hilarity ensues. I stress the word "supposed"...
CRITIQUE: There are many films that can be described as "stupid funny", but this movie is just plain "stupid stupid!" I think it's time to officially christen an end to the Farrellization of comedic cinema.  Well, unfortunately for the kooky brothers, it appears as though their jig is finally up. Time to give back the keys, boys, let someone else give it a try. You see, the one element that also needs to be included in any comedy is well...comedy!  Now here's a movie that starts off with a lame story, tosses in a super gross joke every twenty minutes, adds more lame story, features Heather Graham crying a few dozen times, and tries sooooo very hard to be funny, that's it's actually kind of excruciating to watch (Oh, so the town is called Beaver, eh? Haha, pretty funny). And didn't Sally Field learn her lesson with BEAUTIFUL last year? Lady, take a break...your career radar seems to be malfunctioning. And what about Klein and Graham, you ask? Well, what can you say? It's pretty obvious to anyone who watches this movie that both actors are extremely photogenic, but also, sadly lacking in much depth, personality or charisma. Talent? Well, that's a toss-up, but I'd say that both actors aren't exactly going for range in their careers with this one (think Freddie Prinze Jr. and be afraid...be very afraid!).
But enough putdowns, I mean what you really want to know as a reader is whether or not there were some genuinely some funny moments in this film, right? Well, the answer to that question is a resounding "yes"...but with a qualifier. There were exactly three laugh-out loud scenes in this movie (hence the 3/10) and a few smirks here and there. The funniest part of the film was the father with the stroke and Voc-A-Lator strapped 'round his neck, played brilliantly by the under-appreciated Richard Jenkins. Now despite that bit being ripped off the SOUTH PARK series to begin with, it was still pretty funny, but for some strange reason, sadly underused. It just goes to show how the makers of this film simply did not know what to do with all this guacamole, as some inexplicably "serious moments" somehow made it into this movie as well. Did they honestly want us to get into this lame-ass story?  In the end, the movie simply didn't work for many reasons, the lack of story, the lack of characterization, the lack of empathy for anyone in the movie, and most importantly for any comedy...the lack of laughs!
Where's JoBlo coming from? Airplane (9/10) - American Pie (7/10) - Dumb & Dumber (7/10) - Head over Heels (2/10) - Kingpin (8/10) - Me, Myself & Irene (5/10) - South Park (9/10) - There's Something About Mary (7/10)
Review Date: March 21, 2001 Director: James B. Rogers Writers: Peter Gaulke & Gerry Swallow Producers: Bobby & Peter Farrelly, Bradley Thomas Actors: Chris Klein as Gilly Noble Heather Graham as Jo Wingfield Sally Field as Valdine Wingfield Genre: Comedy Year of Release: 2001 ------------------------------------ JoBlo's Movie Emporium http://www.joblo.com/ ------------------------------------ (c) 2001 Berge Garabedian
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


ngSrc
(NgOptimizedDirective)
on img
tags.
Following issues are reported:
img
tags, which use src
instead of ngSrc
width
and height
, or fill
attributes when ngSrc
is used
width
or height
, and fill
attributes being present on the same element when ngSrc
is used


--- layout: default pagination: enabled: true ---
{{ site.subtitle }}
{% endif %}Welcome! My name is Márcio, I'm a data scientist and machine learning engineer from Natal, Rio Grande do Norte, Brazil. Currently, I'm studying for a M.Sc. in Computer Engineering at UFRN-Natal, concentrated in Intelligent Information Processing. I'm also working full-time at Nordestao as a Data and Automation Analyst.
I intend to use this space to talk about my projects, my career, or even me personally. In the { Projects } section you can check some things I've done, and in the { About } section you can learn a little more about who I am. Please feel free to contact me by e-mail or to reach me on any other media. 😁
Marcio


Split this layer into multiple layers
A new layer will be created for every {{ $ctrl.layerSplitBuffer.period | lowercase }} imagery is found.
Start and end date range is invalid.
Warning: Removing imagery from the layer could adversely affect annotations and/or analyses, but prevents duplicate layers if the layer were to be split again in the future.
Imagery in this layer uses multiple datasources. Splitting this layer will also split by datasource.


ISO standard cup of tea
`Prev `__
I
`Next `__
--------------
**ISO standard cup of tea**: n.
[South Africa] A cup of tea with milk and one teaspoon of sugar, where
the milk is poured into the cup before the tea. Variations are ISO 0,
with no sugar; ISO 2, with two spoons of sugar; and so on.
This may derive from the “NATO standard” cup of coffee and tea (milk and
two sugars), military slang going back to the late 1950s and parodying
NATO's relentless bureaucratic drive to standardize parts across
European and U.S. militaries.
Like many ISO standards, this one has a faintly alien ring in North
America, where hackers generally shun the decadent British practice of
adulterating perfectly good tea with dairy products and prefer instead
to add a wedge of lemon, if anything. If one were feeling extremely
silly, one might hypothesize an analogous ANSI standard cup of tea and
wind up with a political situation distressingly similar to several that
arise in much more serious technical contexts. (Milk and lemon don't mix
very well.)
[2000 update: There is now, in fact, an ISO standard 3103: ‘Method for
preparation of a liquor of tea for use in sensory tests.’, alleged to be
equivalent to British Standard BS6008: *How to make a standard cup of
tea.* —ESR]
--------------
+-------------------------------+----------------------------+------------------------+
| `Prev `__ | `Up <../I.html>`__ | `Next `__ |
+-------------------------------+----------------------------+------------------------+
| ironmonger | `Home <../index.html>`__ | ISP |
+-------------------------------+----------------------------+------------------------+


See real time stats of your sleep numbers, comparing yout total number of hours of sleep against recommended baselines.
The amount of sleep you need change as your age. Children need more sleep than adults. We provide you with the feedback neeeded to feel well rested.
Better management of sleep can help improve not only sleep but overall health and quality of life. We offer specific tips and solutions to help foster the change neeeded for quality sleep.


Fine Uploader 5.16.2
Getting Started with Fine Uploader
Demos
example custom layout
example gallery layout
example row-based layout
old examples


This presentation is based on the work completed during a hackathon run by transparency international in May 2016.
The original write-up is here
This presentation is online at www.degeneratestate.org/static/presentations/pppd2016.html
In 2016, the International Consortium of Investigative Journalists(ICIJ) published details of the panama papers. They covered leaked documents from the Panamanian law firm Mossack Fonseca, detailing their business dealings.
“Previously, we thought that the offshore world was a shadowy, but minor, part of our economic system. What we learned from the Panama Papers is that it is the economic system.”
Quote from Panama: the hidden trillions
"Ninety-five per cent of our work coincidentally consists in selling vehicles to avoid taxes."
Morality aside, there are perfectly legal reasons to have an offshore account.
I want to emphasis that:
I am not accusing any individuals or companies that appear in this presentation or in the original dataset of wrong doing.
What:
Who:
"Procedures for analyzing data, techniques for interpreting the results of such procedures, ways of planning the gathering of data to make its analysis easier, more precise or more accurate, and all the machinery and results of (mathematical) statistics which apply to analyzing data." - John Tukey
Formally, a graph is defined by the ordered pair $G = (V,E)$, where:
Edges can be directed or undirected.
We will be using the library NetworkX to explore the data.
NetworkX keeps the graph in memory. For this dataset this isn't an issues, however it may become impractical for larger datasets. Similar approachs to those presented here should work with distributed graph representations such as GraphX.
import networkx as nx
# Create a simple undirected graph
g = nx.Graph()
g.add_nodes_from([1,2,3])
g.add_edges_from([(1,2), (2,3), (3,1)])
# and plot it
import matplotlib.pyplot as plt
import seaborn as sns # this isn't actually required, but it makes our plots look nice
%matplotlib inline
nx.draw_networkx(g)
The data released wasn't the raw data, but preprocessed data in the format of a directed graph. The nodes represent things, and the edge represent relationships between things.
Nodes
Edges
# Loading the data into pandas for easy processing
adds = pd.read_csv("data/Addresses.csv", low_memory=False)
ents = pd.read_csv("data/Entities.csv", low_memory=False)
ents["name"] = ents.name.apply(normalise)
inter = pd.read_csv("data/Intermediaries.csv", low_memory=False)
inter["name"] = inter.name.apply(normalise)
offi = pd.read_csv("data/Officers.csv", low_memory=False)
offi["name"] = offi.name.apply(normalise)
edges = pd.read_csv("data/all_edges.csv", low_memory=False)
# With the nodes and edges in pandas, we can quickly explore various properties
# such as looking at the different types of nodes
edges.rel_type.value_counts()[:20].plot(kind="bar", figsize=(20,5))
plt.title("Types of relationships encoded in edges", fontsize=20)
plt.xticks(fontsize=20);
# as another example, let's look the top 20 countries for each of the node types
adds.countries.value_counts()[:20].plot(kind="bar", figsize=(20,5))
plt.title("Top countries for Addresses", fontsize=20)
plt.xticks(fontsize=20);
ents.countries.value_counts()[:20].plot(kind="bar", figsize=(20,5))
plt.title("Top countries for Entities", fontsize=20)
plt.xticks(fontsize=20);
inter.countries.value_counts()[:20].plot(kind="bar", figsize=(20,5))
plt.title("Top countries for Intermediates", fontsize=20)
plt.xticks(fontsize=20);
offi.countries.value_counts()[:20].plot(kind="bar", figsize=(20,5))
plt.title("Top countries for Officers", fontsize=20)
plt.xticks(fontsize=20);
# create graph
G = nx.DiGraph()
for n,row in adds.iterrows():
G.add_node(row.node_id, node_type="address", details=row.to_dict())
for n,row in ents.iterrows():
G.add_node(row.node_id, node_type="entities", details=row.to_dict())
for n,row in inter.iterrows():
G.add_node(row.node_id, node_type="intermediates", details=row.to_dict())
for n,row in offi.iterrows():
G.add_node(row.node_id, node_type="officers", details=row.to_dict())
for n,row in edges.iterrows():
G.add_edge(row.node_1, row.node_2, rel_type=row.rel_type, details={})
print("Number of nodes: {}".format(G.number_of_nodes()))
print("Number of edges: {}".format(G.number_of_edges()))
# Merge similar nodes
merge_similar_names(G)
print("After Merge")
print("Number of nodes: {}".format(G.number_of_nodes()))
print("Number of edges: {}".format(G.number_of_edges()))
Number of nodes: 838295 Number of edges: 1212945 After Merge Number of nodes: 813423 Number of edges: 1133028
We can now look at whether the graph we are looking at is fully connected or not. NetworkX makes this easy.
# get all connected subgraphs
subgraphs = [g for g in nx.connected_component_subgraphs(G.to_undirected())]
# sort by number of nodes in each
subgraphs = sorted(subgraphs, key=lambda x: x.number_of_nodes(), reverse=True)
# take a look
print([s.number_of_nodes() for s in subgraphs[:10]])
[708807, 728, 644, 597, 521, 409, 398, 378, 378, 372]
plot_graph(subgraphs[134], figsize=(12,12))
plot_graph(subgraphs[206], figsize=(12,12))
Visualising small networks is difficult even with these few nodes. Using the same approach for largest connected subgraph is infeasable. Instead we are going to have to use other methods.
# grab the largest subgraph
g = subgraphs[0]
We might guess that the number of connections a node has (it's degree) is related to how important it is within the network. Let's take a look.
# look at node degree
# first get the details of the graph
nodes = g.nodes()
g_degree = g.degree()
types = [g.node[n]["node_type"] for n in nodes]
degrees = [g_degree[n] for n in nodes]
names = [get_node_label(g.node[n]) for n in nodes]
# then load into a dataframe for easy manipulation
node_degree = pd.DataFrame(data={"node_type":types, "degree":degrees, "name": names}, index=nodes)
# how many by node_type
node_degree.groupby("node_type").agg(["count", "mean", "median"])
| degree | |||
|---|---|---|---|
| count | mean | median | |
| node_type | |||
| address | 137419 | 2.078883 | 1 |
| entities | 274639 | 3.048489 | 2 |
| intermediates | 10747 | 25.460315 | 3 |
| officers | 286002 | 2.356858 | 2 |
# look at the top 15
node_degree.sort_values("degree", ascending=False)[0:15]
| degree | name | node_type | |
|---|---|---|---|
| 236724 | 37329 | Portcullis TrustNet Chambers P.O. Box 3444 Roa... | address |
| 54662 | 36115 | portcullis trustnet (bvi) limited | officers |
| 11001746 | 7014 | orion house services (hk) limited | intermediates |
| 288469 | 5697 | Unitrust Corporate Services Ltd. John Humphrie... | address |
| 298333 | 5695 | unitrust corporate services ltd. | intermediates |
| 11011863 | 4356 | mossack fonseca & co. | intermediates |
| 96909 | 4253 | portcullis trustnet (samoa) limited | officers |
| 11012037 | 4112 | prime corporate solutions sarl | intermediates |
| 11001708 | 4094 | offshore business consultant (int'l) limited | intermediates |
| 285729 | 3894 | Sealight Incorporations Limited Room 1201, Con... | address |
| 298293 | 3894 | sealight incorporations limited | intermediates |
| 11008027 | 3887 | mossack fonseca & co. (singapore) pte ltd. | intermediates |
| 12174256 | 3885 | mossfon suscribers ltd. | officers |
| 294268 | 3329 | offshore business consultant (hk) ltd. | intermediates |
| 11009351 | 3168 | consulco international limited | intermediates |
Given that the Intermediary appears to be a middleman that helps create the entities, it is easy to consider that each one could be linked to many entities. What isn't immediately clear is how they might be linked together. Let's take a look at the shortest path between "portcullis trustnet (bvi) limited" and "unitrust corporate services ltd.":
def plot_path(g, path):
plot_graph(g.subgraph(path), label_edges=True, figsize=(12,12))
path = nx.shortest_path(g, source=54662, target=298333)
plot_path(G, path)
It seems that the two intermediaries are linked together through companies who share a common director, "first directors inc". As it’s name suggests, it also acts as director for a number of other companies:
plot_graph(G.subgraph(nx.ego_graph(g, 24663, radius=1).nodes()), label_edges=True, figsize=(12,12))
We can do the same for, say, "mossack fonseca & co." and "sealight incorporations limited":
path = nx.shortest_path(g,11011863, 298293)
plot_path(G, path)
We can also ask how the degree of the graph is distributed.
max_bin = max(degrees)
n_bins = 20
log_bins = [10 ** ((i/n_bins) * np.log10(max_bin)) for i in range(0,n_bins)]
fig, ax = plt.subplots()
node_degree.degree.value_counts().hist(bins=log_bins,log=True)
ax.set_xscale('log')
plt.xlabel("Degree")
plt.ylabel("Number of Nodes")
plt.title("Distribution of Degree");
pr = nx.pagerank_scipy(g)
node_degree["page_rank"] = node_degree.index.map(lambda x: pr[x])
node_degree.sort_values("page_rank", ascending=False)[0:15]
| degree | name | node_type | page_rank | |
|---|---|---|---|---|
| 236724 | 37329 | Portcullis TrustNet Chambers P.O. Box 3444 Roa... | address | 0.007766 |
| 54662 | 36115 | portcullis trustnet (bvi) limited | officers | 0.007553 |
| 11001746 | 7014 | orion house services (hk) limited | intermediates | 0.002151 |
| 11001708 | 4094 | offshore business consultant (int'l) limited | intermediates | 0.001420 |
| 11012037 | 4112 | prime corporate solutions sarl | intermediates | 0.001271 |
| 11008027 | 3887 | mossack fonseca & co. (singapore) pte ltd. | intermediates | 0.001180 |
| 96909 | 4253 | portcullis trustnet (samoa) limited | officers | 0.001013 |
| 12174256 | 3885 | mossfon suscribers ltd. | officers | 0.000963 |
| 11009139 | 2036 | mossack fonseca & co. (peru) corp. | intermediates | 0.000908 |
| 11011863 | 4356 | mossack fonseca & co. | intermediates | 0.000759 |
| 264051 | 2671 | Company Kit Limited Unit A, 6/F Shun On Comm B... | address | 0.000749 |
| 297687 | 2671 | company kit limited | intermediates | 0.000749 |
| 288469 | 5697 | Unitrust Corporate Services Ltd. John Humphrie... | address | 0.000741 |
| 298333 | 5695 | unitrust corporate services ltd. | intermediates | 0.000740 |
| 294268 | 3329 | offshore business consultant (hk) ltd. | intermediates | 0.000666 |
As it turns out, page rank picks out similar nodes to looking at degree.
If I were interested in identifying the main players in setting up offshore companies, these are the intermediates that I would start looking at first.
So what happens if we look at the page rank, but just for entities?
top_pr_entity = (node_degree[node_degree.node_type == "entities"]
.sort_values("page_rank", ascending=False)
.iloc[15]
.name)
t = nx.ego_graph(g, top_pr_entity, radius=1)
plot_graph(t, label_edges=True, figsize=(12,12))
Another measurement we can make of the "shape" of a graph is its clustering coefficient. For each node, this measures how connected its neighbours are with each other. You can think of it as a measure of the local structure of the graph: what fraction of a node's neighbours are also neighbours of each other.
cl = nx.clustering(g)
node_degree["clustering_coefficient"] = node_degree.index.map(lambda x: cl[x])
node_degree.clustering_coefficient.hist()
<matplotlib.axes._subplots.AxesSubplot at 0x7fc337e12160>
As it turns out, there isn't much structure. Most nodes have clustering coefficients of zero. The few that have non-zero values tend to have low degrees. This means that the panama paper network isn't an example of a small world network. To see what's happening in the few non-zero cases, we can look at an example sub-graph below:
t = nx.ego_graph(g, 122762, radius=1)
plot_graph(G.subgraph(t), label_edges=True, figsize=(12,12))
So far we have looked at the fully connected graph, even with connections like "address of" and "intermediary of". While this does tell us that there has been nearly 40,000 businesses registered to a single address, we might want to confine ourselves to just looking at the network formed where there is some form of ownership.
Unlike our previous graph, we are going to make this one directed - this mean that each edge has a direction associated with it. For example the relationship "shareholder of" acts in one direction.
# copy main graph
g2 = G.copy()
# remove non-ownership edges
for e in g2.edges(data=True):
if e[2]["rel_type"] not in owner_rels:
g2.remove_edge(e[0], e[1])
# get all subgraphs
subgraphs = [sg for sg in nx.connected_component_subgraphs(g2.to_undirected())]
subgraphs = sorted(subgraphs, key=lambda x: x.number_of_nodes(), reverse=True)
len(subgraphs)
401655
Removing two thirds of the nodes breaks this graph into lots of smaller sub-graphs. Most of these graphs are uninteresting and simply reflect that one company is owned by a large number of shareholders. Consider the graph below:
plot_graph(g2.subgraph(subgraphs[1000].nodes()), label_edges=True, figsize=(12,12))
To identify more interesting structures, we can look at sub-graphs with the largest median node degree:
avg_deg = pd.Series(data=[np.median(list(sg.degree().values())) for sg in subgraphs],
index=range(0,len(subgraphs)))
avg_deg.sort_values(ascending=False)[:10]
790 6.0 582 6.0 268 5.0 2643 5.0 2040 5.0 263 4.5 1420 4.0 1904 4.0 745 4.0 3271 4.0 dtype: float64
plot_graph(g2.subgraph(subgraphs[790].nodes()), figsize=(12,12))
We can also ask what the longest chain of ownership links is:
lp = nx.dag_longest_path(g2)
print("The longest path is {} nodes long.".format(len(lp)))
The longest path is 4 nodes long.
plot_graph(g2.subgraph(lp), label_edges=True)
We also apply community detection algorithms to the graph
from community import community_louvain
partition = community_louvain.best_partition(g)
print("Community Modularity: {}".format(community_louvain.modularity(partition, g)))
print("Number of detected communities: {}".format(len(set(partition.values()))))
Community Modularity: 0.9165327131379379 Number of detected communities: 2168
I put the partitions again into a dataframe for easy explorations.
part = (pd.Series(partition, name="partition")
.reset_index()
.rename(columns={"index":"node"}))
We can look at the distribution of the sizes of the communities (note the log):
part.groupby("partition").size().apply(np.log10).hist()
<matplotlib.axes._subplots.AxesSubplot at 0x7fc359406c18>
# create a tempory dataframe of the sizes of each partition
t = part.groupby("partition").size()
# and select a random one with a small enough size it can be visualised
nid = np.random.choice(t[(t>10) &(t<200)].index.values)
print("Chosen node id: {}".format(nid))
# get the nodes for this partition
target_nodes = part[part.partition == nid].node.values
# print a quick description
for des in ([(g.node[n]["node_type"], g.node[n]["details"]["countries"]) for n in target_nodes]):
print(des)
Chosen node id: 360 ('officers', 'Hong Kong') ('officers', 'Hong Kong') ('officers', 'Hong Kong') ('officers', 'Singapore') ('officers', 'Hong Kong') ('officers', 'Singapore') ('entities', 'British Virgin Islands') ('address', 'Singapore') ('address', 'Hong Kong') ('address', 'Hong Kong') ('address', 'Singapore') ('address', 'Hong Kong')
plot_graph(g.subgraph(part[part.partition == nid].node.values), label_edges=True, figsize=(12,12))


| Class | Description |
|---|---|
| AttributeCollector |
Object used by the tokenizer to collect and store information
about attributes, specifically, names and values.
|
| ByteBasedPName |
This intermediate abstract class defines more specialized API needed
by components like symbol tables, which need to provide efficient
access to byte-based PNames.
|
| ByteBasedPNameFactory |
Simple factory that can instantiate appropriate
PName
instances, given input data to use for construction. |
| ByteBasedPNameTable |
This is a symbol table implementation used for storing byte-based
PNames , specifically, instances of (ByteBasedPName ). |
| ByteBasedScanner |
Intermediate base class used by different byte-backed scanners.
|
| ByteSourceBootstrapper |
Class that takes care of bootstrapping main document input from
a byte-oriented input source: usually either an
InputStream ,
or a block source like byte array. |
| CharBasedPNameTable |
This is a symbol table implementation used for storing byte-based
PNames , specifically, instances of
(PNameC ). |
| CharSourceBootstrapper |
Class that takes care of bootstrapping main document input from
a Stream input source.
|
| ElementScope |
Simple container of information about an open element (one for which
start tag has been seen, but not yet end; or, for empty tags,
START_ELEMENT has been returned but END_ELEMENT not yet)
|
| EntityNames | |
| FixedNsContext |
Non-transient implementation of
NamespaceContext . |
| InputBootstrapper |
Abstract base class that defines shared functionality between different
bootstrappers (byte stream, char Readers, block input)
|
| InputCharTypes | |
| MergedStream |
Simple
InputStream implementation that is used to "unwind" some
data previously read from an input stream; so that as long as some of
that data remains, it's returned; but as long as it's read, we'll
just use data from the underlying original stream. |
| NsDeclaration |
This class encapsulates information about a namespace binding declaration,
associated with start elements.
|
| PName |
Prefixed Name is similar to
QName (qualified name),
but only contains information about local name optionally prefixed by
a prefix and colon, without namespace binding information. |
| PName1 |
Specialized implementation of PName: can be used for short Strings
that consists of at most 4 bytes.
|
| PName2 |
Specialized implementation of PName: can be used for short Strings
that consists of at most 8 bytes.
|
| PName3 |
Specialized implementation of PName: can be used for medium-sized Strings
that consists of at most 9-12 bytes.
|
| PNameC |
An alternate implementation of PName: instead of coming straight from
byte contents, it is actually just built from a character array.
|
| PNameN |
General implementation of PName to be used with longer names (ones
that consist of more than 8 bytes).
|
| ReaderConfig |
This is the shared configuration object passed by the factory to reader,
and by reader to whoever needs it (scanners at least).
|
| ReaderScanner |
This is the concrete scanner implementation used when input comes
as a
Reader . |
| StreamScanner |
Base class for various byte stream based scanners (generally one
for each type of encoding supported).
|
| Utf32Reader |
Since JDK does not come with UTF-32/UCS-4, let's implement a simple
decoder to use.
|
| Utf8Scanner |
Scanner for tokenizing XML content from a byte stream encoding using
UTF-8 encoding, or something suitably close it for decoding purposes
(including ISO-Latin1 and US-ASCII).
|
| XmlScanner |
This is the abstract base class for all scanner implementations,
defining operations the actual parser requires from the low-level
scanners.
|
Copyright © 2018 FasterXML. All rights reserved.


| Month |
Avg. High |
Avg. Low |
Avg. Precipitation |
| {{month[yosemiteKeys[$index]].month}} |
{{month[yosemiteKeys[$index]].maxTemp}} °F |
{{month[yosemiteKeys[$index]].minTemp}} °F |
{{month[yosemiteKeys[$index]].avgPrecip}} in. |
NOTE: The temperatures in Yosemite Valley are warmer than other regions of Yosemite National Park. If you are hiking or staying in a campground outside of the valley, prepare for slightly cooler weather. Nights can get especially cool outside of the valley, even in summer. Prepare accordingly.


As part of the
Aramis Lab, located at the
Paris Brain Institute at the Pitié Salpétrière, in Paris, my research explores new ways to understand the brain evolution, in particular the dynamics of neurodegenerative diseases, thanks to Machine Learning tools.
The goal of this research is to help designing clinical trials suited for neurodegenerative diseases.
The goals of my research are three-fold:
- Get a better understanding of the spatio-temporal patterns of brain alterations, especially by developping numerical models of the disease progression, based on longitudinal data,
- Characterize individual patterns of progression by analyzing the impact of cofactors (gender, genes, socio-demographical information), and, by predicting individual diagnosis and disease stage, up to 5 years in advance,
- Detecting the moment at which the patients are the most likely to respond to drugs in clinical trials. This implies to detect the biomarkers that are most likely to detect the drug effect.
To this end, I have proposed multiple methological enhancements to existing methods (see
Publications). Most of them rely on a variety of tools and software I have developped :
- Leasp: Estimation of the group-average and individual spatio-temporal trajectories. Well suited for the estimation of spatially distributed data. C++ 14. Website.
- Leaspy: LEArning Spatiotemporal Patterns in Python. Enables to estimate the diseae progression for various biomarkers at the average and individual level. Python 3.7.
- Digital Brain: Web application to vizualise the group-average and invidiaul evolution of the cortical thickness, the PET-FDG, the hippocampus mesh and the cognitive scores, during the course of Alzheimer's Disease. Digital-Brain


This section shows the list of all running apps.
| App Id | Status | # of Instances | |
|---|---|---|---|
| {{ runtimeApp.deploymentId }} |
|
0"> {{ runtimeApp.instances._embedded.appInstanceStatusResourceList.length }} instance 1"> instances |
|
There are no running applications currently available.
You can Refresh the page.


Benchmarks will take a while to run, and some browsers may become less responsive for part of that time.
| Benchmark | Normalized Result (higher is better) | What it measures |
|---|
asm.js appears in one test in Octane, and in several tests in JetStream, which is great, but several aspects of asm.js performance are not fully measured in those. In particular, asm.js often appears as large (you might even say massive) source files, which can have different performance characteristics than the typical small programs appearing in most benchmarks. For example, a very large codebase may contain very large functions, which due to their size are difficult to optimize efficiently (either not fully optimized, or optimized slowly in a noticeable way), or just the sheer number of functions may be very high and cause the browser to pause as the codebase is parsed and starts to execute. Such very large codebases can therefore bring new challenges to JavaScript engines (or rather, more extreme versions of familiar challenges), and it is important to measure performance on them because they are showing up with increasing frequency on the web (for example, as native plugins are fading out, game engine companies like Unity and Epic are starting to compile their large codebases to asm.js). For these reasons, the Massive benchmark includes several very large codebases (Poppler, SQLite, etc.), and measures throughput as well as responsiveness, variability and startup time (see details below).
The Emscripten benchmark suite evolved over time in order to benchmark Emscripten itself, and therefore mainly focused on throughput, and is runnable in both shell and browser. Massive, on the other hand, tests not just throughput but also browser responsiveness and other factors that only make sense when running in a browser, things not measured by the Emscripten benchmark suite (or by the main JavaScript benchmarks).
Main Thread Responsiveness measures the user experience as a large codebase is loaded. What is tested is whether the main thread stalls as the codebase is prepared and executed for a short while. The score here can be improved by parsing the code off the main thread, for example. This does not measure how much time is spent, but only how responsive or unresponsive the user experience is (how much time is spent is measured by Preparation, and to some extent Throughput). Technically, we measure responsiveness by seeing if events on the main thread execute at the proper interval (as when the main thread stalls, it stalls both the user experience and other events).
Throughput measures how fast a large computational workload runs. This is what is typically measured by benchmarks. Massive's throughput tests focus on very large real-world codebases.
Preparation measures how long (in wall time) is spent to get a codebase ready to execute, before executing any of it. This measures how much time passes between adding a script tag with that code and being able to call the code (this may or may not cause a user-noticeable pause, depending on whether it is parsed on or off the main thread; Main Thread Responsiveness tests that aspect). "Preparation" is basically all the time before code is actually able to run; that may include parsing, conversion to bitcode, JIT compilation, etc., depending on the JS engine.
Variance measures how variable the frame rate is in an application that needs to run in each frame (this is important in things like games, which must finish all they need every 1/60 of a second, in order to be smooth). Specifically, we run many frames and then calculate the statistical variance and worst case. Note that one VM might have a much faster overall frame rate than another, but also more variance: in general, given two VMs with the same average, the one with less variance is "better" since it's smoother. But given a different mean, things are less clear (perhaps we are happy to get some average slowdown in order to reduce variance which can cause noticable but rare pauses?). Hence we measure variance separately from throughput (which is a measurement of the total speed, and is proportional to the average).
Most of the tests, in particular the throughput ones, are generally very consistent, as we run a deterministic workload in a web worker, which minimizes outside noise. We also run a few repetitions and average the results. However, in particular the Main Thread Responsiveness tests need to run on the main thread, and they involve DOM events like adding a script tag, setInterval, etc., which can be fairly variable. We run a larger amount of repetitions on those tests to average out the noise, but even so they appear to be less consistent between runs on some browsers.
When we see the results of a test are too variable, we mark it with "(±X%!)" next to the score. The cause of such variability might be something else on your machine (perhaps a background indexing service happend to use a CPU core during a test, etc.), or it might be that the browser behaves unpredictably for some reason.
All the benchmarks here are from real-world C or C++ codebases:
All of these codebases are open source, so you can build and inspect them yourself (the build tool, Emscripten, is of course open source as well).
Note that the KLOC numbers mentioned above do not include system libraries like libc and libc++, the necessary parts of which are necessarily included in the benchmarks.
Generally quite a while, as it is designed to execute fixed workloads of sufficient length to measure real-world performance on large applications. How long it takes will depend on the machine and browser, of course, but you can probably expect it to take at least a few minutes (on a desktop or laptop machine; a mobile device may take much more). Massive should not lock up your browser as it runs, however - except for the Main Thread Responsiveness tests, which run first, benchmarks are run in web workers (and even the Main Thread Responsiveness tests should not reduce responsiveness very much). Note that results of individual benchmarks show up when ready, so you can view those before all of Massive is complete.
Sure, use a URL like index.html?box2d-throughput,box2d-throughput-f32
to run just those benchmarks.
Some calculations have an "absolute optimal" result. For example, Variance measures how variable the frame rate is. If the frame rate is practically still - no jumping around at all - then the result is the maximum score of 10,000. For practical reasons, there is an absolute threshold: In the case of Variance, anything under 5ms is considered perfect; this avoids large differences between results like 2ms and 4ms (double the variance in the second!), because 5ms is already so small as to be below the threshold of noticeability.


IBoard
so that it has a winning column IBoard
Expecting method IBoard.isWin()
return trueIBoard
so that it has a winning high diagonal IBoard
Expecting method IBoard.isWin()
return trueIBoard
so that it has a winning low diagonal IBoard
Expecting method IBoard.isWin()
return trueIBoard
so that it has a winning row IBoard
Expecting method IBoard.isWin()
return trueIPlayer
PlayerState
value for IPlayer
IChain


#include <sound.h>
Definition at line 7 of file sound.h.
◆ Sound() [1/2]
◆ Sound() [2/2]
| Sound::Sound |
( |
std::string |
path | ) |
|
◆ ~Sound()
◆ Play()
◆ serialize()
template<class Archive >
| void Sound::serialize |
( |
Archive & |
archive | ) |
|
|
inline |
◆ SetFilePath()
| void Sound::SetFilePath |
( |
std::string |
path | ) |
|
◆ SetLooping()
| void Sound::SetLooping |
( |
bool |
loop | ) |
|
◆ SetPosition()
| void Sound::SetPosition |
( |
float |
x, |
|
|
float |
y, |
|
|
float |
z |
|
) |
| |
◆ gain
◆ looping
| bool Sound::looping = false |
◆ play
◆ soundBuffer
| ALuint Sound::soundBuffer |
The documentation for this class was generated from the following files:


--- layout: page title: Yunyu Liu subtitle: Hi. It's Yunyu. Welcome to my personal website. use-site-title: true ---
My name is Yunyu Liu. I am a second year Ph.D. student at Purdue University, working with Prof. Benes Bedrich on computer graphics. Previously, I worked with Prof. Pan Li and had a wonderful time in GCoM!
I obtained my Master degree in NEU, and I’m also a member of SMILE Lab, under the supervision of Prof. Yun Raymond Fu. Before going to NEU, I obtained my bachelor degree at Shanghai Jiao Tong University in 2018.
My research interests also include graph neural networks and multi-view learning. I also conducted some research on IoT, wireless networking using machine learning. To get more information about my research work, you can go to the publication page and projects page.


|
CmdMessenger
4.0.0
CmdMessenger is a serial port messaging library for the .Net / Mono Platform.
|
Base command strategy. More...
Public Member Functions | |
| CommandStrategy (Command command) | |
| Base command strategy. | |
| virtual void | Enqueue () |
| Add command (strategy) to command queue. | |
| virtual void | DeQueue () |
| Remove this command (strategy) from command queue. | |
Properties | |
| ListQueue< CommandStrategy > | CommandQueue [get, set] |
| Gets or sets the command queue. | |
| Command | Command [get, set] |
| Gets or sets the command. |
Base command strategy.
Base command strategy.
| command | The command to be wrapped in a strategy. |
| virtual void CommandMessenger.Queue.CommandStrategy.DeQueue | ( | ) | [virtual] |
Remove this command (strategy) from command queue.
| virtual void CommandMessenger.Queue.CommandStrategy.Enqueue | ( | ) | [virtual] |
Add command (strategy) to command queue.
Reimplemented in CommandMessenger.Queue.CollapseCommandStrategy, and CommandMessenger.Queue.TopCommandStrategy.
Gets or sets the command.
The command wrapped in the strategy.
Gets or sets the command queue.
A Queue of commands.