Due to cost concerns, I hand pack my own piracetam and aniracetam capsules. I normally take one aniracetam three times a day and four piracetam three times a day, for a total of about 1600mg aniracetam and 12 grams piracetam. The piracetam is already a higher-than-recommended dose, due to perceived ineffectiveness. After packing a new set of capsules and taking them to work, I had forgotten to label them properly (I put them in old glucosamine bottles) and accidentally took aniracetam at piracetam dosages for two rounds.
I estimate to have taken 7-9 grams of aniracetam in two dosages over twelve hours. This is about three times the maximum recommended daily dosage of 3000mg and 5 times what I usually take in a day. Starting about an hour after the first dose (~4g), I felt intense nausea and intestinal discomfort, attributed to food at first. Over the next two hours the regular mental effects kicked in, with some side effects of racing thoughts, inability to concentrate as highly as usual, and general cloudiness, normally racetams produce mental clarity, this effect was reduced and eventually reversed. At about T+4:00 after the first dose, a massive headache began to set in along with dry mouth. Ibuprofen (2x 1000mg) was ineffective, but acetaminophen (1x 700mg) may have had more of an effect.
Another ~4g of aniracetam was taken at T+12:00 before I realized my error. Approximately 30 minutes later, dry mouth increased substantially and the headache grew in intensity. The nausea was persistent but bearable. My head felt disconnected and cloudy, similar to 'medicine head' from cold medications. Writing and typing became more difficult than usual due to shaky hands, and work in general was very hard to accomplish. It appears as if aniracetam at this level might take on some stimulant-like effects, which are absent at lower dosages.
Symptoms began to subside at T+18:00, but the headache persisted for approximately 24 hours. In general, the experience was a bad one and I will more closely watch my dosages. I had never before taken more than 5g of aniracetam over a 24 hour period (3 dosages 8 hours apart), which is beyond where the positive effects plateau. All of the positive effects of aniracetam were cancelled out and then some at this high of a dosage. It is not recommended at all- staying within the 3g/day range will do just fine.
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.


The largest differences between Javascript compared to the likes of HTML and CSS is that it can be used to program, store data and provide interactivity.
Two elements of JS that can be described as a everyday life process are 'control flow and loops':
Lets say you have finished your dinner are about to load the dishwasher, once you open if you have two options.
IF it is full - then you would empty it,
Otherwise or ELSE you would just put your plate in.
That was similar to a control flow statement.
Now a basic loop may be similar to a teacher doing a role call, they start at position 0, and for each entry they will call out the name and wait for a reply. The teach will continue the process until all the names have been called out.
Accessing data from Arrays differs to Objects due to arrays being accessed by declaring the position in the array.
Objects are accessed by Dot or Bracket notation, using key and object names.
Functions, in short, are blocks of code which run when 'called', they are useful as they make it so only required code is read by the browser.


pyhecdss package¶
Submodules¶
pyhecdss.pyhecdss module¶
-
class
pyhecdss.pyhecdss.
DSSFile
(fname)[source]¶ Bases:
object
-
EPART_FREQ_MAP
= {'10MIN': <10 * Minutes>, '12HOUR': <12 * Hours>, '15MIN': <15 * Minutes>, '1DAY': <Day>, '1HOUR': <Hour>, '1MIN': <Minute>, '1MON': <MonthEnd>, '1WEEK': <Week: weekday=None>, '1YEAR': <YearEnd: month=12>, '20MIN': <20 * Minutes>, '2HOUR': <2 * Hours>, '2MIN': <2 * Minutes>, '30MIN': <30 * Minutes>, '3HOUR': <3 * Hours>, '3MIN': <3 * Minutes>, '4HOUR': <4 * Hours>, '4MIN': <4 * Minutes>, '5MIN': <5 * Minutes>, '6HOUR': <6 * Hours>, '8HOUR': <8 * Hours>}¶ vectorized version of timedelta
-
FREQ_EPART_MAP
= {<Minute>: '1MIN', <2 * Minutes>: '2MIN', <3 * Minutes>: '3MIN', <4 * Minutes>: '4MIN', <5 * Minutes>: '5MIN', <10 * Minutes>: '10MIN', <15 * Minutes>: '15MIN', <20 * Minutes>: '20MIN', <30 * Minutes>: '30MIN', <Hour>: '1HOUR', <2 * Hours>: '2HOUR', <3 * Hours>: '3HOUR', <4 * Hours>: '4HOUR', <6 * Hours>: '6HOUR', <8 * Hours>: '8HOUR', <12 * Hours>: '12HOUR', <Day>: '1DAY', <Week: weekday=None>: '1WEEK', <MonthEnd>: '1MON', <YearEnd: month=12>: '1YEAR'}¶
-
MISSING_RECORD
= -902.0¶
-
MISSING_VALUE
= -901.0¶
-
get_pathnames
(catalog_dataframe=None)[source]¶ converts a catalog data frame into pathnames If catalog_dataframe is None then reads catalog to populate it
returns a list of pathnames (condensed version, i.e. D part is time window) /A PART/B PART/C PART/DPART (START DATE “-” END DATE)/E PART/F PART/
-
get_version
()[source]¶ Get version of DSS File returns a tuple of string version of 4 characters and integer version
-
num_values_in_interval
(sdstr, edstr, istr)[source]¶ Get number of values in interval istr, using the start date and end date string
-
read_catalog
()[source]¶ Reads .dsd (condensed catalog) for the given dss file. Will run catalog if it doesn’t exist or is out of date
-
read_its
(pathname, startDateStr=None, endDateStr=None, guess_vals_per_block=10000)[source]¶ reads the entire irregular time series record. The timewindow is derived from the D-PART of the pathname so make sure to read that from the catalog before calling this function
-
read_rts
(pathname, startDateStr=None, endDateStr=None)[source]¶ read regular time series for pathname. if pathname D part contains a time window (START DATE “-” END DATE) and either start or end date is None it uses that to define start and end date
-
timedelta_minutes
= <numpy.vectorize object>¶
-
write_its
(pathname, df, cunits, ctype, interval=None)[source]¶ write irregular time series to the pathname.
The timewindow part of the pathname (D PART) is used to establish the base julian date for storage of the time values (minutes relative to that base julian date)
The interval is the block size to store irregular time series for efficient access interval values should be “IR-YEAR”, “IR-MONTH” or “IR-DAY”
Uses the provided pandas.DataFrame df index (time) and values and also stores the units (cunits) and type (ctype)
-
-
pyhecdss.pyhecdss.
get_rts
(filename, pathname)[source]¶ Gets regular time series matching the pathname from the filename. Opens and reads pathname from filename and then closes it (slightly inefficient)
filename: a path to DSS file pathname: a string of the form /A/B/C/D/E/F that is parsed to match all parts except D which if not blank is used to determine the time window to retrieve D should be specified in the format of ddMMMYYYY HHmm - ddMMMYYYY HHmm
a list of tuple (pandas DataFrame, units, period type) for timeseries found or an empty list
Assumes that all matching are Regular time series ( as opposed to Irregular, See DSS terminolog)
Get time series based on a part of pathname, e.g.
>>> pyhecdss.get_rts('test1.dss', '//SIN/////') [(rts,units,type),...]
-
pyhecdss.pyhecdss.
get_version
(fname)[source]¶ Get version of DSS File returns a tuple of string version of 4 characters and integer version


