text:
## LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

 Options: Use Forum View Use Monospaced Font Show Text Part by Default Show All Mail Headers Message: [<< First] [< Prev] [Next >] [Last >>] Topic: [<< First] [< Prev] [Next >] [Last >>] Author: [<< First] [< Prev] [Next >] [Last >>]

 Subject: Re: First experience with xr under L3PL From: Frank Mittelbach <[log in to unmask]> Reply To: Mailing list for the LaTeX3 project <[log in to unmask]> Date: Tue, 7 Jul 1998 22:51:08 +0200 Content-Type: text/plain Parts/Attachments: text/plain (221 lines)
sometime ago i think Javier Bezos remarked that typing with a baby on
your lap is probably more difficult than with a cat. i'd say there is
no comparison: just had one of my sons there (and was only trying to
read this message (or rather reread it more carefully) not to type
anything) and he managed with ease to put his hand on the keyboard and
guess what key he managed to press? d ... an omen? :-)

the times when working with them on my lap seem to be over

Richard  writes:

> On closer inpsection you also need this somewhere:
> \tlp_new:Nn \l_xr_line_tlp {}

true at least it would be consistent

> So as we have seen there is a Fortran-style implicit declaration of
> tlp's in certain circumstances, e.g. when used as the second argument
> of \ior_to:NN.  I'd like to suggest that the check' option used in
> the dtx files be changed into a package option, say checkdef' (you
> can think of a better name).  At the moment the decision of whether or
> not to check arguments is made once for all time when docstrip is
> invoked.

good idea, anybody willing to do this?

> Clearly we are still used to using \def in the same way as Lisp's
> setq, i.e. as a general definition mechanism that doesn't care about
> what you are defining (i.e. whether it has a previous definition).
> The new version of xr now has three declarations' that are evaluated
> when the package is loaded.  I can live with that; I (we) just need to
> remember that a new discipline is required.  I expect that a syntax
> checker for L3PL will find uses of seq's, tlp's, etc. without
> corresponding declarations.

right now it is mainly there as a help against unforseen later
errors. having such a checker would certainly be a help.

> Your algorithm is also subtly different.  The original version is
> careful to process \@input's in the order in which they are
> encountered, but your version uses a stack.  If there are no label
> conflicts, the net effect is the same.  But if there are multiple
> conflicts, the original version stops at the first conflict, whereas
> yours might even stop at the last first and the first last!

i don't deny that. i simply used this as an example to spawn further
discussion especially as you had taken the trouble to go through it i
thought i could add my share. actually i could have also produced
essentially the same algorithm by not using the stack commands but
instead using those other sequence commands.

>  >  > Tim's questions are really quite important for the average' package
>  >  > writer, because they will be programing in-the-small', and the xr
>  >  > example is quite a good one for that.  Even such a small package has
>  >  > needed a total re-think and re-writing.
>  >
>  > true but is it so much different from having to hunt through the LaTeX
>  > source to find you way in providing packages?
>
> Well . . . it's yet another layer of knowledge that has to be mastered
> before you can start doing non-trivial things.  Those of us who have
> been using TeX for ten years or more will shrug our shoulders and
> learn it anyway, but it might well serve as a deterrent to those who
> come to LaTeX3 as beginners.

i think i disagree here. what i meant is that you do need to learn
some layer whether it'll be current latex internal commands (by looking
at the latex source or other packages) or be something like the L3PL
language is not much different (except for those who already mastered
most of the mess of the current latex)

> If you are happy to release out-of-date and inconsistent documentation
> for incomplete packages then in fairness to us - your guinea pigs -
> _everything_ must be up for grabs.

i already said that this was a remark concerning latex2e --- and if
people are willing to help updating the documentation of the .dtx
files for 2e we are too willing to accept such help!!! just drop us a
-- sometimes fixes for the next release are already in) lock it in rcs
and put the updated documentation with your name on back in. certainly
we can make these sources better and it is still worth doing even

> Frank wrote elsewhere:
>  > just to change all the files to some new convention takes some effort
>  > which can be better spend. at the moment at least!
>
> Perhaps (the fewer inconsistencies in the original, the easier it will
> be), and I am not suggesting doing it on a whim; but if you try to
> close doors at this stage I - and I suspect others - will stubbornly
> stick in our arms and legs.  Even if you have already written five
> chapters of your next book :-)

we don't have the intention of closing doors at this stage. but at the
other hand we believe that there is not much gained if X suggests to
change the syntax slightly in this direction, then we have a long
discussion on whether or not this is how other people see this, then Y
suggest some other twist, ... and all of this gets implemented
straight away (by us) and changed over and over again instead of
providing new functionality within the framework as is and change it
completely on the surface later.

let's go back to this module stuff once more: i firmly believe that
the ideas brought forward would not be reasonably implementable at the
level we talked about (most of us do think that some of these ideas
are very helpful for a different level) and for that reason i'm not
really eager to change the syntax now just because Hans claimed he
needs this before he could seriously talk about these ideas
again. instead i proposed a way to try his ideas even within the
current syntax. *and i'm willing to listen to reason* which means if
he or somebody else would come forward with a practical trial
implementation that shows that i'm wrong i would be the first one to
admit this. in fact if the current syntax would indeed prevent doing
this trial i would be prepared to do that change (or any change that
would take away such a restriction) but as i explained there is no
such restriction technically with the current syntax so, saying that
one can only test or try things after one of us has change the surface
look of the language to somebody's liking is something that i can only
interpret as a refusal to take up my challenge (whatever the real
reason)

i also have nothing whatsoever against the idea that somebody sits
down and takes apart all the packages we have put together and does
some global replace and produces a version more to his or her liking.
we can certainly put such a version on CTAN as well.

but what i'm not going to do (me personally) is to do that type of
work just because some people think that _ are bad or the colon should
be a . or Modula2 type of syntax is better. that would drag on forever
without anything gained because there are probably as many opinions on
this subject as we had emails on it. if somebody wants to, please do
so, but don't ask us to do it for you now.

let me also say that i *DON'T* like the language as it is on many
special points (not the last are the many _) but just like here on the
list with perhaps 4-6 people commenting on the look of it we had
internally also very different opinions what looks best or works
best. and at one point we decided to stop and just pick one to
actually get functionality provided.

what i like about the language and this is what for me counts is its
support for the very important things of TeX namely expansion by the
general mechanism of the arg spec and that alone already proved to be
a big step forward when working in it. it also brought some better
orthogonality.

