--- layout: page title: Index ---
I am an Assistant Professor at the Department of Economics, BI Norwegian Business School. I obtained my Ph.D. from Harvard University in 2019. In my research, I study legal institutions.
You can find my cv here
Contact information: henrik.sigstad (a) bi.no
Feedback and Learning in the Public Sector: The Causal Effects of Reversals on Judicial Decision-Making (with Manudeep Bhuller). Review of Economic Studies, revise & resubmit
2SLS with Multiple Treatments (with Manudeep Bhuller). Journal of Econometrics, revise & resubmit
Monotonicity among Judges: Evidence from Judicial Panels and Consequences for Judge IV Designs
Coordinated Enforcement (with N. Aygun Dalkiran, Moshe Hoffman and Erez Yoeli).
Judicialization of Politics: Evidence from Brazilian local elections (with Moya Chin and Guilherme Lambais).
Machine Learning and Incentives (with Daniel L. Chen).
Judicial Subversion: The Effects of Political Power on Court Outcomes (with Guilherme Lambais). Journal of Public Economics, 217 (2023)
Errors and Monotonicity in Judicial Decision-Making (with Manudeep Bhuller). Economics Letters, 215 (2022)
The Dual Approach for Measuring Multidimensional Deprivation: Theory and Empirical Evidence (with Rolf Aaberge and Eugenio Peluso). Journal of Public Economics, 177 (2019)
Income Poverty, Affluence and Polarisation Viewed from the Median (with Rolf Aaberge and Anthony B. Atkinson). Monitoring social inclusion in Europe (2017)