Welcome to my page!
I'm an actuary turned computer scientist, interested in:
Finance.
Machine Learning.
Artificial Intelligence.
Natural Computing.
Data Analysis.
Department of Mathematics and Computer Science
Uncertainty in Artificial Intelligence Group
Research topic: Probabilistic Machine Learning.
Artificial Intelligence Laboratory
Thesis:Automated learning of trading rules for the stock market
9.83/10
Financial Derivatives - Track
Thesis: Merton's jump diffusion model for pricing european options: A martingale approach
9.27 / 10
Professor for a diploma in data science and machine learning applied to finance. The courses I was involved in were about python programming, linear algebra, and probability.
I maintained the data for Latin America economic indicators. Also worked closely with news team in order to generate press notes related to the economic releases.
I was in charge of the maintaing of all stock indexes, including Índice de Precios y Cotizaciones (Price and Quotations Index, Bloomberg: MEXBOL) the most important stock index for México.
I taught two courses in risk theory for advanced undergraduate students. I was responsible of elaborating and grading homeworks and exams, also teaching extracurricular material.
This specialization comprehends the following courses:


Mr Key hereby advises that for the foreseeable future there may be very, very few postages at Hooting Yard, as he will be spending his every waking hour playing what must be the finest game ever devised. Yes, readers, 'tis Cheese Or Font?
Eternal gratitude to David Thompson for making it known.


The Proposal
There has been some discussion of whether or not the new Perl OO model,
Corinna , should support exposing field
variables to subclasses:
class Parent {
field $name :inheritable;
}
class Child :isa(Parent) {
field $name :inherited;
}
There are a few benefits cited there.
- If
field $name
doesn’t exist in the parent, the child class throws a compile-time error. - If the child can access
$name
directly, it’s a performance win (no method call). - By being explicit about
:inheritable
and:inherited
, we’re not exposing data by accident.
It seems like a win, but it’s not.
A Little Background
Most OO developers today use class-based OO, but JavaScript is popular enough that prototype-based OO is getting better known. Then there’s Dr. Alan Kay, the man who coined the term “object-oriented programming” five decades ago and is considered one of the fathers of the concept. For him, OOP is actually about:
- Message passing
- Isolation
- Extreme late binding of everything
So that’s another way of looking at OOP. And by “isolation”, Kay actually said
“local retention and protection and hiding of state-process.” He would not
approve of exposing field
variables because it’s explicitly exposing the
state, not hiding it.
So clearly there are different ideas about how OOP should be implemented, but Kay is focusing on how to do it safely. He has a maths and biology background and he thought about the billions of cells in our body which die every day, but we don’t. He wants that sort of robustness in object-oriented code. To him, the only truly successful demonstration of OOP is the internet. Tons of servers crash every day, but the internet does not.
In fact, before he got to this conception of OOP, his original description of
OOP left out inheritance because it was so problematic. The way I like to
describe it is the Person :isa(Invoice)
problem. Even if you can get that to
work, it simply doesn’t make sense and until AI becomes a hell of a lot
better, the software has no way of knowing if what you’re doing makes sense.
What is Inheritance?
Per Wikipedia, inheritance is:
In object-oriented programming, inheritance is the mechanism of basing an object or class upon another object (prototype-based inheritance) or class (class-based inheritance), retaining similar implementation.
Some languages, such as Perl, allow multiple inheritance (Corinna does not). Other languages, such as Java and Ruby, only allow single inheritance, but provide you with tools (interfaces and mixins, respectively) as a substitute. In fact, inheritance is widely viewed as so problematic that Go and some Visual Basic variants don’t provide inheritance at all!
What’s worse, I’ve found that many developers kind of assume that behavioral inheritance and subtype inheritance are the same thing, but they’re not. Behavioral inheritance (which is what Perl tends to use), merely uses syntax to say “hey, I’m borrowing my parent class’s behavior.” There are no guarantees. Subtype inheritance, however, ... wait? What’s a subtype?
In the Raku language , here are two subtypes of Int
:
Odd
and Even
:
subset Even of Int where * %% 2;
subset Odd of Int where !(* %% 2);
my Odd $x = 4; # we get an exception here
You can use the Even
and Odd
subtypes anywhere you can use an Int
and
your program is still guaranteed to be correct, but with the added safety of
knowing that those variables will always be even or odd if they’re set.
Here’s an important concept to remember (you’ll be tested on it later!): the parent type does not know, or care, about what subtypes will be created from it. You can subtype anything in Raku (or other OO languages) and while subtypes know about their parents, the reverse is not true.
So subtype inheritance, used by languages such as Eiffel or Beta, guarantees that you can use an instance of a subclass anywhere you can use an instance of a parent class and the program still works.
Of course, that’s what the Liskov Substitution Principle is all about.
If you’re subclassing, you probably want to enforce subtype subclasses, but neither current Perl OO (nor Corinna, to be fair), can do that easily (when/if we get types/type constraints in Perl, it will help).
So that gives you an idea about divergent views on inheritance and was probably boring as heck. So forget about that for now and let’s move on to an example.
A Bank Account Example
You need to create a simple, in-memory Bank::Account
class. Obviously, this is
a toy example, but bear with me.
- You instantiate it with a customer name
- Initial balance is zero
- You can withdraw money, but throw an exception if the balance would go below zero
- You can deposit unlimited amounts of money
Because Corinna, does not (yet) support type constraints, we’ll ignore them for now.
class Bank::Account {
# Of *course* this is too simplistic. The first pedant
# who points this out loses 500 internet points.
use My::Exceptions qw(InsufficientFunds)
field $customer :param :reader;
field $balance :reader {0};
method deposit ($amount) {
$balance += $amount;
}
method withdraw ($amount) {
if ( ( $balance - $amount ) < 0 ) {
InsufficientFunds->throw("Naughty, naughty");
}
$balance -= $amount;
}
}
OK, so far, so good. The code works fine and everyone is pleased. Later,
business requirements are updated because Mr. Moneybags has tons of money, but
sometimes he wants to be overdrawn a bit. Since Mr. Moneybags is an important
customer, you need to create a Bank::Account::Premium
class to allow premium
customers to be overdrawn.
You’re a good programmer, you know you shouldn’t rewrite code, so you just want to subclass it:
class Bank::Account::Premium :isa(Bank::Account) {
sub withdraw($amount) {
...
}
}
But what goes in the withdraw
method?  In your Bank::Account
class, you make
a tiny change:
field $balance :inheritable :reader {0};
class Bank::Account::Premium :isa(Bank::Account) {
field $balance :inherited;
sub withdraw($amount) {
$balance -= $amount;
}
}
And now, everything works fine and you move your code into production.
You them immediately move it back out of production because production is
throwing exceptions left and right. Why? Your system knows that if $instance
isa Bank::Account
holds true, the balance can never be less than zero and
because the code knows it can trust your Bank::Account
class, it’s safe.
Bank::Account::Premium
is a behavioral subclass, not a subtype subclass
because the behavior of the child differs from that of the parent. It allows
negative balances and the parent does not.
Oh, but maybe that doesn’t happen. I’m just being paranoid, right?
Months pass and your code is running fine and you’ve moved on to another
department, when you get a frantic call to find out why everything is failing.
After investigation, you discover the bug. Someone’s released a module allowing
:isa
type constraints and the person maintaining the Bank::Account
module
has realized that it’s safer to constrain the $balance
:
field $balance :inheritable :reader :isa(ZeroOrPositiveNum) {0};
But your code which does allow negative balances blows up because it’s inherited this field.
Remember: the parent classes don’t know how they’re going to be subclassed
and they shouldn’t care. Instead, they should do everything in their power to be
as correct as possible and the :isa(ZeroOrPositiveNum)
constraint is
perfectly appropriate.
By exposing our internal state to our subclass, we’ve tightly coupled them
because the cheap :inheritable
workaround seems so easy. But again, Kay
reminds us of “local retention and protection and hiding of state-process.”
State and process are tightly coupled inside of a class and exposing state
without the process that guarantees the state is correct leads to fragile code.
 Instead, we should have had something like this:
class Bank::Account :abstract {
field $customer :param :reader;
field $balance :reader {0};
method deposit ($amount) {
$balance += $amount;
}
method withdraw ($amount) {
$balance -= $amount;
}
}
class Bank::Account::Regular :isa(Bank::Account) {
use My::Exceptions qw(InsufficientFunds)
method withdraw ($amount) {
if ( ( $self->balance - $amount ) < 0 ) {
InsufficientFunds->throw("Naughty, naughty");
}
$self->next::method($amount);
}
}
class Bank::Account::Premium :isa(Bank::Account) {
# no need to override any behavior, but we could
# provide more behavior as needed
}
Seems like more work up front, but we have known for a long time that fixing broken code in the design stage is far cheaper than fixing it after it’s in production. But we’re so used to violating encapsulation, often without even realizing it, that we fall back on this rather than using proper design.
Yes, this example is contrived, but it’s based on my decades of OO programming. I also started off as a rubbish OO developer, having learned the syntax and not the theory. My punishment was spending years working with multiple clients, cleaning up the messes of other developers with the same background.
Conclusion
Encapsulation has been accepted best practice for OOP developers for decades. For Perl developers, it’s a contentious issue, due in part to how easy it is to apply “quick fixes” without having to revisit our design. And then, everyone quotes Larry. Larry Wall famously said :
Perl doesn’t have an infatuation with enforced privacy. It would prefer that you stayed out of its living room because you weren’t invited, not because it has a shotgun.
That might work for disciplined developers who understand OOP. But we’re often undisciplined. We often don’t understand OOP. We’re often under time pressure and it’s easy to make mistakes then.
Larry has done great things with Perl, but this saying has outlived its usefulness. For small, quick hacks, or proofs-of-concept, that’s fine. But as systems grow, it’s not fine. There’s a saying that wise men make saying so fools can repeat them. I have long been one of those fools, but years of fixing broken OOP systems in many shops have taught me that I was wrong.
Corinna likely will allow encapsulation violation via a cumbersome meta-object protocol (MOP), but this will glaringly stand out like a sore thumb as a code smell. It will be clear that there’s a design flaw and the design should be revisited.
Not being able to easily violate encapsulation seems like a burden, but only because we’ve grown lazy and have skipped thinking about design. In reality, it will help us build more robust systems and teach us when our design is flawed. Far from being a limitation, encapsulation will be a powerful tool.