and yes i like programming in TeX as weird as it is some times :-)

>  > what i mean is, you need to have got a feeling for it but that it true
>  > right now as well except that right now because of nearly no
>  > conventions people are forced to reinvent the wheel over and over just
>  > because they don't know that some command or datatype or whatever
>
> Agreed.  A good example from the internals of LaTeX is the \@for and
> \@tfor constructs.  Unless you read the old lplain.tex or the new
> ltcntrl.dtx you would probably have no idea that these constructs
> existed.  The problem here is not one of consistency, but rather (a)
> these constructs have never really been official' and advertised, and
> (b) there is still no proper documentation.  \@for, \@tfor, and many
> other internal macros of LaTeX deserve promotion' to L3PL.  Much
> of this reinvention will then be avoided.

yes things like this should be part of the language and what we have
put out is not meant to be L3PL it is meant to be a start for
commenting and for those people interested helping us to provide
additional basic modules that would finally form a base kernel.

btw (a) above: those commands have never been really official because
in many cases they where originally only onetime hooks; \@for and
friends being an exception here and one of the main reasons for
something like L3PL is to provide exactly this: a consistent official
low-level interface that is described and advertised.

you also need a higher-level interface (or set of interfaces) which
are also official to avoid all the situations that people because of
nothing being put into such a status hooked into any layer with
disastrous effects when something was reprogrammed (or just fixed or
optimized :-)

>  > so yes you need a re-think, you probably don't need much of a
>  > rewriting for an existing package if you just mainly do a manual
>  > translation but you can gain a lot once you start replacing all you
>  > low-level private code by already provided solutions for many of the
>  > basic functionality which right now is often repeated over and over
>  > again in packages.
>
> It sounds as though it must be true, but let's see.  As I said
> earlier, we will go anywhere you take us, but let's enjoy the journey
> and learn from it.

i hope so. a good way would be to think about additionally needed
functionality and perhaps doing some suggested implementation.

loops would be such a slightly higher level thing and that was in fact
never properly written so far. we could those then put on ctan

> Frank also writes:
>  > . . . the
>  > solution is that you provide a replacement book for the TeX book.
>
> So this is your next book . . . my hand is creeping up . . . pick me!
> :-) I would be happy to contribute a chapter or two or proof-read or
> . . . Eine deutsche Uebersetzung waere auch moeglich . . . :-)

well it will not be the next one i guess :-)

in fact i've once have written roughly a 100 page manual on some
earlier version of the L3PL language which we then discarded---some of
the documentation you now got in an updated form (as far as convention
and code is concerned) in the current set of experimental stuff.

frank