ReadFile()
Syntax
Result = ReadFile(#File, Filename$ [, Flags])Description
Open an existing file for read-only operations.
Parameters
#File The number to identify the file. #PB_Any can be used to auto-generate this number. Filename$ The filename and path to the file. If the filename does not include a full path, it is interpreted relative to the current directory. Flags (optional) It can be a combination (using the '| operand) of the following values: #PB_File_SharedRead : the opened file can be read by another process (Windows only). #PB_File_NoBuffering: the internal PureBasic file buffering system will be disabled for this file. FileBuffersSize() can not be used on this file.
Return value
Returns nonzero if the file was opened successfully and zero if there was an error. If #PB_Any was used as the #File parameter then the new generated number is returned on success.
Remarks
To open a file for reading and writing, use the OpenFile() function. To create a new and empty file, use the CreateFile() function.
Example
If ReadFile(0, "Text.txt") ; if the file could be read, we continue... While Eof(0) = 0 ; loop as long the 'end of file' isn't reached Debug ReadString(0) ; display line by line in the debug window Wend CloseFile(0) ; close the previously opened file Else MessageRequester("Information","Couldn't open the file!") EndIf
See Also
OpenFile(), CreateFile(), CloseFile()
Supported OS
All


Contacts
Add a contact:
First Name
Last Name
Phone Number
Add Phone Number
Street
City
State
Add Address
Add Contact
Nextdoor Neighbor
First Name:
Last Name:
Phone Number:
Addresses:
Contacts:


-
Mozilla Firefox Web Browser — Download Firefox Aurora or Beta & Help ...
www.mozilla.org
Download and test Firefox future releases. Experience the newest innovations with the Aurora or Beta builds.
-
Cookies, caches and cows
www.economist.com
Speaking the customer’s language OUSMANE sweats under a tin roof as he thumbs through a Chinese smartphone that he is selling at the technology ...
-
Is Firefox available for iPhone or iPad? | Firefox for Android Help
support.mozilla.org
Apple's restrictions keep us from bringing the current Firefox to iOS. We're working on a new Firefox for iOS but don't have plans for a release at ...
-
The Lasting Impact of Mozilla's Maker Party Campaign
thenextweb.com
Children scatter across the hall in all directions, as if someone had suddenly dropped a bag of marbles from a great height. The energy in the room ...
-
Get Involved: Volunteer Opportunities at Mozilla
www.mozilla.org
Proudly non-profit, Mozilla makes products like Firefox with a mission to keep the power of the Web in the hands of users everywhere.
-
Foreign Language Resources | USCIS
www.uscis.gov
A variety of E-Verify brochures, videos, presentations and fact sheets are available in various foreign languages to help employers and employees ...
-
CBP Import Specialists and Officers Seize Counterfeit Rechargeable Toys ...
www.cbp.gov
Laredo, Texas – The Import Specialist Enforcement Team (ISET) at U.S.
-
The Mozilla Manifesto
www.mozilla.org
These are the principles that guide our mission to promote openness, innovation & opportunity on the Web.
-
Avoid crashes - Tips and tricks | Firefox Help
support.mozilla.org
Here are some easy things you can do to avoid crashes and keep Firefox running in tip-top shape.
-
Global Web Literacy Gets a Boost From Maker Party 2014
blog.mozilla.org
Maker Party is Mozilla’s annual campaign to teach the culture, mechanics and citizenship of the Web through community-run events around the world. ...
-
Firefox Sync troubleshooting and tips | Mozilla Support
support.mozilla.org
If you've run into a problem getting Firefox Sync to work correctly, this article will walk you though the most common solutions.
-
127K Makers, 2513 Events, 86 Countries, and One Party That Just Won’t Quit
blog.webmaker.org
This week we celebrate the record-breaking 2,513 events in 86 countries that made up Maker Party 2014. All told, our more than 300 organizational ...
-
Envoyez vos retours d'utilisation :: Firefox Input
input.mozilla.org
Vos commentaires nous aident à améliorer Firefox.
-
I had Google as the default search engine when I used the address bar to ...
support.mozilla.org
Firefox 29.0.01 Windows 8.1
-
FCC received a total of 3.7 million comments on net neutrality
www.theverge.com
The Federal Communications Commission finished accepting comments on its controversial net neutrality proposal last night, and it closed out as by ...
-
Creating the New Mozilla Logo – We Need YOUR Help
blog.mozilla.org
Every interaction people have with Mozilla is an opportunity to help them understand who we are and why our mission matters. To make the most ...
-
Badges - Mozilla Webmaker
webmaker.org
We're a global community dedicated to teaching digital skills and web literacy. We explore, tinker and create together to build a web that's open and ...
-
Firefox - MozillaWiki
wiki.mozilla.org
The Firefox development team gets together weekly to discuss development status, see the Firefox/Meeting page for more information.
-
FEMA Corps | FEMA.gov
www.fema.gov
Serino Addresses Inductees FEMA Deputy Administrator speaks to the first inductees of FEMA Corps at their induction ceremony in Vicksburg, MS
-
Net Neutrality issue faces important deadlines
soundcloud.com
Monday is the deadline for submitting your comments on the issue of net neutrality to FCC Chairman Tom Wheeler. If you haven't been keeping up, net ...


{% paginate products from products.current by theme.products_per_page %} {% if products != blank %}
{{ product.default_price | money_with_sign }}
No products found.


| DOSE: |
5.0 mg |
insufflated |
5-MeO-DMT |
(powder / crystals) |
| |
60 mg |
insufflated |
2C-I |
(powder / crystals) |
[Erowid Note: Driving while intoxicated or tripping is dangerous and irresponsible because it endangers other people. Don't do it!]
[Erowid Note: 60 mgs of 2C-I is considered an extremely high dose, see 2C-I Dose Chart ]
My friend recently ordered a gram of 5-meo-DMT and a Gram of 2C-I. He offered me to be the test bunny of snorting the DMT, which I was not to sure about from my previous experience with smoking DMT.
I snorted about 5 mg of the DMT. I have read that this stuff is supposed to burn like hell, but I felt no burn. Before the effects had kicked in he started capping out his 2C-I. I gave him thirty dollars and he cut me out a 60 MG line of 2C-I.
The burn came immediately followed by the intense urge to go to his van and lay in the back until the burn subsided. I felt as though I had been punched in the nose by Mike Tyson in his prime, and the rage of being hit was right there with it, so being smart I removed myself from the presence of people.
The visuals came quickly. It was a rainy day and the water drops were dripping slowly down his window. The stickers in his van had come to life. I was so comfortable but so irritated that I had this pain in my nose.
Finally the neg. effects stopped and we decided to get in a car and go to my other friends house. Going down the street at about 90 mph I rolled my window down and stuck my head out. It was like I was next to the car not in it. I was looking at the glow of everything around. The rain drops hitting my head at that speed didn't sting rather it was an indescribable feeling. The only words I could muster were beauty and freedom.
Me and my friend M spent a long time walking into stores then quickly running out in hysterical laughter cause we couldn't take how strategically placed everything was. We chased after a dog.
My personal favorite part of the trip was when I wandered into the woods to discover Amanita Muscaria's everywhere. I have a strange connection with these mushrooms sober or tripping. I appreciate their beauty and their power so it was fun to see them in this frame of mind.
Eventually we got to a house and relaxed. We spent the rest of the night taking hits of 5-meo-DMT and laughing. The whole thing probably lasted about 10 to 12 hours.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


KNP tourist dies in Johannesburg hospital
A Swiss tourist traversing in the Kruger National Park (KNP) died in a medical facility in Gauteng.
by Charl PienaarSKUKUZA – The tourist on whose vehicle a giraffe fell after it got struck by a minibus taxi passed away today.
Today Dario Lanzillo, the head of the Regional Consular Centre of the Embassy of Switzerland in Pretoria, had confirmed the death of the Swiss citizen who was involved in a serious traffic accident on Sunday.
ALSO READ: Taxi hits and kills giraffe, which then falls onto another tourist vehicle
“The embassy of Switzerland is in contact with the relevant authorities and supports members of his family in the framework of consular protection. Due to protection of data and personal information, no further information can be provided,” Lanzillo said.


{% extends "shared/base.html" %} {% from "shared/macros.jinja" import user_link %} {% block page_content %}
None yet
Rating: {{ user.stats['rating'] }}


Maryland woman finds intruder wearing only towel in bedroom closet
by WMAR StaffCOLLEGE PARK, Md. -- A man was arrested after he was allegedly found hiding in a woman's bedroom closet, wearing only a towel.
Eric Tata, 24, is charged with fourth-degree burglary, trespassing and trespassing/peeping tom.
It happened back on November 19, just before 11 p.m. at an apartment in College Park, Maryland.
The woman told Prince George's County Police she found the intruder in her closet after hearing a noise in the apartment.
He apparently ran off when the victim screamed, and was no longer there when police arrived.
The victim was not hurt.
Investigators were able to identify the suspect as Tata, and found out that he lived at a neighboring apartment.
Officers went to the apartment, found Tata and arrested him. He has since been released on a $2,500 unsecured bond.
Police think Tata may have done this to other victims before, and are asking anyone with information to call<PHONE_NUMBER>.
It's unclear how he got into the woman's apartment.
This story was originally published by Ryan Dickstein at WMAR.


Do some yoga
Yoga has been shown to decrease stress levels and it can also make you more relaxed.
Exersise
Exersise can be a great stress reliever as it releases endorphins.
Listen to music
Listening to certain types of music can increase levels of doapmine in the brain and relieve stress.
Talk to your friends
Talking to your friends about what is stressing you out is a great way to work through your problem.
Read a book
Reading is a calming activity that can take your mind off whatever is stressing you out.
Go for a walk
Going for a walk is the perfect way to clear your head and it is also a great form of exersise.


Articles Tufte-style Jekyll blog February 19, 2015 Edge Cases February 17, 2015 Welcome to Jekyll! February 8, 2015


Certified Subtitle 1
EnerSys Supplier Subtitle 2
EnerSys Service Subtitle 3
CPR and forklift certified personnel Spill kits and safety kits on all sites and vehicles Certified and calibrated tools
Smelter facility for battery disposal $5,000,000.00 pollution legal liability for the transportation and handling of lead acid batteries.
Toll free 24/7 emergency service line with immediate dispatching. Most products available to ship within 24 hours.
Data Center Construction
College / University
Covernment
Utility
Healthcare


(half point each)
(two points each)
Turn Bolivia into Guinea
Turn Italy into Hungary
Turn Peru into Austria
Turn France into Holland
and
Turn Japan into Japan


Ocala events
-
song lyrics billy joel my life
What's wrong with using rock as a tool to reach young people?
One of the main justifications of CCM is using rock as "a tool to reach people" for Christ. The idea is to "entice" the lost person into listening to the music by .
http://www.av1611.org/question/cqtool.htmlAmazon.com: Customer Discussions: why does christian rock suck?
Now come on ~ I know there's a few of you in here brave enough to acknowledge the genre of "Christian rock" hasn't had too many break out artists. Amy grant .
http://www.amazon.com/forum/christian%20music?_encoding=UTF8&cdForum=FxN9S71MRNZ78T&cdThread=Tx1ZKYHTHPG3V05
ray massey daily mail 2000 Upcoming events in Ocala
- Sponsored event
how to teach on online course
Apr 6 - Dance It Studio
megarotic most viewed videos teacher's safety in the work place
- Sponsored event
secret to playing double twelve dominoes
Apr 6 - Downtown Disney
university of illinois veterinary hospital jeanette ashman powhatan va
dome of the rocko Hottest Tickets
-
Apr 11most expensive typo in history
Amway Center -
Apr 28alliance to horde chat
Amway Center -
Jun 25paul's place as a beatle
Bob Carr Performing Arts Center -
Mar 30what does the medulla oblongata control
Amway Center -
Aug 27fire fox pellet stove parts
Amway Center -
Jun 21trisha in swim suit
Amway Center -
Sep 13size of nerve cell nucleus
Francis Field -
Mar 17maryland hot rod sales
St Augustine Amphitheatre -
Oct 8bombay company private collection sydenham
Amway Center -
May 4ashley tisdale legs pictures
Bob Carr Performing Arts Center
Ocala's best venues
-
Christian Rock Grows in North Texas - The Door
Modern Christian music has established a following and a creative base in North . it's a great ministry tool, and it's a great thing all around," noted Joshua Havens, . North Texas even has one of the nation's only all-Christian alternative rock .
http://www.thedoorclubs.com/rdh/wfaa_channel_eight.htm -
An Actual Exchange with a Christian Rock Critic
The following is a series of three emails that I had from a Christian rock critic. . I realize that by saying rock-n-roll music, no matter what variety, is a tool of Satan .
http://www.mindspring.com/~brucec/exchange.htm -
What's wrong with Christian Rock Music?
I. Question: What is wrong with worldly, non Christian rock music? 1. It has ungodly . Preaching is the tool given by God to win souls to the kingdom.-- Romans .
http://truth.5u.com/rockmusic.htmlindustry key success factors
98 people's favorite
-
Christian Rock/CCM | Christian Research Service
Babylon Forsaken Ministries states, you will soon see that Christian Rock . The Spirit of Molech Behind Christian Rock . Sickness God's Healing Tool?
http://www.christianresearchservice.com/category/christian-rockccm/ -
Christian Rock Stars
Aug 26, 2002 . Secular and 'Christian' Rock . Rock > Christian Rock and Pop Artists . However God's "tool" for reaching lost young people (or any people) .
http://www.inplainsite.org/html/christian_rock_stars.html


Oct 10 - Jan 10. Micomoler was invited to design a box for the second edition of box-pop at Matadero Madrid.
· View Gallery ·
As part of the winners of Creazioni Giovani Award our work was exhibited at 'macef' 2013 in Milano.
· View Gallery ·
Jun27 - Sept15. Our Quinqué and Florencio are part of this design exhibition at Central del Diseño, within Matadero Madrid.
· View Gallery ·
From the 9th to the 14th of April we are showcasing our work at stand C4 at Salone Satellite in Milan.
· View Gallery ·
Thumi was selected to be at Homeless Design Network's exhibition during Milan's Design Week 2013
· View Gallery ·
elBotijo was showcased at Hambourg What About Interior's exhibition 'Volume 1' 03.02.13-28.02.13
· View Gallery ·
Mad Lab and Homeless Design Network sponsored this exhibition of pieces of furniture created by young spanish designers.
· View Gallery ·
elBotijo was part of this exhibition at FUNDESARTE's headquarters in Madrid.
· View Gallery ·
WOW presented their new designs at Salone Satellite 2012. Micomoler's design elBotijo won the second prize at Salone Satellite Award.
· View Gallery ·


| id | query | created by | finished | local | staging | production | delete |
|---|---|---|---|---|---|---|---|
| {{query.id}} |
{{query.title}}
{{query.query}}
|
{{query.created_by}} |
|
|
|
|
|


Beyonce’s Rep Confirms She Is Not Doing A Las Vegas Residency
by Tanja SaricBeyonce will not be hitting the Las Vegas strip any time soon.
In a statement to Variety, the singer’s rep has confirmed that she will not be doing a residency in Sin City.
It’s “absolutely not true,” the rep said.
On Saturday, rumours that Queen Bey would be getting her own Las Vegas residency began flying when a website called “LoveBScott” posted a story saying she would announce shows in the first half of 2020. The article also said that this would have made Beyonce the highest-paid entertainer in the city. The website even cited “sources.”
This, of course, sent Beyonce fans into a frenzy, with some claiming there was no way she would ever do this instead of touring, while others said she might prefer the steadiness a residency can bring.
The “Lemonade” singer released the I am…Yours: An Intimate Performance at Wynn Las Vegas album which was recorded during her “I Am…” tour in 2009. For now, this is the closest fans can see of Beyonce in Vegas.


WITNESS LIST Administration Committee May 16, 2005 - 4:00P HB 2017 Registering, but not testifying: On: Ayala, Kristi (Texas Legislative Council), Austin, TX Brown, Mark (Texas Legislative Council), Austin, TX HB 2018 ON: Brown, Mark (Texas Legislative Council), Austin, TX Registering, but not testifying: On: Skarke, David (Texas Legislative Council), Austin, TX HB 2019 Registering, but not testifying: On: Brown, Mark (Texas Legislative Council), Austin, TX Thorne, Jeffrey (Texas Legislative Council), Austin, TX


| DOSE: |
1.5 cups |
oral |
Hops |
(tea) |
Sheryl Crow’s song “All I Wanna Do,” is a song describing Crow’s general views on life. Among other things, Sheryl Crow remarks that she likes “a good beer buzz, early in the morning.” Crow does not simply say she likes getting drunk, but remarks refer, rather specifically, to the fact that the nature of her intoxication is one related to beer only. This leads one to ponder just why beer might produce a state of mind different than what one would encounter drinking any other alcoholic beverage. The most unique ingredient of beer, when compared to other alcoholic beverages, is the use of hops added as a bittering agent.
I suspected hops might have mind altering effects that were not well known or at the very least not properly documented. I decided the best way to test for any kind of psychoactive potential in the hops would be to conduct an experiment using human subjects.
My goal was to see if a solution of “hop tea,” if drank, could produce a describable mind-altering response within a test individual. The basic procedure for the experiment involved boiling one cup of Eroica hop pellets, chosen for their high alpha acid content and taste, in two cups of water, filtering the water, and orally administering the solution to a group of volunteers. As a control, one of the volunteers was given a solution of decaffeinated green tea with enough lemon juice added to simulate the bitterness created by the high alpha acid hops.
In order to get the most accurate results, I chose four subjects who were familiar with the effects of both marijuana and beer. I did this in order to be sure that those who would be reporting any feelings of intoxication would be sure of what they felt. The participants, for confidentiality purposes, will be referred to by the first letter of their names. J is a 19-year-old undergraduate student at Radford University. He describes his alcohol intake as often and his marijuana use as occasional. S and C are 20-year-old female undergraduate students at Virginia Tech. It should be noted as well that C had a prescription for Adderall and had taken it recently at the time of the experiment. They describe their alcohol and marijuana intake as frequent. P is an 18-year-old male undergraduate student at Virginia Tech. He describes his alcohol use as occasional and his marijuana use as occasional.
J,S,C, and P gathered at my apartment for the experiment. While all involved in the experiment knew what I was attempting to research, none knew exactly if they were getting a control or the real thing. At approximately 10:45 PM, J, S, and C were given the hop tea at an approximate dose of one and one-half cups, while P was given the control at a similar dose. I supplied everyone with honey in order to make their beverage as sweet and drinkable as possible. Over the next few minutes the test subjects did their best to consume their respective beverages. J and S, apparently used to gulping down beverages that didn’t taste good, imbibed the tea quickly and had drunk all of it by 10:50 PM. P sipped the control, while C was unable to consume most of her beverage due to the fact she found the tea nauseating.
As everyone drank their beverage, I conducted interviews with each subject every five minutes. Each interview was done one on one, away from the rest of the test subjects in order to prevent any of them influencing the testimony of the other. By 10:50, C was still attempting to finish her dose while S and J had finished theirs. P had finished the control and felt nothing. Of the two that had chugged their dose, the only one who reported anything of interest was J, who reported a slight feeling of light headedness.
At 10:55, I conducted my next round of interviews. J reported a feeling of slight tiredness that he describes as similar to his experience of taking a sleeping pill. S appeared to seem relaxed and highly conversational and reported that she “felt fine.” C, who was still working on finishing the dose described it as “so nasty” and that her stomach was “feeling loopy.” P reported no effects.
At 11:00PM, J felt the same as he had 5 minutes earlier. S, whose eyes seemed slightly glassy, reported nothing more than a slight stomach ache. C summed up the way her stomach felt with the words “stomach. No.” P reported no effects.
By 11:05 C had completely given up on finishing the dose. She felt queasy and reported that she had not been feeling well earlier in the day. J described his feelings as “laid back” and tired. S had no feelings of intoxication to report. P, having taken the control, was beginning to get bored and tired.
The last interview conducted was at 11:15. J finished up the interviews by saying he felt tired and a little light-headed. C felt the same as before. P finished the experiment slightly annoyed and described his feelings by showing two thumbs down. By the end of the experiment, S had begun to feel some effects from the hops. She described herself as feeling “off balance” but could not put it into any other words.
My experiment seems to suggest that the hops have some chemical component that causes the effects described by the participants in the experiment.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Notebook Export
The Ministry for the Future: A Novel
Robinson, Kim Stanley
Chapter 1
Highlight(yellow) - Page 2 · Location 134
Two months to go. Fifty-eight days, way too long. July 12, monsoon not yet arrived. Focus on getting through today. One day at a time. Then home to Jacksonville, comically cool after this. He would have stories to tell.
Note - Page 2 · Location 136
About Frank May, survivor of Indianheat wave
Chapter 3
Highlight(yellow) - Page 16 · Location 339
Someone in the press named this new agency “the Ministry for the Future,” and the name stuck and spread, and became what the new agency was usually called. It was established in Zurich, Switzerland, in January of 2025.
Chapter 4
Highlight(yellow) - Page 18 · Location 360
Now the head of the ministry—Mary Murphy, an Irish woman of about forty-five years of age, ex–minister of foreign affairs in the government of the Irish Republic, and before that a union lawyer—walked into her office to find a crisis that didn’t surprise her one bit. Everyone had been transfixed with horror at the news of the deadly heat wave in India; there were sure to be immediate ramifications.
Highlight(yellow) - Page 18 · Location 363
Her chief of staff, a short slight man named Badim Bahadur, followed Mary into her office saying, “You must have heard that the Indian government is beginning a solar radiation management action.”
Highlight(yellow) - Page 18 · Location 372
Mary pulled her phone from her pocket, tapped the screen for Chandra. Head of India’s delegation to the Paris Agreement, she was well known to Mary. It would be late in Delhi, but this was when they usually talked.
Chapter 5
Highlight(yellow) - Page 21 · Location 403
There was a lake we could pump from, next to one town near Lucknow.
Note - Page 21 · Location 405
Where Frank was
Chapter 6
Highlight(yellow) - Page 23 · Location 417
indeed. The Indian delegation arrived in force, and their leader Chandra Mukajee was excoriating in her denunciation of the international community and its almost complete failure to adhere to the terms of the agreement that every nation on Earth had signed.
Highlight(yellow) - Page 25 · Location 457
The ruling elite lost legitimacy and hegemony, and the inchoate fractured resistance of victims coalesced in a party called Avasthana, Sanskrit for survival. The world’s biggest democracy, taking a new way.
Highlight(yellow) - Page 25 · Location 463
Lastly, though this was regretted by many, some more radical portion of this new Indian polity sent a message out to the world: change with us, change now, or suffer the wrath of Kali. No more cheap Indian labor, no more sell-out deals; no deals of any kind, unless changes were made. If changes weren’t made by the countries that had signed the Paris Agreement—and every nation had signed it—then this portion of India was now their enemy, and would break off diplomatic relations and do everything short of declaring military war. But economic war—yes, economic war. The world would see what this particular one-sixth of its population, formerly the working class for the world, could do. Time for the long post-colonial subalternity to end. Time for India to step onto the world stage, as it had at the start of history, and demand a better world.
Chapter 7
Highlight(yellow) - Page 27 · Location 478
When he was stabilized enough to move him, we flew him to Glasgow. He had spent a year abroad there, he said, and we thought that familiarity might help. He didn’t want to go home to the States. So we took him to Glasgow and kept him cool, and took walks with him around the neighborhood at night.
Chapter 8
Highlight(yellow) - Page 29 · Location 508
And wet-bulb temperatures of 34 have been recorded since the year 1990, once in Chicago.
Highlight(yellow) - Page 30 · Location 517
The nineteen largest organizations doing this will be, in order of size from biggest to smallest: Saudi Aramco, Chevron, Gazprom, ExxonMobil, National Iranian Oil Company, BP, Royal Dutch Shell, Pemex, Petróleos de Venezuela, PetroChina, Peabody Energy, ConocoPhillips, Abu Dhabi National Oil Company, Kuwait Petroleum Corporation, Iraq National Oil Company, Total SA, Sonatrach, BHP Billiton, and Petrobras.
Chapter 9
Highlight(yellow) - Page 34 · Location 588
More relaxing for Mary, even entertaining, were her meetings with Tatiana Voznesenskaya, head of the ministry’s legal division. They were in the habit of meeting on some mornings at the Utoquai schwimmbad,
Highlight(yellow) - Page 35 · Location 592
Tatiana was tall and dark, dramatic in that Russian way of pale blue eyes and fashion model cheekbones, of grim high spirits and fuligin black humor. She had gotten pretty high in the Russian state department before running afoul of some part of the power structure there and deciding she would be better off in an international agency. Her expertise in Russia had been international treaty law, which she now brought to bear in working to find allies and legal means to advance the cause of defending the generations to come.


?6
7
8
9
10
'
XT
v
The
New
York
copyright
reserved
botanical
Garden
PUBLIC
GARDENS,
JAMAICA,
and
NEW
YORK
BOTANICAL
GARDEN.
Name,
OjUU/WL
NEW
YORK
BOTANICAL
GARDEN
50061
Locality.
_
No.
non
Datk.
g
/
/vlJL-y
192-Colleotok,
WMyHARRIS.
a
/
*
liU)
A^UA
╚
2
vT'E'-V
>W
*
Examined
for
NORTH
AMEHICAN
FLORA
Determined
by
A.
C.
Smith,
198^.
FLORA
JAMAICENSIS.
Gilibertia
grandiflora
(Britton)
Jlawcă
&
Rendle.
01500618
Legend -
Level of confidence that token is an accurately-transcribed word
extremely low
very low
low
undetermined
medium
high
very high


I am a hands-on digital designer and front-end developer based in London. I’m passionate about creating web applications with beautiful UX and UI that well-thought-out blend technology and creativity. I am looking to find a role, where I can incorporate both web development and design, whilst learning from my peers.
I have worked on several projects using Javascript, JQuery, Rspec, Ruby on Rails, PostgreSQL, APIs, Node.js, Express.js, MongoDB.


Editor.js 🤩🧦🤨
Plugins
Usage
Configuration
API
No core bundle file found. Run
yarn build
editor.save()


HOME
MENU
RESERVATION
CONTACT US
ABOUT US
CONTACT US
Visit us or
call us today
Contact Us
Name
Email
Message
I accept the
Terms of Service
SUBMIT
CALL US
+111 222 333
LOCATION
Pyi Road (Eastern Territory), Yangon (16°47'45.3 N 96°08'27.1 E)
OUR TOP SERVICES
Local transfers
Airport Transfers
Excursions and Tours
Your Choice Restaurant
OPENING HOURS
Monday - Friday
8:00am - 5:00pm
Saturday
8:00am - 3:00pm
Sunday
Closed


Contains functions for visualisation generation and management. General prototype extensions for JavaScript and associated libraries are also found here. Includes configuration functions, as well as classes and functions for drawing SVG/HTML elements.
Classes
Methods
(static) actionColumnMap(properties, columnMap, datum, Array)
Returns a column object in a specific format to be transmitted via visualisation interaction events.
Parameters:
| Name | Type | Description |
|---|---|---|
properties
|
Array.<string> |
Array of column property names that should be passed by the interaction. |
columnMap
|
object |
Object of |
datum
|
object |
Datum to pass from the source visualisation to the target via this event. |
Array
|
Array.<object> |
of data objects to pass through the interaction event. |
(static) aggregateData(data, Array, Property, methodopt)
Aggregates measures in the dataset by a specific column.
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
data
|
Array.<object> |
Array of objects received from OBIEE and passed to the visualisation. |
||
Array
|
Array.<string> |
of key columns by which to aggregate the data. |
||
Property
|
string |
name of the measure to aggregate. |
||
method
|
string | BIColumn |
<optional> |
'sum' |
Aggregates the dataset by the method chosen, defaulting to sum. |
(static) applyColours(data, columnMap, colourScale, condFormats, category, measure, varyopt)
Apply colours as properties to data frame based on conditional format rules.
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
data
|
Array.<object> |
An array of objects, usually the result set of an OBIEE query. |
|
columnMap
|
object |
|
|
colourScale
|
function |
D3 scale mapping colours to categories in the data. |
|
condFormats
|
Array.<BIConditionalFormat> |
Conditional format objects to compare and apply style. |
|
category
|
string |
Property in the dataset containing descriptive OBIEE data. |
|
measure
|
string |
Property in the dataset containing aggregated value data. |
|
vary
|
string |
<optional> |
Property indicating if the chart has been varied by colour. |
(static) colourScale(series, palette, config, numColours) → {function}
Creates a colour scale tying a group of colours to a set of values.
Parameters:
| Name | Type | Description |
|---|---|---|
series
|
Array.<string> |
Data series in which to tie the colours to. |
palette
|
string | array |
Configuration property describing the colour palette. |
config
|
object |
BI configuration object with properties: colour1, colour2 etc. |
numColours
|
number |
Number of colours to assign. |
Returns:
D3 ordinal scales for the hex colours.
- Type
- function
(static) convertMeasure(measure) → {string}
Convert OBIEE measure type to the equivalent d3 aggregation property.
Parameters:
| Name | Type | Description |
|---|---|---|
measure
|
string |
OBIEE measure property. |
Returns:
D3 aggregation property that can be used as d3[measure]
.
- Type
- string
(static) createTrigger(pluginName, columnMap, container, event, datum)
Triggers an interaction event from a visualisation that can be listend to by one or more other visualisations on the page. Data can be passed via this event to provide data driven interactivity. This function formats the datum so it can be interpreted correctly by a target listening to the event.
Parameters:
| Name | Type | Description |
|---|---|---|
pluginName
|
string |
ID of the plugin in which to create the trigger for. |
columnMap
|
object |
Object of |
container
|
DOM |
Containing HTML element for the visualisation with the trigger. |
event
|
string |
Name of the event for the interaction. This should match the equivalent |
datum
|
object |
Datum to pass from the source visualisation to the target via this event.
The function expects one or more data in the standard format as provided to the |
(static) dateRange(startDate, endDate) → {Array.<Date>}
Create date array of JavaScript date objects between two JavaScript dates with a day as the granularity.
Parameters:
| Name | Type | Description |
|---|---|---|
startDate
|
Date |
Start of the array. |
endDate
|
Date |
End of the array. |
Returns:
Array of dates between the range.
- Type
- Array.<Date>
(static) displayError(container, errorMsg)
Displays a standard error message
Parameters:
| Name | Type | Description |
|---|---|---|
container
|
DOM |
HTML element in which to render the error. |
errorMsg
|
string |
Error message to display. |
(static) filterOrdinalScale(data, lower, upper, D3) → {Array.<object>}
Filter dataset based on D3 brush extent co-ordinates and a D3 scale function.
Parameters:
| Name | Type | Description |
|---|---|---|
data
|
Array.<object> |
Original dataset to filter. |
lower
|
number |
Beginning of the filter range. |
upper
|
number |
End of the filter range. |
D3
|
function |
scale object for the brush axis. |
Returns:
Filtered dataset for the given range.
- Type
- Array.<object>
(static) getBrightness(hexColour) → {number}
Function to get the brightness of a colour.
Parameters:
| Name | Type | Description |
|---|---|---|
hexColour
|
string |
Hexadecimal colour code. |
Returns:
Brightness of the colour between 1 and 100.
- Type
- number
(static) getDefaultColumnConfig(configParams) → {object}
Returns default configuration for a given column on a plugin.
Parameters:
| Name | Type | Description |
|---|---|---|
configParams
|
object |
Column configuration parameters defined on a plugin.
E.g. |
Returns:
Default configuration for a given plugin column.
- Type
- object
(static) getDefaultColumnMap(plugin) → {object}
Returns a default column map for a given plugin.
Parameters:
| Name | Type | Description |
|---|---|---|
plugin
|
string |
Plugin ID to retrieve the column map for. |
Returns:
Column map object describing the input format for the plugin.
- Type
- object
(static) getDefaultConfig(plugin)
Returns a configuration object with default values for a given plugin.
Parameters:
| Name | Type | Description |
|---|---|---|
plugin
|
string |
ID of the plugin in which to retrieve configuration for. |
(static) getNumQueryString(search) → {number}
Get number of query string parameters in the URL starting with a given string.
Parameters:
| Name | Type | Description |
|---|---|---|
search
|
string |
Search string to check parameters for. |
Returns:
Number of query string parameters starting with the search parameter.
- Type
- number
(static) getOffset(event, container) → {object}
Get X and Y offset based on mouse event and DOM element. Specifically written to cope with visualisations which should move the tooltip consistently across browsers due to the positioning of the HTML containers.
Parameters:
| Name | Type | Description |
|---|---|---|
event
|
event |
Mouse event fired when displaying the tooltip. |
container
|
DOM |
HTML container element of the mouse event from which to derive the screen position. |
Returns:
Has properties X
and Y
with derived coordinates.
- Type
- object
(static) getPalette(palette) → {Array.<string>}
Retrieves an array of colours from a palette definition.
Parameters:
| Name | Type | Description |
|---|---|---|
palette
|
sting | array |
Configuration property describing the colour palette. |
Returns:
Array of hex colours for the palette chosen.
- Type
- Array.<string>
(static) getPlugins() → {Array.<object>}
Retrieves list of all available plugins as an array of plugin IDs.
Returns:
- Type
- Array.<object>
(static) getQueryString(name) → {string}
Get query string variable from the URL by name.
Parameters:
| Name | Type | Description |
|---|---|---|
name
|
string |
Name of the query string parameter to get the value for. |
Returns:
Value of the query string parameter.
- Type
- string
(static) getSaturation(hexColour) → {number}
Function to get the saturation of a colour.
Parameters:
| Name | Type | Description |
|---|---|---|
hexColour
|
string |
Hexadecimal colour code. |
Returns:
Saturation of the colour between 1 and 100.
- Type
- number
(static) gradientColour(colour, min, max, D3)
Creates a mono-hued gradient colour scale from a minimum and maximum value.
Parameters:
| Name | Type | Description |
|---|---|---|
colour
|
string |
Hexadecimal colour for which to theme the scale around. |
min
|
number |
Minimum numeric value for the lightest colour. |
max
|
number |
Maximum numeric value indicating the darkest colour. |
D3
|
function |
linear scale tying a numeric range to a gradient of colours. |
(static) iconButton(container, icon, caption, tooltip, colour, clickHandleropt)
Creates a icon button with a tooltip and fading colour transition.
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
container
|
DOM |
DOM element in which to render the button. |
|
icon
|
string |
Font Aweeome icon to render. |
|
caption
|
string |
Caption for the tooltip |
|
tooltip
|
Tooltip |
Tooltip object |
|
colour
|
string |
Colour of the icon and tooltip. |
|
clickHandler
|
function |
<optional> |
Function to execute on click. |
(static) importColumnMap(sourceMap, targetPlugin) → {object}
Copies a populated column map to another, following some basic rules around column types.
Plugin column parameters of type dim
, measure
and hidden
are mapped respectively in the same order.
Parameters:
| Name | Type | Description |
|---|---|---|
sourceMap
|
object |
Column map of the original visualisation. |
targetPlugin
|
string |
ID of the plugin in which to map the columns onto. |
Returns:
Column map of the target plugin with the original columns mapped.
- Type
- object
(static) increaseBrightness(hexColour, percent) → {string}
Increases colour brightness by a percentage.
Parameters:
| Name | Type | Description |
|---|---|---|
hexColour
|
string |
Hexadecimal colour code to make brighter. |
percent
|
number |
Percentage to increase the brightness by. |
Returns:
Hexadecimal colour with increased brightness.
- Type
- string
(static) increaseSaturation(hexColour, percent) → {string}
Increase colour saturation by a percentage.
Parameters:
| Name | Type | Description |
|---|---|---|
hexColour
|
string |
Hexadecimal colour code. |
percent
|
number |
Percentage to alter by. |
Returns:
Hexadecimal colour with increased saturation.
- Type
- string
(static) linearScale(range, series)
Creates a linear D3 scale.
Parameters:
| Name | Type | Description |
|---|---|---|
range
|
Array.<number> |
Graphical range for the scale in pixels. |
series
|
Array.<number> |
Data series for the scale. |
(static) loadingScreen(container, colour, text)
Render a spinning loading icon with some text in a given HTML container.
Parameters:
| Name | Type | Description |
|---|---|---|
container
|
DOM |
HTML container to render the loading animation in. |
colour
|
string |
Colour of the spinning loading icon. |
text
|
string |
Text to display underneath the loading icon. |
(static) longestString(Array, OBIEE, sizeopt) → {number}
Calculates an estimate of longest string in an array in px: assumes sans-serif, font size 10.
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
Array
|
Array.<string> |
in which check for the longest string. |
||
OBIEE
|
BIColumn |
column so the string can be formatted before checking. |
||
size
|
number |
<optional> |
10 |
Font size to check length for. |
Returns:
Length of the longest string in pixels.
- Type
- number
(static) pivotData(data, columnMap, pivotCol, keyCol, valueCol, denormCols, denormRoot) → {object}
Pivot data by grouping rows but splitting measures by a given attribute. Expects a single measure in an array to be present in the dataset. Output data will have fewer elements, but each element will have multiple measures.
Parameters:
| Name | Type | Description |
|---|---|---|
data
|
Array.<object> |
Array of objects describing the dataset. Expects the default dataset passed to the visualisation's |
columnMap
|
object |
Object with |
pivotCol
|
string |
Property name of the column about which to pivot the data. These values will be denormalised as measures in the dataset. |
keyCol
|
string |
Property name of the column to be used as the key, so each element in the dataset will be of this granularity. |
valueCol
|
string |
Property name of the measure column in the dataset. |
denormCols
|
Array.<string> |
Array of properties of columns to stamp on the granular layers of the output dataset. |
denormRoot
|
bool |
If true, will denormalise the |
Returns:
Has properties data
with the new pivoted dataset, and colNames
which contains the new column names for measures after pivoting.
- Type
- object
(static) reduceBrightness(hexColour, percent) → {string}
Reduces colour brightness by a percentage.
Parameters:
| Name | Type | Description |
|---|---|---|
hexColour
|
string |
Hexadecimal colour code to make less bright. |
percent
|
number |
Percentage to reduce the brightness by. |
Returns:
Hexadecimal colour with reduced brightness.
- Type
- string
(static) reduceSaturation(hexColour, percent) → {string}
Reduce colour saturation by a percentage.
Parameters:
| Name | Type | Description |
|---|---|---|
hexColour
|
string |
Hexadecimal colour code. |
percent
|
number |
Percentage to alter by. |
Returns:
Hexadecimal colour with reduced saturation.
- Type
- string
(static) renderLine(path, coords)
Render lines from co-ordinate arrays.
Parameters:
| Name | Type | Description |
|---|---|---|
path
|
D3 |
D3 selected SVG path element to assign the |
coords
|
Array.<object> |
Array of |
(static) selectBox(svg, mouseDown, mouseMove, mouseUp, reDraw)
Draws a rectangular selection box on an SVG element. Allows callbacks for various mouse events.
Parameters:
| Name | Type | Description |
|---|---|---|
svg
|
D3 |
D3 selected SVG element on which to draw the box. |
mouseDown
|
function |
Callback function executed whilst the mouse is pressed down. |
mouseMove
|
function |
Callback function executed when the mouse is moved. |
mouseUp
|
function |
Callback function executed when the mouse button is released. |
reDraw
|
boolean |
If set to true, the box will automatically redraw irrespective of the callback functions. |
(static) setBrightness(hexColour, brightness) → {string}
Sets the colour brightness to a specific level.
Parameters:
| Name | Type | Description |
|---|---|---|
hexColour
|
string |
Hexadecimal colour code. |
brightness
|
number |
Integer between 1-100 indicating the new brightness with 100 the most bright. |
Returns:
Hexadecimal colour with altered brightness.
- Type
- string
(static) setSaturation(hexColour, saturation) → {string}
Sets the colour saturation to a specific level.
Parameters:
| Name | Type | Description |
|---|---|---|
hexColour
|
string |
Hexadecimal colour code. |
saturation
|
number |
Integer between 1-100 indicating the new saturation with 100 the most bright. |
Returns:
Hexadecimal colour with altered saturation.
- Type
- string
(static) sortData(data, columnMap, sort) → {Array.<object>}
Sort data based on a sort object, column map and dataset.
Parameters:
| Name | Type | Description |
|---|---|---|
data
|
Array.<object> |
Array of objects received from OBIEE and passed to the visualisation. |
columnMap
|
object |
Object of |
sort
|
object |
Has the property |
Returns:
Sorted dataset.
- Type
- Array.<object>
(static) sortIndices(data, columnMap) → {Array.<object>}
Parameters:
| Name | Type | Description |
|---|---|---|
data
|
Array.<object> |
Array of objects received from OBIEE and passed to the visualisation. |
columnMap
|
object |
Object of |
- Deprecated:
-
- Assign sort indices to dimension attributes from the original dataset received from OBIEE. Uses reserved property `rmSort` Can be used to cater for 'Sort by Another Column' feature in OBIEE. This has since been deprecated in favour of obtaining column properties before query execution.
- Source:
Returns:
Modified dataset including the new property rmSort
which can be used to sort data items based on the sort key from OBIEE.
- Type
- Array.<object>
(static) tidyConfig(vis) → {BIVisual}
Takes a configuration object and applies defaults to any missing properties and removes superfluous ones.
Parameters:
| Name | Type | Description |
|---|---|---|
vis
|
BIVisual |
Visualisation which should have configuration cleaned up. |
Returns:
Visualisation with configuration defaults applied and unnecessary parameters removed.
- Type
- BIVisual
(static) toDate(str, formatopt) → {Date}
Get JavaScript date from a string, assuming certain formats.
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
str
|
string |
Date string to convert. |
||
format
|
string |
<optional> |
'uk' |
Date format to convert from: e.g. |
Returns:
JavaScript date object.
- Type
- Date
(static) uniqueDims(data, columnMap) → {object}
Create an object of sorted unique dimension attributes which can be useful when pivoting datasets. The values for each attribute are sorted alphabetically.
Parameters:
| Name | Type | Description |
|---|---|---|
data
|
Array.<object> |
Array of objects received from OBIEE and passed to the visualisation. |
columnMap
|
object |
Object of |
Returns:
Has properties as the names of each column containing a sorted array of each unique value.
- Type
- object


Do you prefer waking up early? Or are you more alert at night? Your preference for the morning or the evening (or somewhere in between) is called your chronotype. People who prefer waking up early and performing activities earlier in the day are called "Larks." People who prefer waking up closer to noon and staying up late at night are called "Owls."


Goertzel Demonstration
Signal:
cos(2*PI*440*t)
Sampling Frequency (Hz):
Test Frequency (Hz):
Number of Samples:
Update
The time plot of the signal:
The progression of the Goertzel Algorthim:
Real Time, Low Memory Output Magnitude:
The Block Goertzel Ouput Magnitude:


|
Perl Weekly
Issue #76 - 2013-01-07 - New Perl Mongers in Karlsruhe and Perl Oasis conference in Orlando
latest | archive | by Gabor Szabo
|
|
Hi,
Welcome to 2013! Let's start this year with a new Perl Monger group in Germany meeting on the 9th January and the annual Perl Oasis conference in Orlando, Florida that will be held between 11-13 January.
In another note, as Yanick is getting more involved in the creation of the Perl Weekly, I (Gabor) might need to start changing the way I write. For example should I start referring to myself in the third person? Or maybe we should each make it clear who is talking in the comments. The latter option sounds more personal. For now, I'll add this sig. to some of the entries. What do you think? ~ Gabor
|
|
|
Discussion
|
A wake-up call for WxPerl
Just as 2012 ended Steve Cookson kicked off a thread with an emotional mail about the future of WxPerl, the Perl binding of the wxWidgets toolkit. Many people jumped on the thread. Some pessimistic, some optimistic. In any case, there seem to be some momentum for movement, so if writing desktop applications is your thing, then look at the thread, how you might get involved.
|
|
Testing
|
How to write a test description
Too often, peeps eschew test descriptions in TAP suites. Ovid explains why this is sub-optimal, and how those descriptions can be leveraged to make tests as self-documenting as possible.
|
|
Releases
|
DBI 1.623 was released
Tim Bunce has announced the new released of the Database independent interface of Perl. See the list of bug fixes.
|
|
|
|
Sqitch: Trust, But Verify
Assumptions. Everyone knows what they make out of you and me. Well, rejoice, for David Wheeler announced that a new version of Sqitch is out, introducing a 'verify' command that will help to confirm that was supposed to be deployed really has been deployed.
|
|
|
|
Code
|
|
|
|
|
Early Stratopan
Stratopan is a web based service providing the features of Pinto. Without installing Pinto.
|
|
|
|
|
|
Grants
|
2012 Year End Report
I think this is the first time I see a detailed annual report from The Perl Foundation. It is much needed. Thank you Dan Wright!. (And to be true to my never satisfied self, I'd like to see an even more detailed report regarding the sources of money and the actual spending. Which grant received how much etc.) ~ Gabor
|
|
|
|
|
|
2013Q1 Call for Grant Proposals
This is the call for the smaller grants. There is a wish-list attached to the post, but of course you could come up with your own ideas.
|
|
Perl Mongers
|
Karlsruhe Perl Mongers
The first meeting of the Karlsruhe Perl Mongers will take place on 9 January 2013. Check out the German Perl Monger site for details.
|
|
CPAN
|
|
|
Code design
|
Abstraction Levels
How do you decide on the abstraction level when you design your API? fREW Schmidt asked.  When do you need to allow sub-classing and when is that an overkill?
|
|
Other
|
|
|
Annual collections
As an add-on service for his weekly report, Miguel Prz created an annual report for the activities on MetaCPAN and on Stack Overflow.
|
|
|
|
|
Weekly collections
|
|
|
|
|
|
|
Perl Tutorial
|
|
|
Events
I usually list the next 3-4 events here. The list of all the events can be found on the web site. If your Perl event is not listed there, please let me know.
|
|
|
|
|
|
|
You know, you could get the Perl Weekly right in your mailbox. Every Week. Free of charge!
|


You need to enable JavaScript to run this app.
change to handicap
change to netzkarte
change vectorTilesUrl to http://foo.ch
change apiKey to 'abcdefgh'
change vectorTilesKey to 'abcdefgh'
change geoserverUrl to http://foo.ch
change cartaroUrl to http://foo.ch
change center to '[950000, 5900000]'
change zoom to 16


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.io.Writer org.apache.xml.serializer.SerializerTraceWriter
final class SerializerTraceWriter
This class wraps the real writer, it only purpose is to send CHARACTERTOSTREAM events to the trace listener. Each method immediately sends the call to the wrapped writer unchanged, but in addition it collects characters to be issued to a trace listener. In this way the trace listener knows what characters have been written to the output Writer. There may still be differences in what the trace events say is going to the output writer and what is really going there. These differences will be due to the fact that this class is UTF-8 encoding before emiting the trace event and the underlying writer may not be UTF-8 encoding. There may also be encoding differences. So the main pupose of this class is to provide a resonable facsimile of the true output.
| Field Summary | |
|---|---|
private byte[] |
buf
Internal buffer to collect the characters to go to the trace listener. |
private int |
buf_length
The size of the internal buffer, just to keep too many events from being sent to the tracer |
private int |
count
How many bytes have been collected and still need to go to trace listener. |
private SerializerTrace |
m_tracer
The tracer to send events to |
private java.io.Writer |
m_writer
The real writer to immediately write to. |
| Fields inherited from class java.io.Writer |
|---|
lock |
| Constructor Summary | |
|---|---|
SerializerTraceWriter(java.io.Writer out,
SerializerTrace tracer)
Constructor. |
| Method Summary | |
|---|---|
void |
close()
Flush the internal buffer and close the Writer |
void |
flush()
Flush the internal buffer and flush the Writer |
private void |
flushBuffer()
Flush out the collected characters by sending them to the trace listener. |
java.io.OutputStream |
getOutputStream()
Get the OutputStream that is the at the end of the chain of writers. |
java.io.Writer |
getWriter()
Get the writer that this one directly wraps. |
private void |
setBufferSize(int size)
Creates or replaces the internal buffer, and makes sure it has a few extra bytes slight overflow of the last UTF8 encoded character. |
void |
write(char[] chars,
int start,
int length)
Write a portion of an array of characters. |
void |
write(int c)
Write a single character. |
void |
write(java.lang.String s)
Write a string. |
| Methods inherited from class java.io.Writer |
|---|
append, append, append, write, write |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.apache.xml.serializer.WriterChain |
|---|
write, write |
| Field Detail |
|---|
private final java.io.Writer m_writer
private final SerializerTrace m_tracer
private int buf_length
private byte[] buf
private int count
| Constructor Detail |
|---|
public SerializerTraceWriter(java.io.Writer out, SerializerTrace tracer)
out
- the Writer to write to (possibly null)tracer
- the tracer to inform that characters are being written| Method Detail |
|---|
private void setBufferSize(int size)
size
- private void flushBuffer() throws java.io.IOException
java.io.IOException
public void flush() throws java.io.IOException
flush
in interface java.io.Flushable
flush
in interface WriterChain
flush
in class java.io.Writer
java.io.IOException
Writer.flush()
public void close() throws java.io.IOException
close
in interface java.io.Closeable
close
in interface WriterChain
close
in class java.io.Writer
java.io.IOException
Writer.close()
public void write(int c) throws java.io.IOException
Subclasses that intend to support efficient single-character output should override this method.
write
in interface WriterChain
write
in class java.io.Writer
c
- int specifying a character to be written.
java.io.IOException
- If an I/O error occurspublic void write(char[] chars, int start, int length) throws java.io.IOException
write
in interface WriterChain
write
in class java.io.Writer
chars
- Array of charactersstart
- Offset from which to start writing characterslength
- Number of characters to write
java.io.IOException
- If an I/O error occurs
java.io.IOException
public void write(java.lang.String s) throws java.io.IOException
write
in interface WriterChain
write
in class java.io.Writer
s
- String to be written
java.io.IOException
- If an I/O error occurspublic java.io.Writer getWriter()
getWriter
in interface WriterChain
public java.io.OutputStream getOutputStream()
getOutputStream
in interface WriterChain
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Brewed Awakening
Following the links in the navbar above will take you to the two separate views pertaining to my database.
Customer View
The website where customers would see information about the store, the items sold there, and be able to 'purchase'
certain items.
Employee View
Where the management could keep track of the inventory of the store, their schedules, and update such things
These Pages are styled with bootstrap and CSS of my own devising.
Lily Moch
CiS 451
Final Project


Return true or false without binding anything
Build a prompt on a div
Load validation date
Close all prompt
User informations
Desired username (ajax validation, only karnius is available) :
First name (optional)
Last name :
Radio Groupe :
radio 1:
radio 2:
radio 3:
Minimum 2 checkbox :
Date : (format DD/MM/YYYY)
Favorite sport 1:
Choose a sport
Tennis
Football
Golf
Favorite sport 2:
Choose a sport
Tennis
Football
Golf
Age :
Telephone :
Password
Password :
Confirm password :
Email
Email address :
Confirm email address :
Comments
Comments :
Conditions
Checking this box indicates that you accept terms of use. If you do not accept these terms, do not use this website :
I accept terms of use :


Fill in the details below and click the GO button to send a request. The result will appear in the pane to the right.
Response will appear here.
Fill in the details below and click the GO button to send a request. The result will appear in the pane to the right.


WildFly 11 Final is now available!
WildFly 11 Final is now available for download! The highlights of WildFly 11 are as follows:
Elytron - New Security Infrastructure
The biggest change in WildFly 11 is unification on a new common security framework across the full application server. Previously we had two separate security infrastructures (picketbox and security-realms), each covering separate use cases, and largely operating independent of the other. In addition to unification, Elytron brings a number of advanced capabilities such as privilege propagation across multiple service invocations, identity switching, pre-request TLS verification, and rich security policies. Finally, it improves the overall extensibility of the system allowing for tight integration with SSO / IDP systems such as KeyCloak.
While WildFly 11 introduces a new security infrastructure, the existing security-domain and security-realm configurations and APIs are all present and internally mapped to Elytron. To further ease the impact of this change, WildFly 11’s default configurations still use the legacy security-domains and security-realms. A subsequent release will convert the default configurations over to the new configuration model.
For more information see the Elytron documentation: https://docs.jboss.org/author/display/WFLY/WildFly+Elytron+Security
As well as the section on migration: https://docs.jboss.org/author/display/WFLY/Migrate+Legacy+Security+to+Elytron+Security
Simplified EJB / Naming Proxies
JNDI and EJB invocation have both been simplified and enhanced in WildFly 11. There is a new naming client library, WildFly Naming Client that allows you to easily configure access to WildFly with minimal properties and configuration. EJBs (and other resources) can be accessed in a dynamic discovery mode, or alternatively, in a new point to point mode that locks all EJB proxies to a specified address. This replaces the previous scoped context feature with more intuitive semantics that are ideal for ad-hoc behavior. Additionally, with the new Elytron authentication infrastructure, the user identity can now be changed in-between requests. Finally, older clients from past WildFly releases can still be used with WildFly 11.
See the following for more information on the new WildFly Naming client:
https://github.com/wildfly/wildfly-naming-client
Request oriented EJB/JNDI over HTTP
Since WildFly 8, all protocols (with the exception of IIOP) can utilize HTTP Upgrade to communicate over a reduced set of ports on the server (one for management, and one for applications). However, since HTTP Upgrade converts the connection to the native protocol used, any HTTP load-balancers acting as an intermediary can only balance on initial connection establishment. To allow for balancing at the individual invocation level, a new “pure” HTTP protocol was added. Clients which utilize http:// URLs as opposed to remoting+http:// will obtain this new behavior. Since this protocol utilizes standard HTTP behavior, it can be efficiently balanced by any load-balancer, not just the one built into WildFly.
WildFly OpenSSL & HTTP/2
WildFly 11 now provides a JSSE provider that can offload TLS handling from the JVM’s internal implementation to an OpenSSL library on your system, typically improving TLS performance. If the version discovered and/or specified is 1.0.2 or greater, then WildFly will utilize OpenSSL’s ALPN support to provide HTTP/2 support. HTTP/2 support will be disabled on versions less than 1.0.2.
Note that HTTP/2 is also supported without OpenSSL, out of the box, on Java 8 (on VMs derived from OpenJDK) and Java 9 (using the new standard ALPN API).
You can enable OpenSSL in the default configurations with the following CLI command:
/core-service=management/security-realm=ApplicationRealm/server-identity=ssl:write-attribute(name=protocol,value=openssl.TLS)
If your openssl library is not installed in a standard location, you will need to additionally set the org.wildfly.openssl.path system property to point to the location of the library:
-Dorg.wildfly.openssl.path=/path/to/dir/with/openssl/lib
New Load-Balancer Configs
In order to simplify the setup of WildFly as an HTTP load-balancer, there is an additional standalone-load-balancer.xml configuration in the distribution, which is an instance slimmed to just running the load balancing services. Additionally the stock domain.xml also includes this as a profile configuration that can be referenced by server groups.
 Existing transactions will allow local operations to continue, but any new in-flowed transaction will be rejected. Additionally there is a new EJB parameter that allows for additional remote calls to occur against an established/active remote transaction. Finally you can now start the server directly in suspended mode, for staging changes. This is now part of the default start sequence where the server enters suspend first, and then resumes after all services have launched, so new requests aren’t accepted during the brief window of the server starting.
Web Console Improvements
A number of Web Console improvements are included in WildFly 11, including the ability to see recent configuration changes, to manage active JMS transactions, manage active batch jobs, manage Undertow filters, and test data-sources during creation.
Management and Configuration Improvements
WildFly 11 now supports remote managed exploded deployments, which allows remote management clients the ability to update content within the deployment, such as html and jsp files without requiring a full redeployment. Additionally there is a new management operation that can be used to read individual files in any deployment. In addition to these new capabilities, errors in the XML now lead to pretty printed easier to understand error messages,
Also notable is that CLI tab completion can now tab complete attribute reference values that have capabilities present, such as references to socket bindings. Finally, there is a new SPI for server extensions, that can be used to register a process state listener, and react to server life-cycle changes (such as the server stopping).
Further Reading
In the run-up to the release, we have been blogging about WildFly 11’s features. These articles contain detailed information and useful tips on how take advantage of these capabilities, so be sure to take a look!
| Author | Title |
|---|---|
Emmanuel Hugonnet |
|
Farah Juma |
How to secure EJBs with Elytron and invoke them from remote clients |
Farah Juma |
|
Farah Juma |
How to use an Elytron SASL mechanism that supports channel binding |
Claudio Miranda |
|
Darran Lofthouse |
WildFly Elytron - Add Kerberos Authentication to Existing Web Application |
Darran Lofthouse |
|
Brian Stansberry |
|
Jeff Mesnil |
|
Stuart Douglas |
|
Ken Wills |
Jira Release Notes
The full list of issues resolved is available here.
What’s Next
Now that WildFly 11 is out the door, we plan to move to a faster, more incremental release model, starting with WildFly 12. Expect to see more details here in the future, and as always, your contributions are welcome!


Here is an inline 90 that should get converted.
If the is blank, it should stay blank.
This is using a different format:
Here is a numeric input type:
With a data attribute:
Starting with an empty value:
Starting with an empty value, but allowing blank:


- d2qConversionDataList() - Static method in class com.mvohm.quadruple.test.DataProviders
-
Assembles and returns a data set for testing the conversion from double
to Quadruple
.
- DataGenerators - Class in com.mvohm.quadruple.test
-
Auxiliary static methods that generate various collections of test data
used by DataProviders
- DataGenerators() - Constructor for class com.mvohm.quadruple.test.DataGenerators
-
- DataGenerators.CartesianSquare - Class in com.mvohm.quadruple.test
-
Generates Cartesian squares of the set of operands including special values like
NaN
, Infinity
, and -0
, to form a set of operands
to test binary operators on various combinations of the operands.
- DataGenerators.Randoms - Class in com.mvohm.quadruple.test
-
The methods of this class generate random values and various random sequences,
including lists of pairs of random values suitable for testing binary operations
- DataItem - Class in com.mvohm.quadruple.test
-
A DataItem
is a container for a value that is used or generated when
It may be the value of an input parameter, or the actual result of an operation,
or an expected result to compare with the actual result, etc.
- DataItem(String) - Constructor for class com.mvohm.quadruple.test.DataItem
-
Creates a new instance with the given role
- DataProviders - Class in com.mvohm.quadruple.test
-
A collection of static methods that build and return data sets for testing different
Quadruple
operations.
- DataProviders() - Constructor for class com.mvohm.quadruple.test.DataProviders
-
- div(Number, Number) - Static method in class com.mvohm.quadruple.test.AuxMethods
-
Calculates and returns a BigDecimal
quotient of the given operands,
with accuracy of 120 decimal digits.
- div(Number, Number, MathContext) - Static method in class com.mvohm.quadruple.test.AuxMethods
-
Calculates and returns a BigDecimal
quotient of the given operands,
with accuracy defined by the mc
parameter
- divisionDataList() - Static method in class com.mvohm.quadruple.test.DataProviders
-
Assembles and returns a data set for testing division.
- DOUBLE_EXP_MASK - Static variable in class com.mvohm.quadruple.test.Consts
-
The bits of the exponent of a double
's bits represented as a long
- DOUBLE_MANT_MASK - Static variable in class com.mvohm.quadruple.test.Consts
-
The bits of the mantissa of a double
's bits represented as a long
- DOUBLE_SIGN_MASK - Static variable in class com.mvohm.quadruple.test.Consts
-
The sign bit of the exponent of a double
's bits represented as a long
- DoubleToQuadTester() - Constructor for class com.mvohm.quadruple.test.SpecificTesterClasses.DoubleToQuadTester
-


Before Change
self.logger = self.name
// This way the instance features in X are ignored and a new forest is constructed
// TODO figure out if an already trained forest from the model can be reused!
self.evaluator = fanova_pyrfr(X=model.X[:, :model.X.shape[1] - len(model.instance_features[0])],
Y=model.y, cs=cs)
def plot_result(self, name=None):
After Change
self.name = "fANOVA"
self.logger = self.name
// This way the instance features in X are ignored and a new forest is constructed
self._preprocess(self.X)
self.evaluator = fanova_pyrfr(X=self.X, Y=self.y.flatten(), config_space=cs, config_on_hypercube=True)
def _preprocess(self, X):


The Hong Kong University of Science and Technology
Master of Philosophy in Computer Science
Supervised by Prof. Dit-Yan Yeung
Thesis: Towards Interpretable Neural Knowledge Tracing Models [PDF]
Sept. 2017 - Aug. 2019
The Hong Kong University of Science and Technology
Bachelor of Engineering in Computer Science, First Class Honors
Bachelor of Business Administration in Business, First Class Honors
Minor in Mathematics


Username can contain any letters or numbers, without spaces
Please provide your E-mail
It should contain number and symbols


{%extends "registration/base.html"%} {% load bootstrap5 %} {% block content %}
Some Information Might be Incorrect
Are you a member? Login now


A simple jQuery image cropping plugin.
dist/
├── cropper.css ( 5 KB)
├── cropper.min.css ( 4 KB)
├── cropper.js (79 KB)
└── cropper.min.js (28 KB)
Four quick start options are available:
git clone https://github.com/fengyuanchen/cropper.git
.npm install cropper
.bower install cropper
.Include files:

<link href="/path/to/cropper.css" rel="stylesheet">

The cdnjs provides CDN support for Cropper's CSS and JavaScript. You can find the links here.
Initialize with $.fn.cropper
method.

/* Limit image width to avoid overflow the container */
img {
max-width: 100%; /* This rule is very important, please do not ignore this! */
}
$('#image').cropper({
aspectRatio: 16 / 9,
crop: function(e) {
// Output the result data for cropping image.
console.log(e.x);
console.log(e.y);
console.log(e.width);
console.log(e.height);
console.log(e.rotate);
console.log(e.scaleX);
console.log(e.scaleY);
}
});
See the FAQ documentation.
The size of the cropper inherits from the size of the image's parent element (wrapper), so be sure to wrap the image with a visible block element.
If you are using cropper in a modal, you should initialize the cropper after the modal shown completely. Otherwise, you will not get a correct cropper.
The outputted cropped data bases on the original image size, so you can use them to crop the image directly.
If you try to start cropper on a cross-origin image, please make sure that your browser supports HTML5 CORS settings attributes, and your image server supports the Access-Control-Allow-Origin
option (see the HTTP access control (CORS)).
Known iOS resource limits: As iOS devices limit memory, the browser may crash when you are cropping a large image (iPhone camera resolution). To avoid this, you may resize the image first (below 1024px) before start a cropper.
Known image size increase: When export the cropped image on browser-side with the HTMLCanvasElement.toDataURL
method, the the exported image'size may be greater than the original image's. This is because the exported image'type is not the same as the original image's. So just pass the original image's type as the first parameter to toDataURL
to fix this. For example, if the original type is JPEG, then use $().cropper('getCroppedCanvas').toDataURL('image/jpeg')
to export image.
You may set cropper options with $().cropper(options)
.
If you want to change the global default options, You may use $.fn.cropper.setDefaults(options)
.
Number
0
0
: the crop box is just within the container1
: the crop box should be within the canvas2
: the canvas should not be within the container3
: the container should be within the canvasDefine the view mode of the cropper.
String
'crop'
'crop'
: create a new crop box'move'
: move the canvas'none'
: do nothingDefine the dragging mode of the cropper.
Number
NaN
Set the aspect ratio of the crop box. By default, the crop box is free ratio.
Object
null
The previous cropped data if you had stored, will be passed to setData
method automatically.
String
(jQuery selector)''
Add extra elements (containers) for previewing.
Notes:
aspectRatio
option, be sure to set the preview container with the same aspect ratio.overflow:hidden
to the preview container.Boolean
true
Re-render the cropper when resize the window.
Boolean
true
Restore the cropped area after resize the window.
Boolean
true
Check if the current image is a cross-origin image.
If it is, when clone the image, a crossOrigin
attribute will be added to the cloned image element and a timestamp will be added to the src
attribute to reload the source image to avoid browser cache error.
By adding crossOrigin
attribute to image will stop adding timestamp to image url, and stop reload of image.
Boolean
true
Check the current image's Exif Orientation information.
More exactly, read the Orientation value for rotating or flipping the image, and then override the Orientation value with 1
(the default value) to avoid some issues (#120, #509) on iOS devices.
Note: Don't trust this all the time as some JPG images have incorrect (not standard) Orientation values.
Requires Typed Arrays support (IE 10+).
Boolean
true
Show the black modal above the image and under the crop box.
Boolean
true
Show the dashed lines above the crop box.
Boolean
true
Show the center indicator above the crop box.
Boolean
true
Show the white modal above the crop box (highlight the crop box).
Boolean
true
Show the grid background of the container.
Boolean
true
Enable to crop the image automatically when initialize.
Number
0.8
(80% of the image)A number between 0 and 1. Define the automatic cropping area size (percentage).
Boolean
true
Enable to move the image.
Boolean
true
Enable to rotate the image.
Boolean
true
Enable to scale the image.
Boolean
true
Enable to zoom the image.
Boolean
true
Enable to zoom the image by dragging touch.
Boolean
true
Enable to zoom the image by wheeling mouse.
Number
0.1
Define zoom ratio when zoom the image by wheeling mouse.
Boolean
true
Enable to move the crop box by dragging.
Boolean
true
Enable to resize the crop box by dragging.
Boolean
true
Enable to toggle drag mode between "crop" and "move" when click twice on the cropper.
Number
200
The minimum width of the container.
Number
100
The minimum height of the container.
Number
0
The minimum width of the canvas (image wrapper).
Number
0
The minimum height of the canvas (image wrapper).
Number
0
The minimum width of the crop box.
Note: This size is relative to the page, not the image.
Number
0
The minimum height of the crop box.
Note: This size is relative to the page, not the image.
Function
null
A shortcut of the "build.cropper" event.
Function
null
A shortcut of the "built.cropper" event.
Function
null
A shortcut of the "cropstart.cropper" event.
Function
null
A shortcut of the "cropmove.cropper" event.
Function
null
A shortcut of the "cropend.cropper" event.
Function
null
A shortcut of the "crop.cropper" event.
Function
null
A shortcut of the "zoom.cropper" event.
As there is an asynchronous process when load the image, you should call most of the methods after built, except "setAspectRatio", "replace" and "destroy".
$().cropper({
built: function () {
$().cropper('method', argument1, , argument2, ..., argumentN);
}
});
Show the crop box manually.
$().cropper({
autoCrop: false,
built: function () {
// Do something here
// ...
// And then
$(this).cropper('crop');
}
});
Reset the image and crop box to their initial states.
Clear the crop box.
url:
String
onlyColorChanged (optional):
Boolean
false
.Replace the image's src and rebuild the cropper.
Enable (unfreeze) the cropper.
Disable (freeze) the cropper.
Destroy the cropper and remove the instance from the image.
offsetX:
Number
offsetY (optional):
Number
offsetX
.Move the canvas (image wrapper) with relative offsets.
$().cropper('move', 1);
$().cropper('move', 1, 0);
$().cropper('move', 0, -1);
x:
Number
left
value of the canvasy (optional):
Number
top
value of the canvasx
.Move the canvas (image wrapper) to an absolute point.
Number
Zoom the canvas (image wrapper) with a relative ratio.
$().cropper('zoom', 0.1);
$().cropper('zoom', -0.1);
Number
Zoom the canvas (image wrapper) to an absolute ratio.
$().cropper('zoomTo', 1); // 1:1 (canvasData.width === canvasData.naturalWidth)
Number
Rotate the image with a relative degree.
Requires CSS3 2D Transforms support (IE 9+).
$().cropper('rotate', 90);
$().cropper('rotate', -90);
Number
Rotate the image to an absolute degree.
scaleX:
Number
1
1
it does nothing.scaleY (optional):
Number
scaleX
.Scale the image.
Requires CSS3 2D Transforms support (IE 9+).
$().cropper('scale', -1); // Flip both horizontal and vertical
$().cropper('scale', -1, 1); // Flip horizontal
$().cropper('scale', 1, -1); // Flip vertical
Number
1
1
it does nothing.Scale the abscissa of the image.
Number
1
1
it does nothing.Scale the ordinate of the image.
rounded (optional):
Boolean
false
true
to get rounded values.(return value):
Object
x
: the offset left of the cropped areay
: the offset top of the cropped areawidth
: the width of the cropped areaheight
: the height of the cropped arearotate
: the rotated degrees of the imagescaleX
: the scaling factor to apply on the abscissa of the imagescaleY
: the scaling factor to apply on the ordinate of the imageOutput the final cropped area position and size data (base on the natural size of the original image).
You can send the data to server-side to crop the image directly.
Object
getData
method.Change the cropped area position and size with new data (base on the original image).
Note: This method only available when the
viewMode
option great than or equal to1
.
Object
width
: the current width of the containerheight
: the current height of the containerOutput the container size data.
Object
left
: the offset left of the imagetop
: the offset top of the imagewidth
: the width of the imageheight
: the height of the imagenaturalWidth
: the natural width of the imagenaturalHeight
: the natural height of the imageaspectRatio
: the aspect ratio of the imagerotate
: the rotated degrees of the image if rotatedscaleX
: the scaling factor to apply on the abscissa of the image if scaledscaleY
: the scaling factor to apply on the ordinate of the image if scaledOutput the image position, size and other related data.
Object
left
: the offset left of the canvastop
: the offset top of the canvaswidth
: the width of the canvasheight
: the height of the canvasnaturalWidth
: the natural width of the canvas (read only)naturalHeight
: the natural height of the canvas (read only)Output the canvas (image wrapper) position and size data.
var imageData = $().cropper('getImageData');
var canvasData = $().cropper('getCanvasData');
if (imageData.rotate % 180 === 0) {
console.log(canvasData.naturalWidth === imageData.naturalWidth); // true
}
Object
left
: the new offset left of the canvastop
: the new offset top of the canvaswidth
: the new width of the canvasheight
: the new height of the canvasChange the canvas (image wrapper) position and size with new data.
Object
left
: the offset left of the crop boxtop
: the offset top of the crop boxwidth
: the width of the crop boxheight
: the height of the crop boxOutput the crop box position and size data.
Object
left
: the new offset left of the crop boxtop
: the new offset top of the crop boxwidth
: the new width of the crop boxheight
: the new height of the crop boxChange the crop box position and size with new data.
options (optional):
Object
width
: the destination width of the output canvasheight
: the destination height of the output canvasfillColor
: a color to fill any alpha values in the output canvas(return value):
HTMLCanvasElement
Browser support:
Get a canvas drawn the cropped image. If it is not cropped, then returns the whole canvas.
After then, you can display the canvas as an image directly, or use HTMLCanvasElement.toDataURL to get a Data URL, or use HTMLCanvasElement.toBlob to get a blob and upload it to server with FormData if the browser supports these APIs.
$().cropper('getCroppedCanvas');
$().cropper('getCroppedCanvas', {
width: 160,
height: 90
});
// Upload cropped image to server if the browser supports `HTMLCanvasElement.toBlob`
$().cropper('getCroppedCanvas').toBlob(function (blob) {
var formData = new FormData();
formData.append('croppedImage', blob);
$.ajax('/path/to/upload', {
method: "POST",
data: formData,
processData: false,
contentType: false,
success: function () {
console.log('Upload success');
},
error: function () {
console.log('Upload error');
}
});
});
Number
Change the aspect ratio of the crop box.
String
'none'
'none'
, 'crop'
, 'move'
Change the drag mode.
Tips: You can toggle the "crop" and "move" mode by double click on the cropper.
This event fires when a cropper instance starts to load an image.
This event fires when a cropper instance has built completely.
event.originalEvent:
Event
mousedown
, touchstart
and pointerdown
event.action:
String
'crop'
: create a new crop box'move'
: move the canvas (image wrapper)'zoom'
: zoom in / out the canvas (image wrapper) by touch.'e'
: resize the east side of the crop box'w'
: resize the west side of the crop box's'
: resize the south side of the crop box'n'
: resize the north side of the crop box'se'
: resize the southeast side of the crop box'sw'
: resize the southwest side of the crop box'ne'
: resize the northeast side of the crop box'nw'
: resize the northwest side of the crop box'all'
: move the crop box (all directions)This event fires when the canvas (image wrapper) or the crop box starts to change.
$().on('cropstart.cropper', function (e) {
console.log(e.type); // cropstart
console.log(e.namespace); // cropper
console.log(e.action); // ...
console.log(e.originalEvent.pageX);
// Prevent to start cropping, moving, etc if necessary
if (e.action === 'crop') {
e.preventDefault();
}
});
event.originalEvent:
Event
mousemove
, touchmove
and pointermove
.event.action: the same as "cropstart.cropper".
This event fires when the canvas (image wrapper) or the crop box is changing.
event.originalEvent:
Event
mouseup
, touchend
, touchcancel
, pointerup
and pointercancel
.event.action: the same as "cropstart.cropper".
This event fires when the canvas (image wrapper) or the crop box stops to change.
About these properties, see the
getData
method.
This event fires when the canvas (image wrapper) or the crop box changed.
event.originalEvent:
Event
wheel
, touchmove
.event.oldRatio:
Number
event.ratio:
Number
canvasData.width / canvasData.naturalWidth
)This event fires when a cropper instance starts to zoom in or zoom out its canvas (image wrapper).
$().on('zoom.cropper', function (e) {
// Zoom in
if (e.ratio > e.oldRatio) {
// Prevent zoom in
e.preventDefault();
}
// Zoom out
// ...
});
If you have to use other plugin with the same namespace, just call the $.fn.cropper.noConflict
method to revert to it.

As a jQuery plugin, you also need to see the jQuery Browser Support.
Please read through our contributing guidelines.
Maintained under the Semantic Versioning guidelines.


The Salomon Islands, south-west of Blenheim Reef, are one of the most popular anchorages and fortunately are one of those that may be permitted by the authorities for visiting yachts (Ile Boddam and Ile Fouquet/Takamaka).
Useful Navigation Notes can be find at this report by SY YOLO, posted July 2015.
Photo Ile Boddam, Salomon Islands by Jason Trautz of SV Yolo
The BIOT Authorities visit regularly to check yachts' permit papers.
See BIOT Formalities for full details on applying for a permit and clearance procedures.
The Salomon Islands offer the best all-round protection in the archipelago. Several boats were anchored there in safety when a tropical cyclone passed close by in May 1993, producing winds of up to 50 knots. Although fully fledged cyclones are not known to have passed over the archipelago directly, this incident served as a timely warning that even areas that are considered to be lying outside the known cyclone area should be treated with great caution during the cyclone season.
The boats anchored at Salomon normally monitor VHF channel 69.
Salomon, Ile Boddam
Southwest of a line between Iles Diable & Poule.
W (Diable) 5 deg S 21.05 / 72 deg E 12.51
E (Poule) 5 deg S 21.45 / 72 deg E 13.17
Salomon, Ile Fouquet / Takamaka
Southeast of a line from mid Takamaka to the SE tip of Fouquet.
N (Takamaka) 5 deg S 19.73 / 72 deg E 15.94
S (Fouquet) 5 deg S 20.64 / 72 deg E 15.40
When anchoring off Takamaka/Fouquet, always keep in mind that sudden violent squalls from the NW can occur anytime. See "Warning about Salomon Atoll" adjacent for further details.
There are wells on both Takamaka and Boddam Islands. The water can be used for laundry, but it must be treated or boiled if used for drinking. BIOTA do not advise the use of the wells.
All rubbish must be removed and taken with you. There are no facilities to dispose of rubbish on the islands and rubbish must not be burnt.
The coral patches and reefs in the approaches to the ruined dock at Boddam (next to a large cross) have been marked with white buoys. Because of many isolated coral patches throughout Salomon atoll, the lagoon should be crossed only in good visibility.
Salomon Atoll - Moorings near Boddam Island
Useful notes on mooring options and tackle required by SY Adina who visited in 2016.
Last updated July 2016.


c++ Notes
1.0.0 编译器
- msvc
- windows
- 最历史悠久、最成熟，但也是最有历史包袱的编译器，微软
- 模板的支持则是它的软肋
- 2018 年宣布已全面支持 C++17 标准
- gcc
- 跨平台
- GCC 的第一个版本发布于 1987 年，是由自由软件运动的发起人 Richard Stallman（常常被缩写为 RMS）亲自写的
- 由于 GCC 是用 GPL 发布的，任何对 GCC 的修改都必须以 GPL 协议发布
- 应用最广的自由软件之一
- clang
- 跨平台
- 错误信息的友好性是它的最大亮点
- 最新， LLVM项目的一部分
- Clang 目前在 macOS 下是默认的 C/C++ 编译器
1.0.1 内联函数
- 如果一些函数被频繁调用，不断地有函数入栈，即函数栈，会造成栈空间或栈内存的大量消耗
- 关键字inline 必须与函数定义体放在一起才能使函数成为内联，仅将inline 放在函数声明前面不起任何作用
- inline只适合涵数体内代码简单的函数数使用，不能包含复杂的结构控制语句例如while、switch，并且内联函数本身不能是直接递归函数(自己内部还调用自己的函数)。
- 内联是以代码膨胀（复制）为代价，仅仅省去了函数调用的开销，从而提高函数的执行效率
- 最好将内联函数定义放在头文件中
1.0.2 macro
- #define 预处理指令用于创建符号常量：#define PI 3.14159
- #define 来定义一个带有参数的宏，注意要多加括号：MIN(a,b) (a<b ? a : b)
- 条件编译：#ifdef #define #endif
- “#”置于identifier面前表示将identifier变成字符串字面值，“##”连接
1.0.3 array
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
unsigned cnt = 42;
constexpr unsigned sz = 42;
int arr[10];
//if you don't know how many elements you want, use a vector
int *parr[sz];
const unsigned size = 3;
int ia1[size] = {0, 1, 2};
int a2[] = {0, 1, 2};
int a3[5] = {0, 1, 2};
string a4[4] = {"hi", "bye"}; // remember #include <string>
string Animals[4] = {"Elephant", "Fox", "Lion", "Tiger"}; // remember #include <string>
//char array is special
char a1[] = {'C', '+', '+'}; //list initialization, no null;
CHECK_V(sizeof(a1) == 3)
char a22[] = {'C', '+', '+', '\0'}; //list initialization, explicit null
CHECK_V(sizeof(a22) == 4)
char a33[] = "C++"; //null terminator added automatically
CHECK_V(sizeof(a33) == 4)
const char a44[7] = "Daniel";
无法通过变量来声明数组大小
ex:
1
int state[max] = {0};
- You can declare an array only with constant size, which can be deduced at compile time. variables’ values can be known only at runtime.
- To elaborate, when you allocate memory on the stack, the size must be known at compile time. Since the arrays are local to the method, they will be placed on the stack.
solution1:
- You can either use constant value, or allocate memory in the heap using new, and deallocate when done using delete, like
1
2
3
int* zod1 = new int[zo1];
//.... other code
delete[] zod1;
solution2:
- use vector instead of array here also, and vector will take care of allocation on the heap.
- As a side note, you should not pass vector by value, as the whole vector will be copied and passed as argument, and no change will be visible at the caller side.
Use vector
& zodis1 instead
1.0.4 casting
- static_cast
- any well-defined type conversion, other than those involving low-level const
- dynamic_cast
- supports the run-time type identification
- 继承
- const_cast
- changes only a low-level const in its operand
- reinterpret_cast
- performs a low-level reinterpretation of the bit pattern of its operands
1.0.5.C++ , size of int, long, short
decided by compiler
- depends on the compiler and only on the compiler.
- Hardware/OS is of no importance at all
- The compiler is free to implement a hardware abstraction layer of any thickness and emulate absolutely anything
char , byte, octet
- char is always a byte , but it’s not always an octet
- byte
- A byte is the smallest addressable unit of memory (in most definitions),
- octet
- an octet is 8-bit unit of memory
- byte
- sizeof(char) is always 1 for all implementations
- CHAR_BIT macro in limits.h
- defines the size of a byte for a platform
- it is not always 8 bit.
- 16-bit, 32-bit bytes
- others[ex. 7], have to deal with aligned and padding
size
- range
- signed char: -127 to 127 (note, not -128 to 127; this accommodates 1’s-complement and sign-and-magnitude platforms)
- unsigned char: 0 to 255
- “plain” char: same range as signed char or unsigned char, implementation-defined
- signed short: -32767 to 32767
- unsigned short: 0 to 65535
- signed int: -32767 to 32767
- unsigned int: 0 to 65535
- signed long: -2147483647 to<PHONE_NUMBER>
- unsigned long: 0 to<PHONE_NUMBER>
- signed long long: -9223372036854775807 to<PHONE_NUMBER>854775807
- unsigned long long: 0 to<PHONE_NUMBER>3709551615
- rules
- char, signed char, and unsigned char are at least 8 bits
- signed short, unsigned short, signed int, and unsigned int are at least 16 bits
- signed long and unsigned long are at least 32 bits
- signed long long and unsigned long long are at least 64 bits
ref
3.const–use const whenever possible
type declaration before or after const are the same
tips: read from right to left
1
2
3
4
5
6
7
8
9
10
11
//type declaration before or after const are the same
//tips: read from right to left
int const *ptr; //ptr is a pointer to constant int
const int *ptr1; //prt1 is a pointer to an int who is constant
int *const ptr3; //ptr3 is a const pointer to an int
//both ptr4 and ptr5 are constant pointer to a constant int
int const *const ptr4;
const int *const ptr5;
stl iterators are modeled on pointers
tips: read from left to right
1
2
3
4
5
6
7
8
9
//const pointer
const std::vector<int>::iterator iter = vec.begin();
*iter = 10; //ok
//++iter; //error
//pointer to const data
std::vector<int>::const_iterator clter = vec.begin();
// *clter = 10; //error
++clter; //ok
Declaring something const helps compilers detect usage errors.
- const can be applied to objects at any scope,
- function parameters
- return types,
- member functions as a whole.
4.make sure that objects are initialized before used
initialized is not guaranteed
1
2
3
4
5
6
int x; //guaranteed to be initialized to zero
class Point {
int x, y;
};
Point p; // p's data members are sometimes guaranteed sometimes are not
- rules are complicated(not worth)
- in the c part of c++ , initialization would incur a runtime cost, not guaranteed
- array isn’t guaranteed to be initialized
- non-c parts of c++, might be guaranteed
- a std::vector is guaranteed to be initialized
- in the c part of c++ , initialization would incur a runtime cost, not guaranteed
not confuse assignment with initialization
- assignment : inside the body of constructor
- initializatio took place earlier
- default constructors were automatically called prior to entering the body
- but built-in type
- no constuctor/destructor
- no guarantee it was initialized prior to its assignment
- The rules of C++ stipulate that data members of an object are initialized before the body of a constructor is entered
use the member initialization list instead of assignments
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//ex.
ABEntry::ABEntry(const std::string& name, const std::string& address,
const std::list<PhoneNumber>& phones)
//these are now all initializations
: theName(name), // copy-constructed
theAddress(address), // copy-constructed
thePhones(phones),// copy-constructed
numTimesConsulted(0)
{} // the ctor body is now empty
// use the member initialization list even when you want to default-construct a data member
ABEntry::ABEntry()
: theName(), // call theName’s default ctor;
theAddress(), // do the same for theAddress;
thePhones(), // and for thePhones;
numTimesConsulted(0) // but explicitly initialize
{} // numTimesConsulted to zero
- more efficient
- assigiment first called default constructors then assigned new value
- all the deafult constructors’ work are wasted
- member initialization list avoids it
- arguments in the initialization list are used as constructor arguments for the various data members
- For most types, a single call to a copy constructor is more efficient — sometimes much more efficient — than a call to the default constructor followed by a call to the copy assignment operator
- for built-it types, no different between initialization and assignment
- for consistency, use member initialization too.
- Sometimes the initialization list must be used,, even for built-in types.
- For example, data members that are const or are references must be initialized; they can’t be assigned
- arguments in the initialization list are used as constructor arguments for the various data members
- if too much data members
- multiple initialization lists introduces undesirable repetition (in the lists) and boredom
- moving the assignments to a single (typically private) function that all the constructors call
- assigiment first called default constructors then assigned new value
order of data initialization
- base classes are initialized before derived classes
- and within a class,data members are initialized in the order in which they are declared
- even if they are listed in a different order on the member initialization list
- to avoid confusion: list members in the initialization list in the same order as they’re declared in the class
staitc object
- A static object is one that exists from the time it’s constructed until the end of the program.
- excluded:Stack and heap-based objects
- Included are
- global objects,
- objects defined at namespace scope,
- objects declared static inside classes,
- objects declared static inside functions,
- objects declared static at file scope
problem
- the relative order of initialization of nonlocal static objects defined in different translation units is undefined
- it’s not only impossible to determine the right order of initialization,
- it’s typically not even worth looking for special cases where it is possible to determine the right order.
solution: replaced non-local static objects with local static objects.
- move each non-local static object into its own function, where it’s declared static
- Singleton pattern
- This approach is founded on C++’s guarantee that local static objects are initialized when the object’s definition is first encountered during a call to that function.
- As a bonus, if you never call a function emulating a non-local static object, you never incur the cost of constructing and destructing the object,
- something that can’t be said for true non-local static objects
- might cause multi-theads problem
- one solution is to manually invoke all the reference-returning functions during the single-threaded startup portion of the program.
5.funcitons c++ silently writes and calls
- default constructor, copy constructor, destructor, copy assignment operator(=)
- copy constructor, =
- simply copy each non-static data member
- class for its own copy construtor
- primitive just copy bits
- compiler won’t generate constructor if written constructors manually
- neither for others
- simply copy each non-static data member
- copy constructor, =
- generated only if they are needed
6.Explicitly disallow the use of compiler generated functions you do not want
ex. avoid to copy
- the copy constructor and the copy assignment operator are declared private and are not defined
- change to compile error
- use a base class: Uncopyable
1
2
3
4
5
6
7
8
class Uncopyable {
protected: // allow construction
Uncopyable() {} // and destruction of
~Uncopyable() {} // derived objects...
private:
Uncopyable(const Uncopyable&); // ...but prevent copying
Uncopyable& operator=(const Uncopyable&);
};
7.virtual destructor
- problem: when a derived class object is deleted through a pointer to a base class with a non-virtual destructor, results are undefined.
- tipicially, the derived part is never destroyed
- leading to partialy destroyed object
- but
- gratuitously[无偿的, 免费的] declaring all destructors virtual is wrong
- increase the size
- should not inherent from any class lacking a virtual destructor–not designed to be used polymorphically
- std::string
- stl containers: vector, list, set, tr1::unordered_map
- C++ offers no derivation-prevention mechanism
- java final
- c# sealed class
- gratuitously[无偿的, 免费的] declaring all destructors virtual is wrong
- solution: give the base class a virtual destructor.
- destroy the entire object
- should provide a body for the destructor
- how it work:
- the most derived classes’s destructor is called first
- then the destructor of eache base class is called
1
2
3
4
5
6
class AWOV { // AWOV = “Abstract w/o Virtuals”
public:
virtual ~AWOV() = 0; // declare pure virtual destructor
};
AWOV::~AWOV() {} // definition of pure virtual dtor
8.Prevent exceptions from leaving destructors.
- Destructors should never emit exceptions.
- swallow it
- terminate the program: std::abort()
- If class clients need to be able to react to exceptions thrown during
an operation,
- server swallow the exception, and mark the exception with var
- client check the var, and continue to solve it


{% extends "base_site.html" %} {% block title %} General Form Elements {% endblock title %} {% block stylesheets %} {% endblock %} {% block content %} History History Home History History No Name Date Title Action 1 Dimas 2020-02-20 Scraped based on PM Request View Delete 2 Darma 2020-02-20 Trial View Delete 3 User 1 2020-02-20 Unnesesary On Progress No Name Date Title Action × Confirmation Would you like to delete permanently ?… {% endblock content %} {% block javascripts %} {% endblock %}
Would you like to delete permanently ?…


--- layout: page title: About header-img: "img/about-bg.png" ---
I currently work in IT and am learning to be a developer through Flat Iron School.