|
Perl Weekly
Issue #126 - 2013-12-23 - Happy Birthday to Perl - White Camels
latest | archive | by Gabor Szabo
|
|
Hi,
it is just about Christmas and while a large chunk of the world does not celebrate it, I am sure many of the readers of the Perl Weekly have a few days off around the holiday. I have received vacation auto-responders last week already saying that they will be back in the office on January 7. Now that's a vacation!
Anyway, this week we celebrated the 26th birthday of Perl, and the White Camel award winners were announced. There is a World wide Perl competition run by the DFW Perl Mongers. I just found out about the Perl Oasis West, that is just a month away in Tampa, FL, and I saw that the next Russian Perl conference announced to be held in Kiev, Ukraine. (No, I don't want to get involved in the Europe-Ukraine-Russia political debate.)
I was hoping people will slow down and go on vacation, but instead of that, tons of articles.
Enjoy!
|
|
|
|
Sponsors
|
We're Hiring Perl Software Developers - Grant Street Group
We're a growing software company using open source software/modern Perl practices to build innovative e-payment, auction, and tax collection web applications. We're looking for talented, motivated professionals committed to flawless work and customer service. Please apply online.
|
|
Announcements
|
Perl is 26 Today
On 18th December Perl celebrated it 26th birthday. In his article, chromatic points out the important role Perl played in the development of programming languages. It was posted to Hacker news. You can spend a whole afternoon digging through it.
|
|
The 2013 White Camels
The White Camel Awards recognize outstanding, non-technical achievement in Perl. Every year it is awarded to 3 individuals or teams. This year the recipients are Thiago "maluco" Rondon, Fred Moyer, and the Dijkmat team: Wendy and Liz. Reading the 'reasoning' behind the awards is always very inspirational.
|
|
World wide Perl competition
The Dallas/Fort Worth Perl Mongers (DFW.pm), have started a hackathon or code-competition. You are invited to check out the task and the rules and get started. The dead-line to finish the project in January 8th. So you have all the Holiday time, if you are in an area where this is Holiday time, to work on the project and WIN!
|
|
|
|
|
|
Advent Calendars
The advent calendars are ending today or tomorrow, but the articles remain there, for all of you to read during the Holidays, and beyond.
|
|
|
|
|
|
|
|
|
Articles
|
Misunderstanding Context
It is always interesting to see when Dave Cross analyzes how people on the outskirts of the Perl community think about specific subjects related to Perl. I am not sure though, how would that look like like if people who are closer to the center of the onion explained what they know (or think to know) about these subject in Perl. I am sure I would be caught red-handed many times if I was writing about these.
|
|
Releases
|
|
|
|
|
Code
|
Moving PPI to GitHub encourages some new activity
Adam Kennedy was one of the most prolific CPAN authors until he changed jobs and country. He has over 200 modules in a giant Subversion repository that finally will be moved to GitHub. This is great. It will allow easier contribution, and hopefully more of his modules will get new maintainers.
|
|
|
|
Fun
|
How I learned to plot a Mandelbrot set
Fractals are always nice to look at. It is even nicer when it is done by Dmitry Karasik using the bridge between PDL (the Perl Data Language) and Prima (the Perl GUI toolkit).
|
|
What?! CUDA::Minimal... works?
It's great that it is minimal and that it works again, but what is CUDA? David Mertens explains: CUDA is a great framework for writing parallel applications that run on (capable) nVidia video cards.
|
|
|
|
Videos
|
|
|
Other
|
|
|
|
|
Weekly collections
|
|
|
Perl Maven Tutorials
|
|
|
Blogging with Riji
Riji that means diary in Chinese is a simple blog tool using Markdown. This is an introduction to using it.
|
|
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!
|


A class that generates a Zsh completion function as output from the usage() method for the given CmdLine and its Args. More...
#include <ZshCompletionOutput.h>
Public Member Functions | |
| ZshCompletionOutput () | |
| virtual void | usage (CmdLineInterface &c) |
| Prints the usage to stdout. | |
| virtual void | version (CmdLineInterface &c) |
| Prints the version to stdout. | |
| virtual void | failure (CmdLineInterface &c, ArgException &e) |
| Prints (to stderr) an error message, short usage Can be overridden to produce alternative behavior. | |
Protected Member Functions | |
| void | basename (std::string &s) |
| void | quoteSpecialChars (std::string &s) |
| std::string | getMutexList (CmdLineInterface &_cmd, Arg *a) |
| void | printOption (Arg *it, std::string mutex) |
| void | printArg (Arg *it) |
Protected Attributes | |
| std::map< std::string, std::string > | common |
| char | theDelimiter |
A class that generates a Zsh completion function as output from the usage() method for the given CmdLine and its Args.
Definition at line 43 of file ZshCompletionOutput.h.
| TCLAP::ZshCompletionOutput::ZshCompletionOutput | ( | ) |
Definition at line 86 of file ZshCompletionOutput.h.
References common.
| void TCLAP::ZshCompletionOutput::basename | ( | std::string & | s | ) | [inline, protected] |
Definition at line 155 of file ZshCompletionOutput.h.
Referenced by usage().
| void TCLAP::ZshCompletionOutput::failure | ( | CmdLineInterface & | c, | |
| ArgException & | e | |||
| ) | [inline, virtual] |
Prints (to stderr) an error message, short usage Can be overridden to produce alternative behavior.
| c | - The CmdLine object the output is generated for. | |
| e | - The ArgException that caused the failure. |
Implements TCLAP::CmdLineOutput.
Definition at line 129 of file ZshCompletionOutput.h.
References TCLAP::ArgException::what().
| std::string TCLAP::ZshCompletionOutput::getMutexList | ( | CmdLineInterface & | _cmd, | |
| Arg * | a | |||
| ) | [inline, protected] |
Definition at line 271 of file ZshCompletionOutput.h.
References TCLAP::Arg::acceptsMultipleValues(), TCLAP::Arg::flagStartChar(), TCLAP::Arg::getFlag(), TCLAP::Arg::getName(), TCLAP::CmdLineInterface::getXorHandler(), TCLAP::XorHandler::getXorList(), and TCLAP::Arg::nameStartString().
Referenced by usage().
| void TCLAP::ZshCompletionOutput::printArg | ( | Arg * | it | ) | [inline, protected] |
Definition at line 164 of file ZshCompletionOutput.h.
References TCLAP::Arg::acceptsMultipleValues(), common, TCLAP::Arg::getName(), and TCLAP::Arg::isRequired().
Referenced by usage().
| void TCLAP::ZshCompletionOutput::printOption | ( | Arg * | it, | |
| std::string | mutex | |||
| ) | [inline, protected] |
Definition at line 190 of file ZshCompletionOutput.h.
References common, TCLAP::Arg::flagStartChar(), TCLAP::Arg::getDescription(), TCLAP::Arg::getFlag(), TCLAP::Arg::getName(), TCLAP::Arg::isValueRequired(), TCLAP::Arg::nameStartString(), quoteSpecialChars(), TCLAP::Arg::shortID(), and theDelimiter.
Referenced by usage().
| void TCLAP::ZshCompletionOutput::quoteSpecialChars | ( | std::string & | s | ) | [inline, protected] |
Definition at line 136 of file ZshCompletionOutput.h.
Referenced by printOption().
| void TCLAP::ZshCompletionOutput::usage | ( | CmdLineInterface & | c | ) | [inline, virtual] |
Prints the usage to stdout.
Can be overridden to produce alternative behavior.
| c | - The CmdLine object the output is generated for. |
Implements TCLAP::CmdLineOutput.
Definition at line 106 of file ZshCompletionOutput.h.
References basename(), TCLAP::CmdLineInterface::getArgList(), TCLAP::CmdLineInterface::getDelimiter(), getMutexList(), TCLAP::CmdLineInterface::getProgramName(), TCLAP::CmdLineInterface::getVersion(), printArg(), printOption(), and theDelimiter.
| void TCLAP::ZshCompletionOutput::version | ( | CmdLineInterface & | c | ) | [inline, virtual] |
Prints the version to stdout.
Can be overridden to produce alternative behavior.
| c | - The CmdLine object the output is generated for. |
Implements TCLAP::CmdLineOutput.
Definition at line 101 of file ZshCompletionOutput.h.
References TCLAP::CmdLineInterface::getVersion().
std::map<std::string, std::string> TCLAP::ZshCompletionOutput::common [protected] |
Definition at line 82 of file ZshCompletionOutput.h.
Referenced by printArg(), printOption(), and ZshCompletionOutput().
char TCLAP::ZshCompletionOutput::theDelimiter [protected] |
Definition at line 83 of file ZshCompletionOutput.h.
Referenced by printOption(), and usage().


Christmastime in Tampere
You can enjoy the Christmas spirit in Tampere
even before the actual holiday
Have a look at low-cost flight connections from Stockholm, Bremen, Riga and more. Your summer holiday in Tampere is closer than you think!
Christmas market at the Stable yards
You can enjoy the Christmas spirit in Tampere
even before the actual holiday
Tampere is easy to reach - by bus,train, or
domestic and international flights!
World's only Moomin Museum is open
at Tampere Hall
Our summer video will make you want to book
your trip to Tampere right here and now.
Check out what's happening in Tampere during
your visit from our Events Calendar!
From Locals With Love,Fun For Kids, City
Guide to Tampere. Download or print out.
Our new map helps you plan your holiday while
keeping the little ones entertained.
Quaranteed good spots loved by locals.
Find your Favorite!
Serene lakes await you just a stone throw
away from the Tampere city centre.
Prefer the oldest public sauna still in use,
or a chance to dip into a lake year-round?
From Lenin Museum to world-renowned art
museums, Tampere caters to all interests


CHOWN
Section: Linux Programmer's Manual (2)
Updated: 2014-08-19
Index
Return to Main Contents
NAME
chown, fchown, lchown, fchownat - change ownership of a file
SYNOPSIS
#include <unistd.h>
int chown(const char *pathname, uid_t owner, gid_t group);
int fchown(int fd, uid_t owner, gid_t group);
int lchown(const char *pathname, uid_t owner, gid_t group);
#include <fcntl.h> /* Definition of AT_* constants */
#include <unistd.h>
int fchownat(int dirfd, const char *pathname,
uid_t owner, gid_t group, int flags);
Feature Test Macro Requirements for glibc (see
feature_test_macros(7)):
fchown(),
lchown():
-
_BSD_SOURCE || _XOPEN_SOURCE >= 500 ||
_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
|| /* Since glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
fchownat():
-
- Since glibc 2.10:
-
_XOPEN_SOURCE >= 700 || _POSIX_C_SOURCE >= 200809L
- Before glibc 2.10:
-
_ATFILE_SOURCE
DESCRIPTION
These system calls change the owner and group of a file.
The
chown(),
fchown(),
and
lchown()
system calls differ only in how the file is specified:
- *
-
chown()
changes the ownership of the file specified by
pathname,
which is dereferenced if it is a symbolic link.
- *
-
fchown()
changes the ownership of the file referred to by the open file descriptor
fd.
- *
-
lchown()
is like
chown(),
but does not dereference symbolic links.
Only a privileged process (Linux: one with the
CAP_CHOWN
capability) may change the owner of a file.
The owner of a file may change the group of the file
to any group of which that owner is a member.
A privileged process (Linux: with
CAP_CHOWN)
may change the group arbitrarily.
If the
owner
or
group
is specified as -1, then that ID is not changed.
When the owner or group of an executable file are
changed by an unprivileged user the
S_ISUID
and
S_ISGID
mode bits are cleared.
POSIX does not specify whether
this also should happen when root does the
chown();
the Linux behavior depends on the kernel version.
In case of a non-group-executable file (i.e., one for which the
S_IXGRP
bit is not set) the
S_ISGID
bit indicates mandatory locking, and is not cleared by a
chown().
fchownat()
The
fchownat()
system call operates in exactly the same way as
chown(),
except for the differences described here.
If the pathname given in
pathname
is relative, then it is interpreted relative to the directory
referred to by the file descriptor
dirfd
(rather than relative to the current working directory of
the calling process, as is done by
chown()
for a relative pathname).
If
pathname
is relative and
dirfd
is the special value
AT_FDCWD,
then
pathname
is interpreted relative to the current working
directory of the calling process (like
chown()).
If
pathname
is absolute, then
dirfd
is ignored.
The
flags
argument is a bit mask created by ORing together
0 or more of the following values;
- AT_EMPTY_PATH (since Linux 2.6.39)
-
If
pathname
is an empty string, operate on the file referred to by
dirfd
(which may have been obtained using the
open(2)
O_PATH
flag).
In this case,
dirfd
can refer to any type of file, not just a directory.
If
dirfd
is
AT_FDCWD,
the call operates on the current working directory.
This flag is Linux-specific; define
_GNU_SOURCE
to obtain its definition.
- AT_SYMLINK_NOFOLLOW
-
If
pathname
is a symbolic link, do not dereference it:
instead operate on the link itself, like
lchown().
(By default,
fchownat()
dereferences symbolic links, like
chown().)
See
openat(2)
for an explanation of the need for
fchownat().
RETURN VALUE
On success, zero is returned.
On error, -1 is returned, and
errno
is set appropriately.
ERRORS
Depending on the filesystem,
errors other than those listed below can be returned.
The more general errors for
chown()
are listed below.
- EACCES
-
Search permission is denied on a component of the path prefix.
(See also
path_resolution(7).)
- EFAULT
-
pathname
points outside your accessible address space.
- ELOOP
-
Too many symbolic links were encountered in resolving
pathname.
- ENAMETOOLONG
-
pathname
is too long.
- ENOENT
-
The file does not exist.
- ENOMEM
-
Insufficient kernel memory was available.
- ENOTDIR
-
A component of the path prefix is not a directory.
- EPERM
-
The calling process did not have the required permissions
(see above) to change owner and/or group.
- EROFS
-
The named file resides on a read-only filesystem.
The general errors for
fchown()
are listed below:
- EBADF
-
The descriptor is not valid.
- EIO
-
A low-level I/O error occurred while modifying the inode.
- ENOENT
-
See above.
- EPERM
-
See above.
- EROFS
-
See above.
The same errors that occur for
chown()
can also occur for
fchownat().
The following additional errors can occur for
fchownat():
- EBADF
-
dirfd
is not a valid file descriptor.
- EINVAL
-
Invalid flag specified in
flags.
- ENOTDIR
-
pathname
is relative and
dirfd
is a file descriptor referring to a file other than a directory.
VERSIONS
fchownat()
was added to Linux in kernel 2.6.16;
library support was added to glibc in version 2.4.
CONFORMING TO
chown(),
fchown(),
lchown():
4.4BSD, SVr4, POSIX.1-2001, POSIX.1-2008.
The 4.4BSD version can be
used only by the superuser (that is, ordinary users cannot give away files).
fchownat():
POSIX.1-2008.
NOTES
Ownership of new files
When a new file is created (by, for example,
open(2)
or
mkdir(2)),
its owner is made the same as the filesystem user ID of the
creating process.
The group of the file depends on a range of factors,
including the type of filesystem,
the options used to mount the filesystem,
and whether or not the set-group-ID permission bit is enabled
on the parent directory.
If the filesystem supports the
-o grpid
(or, synonymously
-o bsdgroups)
and
-o nogrpid
(or, synonymously
-o sysvgroups)
mount(8)
options, then the rules are as follows:
- *
-
If the filesystem is mounted with
-o grpid,
then the group of a new file is made
the same as that of the parent directory.
- *
-
If the filesystem is mounted with
-o nogrpid
and the set-group-ID bit is disabled on the parent directory,
then the group of a new file is made the same as the
process's filesystem GID.
- *
-
If the filesystem is mounted with
-o nogrpid
and the set-group-ID bit is enabled on the parent directory,
then the group of a new file is made
the same as that of the parent directory.
As at Linux 2.6.25,
the
-o grpid
and
-o nogrpid
mount options are supported by ext2, ext3, ext4, and XFS.
Filesystems that don't support these mount options follow the
-o nogrpid
rules.
Glibc notes
On older kernels where
fchownat()
is unavailable, the glibc wrapper function falls back to the use of
chown()
and
lchown().
When
pathname
is a relative pathname,
glibc constructs a pathname based on the symbolic link in
/proc/self/fd
that corresponds to the
dirfd
argument.
NFS
The
chown()
semantics are deliberately violated on NFS filesystems
which have UID mapping enabled.
Additionally, the semantics of all system
calls which access the file contents are violated, because
chown()
may cause immediate access revocation on already open files.
Client side
caching may lead to a delay between the time where ownership have
been changed to allow access for a user and the time where the file can
actually be accessed by the user on other clients.
Historical details
The original Linux
chown(),
fchown(),
and
lchown()
system calls supported only 16-bit user and group IDs.
Subsequently, Linux 2.4 added
chown32(),
fchown32(),
and
lchown32(),
supporting 32-bit IDs.
The glibc
chown(),
fchown(),
and
lchown()
wrapper functions transparently deal with the variations across kernel versions.
In versions of Linux prior to 2.1.81 (and distinct from 2.1.46),
chown()
did not follow symbolic links.
Since Linux 2.1.81,
chown()
does follow symbolic links, and there is a new system call
lchown()
that does not follow symbolic links.
Since Linux 2.1.86, this new call (that has the same semantics
as the old
chown())
has got the same syscall number, and
chown()
got the newly introduced number.
EXAMPLE
The following program changes the ownership of the file named in
its second command-line argument to the value specified in its
first command-line argument.
The new owner can be specified either as a numeric user ID,
or as a username (which is converted to a user ID by using
getpwnam(3)
to perform a lookup in the system password file).
Program source
#include <pwd.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int
main(int argc, char *argv[])
{
uid_t uid;
struct passwd *pwd;
char *endptr;
if (argc != 3 || argv[1][0] == '\0') {
fprintf(stderr, "%s <owner> <file>\n", argv[0]);
exit(EXIT_FAILURE);
}
uid = strtol(argv[1], &endptr, 10); /* Allow a numeric string */
if (*endptr != '\0') { /* Was not pure numeric string */
pwd = getpwnam(argv[1]); /* Try getting UID for username */
if (pwd == NULL) {
perror("getpwnam");
exit(EXIT_FAILURE);
}
uid = pwd->pw_uid;
}
if (chown(argv[2], uid, -1) == -1) {
perror("chown");
exit(EXIT_FAILURE);
}
exit(EXIT_SUCCESS);
}
SEE ALSO
chmod(2),
flock(2),
path_resolution(7),
symlink(7)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- fchownat()
-
- RETURN VALUE
-
- ERRORS
-
- VERSIONS
-
- CONFORMING TO
-
- NOTES
-
- Ownership of new files
-
- Glibc notes
-
- NFS
-
- Historical details
-
- EXAMPLE
-
- Program source
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 02:54:50 GMT, September 18, 2014