ps don't be too surprised if i drop out of this discussion for a while
i might be offline a few days
`


text:
# The circumference of the base of a right circular cylinder is 528 cm and its height is 2 m. What is the volume of the cylinder? $$\left(\text{Take} \ \pi = \frac{22}{7}\right)$$

Free Practice With Testbook Mock Tests

## Options:

1. 2.2176 m3

2. 3.3264 m3

3. 4.4352 m3

4. 6.6528 m3

### Correct Answer: Option 3 (Solution Below)

This question was previously asked in

CTET Dec 2019 Paper 2 Maths & Science (L - I/II: Hindi/English/Sanskrit)

## Solution:

Given:

Circumference of base of cylinder = 528 cm

Height of cylinder= 2 m = 200 cm

Formula Used:

Volume of cylinder = π × (radius)2 × height

Cicumference of circle = 2π × radius

Calculation:

Circumference of circle = 528 cm

⇒ 2πr = 528

⇒ radius = 84 cm = 0.84 m

Volume of cylinder = π (0.84)2 × 2

⇒ 4.4352 m3

∴ The volume of the cylinder is 4.4352 m3

format: plain


text:
Units of k

$\frac{d[R]}{dt}=-k; [R]=-kt + [R]_{0}; t_{\frac{1}{2}}=\frac{[R]_{0}}{2k}$

Frenz Cabison 1B
Posts: 54
Joined: Fri Sep 29, 2017 7:07 am

Units of k

What are the units of k in zero-, first-, and second- order reactions? How are these units derived?

Sirajbir Sodhi 2K
Posts: 47
Joined: Sat Jul 22, 2017 3:00 am

Re: Units of k

Zero-order: M/s
First order: s^-1
Second order: L/(mol*s)

These units are derived from the rate law -- we know the rate of reaction must be M/s, so the units of k change to accommodate that.
Last edited by Sirajbir Sodhi 2K on Mon Mar 05, 2018 10:52 am, edited 1 time in total.

Gurkriti Ahluwalia 1K
Posts: 37
Joined: Fri Sep 29, 2017 7:07 am

Re: Units of k

shouldn't it be mol/l/s for zero order reactions??

Qining Jin 1F
Posts: 53
Joined: Fri Sep 29, 2017 7:07 am

Re: Units of k

The units for zero order is mol/(L*s)

Sarah Rutzick 1L
Posts: 50
Joined: Tue Oct 10, 2017 7:13 am

Re: Units of k

If you are having trouble figuring out the units of k, write out the entire rate law with the units. You know that the rate must be in mol/Ls, so the units of k must cancel out the units of concentration of the reactants until you get mol/Ls.

Peri Bingham 1G
Posts: 50
Joined: Fri Sep 29, 2017 7:03 am

Re: Units of k

Units of the rate are almost always mol/L*s and units of concentration are almost alway mol/L. Therefore the units of k can be determined based on the reaction order and the already determined units.

Angel R Morales Dis1G
Posts: 50
Joined: Sat Jul 22, 2017 3:01 am

Re: Units of k

The easiest way to determine the units of the rate constant k is to use the following "formula":
M^(1-X)/S
where x is the order of the reaction. Examples:
Zero Order: M(^1-0)/S ----> units: M/S
First Order: M^(1-1)/S ----> units: 1/S and so on

Kyle Alves 3K
Posts: 46
Joined: Thu Jul 27, 2017 3:01 am

Re: Units of k

You can also solve for the units of k for each order! Since rate always begins with mol/(L.s)
Zero order(mol/L.s) = k[A mol/L]^0
mol/(L.s) = k

First order (mol/L.s) = k[A mol/L]
/s = k[A]

Second order (mol/L.s) = k[A mol/L]^2
(mol/(L.s)) = k[A]^2 (mol^2/L^2)
L/(mol.s) = k[A]^2

Rachel Wang
Posts: 49
Joined: Fri Sep 29, 2017 7:04 am

Re: Units of k

0 order: M/s or mol/L.s

1st order: 1/s

2nd order: 1/M.s or L/mol.s

3rd order: 1/M^2.s or L^2/mol^2.s

etc.

Michael Downs 1L
Posts: 29
Joined: Thu Jul 13, 2017 3:00 am

Re: Units of k

Will we have any questions pertaining to any reaction larger than the 3rd order on the final?

Rachel N 1I
Posts: 48
Joined: Thu Jul 27, 2017 3:00 am

Re: Units of k

I highly doubt that we would be asked to find anything higher than the 3rd order. But we may be asked questions where the overall order is greater than 3.

Destiny Diaz 4D
Posts: 51
Joined: Fri Sep 28, 2018 12:28 am

Re: Units of k

There might be questions that ask to derive 3+ order equations but I doubt we will be asked to do much with them at all.

Nina Do 4L
Posts: 61
Joined: Fri Sep 28, 2018 12:27 am

Re: Units of k

I would remember that zero order would be M/Sec and then divide M each time you go down an order. Here's what I mean:
Zero order would be M(molarity)/second
so divide by M to get units for first order. Notice how M cancels out.
1st order units: s^-1
Divide M again to get 2nd order units
s^-1*M^-1

And continue dividing Molarity each time you go down an order. Hope that helps!


text:
Resistors and Ohm's Law Video Lessons

Concept

# Problem: Consider two wires of the same diameter, one is aluminum with a resistivity of 2.65x10-8 Ωm and another is copper with resistivity of 1.72x10-8 Ωm. When they are connected to a 1.5-volt battery separately there is a current of 0.010 an in eacha. Calculate the resistance in each wireb. Calculate the ratio of the length of the wires

###### FREE Expert Solution

From Ohm's law:

$\overline{){\mathbf{R}}{\mathbf{=}}\frac{\mathbf{V}}{\mathbf{i}}}$, where R is resistance, V is voltage, and i is current.

Resistance:

$\overline{){\mathbf{R}}{\mathbf{=}}{\mathbf{\rho }}\frac{\mathbf{l}}{\mathbf{A}}}$ where ρ is the resistivity, l is the length, and A is the cross-sectional area.

83% (204 ratings)
###### Problem Details

Consider two wires of the same diameter, one is aluminum with a resistivity of 2.65x10-8 Ωm and another is copper with resistivity of 1.72x10-8 Ωm. When they are connected to a 1.5-volt battery separately there is a current of 0.010 an in each
a. Calculate the resistance in each wire
b. Calculate the ratio of the length of the wires


text:
# Help:Page Editing/Historical Note

This is one area of $\mathsf{Pr} \infty \mathsf{fWiki}$ whose evolution is in progress.


text:
# Part Build Cycle¶

A Part is just a container for a cadquery.Workplane instance.

So the “building” of a part is more to help placement in the world, and to facilitate changes made to that object.

For more information on how to create solids as a cadquery.Workplane, read more in the cadquery documentation.

## Instantiation¶

When a Part is created, it initializes its parameters.

Most of the work here is done by its parent class ParametricObject.

This is covered in detail in Parametric Object.

Note

make() is not called when instantiating a part; it’s called later.

import cadquery
import cqparts
from cqparts.params import *

class Box(cqparts.Part):
x = Int(10)
def initialize_parameters(self):
print('initializing parameters...')
print('    x = %r' % self.x)

def make(self):
print('running make()...')

So then when we simply create an instance…

>>> box = Box(x=20)
initializing parameters...
x = 20

## Getting local_obj¶

When a part’s local_obj is requested, the instance’s make() result is returned.

Note that in the above test, the print statement in make() doesn’t show. However, when we request local_obj

>>> box = Box(x=15)
initializing parameters...
x = 15
>>> obj1 = box.local_obj
running make()...
>>> obj2 = box.local_obj

However nothing is printed on the 2nd call. This is because the result is buffered, so when local_obj is requested a second time, it is not re-made.

Most uses of a Part will get the local object by referencing local_obj, but you can forcefully remake the object in 2 ways:

>>> box = Box()
initializing parameters...
x = 10
>>> obj = box.local_obj
running make()...

>>> # 1) set local_obj to None
>>> box.local_obj = None
>>> obj = box.local_obj
running make()...

>>> # 2) call make() explicitly
>>> obj = box.make()
running make()...

However you shouldn’t need to do this.

## world_coords and world_obj¶

If world_coords has been set, getting world_obj will create a copy of local_obj that has been transformed to world_coords.

That is to say that it is translated, and rotated so the object’s local coordinates are equal to the world coordinates, relative to the object itself.

Let’s re-define Box without those print statements…

from cqparts.utils.geometry import CoordSystem

class Box(cqparts.Part):
x = Int(10)
def make(self):

Now let’s create a box, then set its location in the world by setting world_coords.

>>> box = Box()
>>> box.local_obj.val().BoundingBox().ymin
-5.0

>>> # world_obj is None when the part does not have its world_coords
>>> box.world_obj is None
True

>>> # let's translate across the y-axis
>>> box.world_coords = CoordSystem(origin=(0,20,0))

>>> # Now world_obj exists, and has been translated
True
>>> box.world_obj.val().BoundingBox().ymin
15.0

## Changing local_obj or world_coords¶

If local_obj or world_coords is changed, world_obj is reset.

Then when world_obj is requested again, local_obj is copied and moved, just as it is explained above.

So the obvious thing to do now is to drill a hole through the box… right?

>>> box = Box()
>>> box.world_coords = CoordSystem(origin=(0,20,0))
>>> len(box.world_obj.val().Faces())
6
>>> box.local_obj = box.local_obj.faces(">Z").hole(2)
>>> len(box.world_obj.val().Faces())
7

Note that we changed local_obj, but we tested the number of faces on world_obj. So we can conclude from this that when any changes are made to the local_obj, the world_obj is re-created using local_obj as reference.

Let’s try the same thing by changing world_obj:

>>> box = Box()
>>> box.world_coords = CoordSystem(origin=(0,20,0))
>>> box.world_obj = box.world_obj.faces(">Z").hole(2)
ValueError: can't set world_obj directly, set local_obj instead

We get an exception instead

Warning

world_obj cannot be changed directly, but it can be changed indirectly via local_obj.

But Why?: This is to avoid bad practices that encourage accumulated errors; if the part can only be modified in its native coordinates, there is no possibility of accumulated numerical error.

Note

Remember: when changing the local_obj, if your alterations are based on world coordinates, you must convert back to the object’s local coordinates before the changes will match your expectations.

Also remember that the world_obj is likely rotated to fit into an assembly, so using queries like faces(">Z") (for example) may not give you the information you’re expecting.


text:
## Archive for the ‘Skepticism’ Category

### Dear “Skeptics,”… [Attn: All Data Scientists]

Tuesday, May 24th, 2016

Strings and multiverses can’t be experimentally detected. The theories aren’t falsifiable, which makes them pseudo-scientific, like astrology and Freudian psychoanalysis. Credit: parameter_bond/Flickr

The caption is from Horgan’s post. In case anyone asks, I retrieved and re-sized my own copy of the image.

From the post:

I hate preaching to the converted. If you were Buddhists, I’d bash Buddhism. But you’re skeptics, so I have to bash skepticism.

I’m a science journalist. I don’t celebrate science, I criticize it, because science needs critics more than cheerleaders. I point out gaps between scientific hype and reality. That keeps me busy, because, as you know, most peer-reviewed scientific claims are wrong.

So I’m a skeptic, but with a small S, not capital S. I don’t belong to skeptical societies. I don’t hang out with people who self-identify as capital-S Skeptics. Or Atheists. Or Rationalists.

When people like this get together, they become tribal. They pat each other on the back and tell each other how smart they are compared to those outside the tribe. But belonging to a tribe often makes you dumber.

Here’s an example involving two idols of Capital-S Skepticism: biologist Richard Dawkins and physicist Lawrence Krauss. Krauss recently wrote a book, A Universe from Nothing. He claims that physics is answering the old question, Why is there something rather than nothing?

Krauss’s book doesn’t come close to fulfilling the promise of its title, but Dawkins loved it. He writes in the book’s afterword: "If On the Origin of Species was biology’s deadliest blow to supernaturalism, we may come to see A Universe From Nothing as the equivalent from cosmology."

Just to be clear: Dawkins is comparing Lawrence Krauss to Charles Darwin. Why would Dawkins say something so foolish? Because he hates religion so much that it impairs his scientific judgment. He succumbs to what you might call “The Science Delusion.”

“The Science Delusion” is common among Capital-S Skeptics. You don’t apply your skepticism equally. You are extremely critical of belief in God, ghosts, heaven, ESP, astrology, homeopathy and Bigfoot. You also attack disbelief in global warming, vaccines and genetically modified food.

These beliefs and disbeliefs deserve criticism, but they are what I call “soft targets.” That’s because, for the most part, you’re bashing people outside your tribe, who ignore you. You end up preaching to the converted.

Meanwhile, you neglect what I call hard targets. These are dubious and even harmful claims promoted by major scientists and institutions. In the rest of this talk, I’ll give you examples of hard targets from physics, medicine and biology. I’ll wrap up with a rant about war, the hardest target of all.

To get the full flavor of what it means to be a skeptic, read this post and John’s accounts of the reactions to both his presentation and this post.

The “tell” of a target

Whether you are being skeptical of a popular (read “soft”) target like Bigfoot or skeptical of a “hard” target like psychiatric drugs, the reaction from believers is nearly universal: anger, denial and fairly rapidly, denunciation of yourself as unreasonable, etc.

Try being skeptical of a soft/hard target in your work.

Ask if there is racial bias in the algorithms you use day to day? Gender bias? If the answer is no, ask how do they know? Ask them to confirm it for you using data. What their hands closely during the demonstration.

After all, you are a data scientist and questions should be settled based on data and understanding the algorithms applied to them.

Yes?

Being a skeptic with a small “s” is a hard job. But your project, department, enterprise will be better for you being that skeptic.

Imagine one effective White House skeptic prior to the second war on Iraq. No $trillions spent, no countless lives lost, no instability in the region, etc. Skeptics with a small “s” can make all the difference in the world. ### Experts, Sources, Peer Review, Bad Poetry and Flint, Michigan. Sunday, January 31st, 2016 From the post: Officials behind the launch of a major initiative detailing lives of ordinary soldiers during the First World War were embarrassed by the discovery that they had mistakenly included the work of Blackadder character, Baldrick, in the achieve release. The work, entitled ‘The German Guns’ and attributed to Private S.O. Baldrick, was actually written by the sitcom’s writers Richard Curtis and Ben Elton some 70 years after the end of the conflict. Elton was reported to be “delighted at the news” and friends said he was already checking to see if royalty payments may be due. Although the archive release was scrutinised by experts, it is understood that the Baldrick poem was approved after a clerk recalled hearing Education Secretary Michael Gove referring to Baldrick in relation to the Great War, and assumed that he was of contemporary cultural significance. Another illustration that experts and peer review aren’t the gold standards of correctness. Or to put it differently: Mistakes happen, especially without sources. If the only surviving information was Education Secretary Michael Gove referring to Baldrick, not only would the mistake be perpetuated but it would be immune to correction. Citing and/or pointing to a digital resource that was the origin of the poem, would be more likely to trip warnings (by date of publication) or contain a currently recognizable reference, such as Blackadder. The same lesson should be applied to reports such as Michael Moore’s claim: 1. While the Children in Flint Were Given Poisoned Water to Drink, General Motors Was Given a Special Hookup to the Clean Water. A few months after Gov. Snyder removed Flint from the clean fresh water we had been drinking for decades, the brass from General Motors went to him and complained that the Flint River water was causing their car parts to corrode when being washed on the assembly line. The governor was appalled to hear that GM property was being damaged, so he jumped through a number of hoops and quietly spent$440,000 to hook GM back up to the Lake Huron water, while keeping the rest of Flint on the Flint River water. Which means that while the children in Flint were drinking lead-filled water, there was one—and only one—address in Flint that got clean water: the GM factory.

Verification is especially important for me because I think Michael Moore is right and that predisposes me to accept his statements, without evidence.

In no particular order:

• What “brass” from GM? Names, addresses, contact details. Links to statements?
• What evidence did the “brass” present? Documents? Minutes of the meeting? Date?
• What hoops did the Governor jump through? Who else in state government was aware of the request?

### Core Econ: a free economics textbook

Wednesday, November 5th, 2014

Core Econ: a free economics textbook by Cathy O’Neil.

From the post:

Today I want to tell you guys about core-econ.org, a free (although you do have to register) textbook my buddy Suresh Naidu is using this semester to teach out of and is also contributing to, along with a bunch of other economists.

(image omitted)

It’s super cool, and I wish a class like that had been available when I was an undergrad. In fact I took an economics course at UC Berkeley and it was a bad experience – I couldn’t figure out why anyone would think that people behaved according to arbitrary mathematical rules. There was no discussion of whether the assumptions were valid, no data to back it up. I decided that anybody who kept going had to be either religious or willing to say anything for money.

Not much has changed, and that means that Econ 101 is a terrible gateway for the subject, letting in people who are mostly kind of weird. This is a shame because, later on in graduate level economics, there really is no reason to use toy models of society without argument and without data; the sky’s the limit when you get through the bullshit at the beginning. The goal of the Core Econ project is to give students a taste for the good stuff early; the subtitle on the webpage is teaching economics as if the last three decades happened.

Skepticism of government economic forecasts and data requires knowledge of the lingo and assumptions of economics. This introduction won’t get you to that level but it is a good starting place.

Enjoy!

### Suppressing Authentic Information

Monday, November 3rd, 2014

In my continuing search for information on the authenticity of Dabiq (see: Dabiq, ISIS and Data Skepticism) I encountered Slick, agile and modern – the IS media machine by Mina Al-Lami.

Mina makes it clear that IS (ISIL/ISIS) has been the target of a campaign to shut down all authentic outlets for news from the group:

IS has always relied heavily on hordes of online supporters to amplify its message. But their role has become increasingly important in recent months as the group’s official presence on a variety of social media platforms has been shut down and moved underground.

The group’s ability to keep getting its message out in the face of intensive counter-measures is due to the agility, resilience and adaptability of this largely decentralized force.

Until July this year, IS, like most jihadist groups, had a very strong presence on Twitter, with all its central and regional media outlets officially active on the platform. However, its military successes on the ground in Iraq and Syria in June triggered a concerted and sustained clampdown on the group’s accounts.

IS was initially quick to replace these accounts, in what became a game of whack-a-mole between IS and the Twitter administration. But by July the group appeared to have abandoned any attempt to maintain an official open presence there.

Instead, IS began experimenting with a string of less known social media platforms. These included the obscure Friendica, Quitter and Diaspora – all of which promise better privacy and data-protection than Twitter – as well as the popular Russian VKontakte.

Underground channels

While accounts on Friendica and Quitter were shut down within days, the official IS presence on Diaspora and VKontakte lasted several weeks before their involvement in the distribution of high profile beheading videos caused them too to be shut down.

Since the accounts on VKontakte were closed in September, IS appears to have resorted to underground channels to surface its material, making no attempt to advertise an official social media presence. Perhaps surprisingly, this has not yet caused any problems for the group in terms of authenticating its output.

Once a message has surfaced – via channels that are currently difficult to pin down – it is disseminated by loosely affiliated media groups who are capable of mobilizing a vast network of individual supporters on social media to target specific audiences.

Unfortunately, Mina misses the irony of reporting that IS has no authentic outlets in one breath to relying in the next breath on non-authentic materials (such as Dabiq) to talk about the group’s social media prowess.

Suppression of authentic content outlets for IS leaves an interested reader at the mercy of governments, news organizations and others who have a variety of motives for attributing content to IS.

As I mentioned in my last post:

Debates about international and national policy should not be based on faked evidence (such as “yellow cake uranium“) or faked publications.

I have heard the argument that IS content recruits support for terrorism. I have read propaganda attributed to IS, the Khmer Rouge, the KKK and terrorists sponsored by Western governments. I can report not the slightest interest in supporting or participating with any of them.

The recruitment argument is a variation of the fear of allowing gays, drug use, drinking, etc., on television would result in children growing up to be gay drug addicts with drinking problems. I can report that no sane person credits that fear today. (If you have that fear, contact your local mental health service for an appointment.)

Why is IS attractive? Hard to say given the lack of authentic information on its goals and platform, perhaps its reported opposition to corrupt governments in the Middle East?

If I weren’t concerned with corrupt Western governments I might be more concerned with governments in the Middle East. But, as they say, best to start cleaning your own house before complaining about the state of another’s.

### Dabiq, ISIS and Data Skepticism

Wednesday, October 22nd, 2014

If you are following the Middle East, no doubt you have heard that ISIS/ISIL publishes Dabiq, a magazine that promotes its views. It isn’t hard to find articles quoting from Dabiq, but I wanted to find copies of Dabiq itself.

Clarion Project (Secondary Source for Dabiq)

After a bit of searching, I found that the Clarion Project is posting every issue of Dabiq as it appears.

The hosting site, Clarion Project, is a well known anti-Muslim hate group. The founders of the Clarion Project just happened to be full time employees of Aish Hatorah, a pro-Israel organization.

Coverage of Dabiq by Mother Jones (who should know better), ISIS Magazine Promotes Slavery, Rape, and Murder of Civilians in God’s Name relies on The Clarion Project “reprint” of Dabiq.

Internet Archive (Secondary Source for Dabiq)

All the issues at the Internet Archive claim to be from: “The Islamic State Al-Hayat Media Centre (HMC). I say “claim to be from” because uploading to the Internet Archive only requires an account with a verified email address. Anyone could have uploaded the documents.

Robert Mackey writes for the New York Times: Islamic State Propagandists Boast of Sexual Enslavement of Women and Girls and references Dabiq. I asked Robert for his source for Dabiq and he responded that it was the Internet Archive version.

Wall Street Journal

In Why the Islamic State Represents a Dangerous Turn in the Terror Threat, Gerald F. Seib writes:

It isn’t necessary to guess at what ISIS is up to. It declares its aims, tactics and religious rationales boldly, in multiple languages, for all the world to see. If you want to know, simply call up the first two editions of the organization’s remarkably sophisticated magazine, Dabiq, published this summer and conveniently offered in English online.

Gerald implies, at least to me, that Dabiq has a “official” website where it appears in multiple languages. But if you read Gerald’s article, there is no link to such a website.

I wrote to Gerald today to ask what site he meant when referring to Dabiq. I have not heard back from Gerald as of posting but will insert his response when it arrives.

The Jamestown Foundation

The Jamestown Foundation website featured: Hot Issue: Dabiq: What Islamic State’s New Magazine Tells Us about Their Strategic Direction, Recruitment Patterns and Guerrilla Doctrine by Michael W. S. Ryan, saying:

On the first day of Ramadan (June 28), the Islamic State in Iraq and Syria (ISIS) declared itself the new Islamic State and the new Caliphate (Khilafah). For the occasion, Abu Bakr al-Baghdadi, calling himself Caliph Ibrahim, broke with his customary secrecy to give a surprise khutbah (sermon) in Mosul before being rushed back into hiding. Al-Baghdadi’s khutbah addressed what to expect from the Islamic State. The publication of the first issue of the Islamic State’s official magazine, Dabiq, went into further detail about the Islamic State’s strategic direction, recruitment methods, political-military strategy, tribal alliances and why Saudi Arabia’s concerns that the Kingdom may be the Islamic State’s next target are well-founded.

Which featured a thumbnail of the cover of the first issue of Dabiq, with the following legend:

Dabiq Magazine (Source: Twitter user @umOmar246)

Well, that’s a problem because the Twitter user “@umOmar246” doesn’t exist.

Don’t take my word for it, go to Twitter, search for “umOmar246,” limit search results to people and you will see:

I took the screen shot today just in case the results change at some point in time.

Other Media

Other media carry the same stories but without even attempting to cite a source. For example:

Jerusalem Post: ISIS threatens to conquer the Vatican, ‘break the crosses of the infidels’. Source? None.

Global News: The twisted view of ISIS in latest issue of propaganda magazine Dabiq by Nick Logan.

I don’t think that Nick appreciates the irony of the title of his post. Yes, this is a twisted view of ISIS. The question is who is responsible for it?

Pick any issue of Dabiq and skim through it. What impressed me was the “over the top” presentation of cruelty. The hate literature I am familiar with (I grew up in the Deep South in the 1960’s) usually portrays the atrocities of others, not the group in question. Hate literature places its emphasis on the “other” group, the one to be targeted, not itself.

Analysis

First and foremost, the lack of any “official” site of origin for Dabiq makes me highly suspicious of the authenticity of the materials that claim to originate with ISIS.

Second, why would ISIS rely upon the Clarion Project as a distributor for its English language version of Dabiq, along with the Internet Archive?

Third, what are we to make of missing @umOmar246 from Twitter? Before you say that the account has closed, http://twittercounter.com/
doesn’t know that user either:

A different aspect of consistency on distributed data. The aspect of getting “caught” because distributed data is difficult to make consistent.

Fourth, the media coverage examined relies upon sites with questionable authenticity but cites the material found there as though authoritative. Is this a new practice in journalism? Some of the media outlets examined are hardly new and upcoming Internet news sites.

Finally, the content of the magazines themselves don’t ring true for hate literature.

Conclusion

Debates about international and national policy should not be based on faked evidence (such as “yellow cake uranium“) or faked publications.

Based on what I have uncovered so far, attributing Dabiq to ISIS is highly questionable.

It appears to be an attempt to discredit ISIS and to provide a basis for whipping up support for military action by the United States and its allies.

The United States destroyed the legitimate government of Iraq on the basis of lies and fabrications. If only for nationalistic reasons, not spending American funds and lives based on a tissue of lies, let’s not make the same mistake again.

Disclaimer: I am not a supporter of ISIS nor would I choose to live in their state should they establish one. However, it will be their state and I lack the arrogance to demand that others follow social, religious or political norms that I prefer.

PS: If you have suggestions for other factors that either confirm a link between ISIS and Dabiq or cast further doubt on such a link, please post them in comments. Thanks!

### Know Your Algorithms and Data!

Sunday, September 21st, 2014

If you let me pick the algorithm or the data, I can produce any result you want.

Something to keep in mind when listening to reports of “facts.”

Or as Nietzsche would say:

There are no facts, only interpretations.

There are people who are so naive that they don’t realize interpretations other than their are possible. Avoid them unless you have need of followers for some reason.

I first saw this in a tweet by Chris Arnold.

### Credulity Question for Interviewees

Tuesday, July 1st, 2014

Max Fisher authored: Map: The 193 foreign countries the NSA spies on and the 4 it doesn’t, which has the following map:

Max covers the history of the authority of the NSA to spy on governments, organizations, etc., so see his post for the details.

A credulity question for interviewees:

What countries are being spied upon by the NSA without permission? Color in those countries with a #2 pencil.

If they make no changes to the map, you can close the interview early. (The correct answer is six, including the United States.)

Clearly a candidate for phishing attacks, violation of security protocols, pass phrase/password sharing, frankly surprised they made it to the interview.

### The case for big cities, in 1 map

Thursday, February 20th, 2014

The case for big cities, in 1 map by Chris Cillizza.

From the post:

New Yorkers who don’t live in New York City hate the Big Apple. Missourians outside of St. Louis and Kansas City are skeptical about the people (and politicians) who come from the two biggest cities in the state. Politicians from the Chicago area (and inner suburbs) often meet skepticism when campaigning in downstate Illinois. You get the idea. People who don’t live in the big cities tend to resent those who do.

Fair enough. Growing up in semi-rural southeastern Connecticut, I always hated Hartford. (Not really.) But, this map built by Reddit user Alexandr Trubetskoy shows — in stark terms — how much of the country’s economic activity (as measured by the gross domestic product) is focused in a remarkably small number of major cities.

A great map, at least if you live in the greater metro area of any of these cities.

I could 21 red spots, although on the East coast they are so close together some were fused together.

It is also an illustration that a map doesn’t always tell the full story.

Say 21 or more cities produce have of the GDP.

Care to guess how many states are responsible for 50% of the agricultural production in the United States?

Thursday, February 20th, 2014

Mapping Twitter Topic Networks: From Polarized Crowds to Community Clusters by Marc A. Smith, Lee Rainie, Ben Shneiderman and Itai Himelboim.

From the post:

Conversations on Twitter create networks with identifiable contours as people reply to and mention one another in their tweets. These conversational structures differ, depending on the subject and the people driving the conversation. Six structures are regularly observed: divided, unified, fragmented, clustered, and inward and outward hub and spoke structures. These are created as individuals choose whom to reply to or mention in their Twitter messages and the structures tell a story about the nature of the conversation.

If a topic is political, it is common to see two separate, polarized crowds take shape. They form two distinct discussion groups that mostly do not interact with each other. Frequently these are recognizably liberal or conservative groups. The participants within each separate group commonly mention very different collections of website URLs and use distinct hashtags and words. The split is clearly evident in many highly controversial discussions: people in clusters that we identified as liberal used URLs for mainstream news websites, while groups we identified as conservative used links to conservative news websites and commentary sources. At the center of each group are discussion leaders, the prominent people who are widely replied to or mentioned in the discussion. In polarized discussions, each group links to a different set of influential people or organizations that can be found at the center of each conversation cluster.

While these polarized crowds are common in political conversations on Twitter, it is important to remember that the people who take the time to post and talk about political issues on Twitter are a special group. Unlike many other Twitter members, they pay attention to issues, politicians, and political news, so their conversations are not representative of the views of the full Twitterverse. Moreover, Twitter users are only 18% of internet users and 14% of the overall adult population. Their demographic profile is not reflective of the full population. Additionally, other work by the Pew Research Center has shown that tweeters’ reactions to events are often at odds with overall public opinion— sometimes being more liberal, but not always. Finally, forthcoming survey findings from Pew Research will explore the relatively modest size of the social networking population who exchange political content in their network.

Great study on political networks but all the more interesting for introducing an element of sanity into discussions about Twitter.

At a minimum, Twitter having 18% of all Internet users and 14% of the overall adult population casts serious doubt on metrics using Twitter to rate software popularity. (“It’s all we have” is a pretty lame excuse for using bad metrics.)

Not to say it isn’t important to mine Twitter data for what content it holds but at the same time to remember Twitter isn’t the world.

### On Being a Data Skeptic

Saturday, February 15th, 2014

On Being a Data Skeptic by Cathy O’Neil. (pdf)

From Skeptic, Not Cynic:

I’d like to set something straight right out of the gate. I’m not a data cynic, nor am I urging other people to be. Data is here, it’s growing, and it’s powerful. I’m not hiding behind the word “skeptic” the way climate change “skeptics” do, when they should call themselves deniers.

Instead, I urge the reader to cultivate their inner skeptic, which I define by the following characteristic behavior. A skeptic is someone who maintains a consistently inquisitive attitude toward facts, opinions, or (especially) beliefs stated as facts. A skeptic asks questions when confronted with a claim that has been taken for granted. That’s not to say a skeptic brow-beats someone for their beliefs, but rather that they set up reasonable experiments to test those beliefs. A really excellent skeptic puts the “science” into the term “data science.”

In this paper, I’ll make the case that the community of data practitioners needs more skepticism, or at least would benefit greatly from it, for the following reason: there’s a two-fold problem in this community. On the one hand, many of the people in it are overly enamored with data or data science tools. On the other hand, other people are overly pessimistic about those same tools.

I’m charging myself with making a case for data practitioners to engage in active, intelligent, and strategic data skepticism. I’m proposing a middle-of-the-road approach: don’t be blindly optimistic, don’t be blindly pessimistic. Most of all, don’t be awed. Realize there are nuanced considerations and plenty of context and that you don’t necessarily have to be a mathematician to understand the issues.
….

It’s a scant 26 pages, cover and all but “On Being a Data Skeptic” is well worth your time.

I particularly liked Cathy’s coverage of issues such as: People Get Addicted to Metrics, which ends with separate asides to “nerds,” and “business people.” Different cultures and different ways of “hearing” the same content. Rather than trying to straddle those communities, Cathy gave them separate messages.

You will find her predator/prey model particularly interesting.

On the whole, I would say her predator/prey analysis should not be limited to modeling. See what you think.

### Finding Occam’s razor in an era of information overload

Thursday, November 21st, 2013

Finding Occam’s razor in an era of information overload

From the post:

How can the actions and reactions of proteins so small or stars so distant they are invisible to the human eye be accurately predicted? How can blurry images be brought into focus and reconstructed?

A new study led by physicist Steve Pressé, Ph.D., of the School of Science at Indiana University-Purdue University Indianapolis, shows that there may be a preferred strategy for selecting mathematical models with the greatest predictive power. Picking the best model is about sticking to the simplest line of reasoning, according to Pressé. His paper explaining his theory is published online this month in Physical Review Letters, a preeminent international physics journal.

“Building mathematical models from observation is challenging, especially when there is, as is quite common, a ton of noisy data available,” said Pressé, an assistant professor of physics who specializes in statistical physics. “There are many models out there that may fit the data we do have. How do you pick the most effective model to ensure accurate predictions? Our study guides us towards a specific mathematical statement of Occam’s razor.”

Occam’s razor is an oft cited 14th century adage that “plurality should not be posited without necessity” sometimes translated as “entities should not be multiplied unnecessarily.” Today it is interpreted as meaning that all things being equal, the simpler theory is more likely to be correct.

Comforting that the principles of good modeling have not changed since the 14th century. (Occam’s Razor)

Bear in mind Occam’s Razor is guidance and not a hard and fast rule.

On the other hand, particularly with “big data,” be wary of complex models.

Especially the ones that retroactively “predict” unique events as a demonstration of their model.

If you are interested in the full “monty:”

Nonadditive Entropies Yield Probability Distributions with Biases not Warranted by the Data by Steve Pressé, Kingshuk Ghosh, Julian Lee, and Ken A. Dill. Phys. Rev. Lett. 111, 180604 (2013)

Abstract:

Different quantities that go by the name of entropy are used in variational principles to infer probability distributions from limited data. Shore and Johnson showed that maximizing the Boltzmann-Gibbs form of the entropy ensures that probability distributions inferred satisfy the multiplication rule of probability for independent events in the absence of data coupling such events. Other types of entropies that violate the Shore and Johnson axioms, including nonadditive entropies such as the Tsallis entropy, violate this basic consistency requirement. Here we use the axiomatic framework of Shore and Johnson to show how such nonadditive entropy functions generate biases in probability distributions that are not warranted by the underlying data.

### Statistics Done Wrong

Saturday, November 2nd, 2013

Statistics Done Wrong by Alex Reinhart.

From the post:

If you’re a practicing scientist, you probably use statistics to analyze your data. From basic t tests and standard error calculations to Cox proportional hazards models and geospatial kriging systems, we rely on statistics to give answers to scientific problems.

This is unfortunate, because most of us don’t know how to do statistics.

Statistics Done Wrong is a guide to the most popular statistical errors and slip-ups committed by scientists every day, in the lab and in peer-reviewed journals. Many of the errors are prevalent in vast swathes of the published literature, casting doubt on the findings of thousands of papers. Statistics Done Wrong assumes no prior knowledge of statistics, so you can read it before your first statistics course or after thirty years of scientific practice.

Dive in: the whole guide is available online!

As a matter of fact, a summary of warning signs for these problems would fit on 81/2 by 11 (or A4) paper.

Thinking when you show up to examine a data set, you have Statistic Done Wrong with the web address on the back of your laminated cheat sheets.

Part of being a data skeptic is intuiting where to push so that the data “as presented” unravels.

I first saw this in Nat Torkington’s Four short links: 30 October 2013.

### PubMed Commons

Sunday, October 27th, 2013

PubMed Commons

From the webpage:

PubMed Commons is a system that enables researchers to share their opinions about scientific publications. Researchers can comment on any publication indexed by PubMed, and read the comments of others. PubMed Commons is a forum for open and constructive criticism and discussion of scientific issues. It will thrive with high quality interchange from the scientific community. PubMed Commons is currently in a closed pilot testing phase, which means that only invited participants can add and view comments in PubMed.

Just in case you are looking for a place to practice your data skepticism skills.

In closed beta now but when it opens up…, pick an article in a field that interests you or at random.

Just my suggestion but try to do very high quality comments and check with others on your analysis.

A record of to the point, non-shrill, substantive comments might be a nice addition to your data skeptic resume. (Under papers re-written/retracted.)

### Lectures on scientific computing with Python

Sunday, October 27th, 2013

Lectures on scientific computing with Python by J.R. Johansson.

From the webpage:

A set of lectures on scientific computing with Python, using IPython notebooks.

Read only versions of the lectures:

To debunk pitches, proposals, articles, demos, etc., you will need to know, among other things, how scientific computing should be done.

Scientific computing is a very large field so take this as a starting point, not a destination.

### Trouble at the lab [Data Skepticism]

Sunday, October 27th, 2013

From the web page:

“I SEE a train wreck looming,” warned Daniel Kahneman, an eminent psychologist, in an open letter last year. The premonition concerned research on a phenomenon known as “priming”. Priming studies suggest that decisions can be influenced by apparently irrelevant actions or events that took place just before the cusp of choice. They have been a boom area in psychology over the past decade, and some of their insights have already made it out of the lab and into the toolkits of policy wonks keen on “nudging” the populace.

Dr Kahneman and a growing number of his colleagues fear that a lot of this priming research is poorly founded. Over the past few years various researchers have made systematic attempts to replicate some of the more widely cited priming experiments. Many of these replications have failed. In April, for instance, a paper in PLoS ONE, a journal, reported that nine separate experiments had not managed to reproduce the results of a famous study from 1998 purporting to show that thinking about a professor before taking an intelligence test leads to a higher score than imagining a football hooligan.

The idea that the same experiments always get the same results, no matter who performs them, is one of the cornerstones of science’s claim to objective truth. If a systematic campaign of replication does not lead to the same results, then either the original research is flawed (as the replicators claim) or the replications are (as many of the original researchers on priming contend). Either way, something is awry.

The numbers will make you a militant data skeptic:

• Original results could be duplicated for only 6 out of 53 landmark studies of cancer.
• Drug company could reproduce only 1/4 of 67 “seminal studies.”
• NIH official estimates at least three-quarters of publishing biomedical finding would be hard to reproduce.
• Three-quarter of published paper in machine learning are bunk due to overfitting.

Those and more examples await you in this article from The Economist.


text:
2D Car Drifting

This topic is 2550 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

Recommended Posts

Hey all,

I've got pretty much the most basic overhead 2d car physics going on:

 velocity.x = Math.cos(angle) * speed; velocity.y = Math.sin(angle) * speed; position.x += velocity.x * deltaTime; position.y += velocity.y * deltaTime;

Pretty basic -- change speed to go faster / slower / reverse and increase / decrease angle to turn.

Everything works, but it feels pretty boring to drive.

How would I go about drifting? Nothing too realistic, just something fun and arcadey where the more you turn, the more you slide unless you counter-turn.

Thanks!

Share on other sites
instead of allowing your car to move in the direction it's facing, you can take in account that it still has momentum going in the direction it used to be facing? Ie just because you turn the wheel doesn't mean you're going to go in that direction.

Your car has an angle that it is facing, and an angle that it is moving. So gradually alter the cars moving angle to match the facing angle. Hopefully that makes sense... I'm currently in the middle of a dumb aurgument and yes as I write this they are getting even angrier and my smile is getting bigger... so I'm having a hard time concentrating.

Share on other sites

instead of allowing your car to move in the direction it's facing, you can take in account that it still has momentum going in the direction it used to be facing? Ie just because you turn the wheel doesn't mean you're going to go in that direction.

That sounds like spaceship physics rather than car physics. Cars DO go in the direction they face unless you turn so fast the momentum is enough to lose friction. Once that happens the above method should be fine enough. But mostly it boils down to switching between the two types of friction.

Share on other sites

That sounds like spaceship physics rather than car physics. Cars DO go in the direction they face unless you turn so fast the momentum is enough to lose friction. Once that happens the above method should be fine enough. But mostly it boils down to switching between the two types of friction.
"Spaceship physics" is still what's required to make it act like a real car. Cars go in the direction they're facing because there is friction constantly pushing back against 'slide' movements. So if you create a slippery 'spaceship' and then add tire friction, you've got a car.
e.g. quick idea of basic physics, this time starting with force, not velocitycar.force = (0,0) for each wheel slideFrictionAmount = 1.0 - abs( dot( wheel.forward, car.velocity ) );//1 when perpendicular, 0 when parallel car.force += -velocity * tweakableNumber;//what percentage of sideways movement is converted into an opposing force if( wheel.powered ) car.force += wheel.forward * tweakableNumber2;//engine power car.acceleration = car.force / car.mass car.velocity += car.acceleration * deltaTime car.position += car.velocity * deltaTimeThat said, the friction behaviour of rubber tires is quite complex, and the above model will require a lot of tweaking to get something 'fun'... Just cheating by switching between two 'modes', like Trienco suggested, may be a lot easier to achieve a result with More complex car games simply use magic.

1. 1
2. 2
frob
15
3. 3
4. 4
Rutin
12
5. 5

• 13
• 12
• 58
• 14
• 15
• Forum Statistics

• Total Topics
632121
• Total Posts
3004231

×