A single input source for an XML entity
A single input source for an XML entity.This class encapsulates information about an input source in a single object, which may include a public identifier or a system identifier
There are two places that the application will deliver this input source to the parser: as the argument to the Parser::parse method, or as the return value of the EntityResolver::resolveEntity method.
InputSource is never used directly, but is the base class for a number of derived classes for particular types of input sources. Derivatives are provided (in the internal/ directory) for URL input sources, memory buffer input sources, and so on.
When it is time to parse the input described by an input source, it will be asked to create a binary stream for that source. That stream will be used to input the data of the source. The derived class provides the implementation of the makeStream() method, and provides a type of stream of the correct type for the input source it represents.
An InputSource object belongs to the application: the parser never modifies them in any way. They are always passed by const reference so the parser will make a copy of any input sources that it must keep around beyond the call.
The derived class must create and return a binary input stream of an appropriate type for its kind of data source. The returned stream must be dynamically allocated and becomes the parser's property.
If the system ID is a URL, it will be fully resolved.
This is usually not set, allowing the encoding to be sensed in the usual XML way. However, in some cases, the encoding in the file is known to be incorrect because of intermediate transcoding, for instance encapsulation within a MIME document.
The public identifier is always optional: if the application writer
includes one, it will be provided as part of the location information.
Set the system identifier for this input source.
If the system ID is a URL, it must be fully resolved.
getPublicId
getPublicId
getSystemId
getSystemId
publicId - The public identifier as in the entity definition.
publicId - The public identifier as in the entity definition.
alphabetic index hierarchy of classes
|
Xerces-C XML Parser for C++ Version 1.1 |
|
|
generated by doc++


The hilarious Ryan Jack throwback as Rangers star's early days revisited in classic picture
Former Aberdeen team-mate Fraser Fyvie shared the old snap on Twitter.
by Record Sport OnlineThere's nothing like a good old throwback to get your pals blushing.
Before Ryan Jack was captaining Aberdeen or starring under Steven Gerrard at Rangers, he was a fresh-faced youngster in the Dons' youth academy.
The midfielder emerged through the ranks at Pittodrie as a kid, alongside Fraser Fyvie.
And those days were revisited by the Cove Rangers player in the form a classic picture.
It shows the pair in their early Aberdeen days, grinning for the camera.
Much has changed since then, clearly, although the pair are still identifiable despite the picture's age.
Fyvie wrote: "What about that for a #ThrowbackThursday guess who"
Fyvie became Aberdeen 's youngest-ever player when he debuted at 16 in 2009, while Jack made his league bow a year later in 2010 against, funnily enough, Rangers .
Fyvie departed for Wigan Athletic in 2012, with Jack remaining in the north east until 2017 before eventually sealing his switch to Ibrox.


"Only by the bravery of those who put loyalty above glory is our home kept safe."
Born on a plane ruined by strife and darkness, this white mage left home when her Planeswalker spark ignited—and she never returned. Elspeth specializes in community and fortification, wielding spells that build and bolster mighty armies, while protecting them from harm.
Elspeth wants nothing more than to sheathe her sword for the last time, and find a plane to call home. Violence and destruction have a tendency to follow her, and she is constantly driven to take up arms and wield her defensive magic in the service of those that need her protection.
Elspeth came to Theros from a war-ravaged plane, hoping to find the one thing that has eluded her—peace. Under the watchful protection of gods, she hoped that Theros would not be in need of guardians like her. But when she arrived, Elspeth was quickly identified as an outsider with powers and skills that further distanced her from the natives of Theros. In the wilderness between two city-states, Elspeth was attacked by a monstrous hydra, which had been responsible for the deaths of countless warriors. Elspeth engaged the hydra alone and, after a bitter fight, emerged triumphant. Afterward, she wanted nothing more than to fade into anonymity.
But on the Theros, the best laid plans of mortals often come second to those of the gods. Her feat of heroism has captured the attention of Heliod, god of the sun, who seeks to make her his champion.


Welcome to our I101 Website! Here we will describe how to better track school attendance at events such as plays, concerts, and sporting events. We started the process by first finding ways to keep track of attendance and then deciding how to encourage more attendance at the events. The solution to our problem could be implemented in any school looking to find a better way to get students more involved while also keeping things organized.


Hi, here is my presentation on my 20 little machines concept that I am happy to share with you today. I hope you get a good understanding of what I am trying to accomplish with these photos, one old drawing, and the embedded video.


A new way to define a two-dimensional layout on a page or element.
Different ways to define "planes" on a grid:
/* In full */
.grid {
display: grid;
grid-template-rows: 1fr 200px auto;
grid-template-columns: 1fr auto 1fr;
}
/* Shorthand */
.grid {
grid-template: 1fr 200px auto / 1fr auto 1fr;
}
.grid {
display: grid;
grid-template-columns: 1fr auto 2fr;
grid-auto-rows: 1fr 2fr;
}
/* In full */
.grid {
grid-row-gap: 20px;
grid-column-gap: 50px;
}
/* Shorthand */
.grid {
grid-gap: 20px 50px;
}
/* In full */
.grid {
grid-gap: 20px;
grid-template-columns: 6fr 6fr 1fr 6fr;
grid-template-rows: 1fr 2fr 1fr;
grid-template-areas:
"header header header header"
"main main . sidebar"
"footer footer footer footer"
}
/* Shorthand */
.grid {
grid-gap: 20px;
grid-template:
"header header header header" 1fr
"main main . sidebar" 2fr
"footer footer footer footer" 1fr
/ 6fr 6fr 1fr 6fr;
}
place-self
as a shorthand for align-self
and
justify-self
span
Intrinsic sizing depends on the content, instead of a parent.
min-content
: Make the column as narrow as possible, fitting the content.
max-content
: Make the column as wide as possible, fitting the content.
fr
unit: Divides a grid into fractions.
minmax(200px, 1fr)
: Give the column/row a min and max size.
repeat(3, 1fr)
: Repeat the given size for an amount of columns/rows
repeat(auto-fit, minmax(100px, 1fr))
: Fit the width/height of the container using the max size
repeat(auto-fill, minmax(100px, 1fr))
: Fill the width/height of the container using the min
size
See the Pen auto-fill vs auto-fit by Sara Soueidan (@SaraSoueidan) on CodePen.
|
Flex |
Grid |
|---|---|
|
Works with the content |
Works with the container |
|
Behaviour on the container, sizing on elements |
Sizing on the container, behaviour on elements |
* Not with CSS, but it can be done with JS 🔥


M
R
H
Meal 1
The Family burger joint!
$8.43
OOOOO
Reviews
OOOOO
Nick Says: Loved it, the chicken was great!
OOOOO
Nick Says: Loved it, the chicken was great!
OOOOO
Nick Says: Loved it, the chicken was great!


Personal
Branded Transfer and 3GB Storage
$9
3GB
of storage
3GB
max file size
UNLIMITED
download case file
Custom bonding
handling
Deposit
Netbanking
Php
Supporting engine
Networking
Communication


SF Win! Announcement
Win! 360, PM
by: JD Barcik: 9/12/2006
- Date sold:
9/12/2006
- Deal size:
$1.2MM
- Products Sold:
360, PM, Succession
- Salesperson:
JD
- Business Drivers:
Our goal is to build a high performance culture...
- Business Drivers:
I meet with the Vice President of Human Resources and the Leadership Team in November
of 2007, they expressed a desire to create a more results oriented culture and identify future
leaders, increase goal alignment and visibility, accountability, career development and link pay to
performance. Franciscan Health was challenged with increasing turnover, low morale and job
burn-out, pending "baby boomer" succession and leadership gaps, and inability to support a growth
strategy.
- Why SuccessFactors:
Our global capabilities were also key...
- Why SuccessFactors:
SuccessFactors invested in developing key FHS Executive partnerships and working them
through a process for changing the culture, in the end, we gained FHS' trust and confidence. When Halogen was dropping prices, slinging our S-1 financials, sending "goon" squad to Tacoma and "try it and pay later" tactics, SF was creating vision with the Executives on changing the culture and helping achieve Baldrige Award and Magnet Status. SuccessFactors demonstrated an understanding of the healthcare industry, HC wins/references and guiding the FHS through the process of requirements, selection, justification and implementation.
- What this means:
Franciscan Health is a major affiliate of Catholic Health Initiatives (CHI), based in Denver, Colorado
with over 50,000; say it again with me ... 50,000 employees. Franciscan Health is the pilot to win the rest of the enterprise in 2008. Advancing our objective of world domination and control.
- Competitors:
SAP
- Planning:
TGM
- Up sell opportunities:
- Annual ASP License Revenue:
$382,987
- Remaining revenue:
$1.2MM 2 Years remaining on contract
- Lifetime Revenue:
$3.4MM


{% extends 'homepage.html' %} {% block body_id %}page{% endblock %} {% block content_container %}
What’s the data behind the story?
{{ HURUMAP.name }} gives infomediaries like journalists and civic activists an easy ‘plug & play’ toolkit for finding and embedding interactive data visualisations into their storytelling. The data is by the National Bureau of Statistics.


2,000 NGN Per Bitcoin
blue
Unverified
Unverified
0% of 0 Trades
--
For now we are keeping things simple, enter the amount you wish to buy or sell to open a trade session with the buyer or seller, under the supervision of an escrow. Using the contact address or contact medium listed to contact the merchant and negotiate a deal, is risky and we don't recommend it. Please remember the Gredo E-currency website is not responsible for any loss that my be incurred during trade. please stick to the official company exchange.


Donald Sinden (born 1923-10-09[ref]) has appeared in 7 episodes between 1971-1980. Donald Sinden on IMDB. Donald Sinden on Wikipedia.


| InformativeTesting {lavaan} | R Documentation |
Testing order/inequality constrained Hypotheses in SEM
InformativeTesting(model = NULL, data, constraints = NULL, R = 1000L, type = "bollen.stine", return.LRT = TRUE, double.bootstrap = "standard", double.bootstrap.R = 249L, double.bootstrap.alpha = 0.05, parallel = c("no", "multicore", "snow"), ncpus = 1L, cl = NULL, verbose = FALSE, ...)
model |
Model syntax specifying the model. See |
data |
The data frame containing the observed variables being used to fit the model. |
constraints |
The imposed inequality constraints on the model. |
R |
Integer; number of bootstrap draws. The default value is set to 1000. |
type |
If |
return.LRT |
Logical; if |
double.bootstrap |
If |
double.bootstrap.R |
Integer; number of double bootstrap draws. The default value is set to 249. |
double.bootstrap.alpha |
The significance level to compute the adjusted
alpha based on the plugin p-values. Only used if |
parallel |
The type of parallel operation to be used (if any). If missing, the default is set "no". |
ncpus |
Integer: number of processes to be used in parallel operation: typically one would chose this to the number of available CPUs. |
cl |
An optional parallel or snow cluster for use if
|
verbose |
Logical; if |
... |
Other named arguments from the lavaan package which are passed to
the function. For example |
The following hypothesis tests are available:
Type A: Test H0: all restriktions with equalities ("=") active against HA: at least one inequality restriktion (">") strictly true.
Type B: Test H0: all restriktions with inequalities (">") (including some equalities ("=")) active against HA: at least one restriktion false (some equality restriktions may be maintained).
An object of class InformativeTesting for which a print and a plot method is available.
Leonard Vanbrabant<EMAIL_ADDRESS>Van de Schoot, R., Hoijtink, H., & Dekovic, M. (2010). Testing inequality constrained hypotheses in SEM models. Structural Equation Modeling, 17, 443-463.
Van de Schoot, R., Strohmeier, D. (2011). Testing informative hypotheses in SEM increases power: An illustration contrasting classical. International Journal of Behavioral Development, 35, 180-190.
Silvapulle, M.J. and Sen, P.K. (2005). Constrained Statistical Inference. Wiley, New York.
## Not run: ######################### ### real data example ### ######################### # Multiple group path model for facial burns example. # model syntax with starting values. burns.model <- 'Selfesteem ~ Age + c(m1, f1)*TBSA + HADS + start(-.10, -.20)*TBSA HADS ~ Age + c(m2, f2)*TBSA + RUM + start(.10, .20)*TBSA ' # constraints syntax burns.constraints <- 'f2 > 0 ; m1 < 0 m2 > 0 ; f1 < 0 f2 > m2 ; f1 < m1' # we only generate 2 bootstrap samples in this example; in practice # you may wish to use a much higher number. # the double bootstrap was switched off; in practice you probably # want to set it to "standard". example1 <- InformativeTesting(model = burns.model, data = FacialBurns, R = 2, constraints = burns.constraints, double.bootstrap = "no", group = "Sex") example1 ########################## ### artificial example ### ########################## # Simple ANOVA model with 3 groups (N = 20 per group) set.seed(1234) Y <- cbind(c(rnorm(20,0,1), rnorm(20,0.5,1), rnorm(20,1,1))) grp <- c(rep("1", 20), rep("2", 20), rep("3", 20)) Data <- data.frame(Y, grp) #create model matrix fit.lm <- lm(Y ~ grp, data = Data) mfit <- fit.lm$model mm <- model.matrix(mfit) Y <- model.response(mfit) X <- data.frame(mm[,2:3]) names(X) <- c("d1", "d2") Data.new <- data.frame(Y, X) # model model <- 'Y ~ 1 + a1*d1 + a2*d2' # fit without constraints fit <- sem(model, data = Data.new) # constraints syntax: mu1 < mu2 < mu3 constraints <- ' a1 > 0 a1 < a2 ' # we only generate 10 bootstrap samples in this example; in practice # you may wish to use a much higher number, say > 1000. The double # bootstrap is not necessary in case of an univariate ANOVA model. example2 <- InformativeTesting(model = model, data = Data.new, start = parTable(fit), R = 10L, double.bootstrap = "no", constraints = constraints) example2 ## End(Not run)


[Erowid Warning: Our understanding of the literature is that there is no such thing as safe use of volatile solvents, aerosols and other street inhalants : their psychoactive effects are inseparable from nerve and organ damage. We have chosen to include these reports to help document the real world use of inhalants, but their inclusion is not intended to imply that they are anything but dangerous.]
At the time, I was a 16 year old girl. I had been experimenting with drugs since I had turned fourteen, and had dabbled with alcohol, cigarettes, Marijuana, Robo, Cocaine, mushrooms, and E.  I was wrong.
I discovered the can in my house one day, and planned to use it that night, as my family would be gone. I put on some Animal Collective and took a huff of the cleaner. Within ten seconds, I could feel a wave of warm-numbness coming towards me. The wave surrounded my brain, filling my head with a pleasant buzzing. The buzzing spread from my brain, and filled my body with a warmness that I haven't found in any drug since. My body was filling with strange pulsating vibes, a numbness that can be compared to the opposite of electric shock. I entered a void of pleasurable calmness for about five minutes, before the high faded.
I immediately missed the pulsing warmness of the drug, so I took another huff, a bigger one this time. It instantly hit my body, and I returned to the state that I had been in before.  I had entered a different reality, physically the same, but emotionally foreign. My brain was flooded with psychedelic thoughts, and I experienced a handful of visuals that blew my mind. Colors and textures had completely changed, and the world around me was morphing and glowing.
I continued to hit the bottle once or twice every five minutes, until it was so cold that I could no longer hold it. I went all the way to wrap it in a towel, just so I could continue huffing. After about an hour and a half of constantly huffing, I lost complete track of time. Time itself had left me, and I was in a completely different reality. I had been sitting and drooling on myself for a few hours. I took a huge hit, emptying the bottle. I let the high surround me, fill my body.
This time, it hit me in the wrong way. I instantly saw the world around me begin to spin out of control. My body temperature rose rapidly, and I broke out in a sweat. I stumbled my way to the bathroom, and stared at myself in the mirror. My eyes were red, and I looked like I had been awake for days. The rest of these memories are a blur, but this is what I remember:
I stared in the mirror, feeling my face. The only way I knew I was touching myself was from my reflection. I was instantly scared that I would be stuck this way, that I had been high for days and would never come down. I felt the world around me breaking down, and was instantly convinced that I was going to die. I slapped myself in the face to try to bring myself down, alert myself back to reality, but I had lost all feeling. I continued to slap and punch myself until I lost faith, and accepted that I was going to die.
Convinced I was going to die, I filmed a video on my camcorder, stating that if I was dead the next morning, I was sorry, and that I loved everyone.  I called my friend to tell her what was going on, and she told me to run to the shower, turn on the cold water, and stand in it until my body temperature came down.
I woke up about half an hour later, as from electric shock. I was instantly brought back to reality, stinging throat, fully clothed, in the cold shower. I stumbled out, threw on a towel, and crashed.
To this day, I feel an instant sickness when I am around the smell of keyboard cleaner. The high started out great, but almost ended lethally. If I am ever going to do it again, I now know not to do more than 3 or 4 huffs. But it is not worth the risk of brain damage or death.
I wish you all beautiful days ahead.
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.


Sofya Vorotnikova Speaks @ Second Lunch
Today, CSWomen co-chair, Sofya Vorotnikova, talked about her research on solving graph problems as well as procrastination, the fear of failure and procrastination.
Bio
Sofya is a third year MS/PhD student at UMass Amherst. She works with Andrew McGregor in the Theory group. She received her Bachelor’s degree in Computer Science and Mathematics from UMass in 2014. Her research interests lie in the area of design and analysis of algorithms. She is particularly interested in processing very large graphs using a small amount of time and space. She is also interested in graph theory, information theory, and communication complexity.
Solving Graph Problems in the Streaming Model
Solving graph problems is relevant to many real-world applications. However graphs are often too large to be stored. They can also be distributed across multiple machines and they often change over time. Streaming models for graphs can alleviate these problems. In streaming models, the edges arrive in a sequence, one at a time.
Streaming Models:
- Insert-only: edges in the stream are only inserted into the graph.
- Dynamic: aka insert-delete; edges can be either inserted (i.e. ) into or deleted (i.e. ) from the graph.
- Adjacency List: usually we assume edges are in an arbitrary order; in this model edges that are incident to the same vertex, arrive together; note that in this model, we see every edge twice.
Graph Problems
In her talk, Sofya covered four common graph problems and her solutions to solving them. The objective with all of these problems is to minimize the amount of information stored throughout the stream that is still sufficient to find an approximate solution to the problem.
Densest Subgraph
The density of a graph is the ratio between the number of edges to the number of vertices. This problem has a variety of applications including community detection in social networks, identifying spam links on the web, and applications in finance and biology. Given unlimited access to the graph, the densest subgraph problem can be solved in polynomial time. In Sofya’s work, she shows that given an arbitrary order stream (i.e. insert-only or dynamic), an -approximation while storing edges. The main idea for solving this problem is to sample edges uniformly, at random. This works because if a subgraph has small density, after sampling, the subgraph still has a relatively small density. Symmetrically, subgraphs with high density also have relatively high density after sampling.
##Vertex Cover and Matching of Small Size A vertex cover of a graph is a set of vertices such that every edge has at least one endpoint in the set. A matching of a graph is a set of edges such that none of the edges share an endpoint with any other edge in the set. The vertex cover problem is finding the minimum vertex cover of the input graph and the matching problem is finding the maximum matching of the input graph. Sofya explained these two problems together since they are closely related: . The solution to these problems can be found exactly using space using an arbitrary order stream. Uniform sampling will not work in this case, because the dense parts of the graph would be oversampled. Instead, vertices are colored with colors. Then, one edge is sampled uniformly, at random for every color pair. This sampling strategy avoids oversampling high-degree vertices. To solve these problems for a graph , assume . is defined as the set of heavy vertices with degree at least and is defined as the set of light edges where the edges do not have any heavy endpoints.
This works, because (with constant probability) if an edge is light, it will be sampled and if a vertex is heavy, it’s degree in the graph obtained by sampling colors is at least . Therefore, the degree will be high enough to recognize that the vertex is heavy.
##Approximating Size of Maximum Matching Less space is required if the goal is only to find the approximate size of a matching rather than the matching itself. For this problem, Sofya concentrated only on the class of graphs with arboricity . Arboricity of a graph is the minimum number of forests the graph can be partitioned into. Subgraphs with vertices of a graph wih arboricity can not have more than edges. An -approximation can be found using for insert-only streams and for dynamic streams.
##Triangle Counting Counting or approximating the number of triangles in a graph is difficult with arbitrary order streaming. Consider a ‘tower’ graph where the graph is made up of triangles that all share a base. (i.e. An outer triangle with several inner triangles with the same base.) If the base is left out of the sample, we don’t get any of the triangles. This problem is easier to solve with adjacency lists, since every triangle is seen twice. Sofya explained two algorithms to solve this problem using an insert-only adjacency list stream. In the one-pass algorithm, space is required. In the two-pass algorithm, space is required.
#Conclusion Sofya concludes by pointing out that streaming models allow both uniform and non-uniform sampling of edges as well as sampling of vertices. Computing degrees of vertices or other quantities depending on the degrees also helps with these algorithms, as does using the stream ordering as part of the algorithm.
Personal Talk: What Would You Do If You Weren’t Afraid? Fear of Failure, Procrastination, and Perfectionism
Sofya explained how procrastination happens using Tim Urban’s Instant Gratification Monkey. In the our minds, the monkey takes over the controls and we start to procrastinate. However, eventually (after look at hundreds of cat videos and checking the refrigerator dozens of times expecting something to change), procrastination becomes boring. At this point, shouldn’t working satisfy the monkey? It turns out, no. According to Sofya, there is another character in our brains called the Fear of Failure Hippo. The hippo makes us think that the possibility of any mistake will lead to catastrophic results. The hippo feeds on perfectionism. When something is not perfect, it can be interpreted as a failure, which leads to the fear of catastrophe. Sofya has spent most of her life (17 years) taking classes. She noticed that when taking classes, procrastination is short term. Classes are divided into neat chunks and deadlines are hard and close together, so the Panic Monster scares the monkey away often enough to get things done. However, in PhD programs and in research, work is not divided into these nice little chunks and deadlines tend to be far away. The monkey is more prominent in grad school than before and perfectionism is harder, too. Sofya’s mom (who has a PhD) puts it this way: “In research it is not clear when to feel satisfied.” So while the Instant Gratification Monkey is pitted against the Panic Monster, the Fear of Failure Hippo is pitted against Mt. Doom (of unfinished stuff). Eventually the mountain gets so big that we don’t worry so much about failing, and just get it done. Sofya offers no moral, advice, or happy ending here. Dealing with procrastination is very much a work in progress for everyone. She says that the thing to remember here is that we are not alone, because this is a challenge that we all face.


There is a class named Account. It includes three fields: id
, code
and balance
.
Override the method toString()
in this class. The method should return a string representation of the account instance.
Use the provided template. Do not make the class public
.
Example
Account{id=10, code='123-456-789', balance=2000}