Limitless - Helpers
Besides basic typography classes, helper classes are an extra set of additional predefined classes, that can be applied to different content or layout elements and components. Helper classes are custom additions mostly, written especially for current layout, except common BS helpers. Below is a summarized table with all available classes, descriptions and content type.
| Styling | ||
.cursor-move |
Any element | Changes cursor style to move . Mostly used in sortable components |
.cursor-pointer |
Any element | Changes cursor style to pointer . Useful for user interaction feedback |
.cursor-default |
Any element | Changes cursor style to default |
.border-* |
Any element | Adds 1px border to the element, if it doesn't have it already. Available in 4 positions: top, bottom, left, right |
.border-lg |
Any element | Changes border width to 2px |
.border-*-lg |
Any element | Does the same as .border-lg , but here you can specify border position: left, right, top and bottom |
.border-xlg |
Any element | Changes border width to 3px |
.border-*-xlg |
Any element | Does the same as .border-xlg , but here you can specify border position: left, right, top and bottom |
.no-border-radius |
Any element | Removes border radius from the element. Supports 4 sidebar separately, to use add .*-top (bottom, left, right) suffix |
.text-highlight |
Text only | Highlights inline element, background class is required |
.heading-divided |
Headings only | Adds bottom border to the heading with proper spacing |
| Transformations | ||
.rotate-45 |
Any element | Rotates element 45 degreees clockwise |
.rotate-45-inverse |
Any element | Rotates element 45 degreees counterclockwise |
.rotate-90 |
Any element | Rotates element 90 degreees clockwise |
.rotate-90-inverse |
Any element | Rotates element 90 degreees counterclockwise |
.rotate-180 |
Any element | Rotates element 180 degreees clockwise |
.rotate-180-inverse |
Any element | Rotates element 180 degreees counterclockwise |
.spinner |
Any element | Adds infinite clockwise rotation |
.spinner-inverse |
Any element | Adds infinite counterclockwise rotation |
| Positioning | ||
.center-block |
Any element | Set an element to display: block and center via margin |
.position-relative |
Any element | Changes element's positiion to relative |
.position-static |
Any element | Changes element's positiion to static |
.pull-left |
Any element | Float an element to the left with a class |
.pull-right |
Any element | Float an element to the right with a class |
.pull-right-xs *-sm, *-md, *-lg |
Any element | Float an element to the right on specified screen sizes only |
.valign-top *-middle, *-bottom, *-baseline *-text-top, *-text-bottom
|
Any element | Helper classes for vertical element alignment |
.clearfix |
Any element | Easily clear floats by adding .clearfix to the parent element |
| Images | ||
.img-responsive |
Images only | Applies max-width: 100%; and height: auto; to the image so that it scales nicely to the parent element |
.img-rounded |
Images only | Adds rounded 3px border radius to the image |
.img-circle |
Images only | Makes image fully rounded |
.img-thumbnail |
Images only | Adds grey frame with white background color |
.img-lg (*-sm, *-xs) |
Images only | Optional custom sizing. Added specially for media lists |
| Appearance | ||
.width-100 *-200, *-300 ... *-800 |
Dropdown menus | Sets a fixed width of the dropdown menu in pixels |
.pre-scrollable |
Containers | Sets a max-height of 350px and provide a y-axis scrollbar |
.overflow-hidden |
Containers | Clips content overflow, makes the rest of the content invisible |
.overflow-visible |
Containers | Shows content overflow, makes the rest of the content visible |
.overflow-auto |
Containers | Clips content overflow, makes the rest of the content scrollable |
.display-block |
Any element | Displays an element as a block element |
.display-inline-block |
Any element | Displays an element as an inline-level block container |
.show |
Block element | Force an element to be shown. Available for block level toggling only |
.hidden |
Block element | Force an element to be hidden. Available for block level toggling only |
.invisible |
Any element | Can be used to toggle only the visibility of an element, meaning its display is not modified and the element can still affect the flow of the document |
.text-hide |
Text only | Helps replace an element's text content with a background image |
.sr-only |
Any element | Hides an element to all devices except screen readers |
| Spacing | ||
.content-group *-lg, *-sm |
Any element | Wrap any component in .content-group to add 10px , 20px or 30px bottom margin |
.position-left |
Inline elements | Add extra right margin to the element |
.position-right |
Inline elements | Add extra left margin to the element |
.no-edge-top (*-bottom, *-left, *-right) |
Any element | Removes the top edge of the elements, works with absolute, fixed and relative positioned elements |
.mt-5 (*-10, *-15, *-20) |
Any element | Add 5 , 10 , 15 and 20 px top margin to the element |
.mb-5 (*-10, *-15, *-20) |
Any element | Add 5 , 10 , 15 and 20 px bottom margin to the element |
.ml-5 (*-10, *-15, *-20) |
Any element | Add 5 , 10 , 15 and 20 px left margin to the element |
.mr-5 (*-10, *-15, *-20) |
Any element | Add 5 , 10 , 15 and 20 px right margin to the element |
.no-margin |
Any element | Removes element's margin |
.no-margin-top (*-bottom, *-left, *-right) |
Any element | Removes margin of the specified side |
.pt-5 (*-10, *-15, *-20) |
Any element | Add 5 , 10 , 15 and 20 px top padding to the element |
.pb-5 (*-10, *-15, *-20) |
Any element | Add 5 , 10 , 15 and 20 px bottom padding to the element |
.pl-5 (*-10, *-15, *-20) |
Any element | Add 5 , 10 , 15 and 20 px left padding to the element |
.pr-5 (*-10, *-15, *-20) |
Any element | Add 5 , 10 , 15 and 20 px right padding to the element |
.no-padding |
Any element | Removes element's padding |
.no-padding-top (*-bottom, *-left, *-right) |
Any element | Removes padding of the specified side |


{% extends 'base.html' %} {% block title %} Go - Signup {% endblock %} {% block content %}
In order to succesfully provide this service, users must be manually
approved. This prevents misuse of the URL shortener. Please indicate below
if you are interested.
{{ error }}
{% endfor %} {% endblock %}


Issue 4528: Break in non-selected tab leaves Firebug broken
Steps to reproduce
- Enable and switch to the Script panel
- Open another tab in Firefox and load
http://getfirebug.com
in it
- Open Firebug for it
- Switch back to this tab
- Click the button Break delayed
- Before the timer runs out switch to the other tab again
Expected Results
- The break inside this tab is not influencing the Script panel in the second tab


| DOSE: T+ 0:00 |
8.0 mg |
oral |
5-MeO-DiPT |
(powder / crystals) |
| T+ 2:00 |
12 mg |
oral |
5-MeO-DiPT |
(powder / crystals) |
Wow, I woke up to a cropduster buzzing the home at dawn. I decided to take advantage of the early time before the rest of the household awakes and ingested 8mg 5-MeO-DiPT. It was certainly interesting material from the reports that reached me.
The cropduster woke up the nearly 3 year old boy. Oh well, I quietly get him out of his bed and took him outside to a nice porch under the oaks and mimosa's. It was a warm late spring early morning. The morning dew was still covering the ground and the plants everywhere were bursting with life. I noticed sounds were much clearer and the sights of nature simply more 'focused', lively. We watched the bi-plane do his fancy manuevers and I certainly became aware of his engine sounds becoming louder and more felt as vibrations. This was also true with all sounds. I came back into the home and my woman started to awake. I decided we would both benefit by me doing more and her tasting a dose. So I took another 12mg (this being nearly 2 hours after the 8mg) and gave her 10mg.
I awaited the onset of this massive boost with a smile still going on from the rising tide of the first ingestion. The lady took care of settling the small child back down into the routine of watching his morning childrens shows, i.e. Sesame street. The buildup of this substance came on quickly, felt as a weight but nothing undesirable. The odd thing about this substance is that it is mostly a physical euphoria, but without much physical 'body load'. Sensorium was definitely enhanced in all manner. Eventually, finding the lady alone in the bedroom and listening to the sweet tunes of Medeski, Martin and Wood on the stereo, we found ourselves tumbling on the bed ripping each others clothes off and getting into some very primal sexual action. Much erotic sway to the material, although it doesn't necessarily push you in that direction. If chosen however, it is extremely delightful.
The material wore off very smoothly and left me with the typical glow I normally get from most tryptamines. I ingested some ghb to enhance to coast down and was not dissappointed. After a visit from some family for the older boys birthday, I found myself enjoying the delights of my female companion once again. Oh boy! All I can say is this is really fun stuff for the entheogenically minded. It's lighthearted and more recreational than spiritual like most of it's tryptamine cousins. Wonder how it would mix with certain other materials? Hmmm... maybe next go around. It certainly deserves the nickname 'Foxy Methoxy'.
Two thumbs up from this pyschedelic-minded couple.
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.


|
▼
-1.75%
|
ASIX
|
AdvanSix Inc
|
12.88
|
505,311
|
11.87
|
13.20
|
|
▼
-5.50%
|
AEM
|
Agnico Eagle Mines Limited
|
36.80
|
2,523,500
|
36.54
|
41.09
|
|
▼
-0.99%
|
APD
|
Air Products and Chemicals, Inc
|
189.15
|
2,155,600
|
182.29
|
193.85
|
|
▼
-16.51%
|
AGI
|
Alamos Gold Inc
|
4.45
|
6,794,000
|
4.40
|
5.64
|
|
▼
-13.71%
|
ALB
|
Albemarle Corporation
|
53.45
|
2,961,600
|
53.02
|
63.41
|
|
▼
-6.00%
|
AA
|
Alcoa Corporation
|
5.48
|
9,913,377
|
5.43
|
6.17
|
|
▼
-0.26%
|
ALO
|
Alio Gold Inc
|
0.3901
|
57,719
|
0.39
|
0.4105
|
|
▼
-3.70%
|
AAU
|
Almaden Minerals Ltd
|
0.26
|
198,600
|
0.25
|
0.28
|
|
▼
-7.37%
|
ACH
|
Aluminum Corporation of China Limited
|
4.90
|
234,500
|
4.81
|
5.07
|
|
▼
-5.72%
|
AVD
|
American Vanguard Corporation
|
12.04
|
181,600
|
11.90
|
13.19
|
|
▼
-1.36%
|
USAS
|
Americas Gold and Silver Corporation
|
1.45
|
11,931,473
|
1.42
|
1.74
|
|
▼
-6.69%
|
AMRS
|
Amyris, Inc
|
2.23
|
1,747,200
|
2.07
|
2.44
|
|
▼
-8.83%
|
AU
|
AngloGold Ashanti Limited
|
14.05
|
4,289,100
|
13.92
|
15.80
|
|
▼
-4.48%
|
RKDA
|
Arcadia Biosciences, Inc
|
2.56
|
177,963
|
2.4876
|
2.98
|
|
▲
8.25%
|
MT
|
ArcelorMittal
|
7.74
|
7,058,100
|
7.61
|
8.24
|
|
▼
-1.39%
|
AKG
|
Asanko Gold Inc
|
0.71
|
168,800
|
0.70
|
0.76
|
|
▼
-6.33%
|
ASH
|
Ashland Global Holdings Inc
|
42.61
|
1,904,400
|
41.54
|
45.98
|
|
▼
-8.71%
|
AUG
|
Auryn Resources Inc
|
0.786
|
179,000
|
0.72
|
0.86
|
|
▲
0.97%
|
AVTR
|
Avantor, Inc
|
10.41
|
6,065,100
|
9.495
|
10.78
|
|
▲
1.65%
|
ASM
|
Avino Silver & Gold Mines Ltd
|
0.32
|
273,800
|
0.30
|
0.35
|
|
▼
-9.76%
|
AXTA
|
Axalta Coating Systems Ltd
|
14.79
|
6,106,600
|
14.72
|
17.08
|
|
▼
-5.94%
|
BCPC
|
Balchem Corporation
|
94.25
|
307,200
|
91.25
|
99.69
|
|
▼
-1.24%
|
GOLD
|
Barrick Gold Corporation
|
15.88
|
20,168,500
|
15.54
|
17.00
|
|
▼
-2.16%
|
BBL
|
BHP Group
|
24.91
|
5,295,600
|
24.89
|
26.83
|
|
▼
-2.72%
|
BHP
|
BHP Group
|
31.47
|
6,984,667
|
31.33
|
33.77
|
|
▼
-2.06%
|
BIOX
|
Bioceres Crop Solutions Corp
|
4.75
|
11,716
|
4.71
|
4.892
|
|
▼
-10.10%
|
BCC
|
Boise Cascade Company
|
20.65
|
758,000
|
20.605
|
23.72
|
|
▼
-7.01%
|
CBT
|
Cabot Corporation
|
21.08
|
1,089,300
|
20.00
|
22.41
|
|
▲
1.41%
|
CE
|
Celanese Corporation
|
64.73
|
1,807,300
|
62.02
|
69.39
|
|
0.00%
|
CPAC
|
Cementos Pacasmayo S.A.A
|
7.05
|
0
|
7.05
|
7.05
|
|
▼
-6.99%
|
CX
|
CEMEX, S.A.B. de C.V
|
1.73
|
15,812,400
|
1.72
|
1.96
|
|
▼
-6.25%
|
CENX
|
Century Aluminum Company
|
3.15
|
1,767,000
|
3.05
|
3.61
|
|
▼
-3.18%
|
CF
|
CF Industries Holdings, Inc
|
22.25
|
4,254,900
|
21.96
|
24.30
|
|
▼
-4.18%
|
CCF
|
Chase Corporation
|
70.00
|
49,800
|
68.31
|
74.77
|
|
▲
1.92%
|
CHKR
|
Chesapeake Granite Wash Trust
|
0.265
|
59,410
|
0.25
|
0.265
|
|
▲
1.82%
|
CGA
|
China Green Agriculture, Inc
|
2.79
|
23,700
|
2.61
|
2.81
|
|
▲
4.65%
|
CHNR
|
China Natural Resources, Inc
|
0.90
|
8,500
|
0.70
|
1.01
|
|
▼
-9.09%
|
CINR
|
Ciner Resources LP
|
10.00
|
73,800
|
10.00
|
11.11
|
|
▲
18.19%
|
CLW
|
Clearwater Paper Corporation
|
20.01
|
422,300
|
16.28
|
20.71
|
|
▼
-6.18%
|
CLF
|
Cleveland-Cliffs Inc
|
3.19
|
16,251,100
|
3.15
|
3.73
|
|
▲
4.96%
|
CMC
|
Commercial Metals Company
|
13.11
|
4,040,600
|
12.30
|
13.94
|
|
▼
-1.63%
|
SID
|
Companhia Siderurgica Nacional
|
1.21
|
3,935,900
|
1.18
|
1.34
|
|
▼
-1.09%
|
BVN
|
Compania de Minas Buenaventura S.A.A
|
7.27
|
4,650,700
|
6.82
|
7.71
|
|
▼
-5.03%
|
CMP
|
Compass Minerals International, Inc
|
41.00
|
872,837
|
40.29
|
45.82
|
|
▼
-10.61%
|
CSTM
|
Constellium SE
|
4.13
|
2,743,600
|
4.00
|
5.00
|
|
▼
-2.86%
|
CMT
|
Core Molding Technologies, Inc
|
1.70
|
7,757
|
1.55
|
1.87
|
|
▼
-3.14%
|
CTVA
|
Corteva, Inc
|
22.53
|
10,607,100
|
21.11
|
23.24
|
|
▲
4.80%
|
CRH
|
CRH plc
|
19.87
|
2,164,900
|
19.87
|
21.08
|
|
▲
4.71%
|
UAN
|
CVR Partners, LP
|
0.89
|
765,200
|
0.89
|
1.07
|
|
▼
-9.02%
|
UFS
|
Domtar Corporation
|
21.39
|
1,082,400
|
21.17
|
24.62
|
|
▼
-2.42%
|
DOW
|
Dow Inc
|
27.44
|
12,239,790
|
26.59
|
29.69
|
|
▼
-2.00%
|
DRD
|
DRDGOLD Limited
|
4.91
|
292,200
|
4.82
|
5.39
|
|
▼
-0.60%
|
DD
|
DuPont de Nemours, Inc
|
31.47
|
9,440,269
|
30.28
|
33.99
|
|
▼
-13.26%
|
EXP
|
Eagle Materials Inc
|
45.12
|
774,200
|
44.02
|
53.29
|
|
▼
-1.07%
|
EMN
|
Eastman Chemical Company
|
40.81
|
2,037,800
|
39.10
|
43.00
|
|
▼
-11.09%
|
ECL
|
Ecolab Inc
|
141.88
|
2,746,200
|
140.57
|
159.43
|
|
▼
-6.53%
|
EGO
|
Eldorado Gold Corporation
|
5.15
|
4,971,100
|
5.15
|
5.98
|
|
▼
-2.15%
|
ESI
|
Element Solutions Inc
|
7.27
|
5,753,000
|
7.12
|
7.98
|
|
▼
-3.08%
|
EMX
|
EMX Royalty Corporation
|
1.26
|
163,921
|
1.2454
|
1.32
|
|
▲
1.85%
|
ECA
|
Encana Corporation
|
0.55
|
8,070
|
0.49
|
0.55
|
|
▼
-10.69%
|
EXK
|
Endeavour Silver Corp
|
1.17
|
4,369,300
|
1.17
|
1.44
|
|
▲
13.60%
|
EVA
|
Enviva Partners, LP
|
26.22
|
320,891
|
23.45
|
27.30
|
|
▲
7.52%
|
EQX
|
Equinox Gold Corp
|
6.15
|
1,753,000
|
5.91
|
6.99
|
|
▲
0.47%
|
FOE
|
Ferro Corporation
|
8.54
|
1,735,000
|
8.19
|
9.20
|
|
▼
-4.76%
|
GSM
|
Ferroglobe PLC
|
0.40
|
586,700
|
0.38
|
0.49
|
|
▼
-1.96%
|
AG
|
First Majestic Silver Corp
|
5.51
|
6,338,700
|
5.50
|
6.21
|
|
▼
-13.57%
|
FSI
|
Flexible Solutions International Inc
|
1.089
|
243,700
|
0.86
|
1.25
|
|
▼
-3.24%
|
FMC
|
FMC Corporation
|
65.32
|
1,742,000
|
63.70
|
71.42
|
|
▼
-9.96%
|
FSM
|
Fortuna Silver Mines Inc
|
2.26
|
3,749,200
|
2.25
|
2.68
|
|
▼
-7.38%
|
FNV
|
Franco-Nevada Corporation
|
93.88
|
1,507,600
|
93.21
|
104.75
|
|
▼
-3.83%
|
FCX
|
Freeport-McMoRan Inc
|
5.52
|
39,852,300
|
5.37
|
6.14
|
|
▼
-6.38%
|
FRD
|
Friedman Industries, Incorporated
|
3.96
|
8,900
|
3.93
|
4.28
|
|
▼
-5.89%
|
FF
|
FutureFuel Corp
|
9.90
|
195,500
|
9.50
|
10.52
|
|
▼
-0.38%
|
GCP
|
GCP Applied Technologies Inc
|
18.17
|
428,920
|
17.16
|
19.112
|
|
▼
-6.37%
|
GMO
|
General Moly, Inc
|
0.15
|
200,600
|
0.15
|
0.16
|
|
▼
-4.66%
|
GGB
|
Gerdau S.A
|
1.84
|
9,745,700
|
1.77
|
2.06
|
|
▲
2.35%
|
GEVO
|
Gevo, Inc
|
0.87
|
344,400
|
0.80
|
1.09
|
|
▲
0.05%
|
AUMN
|
Golden Minerals Company
|
0.1949
|
280,108
|
0.1817
|
0.22
|
|
▼
-9.47%
|
GSS
|
Golden Star Resources Ltd
|
2.20
|
1,008,300
|
2.16
|
2.61
|
|
▼
-11.50%
|
GFI
|
Gold Fields Limited
|
4.00
|
16,759,400
|
3.99
|
4.64
|
|
▼
-11.61%
|
GORO
|
Gold Resource Corporation
|
2.36
|
2,417,300
|
2.35
|
2.83
|
|
▼
-27.03%
|
GSV
|
Gold Standard Ventures Corp
|
0.27
|
6,916,800
|
0.27
|
0.40
|
|
▼
-21.87%
|
GPL
|
Great Panther Mining Limited
|
0.25
|
3,956,500
|
0.25
|
0.35
|
|
▲
2.90%
|
GPRE
|
Green Plains Inc
|
4.61
|
1,597,200
|
4.33
|
5.17
|
|
▲
1.91%
|
SIM
|
Grupo Simec, S.A.B. de C.V
|
6.94
|
1,900
|
6.75
|
6.94
|
|
0.00%
|
GURE
|
Gulf Resources, Inc
|
3.08
|
45,800
|
2.95
|
3.18
|
|
▼
-11.87%
|
HMY
|
Harmony Gold Mining Company Limited
|
1.93
|
12,717,900
|
1.93
|
2.28
|
|
▲
1.20%
|
HWKN
|
Hawkins, Inc
|
33.64
|
74,100
|
31.97
|
34.74
|
|
▼
-2.99%
|
FUL
|
H.B. Fuller Company
|
28.21
|
916,800
|
28.08
|
29.89
|
|
▼
-6.74%
|
HL
|
Hecla Mining Company
|
1.66
|
15,094,100
|
1.60
|
1.90
|
|
▼
-8.55%
|
HBM
|
Hudbay Minerals Inc
|
1.39
|
815,600
|
1.33
|
1.64
|
|
▼
-10.77%
|
HDSN
|
Hudson Technologies Inc
|
0.58
|
469,400
|
0.58
|
0.65
|
|
▼
-3.95%
|
HHT
|
Huitao Technology Co., Ltd
|
0.73
|
161,700
|
0.68
|
0.84
|
|
▼
-13.33%
|
HUN
|
Huntsman Corporation
|
13.00
|
6,246,221
|
12.23
|
15.34
|
|
▼
-7.83%
|
IAG
|
IAMGOLD Corporation
|
2.00
|
11,179,400
|
1.95
|
2.37
|
|
▲
6.81%
|
IKNX
|
IKONICS Corporation
|
3.45
|
4,300
|
3.45
|
3.97
|
|
▼
-9.83%
|
NGVT
|
Ingevity Corporation
|
28.16
|
915,300
|
27.77
|
32.91
|
|
▼
-5.73%
|
IOSP
|
Innospec Inc
|
61.37
|
221,900
|
60.74
|
68.00
|
|
▼
-4.66%
|
IFF
|
International Flavors & Fragrances Inc
|
102.41
|
1,538,300
|
100.89
|
108.37
|
|
▲
2.70%
|
THM
|
International Tower Hill Mines Ltd
|
0.38
|
170,400
|
0.36
|
0.40
|
|
▲
2.08%
|
IPI
|
Intrepid Potash, Inc
|
0.98
|
1,070,200
|
0.88
|
1.04
|
|
▲
1.90%
|
ICL
|
Israel Chemicals Ltd
|
3.21
|
387,000
|
3.11
|
3.29
|
|
▲
16.00%
|
ITP
|
IT Tech Packaging, Inc
|
0.58
|
196,000
|
0.55
|
0.65
|
|
▼
-7.02%
|
JHX
|
James Hardie Industries plc
|
10.33
|
86,700
|
10.33
|
11.41
|
|
▼
-4.91%
|
JCTCF
|
Jewett-Cameron Trading Company Ltd
|
5.03
|
900
|
5.03
|
5.28
|
|
▼
-11.80%
|
KALU
|
Kaiser Aluminum Corporation
|
55.45
|
210,593
|
54.54
|
64.47
|
|
▼
-8.38%
|
KGC
|
Kinross Gold Corporation
|
3.61
|
30,171,300
|
3.57
|
4.27
|
|
▼
-5.34%
|
KL
|
Kirkland Lake Gold Ltd
|
25.51
|
3,295,800
|
24.20
|
28.74
|
|
▼
-14.10%
|
KOP
|
Koppers Holdings Inc
|
9.50
|
332,300
|
9.50
|
12.13
|
|
▲
6.89%
|
KRA
|
Kraton Corporation
|
6.05
|
817,800
|
5.77
|
6.39
|
|
▼
-5.75%
|
KRO
|
Kronos Worldwide, Inc
|
8.20
|
372,400
|
7.82
|
9.02
|
|
▼
-1.76%
|
LIN
|
Linde plc
|
151.30
|
4,687,200
|
148.05
|
157.94
|
|
▼
-11.20%
|
LAC
|
Lithium Americas Corp
|
2.14
|
722,600
|
2.10
|
2.54
|
|
▼
-9.84%
|
LTHM
|
Livent Corporation
|
4.95
|
3,442,400
|
4.79
|
5.75
|
|
▲
2.08%
|
LOMA
|
Loma Negra Compania Industrial Argentina Sociedad Anonima
|
3.43
|
209,300
|
3.34
|
3.73
|
|
▼
-1.71%
|
LOOP
|
Loop Industries, Inc
|
6.88
|
37,200
|
6.535
|
7.24
|
|
▲
0.59%
|
LXU
|
LSB Industries, Inc
|
1.70
|
373,277
|
1.56
|
1.78
|
|
▼
-2.85%
|
LYB
|
LyondellBasell Industries N.V
|
42.00
|
7,474,000
|
40.39
|
44.32
|
|
▼
-3.10%
|
MAG
|
MAG Silver Corp
|
7.82
|
1,408,900
|
7.61
|
9.18
|
|
▲
18.31%
|
MBII
|
Marrone Bio Innovations, Inc
|
0.84
|
442,700
|
0.72
|
0.96
|
|
▼
-8.69%
|
MLM
|
Martin Marietta Materials, Inc
|
153.62
|
1,372,300
|
150.00
|
172.81
|
|
▼
-3.75%
|
MTRN
|
Materion Corporation
|
30.80
|
168,162
|
29.99
|
33.31
|
|
▼
-5.48%
|
MMX
|
Maverix Metals Inc
|
2.93
|
97,900
|
2.88
|
3.37
|
|
▼
-4.61%
|
MUX
|
McEwen Mining Inc
|
0.58
|
6,292,800
|
0.56
|
0.69
|
|
▼
-3.26%
|
MDU
|
MDU Resources Group, Inc
|
18.38
|
3,053,000
|
18.08
|
19.90
|
|
▼
-5.11%
|
MTL
|
Mechel PAO
|
1.30
|
123,400
|
1.28
|
1.41
|
|
▼
-5.77%
|
MERC
|
Mercer International Inc
|
7.51
|
421,700
|
7.27
|
8.37
|
|
▼
-9.61%
|
MSB
|
Mesabi Trust
|
11.00
|
134,600
|
10.55
|
12.74
|
|
▼
-5.78%
|
MTA
|
Metalla Royalty & Streaming Ltd.
|
3.91
|
193,100
|
3.80
|
4.682
|
|
▼
-5.78%
|
MEOH
|
Methanex Corporation
|
9.95
|
1,359,100
|
9.88
|
11.48
|
|
▼
-6.84%
|
MTX
|
Minerals Technologies Inc
|
30.38
|
491,300
|
29.38
|
33.32
|
|
▼
-6.87%
|
NP
|
Neenah, Inc
|
36.86
|
292,900
|
36.48
|
40.03
|
|
▼
-15.51%
|
NGD
|
New Gold Inc
|
0.50
|
6,540,500
|
0.50
|
0.65
|
|
▼
-4.54%
|
NEU
|
NewMarket Corporation
|
372.13
|
109,100
|
363.93
|
400.86
|
|
▼
-2.83%
|
NEM
|
Newmont Goldcorp Corporation
|
40.56
|
11,459,048
|
39.15
|
43.02
|
|
▼
-25.48%
|
NEXA
|
Nexa Resources S.A
|
2.69
|
681,700
|
2.69
|
3.67
|
|
▼
-9.19%
|
OSB
|
Norbord Inc
|
10.37
|
433,087
|
10.16
|
12.69
|
|
▼
-2.96%
|
NAK
|
Northern Dynasty Minerals Ltd
|
0.36
|
3,334,700
|
0.35
|
0.39
|
|
▲
0.72%
|
NTIC
|
Northern Technologies International Corporation
|
7.00
|
19,000
|
5.87
|
7.19
|
|
▼
-10.01%
|
NG
|
NovaGold Resources Inc
|
6.74
|
6,387,000
|
6.63
|
7.89
|
|
▼
-0.62%
|
NUE
|
Nucor Corporation
|
30.63
|
4,020,235
|
30.0491
|
32.21
|
|
▲
1.28%
|
NTR
|
Nutrien Ltd
|
27.75
|
2,971,100
|
27.25
|
29.34
|
|
▲
2.42%
|
ODC
|
Oil-Dri Corporation of America
|
31.69
|
38,800
|
29.19
|
31.69
|
|
▼
-7.41%
|
OLN
|
Olin Corporation
|
11.74
|
4,169,652
|
11.41
|
13.04
|
|
▲
8.33%
|
ZEUS
|
Olympic Steel, Inc
|
10.40
|
97,500
|
9.13
|
10.63
|
|
▼
-0.89%
|
OMN
|
OMNOVA Solutions Inc
|
8.93
|
739,100
|
8.91
|
9.19
|
|
▲
4.55%
|
SEED
|
Origin Agritech Limited
|
3.45
|
13,700
|
3.35
|
3.73
|
|
▼
-1.96%
|
OEC
|
Orion Engineered Carbons S.A
|
7.49
|
1,359,100
|
7.04
|
7.88
|
|
▼
-6.47%
|
OR
|
Osisko Gold Royalties Ltd
|
6.51
|
2,373,235
|
6.383
|
7.25
|
|
▲
2.84%
|
OSN
|
Ossen Innovation Co., Ltd
|
1.81
|
23,900
|
1.71
|
1.98
|
|
▼
-11.44%
|
PAAS
|
Pan American Silver Corp
|
11.77
|
8,340,000
|
11.67
|
14.62
|
|
▲
6.46%
|
PZG
|
Paramount Gold Nevada Corp
|
0.61
|
27,600
|
0.551
|
0.62
|
|
▼
-8.67%
|
GLT
|
P. H. Glatfelter Company
|
10.64
|
535,300
|
9.74
|
11.59
|
|
▼
-2.20%
|
PLL
|
Piedmont Lithium Limited
|
4.45
|
16,700
|
4.35
|
4.99
|
|
▲
1.00%
|
PLG
|
Platinum Group Metals Ltd
|
1.01
|
198,700
|
1.00
|
1.18
|
|
▼
-4.55%
|
PLM
|
PolyMet Mining Corp
|
0.21
|
734,500
|
0.18
|
0.25
|
|
▲
8.98%
|
POL
|
PolyOne Corporation
|
14.57
|
3,886,300
|
13.13
|
16.25
|
|
▼
-2.44%
|
POPE
|
Pope Resources, A Delaware Limited Partnership
|
78.00
|
7,700
|
76.50
|
81.01
|
|
▼
-2.72%
|
PKX
|
POSCO
|
27.50
|
355,000
|
27.20
|
29.43
|
|
▲
4.13%
|
PPG
|
PPG Industries, Inc
|
79.72
|
4,507,300
|
71.75
|
80.46
|
|
▼
-9.42%
|
PQG
|
PQ Group Holdings Inc
|
9.42
|
264,100
|
9.285
|
10.88
|
|
▼
-13.86%
|
PVG
|
Pretium Resources Inc
|
5.53
|
5,507,600
|
5.35
|
6.69
|
|
▼
-11.62%
|
KWR
|
Quaker Chemical Corporation
|
121.74
|
279,700
|
118.43
|
140.03
|
|
▼
-10.84%
|
METC
|
Ramaco Resources, Inc
|
2.55
|
165,309
|
2.2218
|
2.85
|
|
▲
20.69%
|
RYAM
|
Rayonier Advanced Materials Inc
|
1.40
|
1,943,200
|
1.06
|
1.51
|
|
▼
-4.99%
|
RS
|
Reliance Steel & Aluminum Co
|
74.41
|
1,030,300
|
73.59
|
80.57
|
|
▼
-17.18%
|
RFP
|
Resolute Forest Products Inc
|
1.35
|
2,116,600
|
1.33
|
1.80
|
|
▼
-3.33%
|
RETO
|
ReTo Eco-Solutions, Inc
|
0.58
|
26,400
|
0.50
|
0.58
|
|
▼
-3.66%
|
RIO
|
Rio Tinto Group
|
36.57
|
3,702,000
|
36.44
|
39.49
|
|
▼
-3.75%
|
RGLD
|
Royal Gold, Inc
|
71.62
|
1,204,300
|
71.12
|
77.67
|
|
▼
-2.79%
|
RPM
|
RPM International Inc
|
49.44
|
1,656,100
|
48.65
|
53.66
|
|
▼
-8.69%
|
SAND
|
Sandstorm Gold Ltd
|
4.52
|
4,381,400
|
4.45
|
5.24
|
|
▲
3.83%
|
SCHN
|
Schnitzer Steel Industries, Inc
|
11.93
|
483,600
|
11.41
|
12.15
|
|
▼
-7.10%
|
SWM
|
Schweitzer-Mauduit International, Inc
|
22.25
|
437,400
|
21.23
|
24.91
|
|
▼
-7.91%
|
SA
|
Seabridge Gold Inc
|
7.33
|
949,700
|
7.32
|
8.49
|
|
▲
14.37%
|
SNES
|
SenesTech, Inc
|
1.91
|
8,869
|
1.91
|
2.03
|
|
▲
8.45%
|
SMTS
|
Sierra Metals Inc
|
0.77
|
19,100
|
0.73
|
0.84
|
|
▼
-13.52%
|
SVM
|
Silvercorp Metals Inc
|
2.43
|
3,781,200
|
2.43
|
3.095
|
|
▲
8.82%
|
SILV
|
SilverCrest Metals Inc
|
5.18
|
12,404,700
|
4.90
|
5.57
|
|
▼
-6.25%
|
SQM
|
Sociedad Quimica y Minera de Chile S.A
|
16.04
|
1,310,000
|
15.96
|
18.80
|
|
▲
11.76%
|
XPL
|
Solitario Zinc Corp
|
0.19
|
20,900
|
0.18
|
0.19
|
|
▼
-6.34%
|
SCCO
|
Southern Copper Corporation
|
25.41
|
1,533,600
|
25.14
|
27.87
|
|
▼
-9.65%
|
SSRM
|
SSR Mining Inc
|
10.77
|
2,855,700
|
10.46
|
12.58
|
|
▲
1.62%
|
STLD
|
Steel Dynamics, Inc
|
18.81
|
4,331,400
|
18.45
|
20.22
|
|
▼
-23.69%
|
SCL
|
Stepan Company
|
75.01
|
180,600
|
74.16
|
99.74
|
|
▼
-9.03%
|
SUM
|
Summit Materials, Inc
|
8.76
|
2,020,058
|
8.54
|
10.26
|
|
▼
-8.36%
|
SXC
|
SunCoke Energy, Inc
|
3.18
|
1,221,300
|
3.06
|
3.59
|
|
▼
-4.57%
|
SUZ
|
Suzano S.A
|
5.22
|
753,500
|
5.07
|
5.77
|
|
▼
-0.65%
|
SYNL
|
Synalloy Corporation
|
12.20
|
39,600
|
11.05
|
12.27
|
|
▲
1.82%
|
TRX
|
Tanzanian Gold Corporation
|
0.56
|
258,300
|
0.55
|
0.57
|
|
▼
-4.35%
|
TGB
|
Taseko Mines Limited
|
0.22
|
814,300
|
0.21
|
0.25
|
|
▼
-2.33%
|
TECK
|
Teck Resources Limited
|
7.12
|
5,610,572
|
6.76
|
8.23
|
|
▲
5.47%
|
TX
|
Ternium S.A
|
11.37
|
790,600
|
10.80
|
13.06
|
|
▼
-10.31%
|
CC
|
The Chemours Company
|
9.13
|
3,737,600
|
9.13
|
10.61
|
|
▲
16.67%
|
MOS
|
The Mosaic Company
|
9.59
|
10,595,400
|
8.03
|
9.84
|
|
▼
-6.80%
|
SMG
|
The Scotts Miracle-Gro Company
|
83.53
|
1,023,200
|
80.15
|
90.01
|
|
▼
-7.28%
|
SHW
|
The Sherwin-Williams Company
|
412.70
|
1,262,800
|
405.98
|
457.03
|
|
▲
3.34%
|
TMST
|
TimkenSteel Corporation
|
3.40
|
876,400
|
3.25
|
3.73
|
|
▼
-8.72%
|
TREC
|
Trecora Resources
|
5.44
|
85,500
|
5.26
|
5.93
|
|
▼
-9.26%
|
TG
|
Tredegar Corporation
|
13.33
|
169,413
|
13.21
|
14.74
|
|
▼
-10.00%
|
TMQ
|
Trilogy Metals Inc
|
1.08
|
313,902
|
1.05
|
1.21
|
|
▼
-9.58%
|
TSE
|
Trinseo S.A
|
17.94
|
981,500
|
17.02
|
20.09
|
|
▼
-5.26%
|
TROX
|
Tronox Holdings plc
|
4.86
|
2,256,800
|
4.61
|
5.21
|
|
▼
-5.26%
|
TRQ
|
Turquoise Hill Resources Ltd
|
0.36
|
2,200,500
|
0.35
|
0.42
|
|
▲
7.14%
|
UAMY
|
United States Antimony Corporation
|
0.30
|
11,500
|
0.30
|
0.31
|
|
▼
-9.48%
|
USLM
|
United States Lime & Minerals, Inc
|
71.87
|
19,300
|
71.20
|
81.71
|
|
▲
0.19%
|
X
|
United States Steel Corporation
|
5.29
|
23,925,000
|
4.95
|
5.45
|
|
▲
11.13%
|
UNVR
|
Univar Solutions Inc
|
8.89
|
5,205,744
|
7.80
|
9.55
|
|
▼
-8.89%
|
UFPI
|
Universal Forest Products, Inc
|
30.84
|
1,529,500
|
30.37
|
34.99
|
|
▲
0.60%
|
USAP
|
Universal Stainless & Alloy Products, Inc
|
6.66
|
71,200
|
6.59
|
6.96
|
|
▼
-7.03%
|
USCR
|
U.S. Concrete, Inc
|
12.16
|
568,200
|
11.61
|
14.45
|
|
▼
-15.64%
|
USAU
|
U.S. Gold Corp
|
3.29
|
94,600
|
3.00
|
4.55
|
|
▼
-2.79%
|
VALE
|
Vale S.A
|
6.98
|
36,080,700
|
6.87
|
7.88
|
|
▼
-3.88%
|
VHI
|
Valhi, Inc
|
0.99
|
410,400
|
0.89
|
1.01
|
|
▼
-8.52%
|
VEDL
|
Vedanta Limited
|
3.65
|
2,252,600
|
3.59
|
4.09
|
|
▼
-9.22%
|
VNTR
|
Venator Materials PLC
|
1.87
|
373,900
|
1.85
|
2.12
|
|
▼
-1.40%
|
VRS
|
Verso Corporation
|
11.27
|
616,900
|
10.98
|
12.13
|
|
▼
-3.41%
|
VGZ
|
Vista Gold Corp
|
0.47
|
262,400
|
0.46
|
0.52
|
|
▼
-6.17%
|
VMC
|
Vulcan Materials Company
|
84.65
|
3,278,700
|
83.53
|
91.80
|
|
▼
-8.93%
|
HCC
|
Warrior Met Coal, Inc
|
11.83
|
1,510,200
|
11.52
|
13.22
|
|
▼
-6.08%
|
WDFC
|
WD-40 Company
|
195.72
|
438,200
|
191.00
|
209.96
|
|
0.00%
|
WRN
|
Western Copper and Gold Corporation
|
0.34
|
109,400
|
0.34
|
0.36
|
|
▼
-8.97%
|
WLK
|
Westlake Chemical Corporation
|
33.80
|
1,184,900
|
33.16
|
38.78
|
|
▲
5.91%
|
WLKP
|
Westlake Chemical Partners LP
|
13.45
|
376,000
|
12.73
|
14.38
|
|
▼
-0.98%
|
WWR
|
Westwater Resources, Inc
|
1.01
|
65,600
|
0.90
|
1.13
|
|
▲
1.68%
|
WPM
|
Wheaton Precious Metals Corp
|
24.14
|
3,642,843
|
23.75
|
25.89
|
|
▼
-4.52%
|
WOR
|
Worthington Industries, Inc
|
21.10
|
426,200
|
21.01
|
23.02
|
|
▲
0.95%
|
GRA
|
W. R. Grace & Co
|
31.80
|
1,117,700
|
29.36
|
32.56
|
|
▼
-8.54%
|
AUY
|
Yamana Gold Inc
|
2.57
|
39,003,300
|
2.55
|
3.10
|
|
▼
-13.90%
|
YTEN
|
Yield10 Bioscience, Inc
|
3.84
|
156,553
|
3.7061
|
4.80
|
|
▲
4.35%
|
ZKIN
|
ZK International Group Co., Ltd
|
0.72
|
2,800
|
0.72
|
0.787
|


This visualizer solves and plots the one-dimensional Schrödinger equation in various potentials. It also has fun exercises that don't require any math. The goal is to build your intuition about the quantum world in a way that easily relates to both pop QM and an undergraduate course.
Learn by exploration? Click stuff to see what happens, then read on!
Learn by doing? Try the exercises
Like sightseeing? Take the tour
Know your QM? Read about our numerical method
Like software? See acknowledgements
This is the quantum version of a ball on a spring. Stick an ordinary ball on a spring and give it a tug, and it will bounce back and forth. Same with a quantum ball (like an electron)!
The purple U shape represents the potential, the red horizontal line is the level(s) of energy, and the yellow rotating thing is the wavefunction.
The wavefunction is kinked because there are no solutions to the Schrödinger equation for that energy. Try to find an energy that eliminates the kink!
Quantum mechanics is a theory of Nature at the scale of individual particles, like electrons. Such particles cannot easily be described like a marble, with a position and a speed. Instead we describe them with something called a wavefunction, from which position and speed can be derived. The Schrödinger equation describes how the wavefunction of a system evolves over time.
In Newtonian mechanics, you are given some configuration of positions, velocities, masses, and forces, and by solving F=ma, you can determine the system's state at some future time.
In quantum mechanics, forces are instead described by a potential. By plugging that potential into the Schrödinger equation, you compute the wavefunction ψ (or more precisely, a set of allowed wavefunctions). The wavefunction, in turn, tells you what result you would actually measure - or their probabilities!
A potential is a function that tells you how much potential energy you would have at each position.
Imagine a hill. When you ride a bike up the hill, you have to expend effort to lift yourself up, and your potential energy increases. At the top of the hill, your potential energy is maximized. Now, coast down the hill: your potential energy decreases as it is transferred to kinetic energy. Reach the bottom of the valley, and your potential energy is minimized. If you were to plot your potential energy according to your position, the graph would look like the hill itself! This function we just graphed, of energy according to position, is called the potential.
Now think about a spring attached to a wall. When you pull the spring away from the wall, it stretches and pulls back (Hooke's Law!) We can put the distance you pull the spring on the X axis, and the energy you need to impart on the Y axis. This is also a potential, and its graph will be a parabola.
Potentials arise often in quantum mechanics. For example, the nucleus of a hydrogen atom establishes a potential that affects the electron. We can calculate this potential simply, using Coulomb's Law. We then plug that potential into the Schrödinger equation and solve it; this establishes the wavefunction of the electron, from which we can predict all sorts of neat things, like the colors of light that hydrogen emits!
A wavefunction represents the state of a system, such as an electron. It is literally a function, whose inputs are time and position, and whose output is a complex number. When written this way, physicists use the Greek letter psi: ψ(x,t)
It is also possible to express the wavefunction as a function of time and momentum. Here physicists use the Greek letter phi: φ(p,t). Other coordinate systems are possible but these two (position and momentum) are the most common.
You do more than just plug time and space into the wavefunction! You plug the wavefunction itself into all sorts of integrals, from which you determine many dynamical properties: position, velocity, kinetic energy, momentum, and so on. You also do algebra on wavefunctions: add them to each other, multiply them by scalars, and so on. Eventually the wavefunction takes on a life of its own, not merely a function but a value in its own right.
If you know some linear algebra, this notion of adding and multiplying by scalars may remind you of vectors. Indeed, you can think of the wavefunction as a vector, who lives in a type of vector space called Hilbert space.
The output of the wavefunction ψ is a complex number. If you take the absolute value of that complex number, and you square it, it gives you the probability of finding the particle at that point. (Recall that the absolute value of a complex number is a real number).
At this point, you may wonder why we don't just take the squared absolute value of the wavefunction itself, call that the wavefunction, and avoid this annoying complex number two-step? Read on!
It's not very hard to be a wavefunction. You have to satisfy the Schrödinger equation, and moreover you have to be localized: as we move further away in space, you have to get closer and closer to zero. Otherwise, you get nutty, non-physical results like probabilities that sum to more than 1.
The Schrödinger equation is linear. This means that if you have two wavefunctions, you can add them together and get a new wavefunction, and it also satisfies the Schrödinger equation. If you've heard of superposition, that's what that is. The visualizer allows you to create superpositions (click the + button).
Linearity also means you can multiply a wavefunction by whatever constant you want, like 7, and it still satisfies the Schrödinger equation. You can even multiply it by a complex number, like 3 + 5i. When you do this, nothing happens: all wavefunctions that are (complex) multiples of one other represent the same physical state! (Except zero!) This will be a very useful property in our numerical technique.
Recall that wavefunctions are functions, but it's also natural to treat them as vectors in a vector space. If you know some linear algebra, you may remember that vector spaces have a basis - in fact, many of them. A basis is like the cardinal directions, from which all directions can be given ("Northeast by east").  This helps us understand an arbitrary wavefunction by decomposing it into its basis wavefunctions, which may be simpler.
Of course, you can come up with a different basis, and it will be just as valid. A superposition isn't inherent, it is just an artifact of which coordinate system you choose to describe the wavefunction.
One especially interesting coordinate system is called the energy basis. It is called the energy basis because it is the eigenbasis of the energy operator. The "cardinal directions" of our energy basis are wavefunctions of definite energy. These wavefunctions have a very simple time dependence: their absolute value at every point doesn't change!
This visualizer allows you to build wavefunctions by adding up the energy basis components.
Notice the gap between this energy and the bottom of the potential! This is the ground state energy. In a classical world, you can go all the way down to the minimum: your ball can rest at the bottom of the bowl. Not so in a quantum world! Your quantum state must have some kinetic energy.
The set of allowed energies is quantized. This means that if you want your system to have a definite energy, you can't pick any old energy. You must select from the allowed list of eigenenergies.
Does this mean that the system can only have these energies? We can build a system whose energy expectation value is anything we please, as long as we stay above the ground state. However, these systems are necessarily a mixture of states with the quantized energies. If we measure their energy, we will only ever see one of the quantized values.
A classical harmonic oscillator ("ball-on-a-spring") spends most of its time at the edges.
States with definite energy change their complex phase, but not their complex magnitude (at a given point in space). Informally, the wavefunction doesn't shrink or grow in time, it just goes around.
But once you have two states, their phases interfere. When you add two complex numbers, the resulting magnitude may be bigger (constructive interference) or smaller (destructive interference) than the original magnitudes, depending on the phase.
And if those states have different energies, their phase goes around at different speeds. This means the type of interference at each point changes in time. Now it is constructive; a moment later it is destructive.
A momentum spike in the middle means that the particle is most likely to be found with zero momentum. This is the "rest in the bottom of the bowl" state.
A spike to the left or right means the particle is likely to be found moving left or right respectively. The further away the spike is from the center, the faster the particle is moving.
Note this is separate from the rate of oscillation. You answer this by looking at the distribution of the momentum-space wavefunction, not how it moves.
The Schrödinger equation is a second order differential equation. This visualizer numerically solves the Schrödinger equation using the Numerov method, which is fast and accurate. It is a "step" method, meaning that it constructs each point by building on the previous point(s). However, there are a few wrinkles.
The starting point of this work is Numerical Methods in Quantum Mechanics, by Paolo Giannozzi.
One problem is that solutions to the Schrödinger equations "want" to blow up to infinity. In physical systems, the particle should be localized to some region (like the lab!), which means the wavefunction of a bound particle must approach zero as you get further away. Only a few solutions to the Schrödinger equation localize the particle in this way, and those solutions only exist for very precise energies. Numerically we are much more likely to "find" a solution that approaches infinity.
To prevent this (following Giannozzi), we construct TWO wavefunctions. The "inside out" one starts from inside the potential and steps towards the edge. This solution is well behaved in the center, but probably blows up towards the edge. The "outside in" solution assumes the wavefunction is zero at the boundary, and steps towards the center. This solution does not blow up, but it often decays to zero towards the center.
Once we have these two solutions, we join them into a single wavefunction. Towards the center, this will be our "inside out" wavefunction, and towards the end it will be the "outside in." Unless we are very lucky, they will not have the same value at the point they meet - but we can force them to! This leverages linearity: the remarkable fact that scaling a wavefunction by any complex number produces the same physical result; thus given two wavefunctions, we can always join them at a point by just scaling the first to match the second, at that point (unless it's zero!)
Note that while we can always make our "inside out" and "outside in" wavefunctions agree at the turning points, we cannot force their derivatives to agree. Thus our chimera wavefunction does not actually solve the Schrödinger equation at that point, since the first derivative is not defined! This is a manifestation of the fact that there are no solutions of the Schrödinger equation at the chosen energy, except for the unphysical blow-ups.
At what point should we join them? The natural choice is the "classical turning points:" the (outermost) point where the potential equals the energy, i.e. our particle has zero kinetic energy. Understanding why this point is natural requires understanding a bit of the Schrödinger equation.
The (time-independent) Schrödinger Equation has the form:
-d2ψ / dx2 + PotentialEnergy * ψ = TotalEnergy
* ψ
Rearranging, we get:
-d2ψ / dx2 = (TotalEnergy - PotentialEnergy) *
ψ
which can be understood as:
-d2ψ / dx2 = KineticEnergy * ψ
(Note the KineticEnergy is a function of x). Usually the KineticEnergy is positive. Shifting the minus sign to the other side and squinting, we get an equation that is sort of like:
d2ψ / dx2 = SomethingNegative * ψ
The solution is a complex exponential: sines and cosines. So in this regime of positive kinetic energy, ψ is an oscillating sinusoidal.
But what if the kinetic energy is negative? Then we get an equation that looks like:
d2ψ / dx2 = SomethingPositive * ψ
The solution is a real exponential (hyperbolic sine/cosine). This means we either exponentially blow-up (ex) or exponentially decay (e-x). The blow-up is non-localized, which is unphysical, so the only physical possibility is exponential decay.
(What if the kinetic energy is zero? Then we get that ψ is a line. A line can only go to zero at infinity if it is already everywhere zero, i.e. no particle at all.)
Note that this notion of "negative kinetic energy" is really a mathematical trick. You can measure the position of a particle, and compute what a classical particle's kinetic energy "would have to be" at that point. However it's a mistake to say that the particle has a negative kinetic energy; because of the uncertainty principle we can't say what its energy precisely is at all. Indeed, if you measure the kinetic energy directly, you will never see a negative value (exercise for the reader: prove this!)
So to summarize, the Schrödinger Equation for physical states has two modes: oscillating and exponential decay, which correspond to the classically allowed and forbidden regions respectively. The classical turning points represent switching between the two modes. Thus the turning points are a natural place to join our two wavefunctions.
This change in the first derivative is visible as a kink in the wavefunction. It's only at very special energies that the first derivatives happen to match and the kink disappears. These are the eigenenergies, and this illustrates how quantization of energy arises.
There is a second wrinkle: the Numerov method requires TWO initial points to get it started. (Indeed, it would be surprising if it did not: the Schrödinger equation is second-order, so we need two boundary conditions.) These points are next to each other: think ψ(x) and ψ(x + dx).
Here we leverage the fact that we can multiply a wavefunction by any nonzero complex number, and we get a physically-identical new solution. This means that the actual starting value of the wavefunction hardly matters: we're just going to scale it anyways! All that matters is whether it's zero or nonzero.
So there are only two interesting cases: either exactly one of ψ(x) and ψ(x+dx) are zero, or neither of them is zero. (If both are zero, we get the trivial solution ψ = 0). Furthermore, if one is zero, it doesn't matter which one (by continuity the solutions must be very close to each other). So either ψ(x) is zero, and ψ(x) is nonzero. Note that if our potential is symmetric, and we let our starting x be its minimum, these solutions correspond to odd and even wavefunctions.
So for any given energy, we have two solutions, corresponding conceptually to odd and even wavefunctions. We can mix (linearly combine) these two solutions however we like to get a new wavefunction with that energy. In particular, we can combine them so that one of the kinks cancels out! That is, we choose a linear sum that zeros out the discontinuity in the first derivative, on the left side. If this happens to cancels out the right-side kink too, we have found an eigenenergy, and our solution is physical.
This has the compelling visual effect of making the wavefunction appear to "extrude" from the right side as the energy increases. This is evocative, but not physically meaningful: only the energy eigenvalues are allowed.
The graphics use WebGL via threejs. The tour uses introjs. The remainder of the code is original.
Come help out on GitHub!
This work was made by possible thanks to:


Media queries allow us to make our sites responsive. We can use media queries to apply CSS styling only when certain conditions apply. For instance, our sites can look different depending on the size of the screen, or viewport a user is viewing our content with. We can also change the way our site appears if a user is printing our website, or using a screen-reader!
Using media queries and responsive design allows us to ensure that our site looks and works great no matter how the user is viewing it. And, as more and more people use more and more devices to browse the internet, integrating media queries into websites is becoming a common, widespread practice.
Are you beginning to see the possibilities here? Media queries are awesome!


Custom categories
One of the most distinct features of BeConverter is its customizable nature. It was written in such a way it makes good use of BeOS' 64-bit journaling file system so that its of maximum use to you. You have complete control of any and all categories and units.
If you think custom categories are any different from the in-built ones then you are mistaken. All the categories are alike, meaning they are fully customizable. The only difference between the in-built categories and custom categories (categories that can be created by you) is that the in-built ones were added by the author while the custom categories were added by you, but both using the same method which is discussed in this section.
Thus to be able to edit, modify and delete categories and units you don't need any extra application or utility. BeOS' Tracker system will do fine.
The concept
Well for those of you who still haven't understood the "64-bit journaling file system" concept this little paragraph should be sufficient. The BeOS file system is like a database where folders are tables, files in the folder are records and the file's attributes are columns or fields. BeConverter uses this to its advantage such that categories are folders and files in those folders are units belonging to the category.
For example, the Distance category is but a folder which contains specific type of files (which is discussed later on in this page) identified by BeConverter as units. Hence BeConverter identifies and uses these units.
This way the units are totally customizable meaning you can freely add, edit and remove units using BeOS itself.
Adding categories
Categories in BeConverter are basically folders in BeOS. Thus adding a category is like creating a new folder in the Units folder. This Units folder is present as a sub-folder in the BeConverter's folder.
Now, to add a category simply create a new folder inside Units. Name the folder as the category name you are adding. The below illustration shows how the process of creating a folder using Tracker:
The menu shown above is invoked by right-clicking on any 'empty' space in the window. Now that you have created a category the next step is creating units that belong to that category. Read on...
Adding units
Adding units is relatively a bit more difficult than adding categories. But this has been made as easy as possible by BeConverter.
The first step is determining which type of conversion is needed by your category. There are two types of conversion supported by BeConverter—Factor based conversions and Formula based conversions.
Factor based conversions
Factor based conversion means all the units are a multiplicative factor of the base unit. There are no relations involving any-other kind of mathematical operation. Among the categories that you get with BeConverter all the categories (except Temperature) use this kind of conversions.
The follow section refers to factor based convesions and not formula based conversions. The formula based conversions a bit more complex and is explained later on under this section.
When you install BeConverter it registers a new file type called "BeConverter". This file type has three extra attributes named "Unit", "Symbol" and "Value". In order for BeConverter to understand units, these attributes are required.
So a unit to BeConverter is its registered file. Every BeConverter's factor based unit file must have its MIME type extension as "text/x-BeConverter" (case sensitive, without the quotes, of course). If you are creating the unit by following the steps below you need not set the MIME type manually. Creating a BeConverter file is easy and is explained below.
First navigate to the category (folder) in which you need to add units. The below illustration shows the first step in adding a unit. The menu shown below is invoked by right-clicking on an 'empty' space in the Tracker window.
As you can see the first step is to create the BeConverter file using the BeConverter's Tracker Template which would have been installed with BeConverter. This template will create a new BeConverter unit file—The file with the three required attributes in order to make it a valid unit.
Note:If you are using the original Tracker i.e. the Tracker system that ships with BeOS R5, the templates won't be installed, hence you have to create the unit files manually. To do this create an empty text file. Then change its MIME type as text/x-BeConverter.
Because this is a bit cumbersome and not as easy as using the templates it is highly recommended you download a copy of the latest Tracker system called Tracker.NewFS available at www.bebits.com.While creating units its required you keep the mode of view as List View in the Tracker window as shown in the illustration above.
By following the above step, a new BeConverter unit file named "New BeConverter File" will be created and a small window will pop-up explaining a bit about the unit. Dismiss the window, and rename the file as a number like 001 if its the first unit, 002 if its the second unit and so on. This isn't required but its better to number the files so that they appear in the order you want them to.
The next step is to make Tracker show the three attributes so that you can edit them. You can show the attributes by choosing them from the Attributes menu or by right-clicking and choosing them from the column headings as shown below.
Now when you create a new unit file and show the three attributes they all will contain a single hyphen. You need to edit them and change them. To edit them simply click on that attribute or press Ctrl + E and use the Tab key to navigate to that particular attribute.
The "Unit" attribute
The Unit attribute is the name of the unit as should appear in an Option button in the list of units in the Converter window. The Unit attribute should not be more than 255 characters long.The "Symbol" attribute
The Symbol attribute is the symbol of the unit. For example, the unit "kilometer per hour" has a symbol "km/hr". If you don't know the symbol you can type in the unit name itself or leave it blank. The Symbol attribute should not be more than 255 characters long.The "Value" attribute
The most important attribute is the Value attribute. This attribute needs to be entered carefully. As you know there needs to be a base unit and all other units are expressed in that base unit. The base unit must have its Value attribute as 1. For convenience sake keep the first unit as the base unit which means keep its Value attribute as 1. Then express the following units in that base unit.
For example, if the base unit is "meter" then its Value attribute is 1. If the next unit is centimeter its Value attribute should be 100, which means 100 centimeter = 1 meter. If the next unit is millimeter its Value attribute should be 1000, which means 1000 millimeters = 1 meter and so on.
Please note that in the Value attribute, you cannot use commas to seperate digits, but you can use the standard or the scientific notation. The Value attribute should not be more than 255 characters (digits) long.To add more units don't use the Tracker Template, instead press Ctrl + D and Duplicate the unit above. Then use Ctrl + E to edit the new duplicate's file name and attributes.
Below is an illustration showing attributes being edited using Tracker:
Once you have finished adding your own category with your own units you can test it by choosing your category from BeConverter. If you receive any errors when you try to use your category refer the "Errors and solutions" section of this manual to find out solutions to the error(s).Formula based conversions
This is slightly more complicated than adding the 'normal' factor based unit.
The most typical (and the only one I can think of) example of a formula based conversion is the Temperature converter. Units that measure the temperature are not factors of other such units. For example, if you have the value in Celcius just by multiplying it with a value you cannot arrive at Farenheit. This is because the relation between the two are not multiplicative but is in the form of two different formulae.
To add formula based conversions you use a different BeConverter file called "BeConverter Formula". This file does not have the "Value" attribute it instead has "To Equation", "From Equation" and "Constant" attributes apart from the two regular attributes "Unit" and "Symbol". Before we proceed please take a look at the Temperature folder for a better understanding of the files.
You would already be knowing how to create a category, so I'll skip that part. Now to add a formula based unit you can use the Tracker template titled "BeConverter Formula". The next step is to view and edit the attributes. This also has been explained above in the factor based conversion.
The formula based unit file must have its MIME type extension as "text/x-BeConverterFormula" (case sensitive and without the quotes, of course). If you use the Tracker template to create the file you need not bother to set it manually.
The "To Equation" attribute
This is the expression which is used to convert a unit to the base unit. The base unit must have its "To Equation" and "From Equation" fields as the letter "b" and must have the "Constant (k)" attribute as "1". For all other units you will use this "To Equation" attribute to write an expression that will be used to convert to the base unit. Here you can enter any expression that can be solved by the Initial value text box in the Converter window. For more information on what sort of expressions you can have read the "Using expresions" section of this manual.
In any case you are allowed to have one arbitary constant in the expression named "k" (without the quotes, not case-sensitive) whose value will be defined in the "Constant (k)" attribute.The "From Equation" attribute
This is the expression which is used to convert the base unit to all the other units. Please read the "To Equation" attribute section on how the base unit must be added. Here too you are expected to add expressions supported by BeConverter. Typically this formula would be the inverse of the "To Equation" attribute and vice versa.The "Constant" attribute
You can use one arbitary constant in the "To Equation" and "From Equation" attributes. That constant must be represented by the letter "k" (not case sensitive, no quotes). If you have such a constant its value must be defined here. Please note that in the "Constant" attribute you cannot have an expression. It has to be an absolute constant (numeric value).Apart from the above attributes the two regular attributes namely "Unit" and "Symbol" will also need to be filled. Confused? Have a look at the Temperature folder again.
Explaining this process is a bit difficult since a lot of interaction with the user interface is required. Explaining every minor click will be cumbersome both to read as well as write (for me). If you are completely new to BeOS the first best thing to do is read the BeOS User's Guide. The next best way is to open a category or two and observe and try to understand all you can... then get back to this manual.
|| Table of contents || Using BeConverter || Errors and solutions ||
Copyright © 2001 Ramshankar. All Rights Reserved.
All cited trademarks and registered trademarks are the property of their respective owners.


Some countries in Europe spend more money on health than other countries. Besides that, some countries make health insurance compulsory for their citizens, while other countries don't. But how much do the health spendings effect the health status of a country? The visualizations at this website should help the government of European countries to see if they should spend more money on health.
With the visualizations at this website a country should be able to see if the citizens in their country are healthy compared to other countries and if there is room for improvement. When they need improvement they can see on which specific health problem they should spend more money on and also where they can cut down the money from.
Obtained all the data from OECD.
To solve the problem, the visualization starts with the most important question: How much effect do health spendings have on the health of the citizens of a country? In the scatter plots this relationship is visualized between health spendings and 4 different health statistics: life expectancy, potential years of life lost, deaths from cancer and infant mortality rate. These variables are on the y-axis. On the x-axis you can see the total health spendings in % of the GDP of that country. The color of the dots is determined by the health spendings that come from the government in % of GDP. For the y-axis you can choose between the different variables with a drop-down menu.
The different variables in the scatter plot are:
More information about these variables you can find through the links on the left of this website.
Because you can choose between the different health statistics, a country can also see (if they should spend more money on health) on which specific health factor they should focus to improve.
After we determined the relationship between health spendings and the health statistics, it is time to get more insight in the spendings of a country. How much does a country already spend on health and is there even a possibility to spend more on health?
To get the answer to this question there is first a map of Europe where you can see how much a country spends on health (in % of GDP). How darker the color is, the more this country spends on total on health. When you click on a country, you get more insight in the specifics of the spendings. For this see Pie chart and donut chart.
To get more insights in the spendings of a country, the distribution of the health spendings and the distribution of the total spendings is visualized in the donut chart and the pie chart. You can update the pie chart by either clicking on a country in the map of Europe or on a dot in the scatter plot.
In the pie chart you can see how much from the total health spendings comes from the government. With this information, you know if the government already contributes to a big part of the health spendings or not. The variables at this chart are in % of the GDP.
In the donut chart you can see to which sectors the government spends their money. This variable is also in % of the GDP. With this information you can see if the government already spends a big part of their money to health or not. Besides that, if the government does not spend enough and the health is not good in that country, you can see from which sector the government can cut down the money.
Teska Vaessen
11046341


Toyota Raize Vs Maruti Vitara Brezza – Specs, Design Comparison
by Sahil KukrejaLet’s take a look at how Toyota’s Raize sub-compact SUV fairs against the Indian segment-leader, Maruti Suzuki Vitara Brezza
Toyota has launched its sub-4m SUV, Raize, on 5th November in Japan. Having a length of under 4 meters, Toyota may bring the Raize to India in the near future to pit it against other sub-compact SUVs like the Maruti Suzuki Vitara Brezza, Hyundai Venue, Ford EcoSport, etc.
Overall, both the Raize and the Vitara Brezza are only separated by marginal differences in terms of size. Here are the dimensions of the two –
| Dimensions | Toyota Raize | Maruti Suzuki Vitara Brezza |
| Length | 3,995 mm | 3,995 mm |
| Width | 1,695 mm | 1,790 mm |
| Height | 1,620 mm | 1,640 mm |
| Boot space | 369 litres | 328 litres |
Design
In terms of external styling, both the Vitara Brezza and the Raize have an overall boxy design. The Brezza has a more conventional design, and has aged a little compared to the Raize, which looks sporty and fresh.
At the front, the Vitara Brezza gets a chunky horizontal chrome grille, adjoined by the headlamps on both ends.  The turn indicators on the Vitara Brezza are independent rectangular units placed above the fog lamps, something we can also find on the Toyota Raize.
At the rear, the Vitara Brezza gets LED tail lamps on the top-end variant, along with a chrome strip bearing the car’s name. The conventional look is further aided by a faux skid plate and tiny rear reflectors. Expect the Raize to get a sportier design for the rear as well, with LED tail lamps and plastic inserts on the bumper to make the things a little more interesting.
The Vitara Brezza makes do with 16-inch alloy wheels, whereas the Raize gets 17 inchers. Also, both the cars come with a long list of monotone and dual-tone options.
Maruti Suzuki currently offers the Vitara Brezza with a 7-inch touchscreen infotainment system, integrated with Maruti’s Smartplay system, Android Auto and Apple CarPlay along with automatic climate control, steering-mounted audio and Bluetooth controls and armrests for both the front and rear passengers.
Over the latter, the Japanese-spec Raize gets an 8-inch floating infotainment system, along with a digital instrument cluster. The interiors of the Raize look more modern, as compared to the Vitara Brezza, however Toyota is yet to offer Apple CarPlay and Android Auto connectivity with its cars in India. There is a wide range of accessory options as well as TRD and Modellista kits with the Raize making it more appealing in Japan.
Engine
Maruti Suzuki has equipped the Vitara Brezza with only one engine, which is the Fiat-sourced 1.3-litre diesel unit, that produces 89 HP of peak power and 200 Nm of peak torque. The Japanese carmaker is also set to introduce a BS6-compliant petrol engine for the SUV sooner.
Toyota is offering the Raize with a a 1.0-litre, three-cylinder petrol engine which makes 98 HP of max power and 140 Nm of max torque, in Japan. The Japanese version of the Raize comes with a host of driver-assisted tech, but the most interesting addition is the optional 4WD configuration on all variants.
Price
The Vitara Brezza is currently priced between Rs 7.62 lakh to Rs 10.64 lakh (ex-showroom). On the other hand, the Raize reveal costs from 16,79,000 Japanese Yen (Rs 10.9 lakh approx.) for the base 2WD trim, to 22,82,200 Japanese yen (Rs 14.9 lakh approx.) for the top of the line 4WD variant.
Toyota could consider using the Raize’s platform for the next-gen Vitara Brezza but what is certain is that the Brezza will be manufactured at TKM’s plant from 2022.
Maruti Suzuki Vitara Brezza vs Toyota Raize Verdict
The Raize’s first impressions have been so well documented online and it could be an appealing product if Toyota decides to bring it to India. But, the Vitara Brezza is the segment leader and it is waiting to get a facelift as well with addition of new features. The rebadged Vitara Brezza carrying Toyota badge will be launched in the near future eliminating the need of a separate compact SUV from Toyota but Raize could have a say in the next-gen Vitara Brezza.


Clownfish
A layer of mucus on the clownfish's skin makes it immune to the fish-eating anemones's lethal sting.
Scientific Name: Amphiprioninac
Average Length:11 centimeters
Average Lifespan:7 years
Habitat:Tropical coral reefs
Bright orange with three distinctive white bars, clown anemonefish are among the most recognizable of all reef-dwellers.They reach about 11 centimeters in length,and are named for the multicolored sea anemone in which they make their homes.


* made with The Character Creator
This Kingdom is ruled by Justice and Equity.
Wishing the best to all of our athletes.
Life is like a ship at sea,
you never know what is ahead until it happens.
The dynasty of the Royal Family of Colchis dates back to the beginnings of the Greek era.
The location of the Kingdom being at the crossroads between Asia and Europe,
the wisdom of the King and Queen insurances peace and safety to all of its citizens.
King Aeetes led several wars and won thanks to his mighty Army and strong allies,
such as our local Heroes, our General and Commanders.
Art and nature lovers, the Royal Family has been funding many different programs across the country,
including about preserving our forests and national reserves.
The Kingdom being influential and its territory being huge,
it is natural to the Queen and Princess to also give to important charities fighting off hunger and poverty.
Several orphenages have recently opened across the country, as well as shelters for the needy.


To get started, click "Create Composition", then click on one of the function-buttons in the expression that appears.
Find:
Options:
Show Steps
Color Highlights
Function Complexity:
Type of problem:
Composition of Number
Plug in formula
Composition
Triple Composition
Difference Quotient
Difference Quotient Relatives
Render options:
Parentheses:
Brackets:
Roots:
Absolute Values:
Walkthrough Renderer:


Which proposed code change will result
in this code properly inserting commas?
Interchange the
line: writeThreeDigits(n%1000); with the
line: writeWithCommas(n/1000);.
- Change the line: writeWithCommas(n/1000);
to be writeWithCommas(n%1000);
- Change the test in writeWithCommas to
be if (n > 1000)
- Interchange the line:
System.out.print(n/100); with the
line: System.out.print(n%10);
in writeThreeDigits.
- Replace the line: writeThreeDigits(n%1000);
with the line: writeThreeDigits(n/1000);.
The problem is that the blocks of digits are put in
reverse order.


Many Machine Learning problems involve thousands or even millions of features for each training instance. Not only does this make training extremely slow, it can also make it much harder to find a good solution, as we will see. This problem is often referred to as the curse of dimensionality. Fortunately, in real-world problems, it is often possible to reduce the number of features considerably, turning an intractable problem into a tractable one.
Here we will discuss some of the most popular dimensionality reduction techniques: the principal component analysis PCA, Kernel PCA, and Locally Linear Embedding (LLE).
Principal Component Analysis (PCA) is by far the most popular dimensionality reduction algorithm. First it identifies the hyperplane that lies closest to the data, and then it projects the data onto it.
The following Python code uses NumPy’s svd() function to obtain all the principal components of the training set, then extracts the first two principal components
X_centered = X - X.mean(axis=0)
U, s, V = np.linalg.svd(X_centered)
c1 = V.T[:, 0]
c2 = V.T[:, 1]
PCA assumes that the dataset is centered around the origin. Scikit-Learn’s PCA classes take care of centering the data for you. However, if you implement PCA yourself (as in the preceding example), or if you use other libraries, don’t forget to center the data first.
Once you have identified all the principal components, you can reduce the dimensionality of the dataset down to \( d \) dimensions by projecting it onto the hyperplane defined by the first \( d \) principal components. Selecting this hyperplane ensures that the projection will preserve as much variance as possible.
W2 = V.T[:, :2]
X2D = X_centered.dot(W2)
Scikit-Learn’s PCA class implements PCA using SVD decomposition just like we did before. The following code applies PCA to reduce the dimensionality of the dataset down to two dimensions (note that it automatically takes care of centering the data):
from sklearn.decomposition import PCA
pca = PCA(n_components = 2)
X2D = pca.fit_transform(X)
After fitting the PCA transformer to the dataset, you can access the principal components using the components variable (note that it contains the PCs as horizontal vectors, so, for example, the first principal component is equal to
pca.components_.T[:, 0]).
Another very useful piece of information is the explained variance ratio of each principal component, available via the \( explained\_variance\_ratio \) variable. It indicates the proportion of the dataset’s variance that lies along the axis of each principal component. More material to come here.
pca = PCA()
pca.fit(X)
cumsum = np.cumsum(pca.explained_variance_ratio_)
d = np.argmax(cumsum >= 0.95) + 1
You could then set \( n\_components=d \) and run PCA again. However, there is a much better option: instead of specifying the number of principal components you want to preserve, you can set \( n\_components \) to be a float between 0.0 and 1.0, indicating the ratio of variance you wish to preserve:
pca = PCA(n_components=0.95)
X_reduced = pca.fit_transform(X)
Scikit-Learn offers yet another option to perform PCA, called Randomized PCA. This is a stochastic algorithm that quickly finds an approximation of the first d principal components. Its computational complexity is \( O(m \times d^2)+O(d^3) \), instead of \( O(m \times n^2) + O(n^3) \), so it is dramatically faster than the previous algorithms when \( d \) is much smaller than \( n \).
The kernel trick is a mathematical technique that implicitly maps instances into a very high-dimensional space (called the feature space), enabling nonlinear classification and regression with Support Vector Machines. Recall that a linear decision boundary in the high-dimensional feature space corresponds to a complex nonlinear decision boundary in the original space. It turns out that the same trick can be applied to PCA, making it possible to perform complex nonlinear projections for dimensionality reduction. This is called Kernel PCA (kPCA). It is often good at preserving clusters of instances after projection, or sometimes even unrolling datasets that lie close to a twisted manifold. For example, the following code uses Scikit-Learn’s KernelPCA class to perform kPCA with an
from sklearn.decomposition import KernelPCA
rbf_pca = KernelPCA(n_components = 2, kernel="rbf", gamma=0.04)
X_reduced = rbf_pca.fit_transform(X)
Locally Linear Embedding (LLE) is another very powerful nonlinear dimensionality reduction (NLDR) technique. It is a Manifold Learning technique that does not rely on projections like the previous algorithms. In a nutshell, LLE works by first measuring how each training instance linearly relates to its closest neighbors (c.n.), and then looking for a low-dimensional representation of the training set where these local relationships are best preserved (more details shortly).
There are many other dimensionality reduction techniques, several of which are available in Scikit-Learn.
Here are some of the most popular:


2 - Creating a new project
EditNow we want to make sure that everything is installed properly - and we want to set up the framework for our game. So we're going to make a new project, open it with FlashDevelop and test that it builds and runs.
In the command prompt, enter:
flixel tpl -n "FlixelTut"
This will create a new Flixel project using the blank template in the directory
FlixelTut
(as well as naming the projectFlixelTut
).Outside of the Command Prompt, launch FlashDevelop. Select
File > Open
and browse to where yourFlixelTut
directory was created. It should look something like this:Open the
FlixelTut.hxproj
file.Over on the right side of the screen, you should see your project. This will contain all the files that the template generated for us.
Next, let's make sure that our project builds and runs properly. By default, a fresh, new Flixel template project will launch the game in the
MenuState
. So go ahead and double-click to open that file from the project list. This file is a very basic (and empty) example of aFlxState
subclass. You can think ofFlxState
s a little bit like 'scenes'. When your game is running, one - and only one - state will be the active state. Anything 'added' to that state will be visible and accessible by the player, and, for the most part, will be segregated from other states in your game. They are great for having different sections of your game that are sort of in a bubble from one another, such as theMenuState
and thePlayState
(where the game is actually played). You'll see that, at least for now, theMenuState
only has two functions in it:create()
andupdate()
. When a state is loaded, itscreate()
function is called. This is where you want to initialize all of the things in your state.update()
is where all the real magic happens - it is called every 'frame' in your game (by default 60 times per second). When aFlxState
'supdate()
is called, it will callupdate()
on all of the objects that have been added to it. This is basically how everything in your game actually 'happens'. We will get to play with this more later on. For now, we JUST want to see that the whole thing works, so, we're going to add a simpleFlxText
object to this state.In
create()
, right before the line that sayssuper.create();
, add a new line and type the following:add(new FlxText(10, 10, 100, "Hello, World!"));
Then save your changes.
The Moment of Truth! Go up to the toolbar in FlashDevelop and choose 'Debug' and 'Flash':
Then, press the blue arrow next to 'Debug' (or hit
F5
) and you should see:It worked! You've built and ran your first HaxeFlixel project!
At this point, you could try building it for Neko, Windows and Android to make sure they all work as well. If you run into problems with any of those, double-check your code, check out the OpenFL installation information, and if that doesn't help, let us know on the forums.
This is only a small step towards bigger and better things! In the next part, we'll actually define the game we're going to be building, and start putting it together!


valtech is a new breed of digital agency uniquely designed to help business leaders succeed in a new digital economy.
I do consultancy work for different client, helping them developing their software solution.
I am also a trainer at Valtech Training.
Rebuild of the web site for flight's booking Paris, FR
Implementation of different REST services that are consumed by mobile application and also the legacy website to succeed a progressive migration.
Performance analysis of the different services and continuous optimization of the technical stack.
Participation to the realisation of continuous deployment and coding best practices.
Animation of coding workshop and helping to create coding convention.
Optimization of MongoDB queries and adding Jasmine tests.
Maintenance of legacy code.
Software factory: maven, perforce, git, jenkins, sonar.
Technologies: Java, Spring, Apache Camel, MongoDB, Tomcat7, REST, Soap, JUnit, AssertJ, Mockito, Jasmine, Cucumber, JMeter, Splunk, Guvnor.
Realisation of multiple web modules accessible through a portal: ISIS Paris, FR
Participation to the establishment of agile practices in the team.
Implementation of different functions in java for the backend and jquery for the front side.
Realisation of auto generation of documents in CSV, Excel or PDF.
Graphical overview for some modules.
Software factory: maven, git, jenckins et sonar.
Technologies:Java, Spring, Hibernate, MySQL, Jquery, Tomcat7, JfreeChart, OpenCsv, Mockito, FestAssert.
Creation of a community web plateform
Establishment of agile practice in the team.
Upgrading different services in Java with new methods to collect community data and exposed in REST.
Implementation of community module interface with AngularJs and Twitter Bootstrap.
Technologies:Java, AngularJs, Git ( Bitbucket), Twitter Bootstarp, Mockito, FestAssert.
Java Developer at Plastic Omnium
EBAMA : Business Account Management Application Paris, FR
Realisation of a new web platform for creation, update and tracking of active bank accounts of the company,
Implementation of differents database script, model, services, controllers and views,
Realisation of the technical documentation,
Establishment of agile practice.
Technologies: Java, Hibernate, MySql, Spring Web Flow, PrimeFaces , Maven, Eclipse, Svn, Mockito, JUnit.
Java Developer at Pages Jaunes
Seety : A website builder Paris, FR
Establishment of data bases (Cassandra and PostgreSql) and implementation of different business layers (model and services) and web interfaces (JS, NodeJS, HTML5, CSS3…),
Realisation of a Data Asset Management to manage a media collection (images et videos) and realise a search based on critera using ElasticSearch,
Réalisation of an E-commerce module with the integration of Paypal and Ebay,
Developpmemnt done in ATDD with TDD and integration tests.
Project managed in XP with my participation to slipt tasks, evaluate the charges and daily monitoring.
Technologies: Java/JEE (JDK7), Lime MVC, Guice, JSON (Gson), JavaScript, NodeJs, JQuery, CoffeeScript, HTML5, Backbone, Freemarker, Cassandra, Hector, PostgreSql, EclipseLink, ElasticSearch, Junit, Mockito, Jasmin, Maven3, Jetty, Karaf, Git, Eclipse, Jenkins, Sonar, Mantis.
Java Developer at RATP
Paris, FR
Uprage of web plateform for human resources management "SRH",
Adding new functions and updating databases (adding columns, updating data...),
Impelementation done in TDD and added integration tests.
Technologies: Java/JEE, JavaScript, Mysql, Hibernate, Junit, Mockito, Maven, Tomcat, Eclipse.
Java Developer at La Banque de France
Web plateform of the management of financial transaction: "Resat" Paris, FR
Adding a new MySql database, new business layes (model and services); web interfaces (SWF and JSF) using an existing archetype.
Impelementation in TDD with a hight code coverage.
Management of different developpement environments: development, test and production.
Upgrade of the web plateform for the management of internals orders "EDAI": add and update of interfaces.
Technologies:Java/JEE JSF, Spring Web Flow, Mysql, Hibernate, JPA2, Junit, Mockito, Guava, Maven, Tomcat 7.0, Jenkins, Sonar, Eclipse.


No Room Selected
Room
-- select an option --
Entrance
Bathroom
Kitchen
Bedroom
Comment
Room
-- select an option --
Entrance
Bathroom
Kitchen
Bedroom
Comment


NAPOLI
10"- KES 1,000 | 14" - KES 1,500 | 18" - KES 2,000
This is the simplest pizza you will find at our outlet. Only tomatoes and spices!
We have made it incredibly easy for you to access our pizza. All you need to do is create your order and we will deliver at your doorstep!
10"- KES 1,000 | 14" - KES 1,500 | 18" - KES 2,000
This is the simplest pizza you will find at our outlet. Only tomatoes and spices!
10"- KES 1,000 | 14" - KES 1,500 | 18" - KES 2,000
Do not miss out on our ecstatic pizza specially made for the vegetarians!
10"- KES 1,000 | 14" - KES 1,500 | 18" - KES 2,000
Enjoy this specially made mushroom pizza!
10"- KES 1,000 | 14" - KES 1,500 | 18" - KES 2,000
Enjoy this pizza made with fresh tomatoes and organic spices and strips of whichever meat you like!
10"- KES 1,000 | 14" - KES 1,500 | 18" - KES 2,000
Enjoy this pizza with small strips of beef for the conservative meat eater!
10"- KES 1,000 | 14" - KES 1,500 | 18" - KES 2,000
Enjoy you some Pepperoni!
10"- KES 1,000 | 14" - KES 1,500 | 18" - KES 2,000
Our ultimate seafood combination!
10"- KES 1,000 | 14" - KES 1,500 | 18" - KES 2,000
Explore the majestic sea by trying this pizza. We fell in love and so will you!
10"- KES 1,000 | 14" - KES 1,500 | 18" - KES 2,000
This seafood pizza is specially graced by sea minerals!
10"- KES 1,200 | 14" - KES 1,700 | 18" - KES 2,400
Free style pizza!
10"- KES 1,200 | 14" - KES 1,700 | 18" - KES 2,200
Get all your cravings under one order!
10"- KES 1,200 | 14" - KES 1,700 | 18" - KES 2,200
Choose whatever cheese you want and we'll make it happen!
10"- KES 100 | 14" - KES 150 | 18" - KES 200
10"- KES 150 | 14" - KES 200 | 18" - KES 250
PIZZA TOPPINGS EXTRA PEPPERONI, ITALIAN SAUSAGE, SALAMI, HAM, MEATBALL, BACON, CHICKEN, BEEF, BELL PEPPERS, MUSHROOMS, ONIONS, BLACK OLIVES, JALAPENOS, BANANA PEPPERS, FRESH TOMATOES, PINEAPPLE, ARTICHOKE HEARTS, SPINACH, BROCCOLI, SUN-DRIED TOMATOES, ROASTED GARLIC, FETA CHEESE


# Command-Option-Argument [![build status](https://secure.travis-ci.org/veged/coa.png)](http://travis-ci.org/veged/coa)
## What is it?
COA is a parser for command line options that aim to get maximum profit from formalization your program API. Once you write definition in terms of commands, options and arguments you automaticaly get:
- Command line help text
- Program API for use COA-based programs as modules
- Shell completion
- Subcommand extendibility by external node modules
### Other features
- Rich types for options and arguments, such as arrays, boolean flags and required
- Commands can be async throught using promising (powered by [Q](https://github.com/kriskowal/q))
- Easy submoduling some existing commands to new top-level one
- Combined validation and complex parsing of values
### TODO
- –Subcommand extendibility–
- Shell completion helpers
- Localization
- Shell-mode
- Configs
- Aliases
- Defaults
## Examples
````javascript require(‘coa’).Cmd() // main (top level) command declaration
.name(process.argv[1]) // set top level command name from program name .title(‘My awesome command line util’) // title for use in text messages .helpful() // make command “helpful”, i.e. options -h –help with usage message .opt() // add some option
.name(‘version’) // name for use in API .title(‘Version’) // title for use in text messages .short(‘v’) // short key: -v .long(‘version’) // long key: –version .flag() // for options without value .act(function(opts) { // add action for option
// return message as result of action return JSON.parse(require(‘fs’).readFileSync(__dirname + ‘/package.json’))
.version;}) .end() // end option chain and return to main command
- .cmd()
- .name(‘subcommand’) .apply(require(‘./subcommand’)) // load subcommand from module .end()
- .cmd() // inplace subcommand declaration
.name(‘othercommand’) .title(‘Awesome other subcommand’) .helpful() .opt()
.name(‘input’) .title(‘input file, required’) .short(‘i’) .long(‘input’) .val(function(v) { // validator function, also for translate simple values
return require(‘fs’).createReadStream(v);}) .req() // make option required .end() // end option chain and return to command
.end() // end subcommand chain and return to parent command
.run(process.argv.slice(2)); // parse and run on process.argv
````javascript // subcommand.js module.exports = function() {
- this
.title(‘Awesome subcommand’).helpful() .opt()
.name(‘output’) .title(‘output file’) .short(‘o’) .long(‘output’) .output() // use default preset for “output” option declaration .end()
};¶
## API reference
### Cmd Command is a top level entity. Commands may have options and arguments.
#### Cmd.api Returns object containing all its subcommands as methods to use from other programs.
 @returns {Object}
#### Cmd.name Set a canonical command identifier to be used anywhere in the API.
 @param String _name command name
 @returns COA.Cmd this instance (for chainability)
#### Cmd.title Set a long description for command to be used anywhere in text messages.
 @param String _title command title
 @returns COA.Cmd this instance (for chainability)
#### Cmd.cmd Create new or add existing subcommand for current command.
 @param COA.Cmd [cmd] existing command instance
 @returns COA.Cmd new or added subcommand instance
#### Cmd.opt Create option for current command.
 @returns COA.Opt new option instance
#### Cmd.arg Create argument for current command.
 @returns COA.Opt new argument instance
#### Cmd.act Add (or set) action for current command.
 @param Function act action function,
invoked in the context of command instance and has the parameters:

- Object opts parsed options

- Array args parsed arguments

- Object res actions result accumulator

It can return rejected promise by Cmd.reject (in case of error) or any other value treated as result.

@param {Boolean} [force=false] flag for set action instead add to existings
 @returns COA.Cmd this instance (for chainability)
#### Cmd.apply Apply function with arguments in context of command instance.
 @param Function fn`<br> **@param** *Array* `args`<br> **@returns** *COA.Cmd* `this instance (for chainability)
#### Cmd.comp Set custom additional completion for current command.
 @param Function fn completion generation function,
invoked in the context of command instance. Accepts parameters:

- Object opts completion options

It can return promise or any other value treated as result.

@returns COA.Cmd this instance (for chainability)
#### Cmd.helpful Make command “helpful”, i.e. add -h –help flags for print usage.
 @returns COA.Cmd this instance (for chainability)
#### Cmd.completable Adds shell completion to command, adds “completion” subcommand, that makes all the magic.
 Must be called only on root command.
 @returns COA.Cmd this instance (for chainability)
#### Cmd.extendable Adds ability to extend command by external node modules.
 @param String [pattern] Pattern of modules names to search.
Should be simple string with %s placeholder like coa-program-%s-subcommand or without it — it will be treated as module name prefix then. E.g. coa-program-.
 Node module should export function or Cmd object. Function will be passed to Cmd.apply() method of created subcommand object using Cmd.cmd() method. And Cmd object will be passed to Cmd.cmd() method.
@returns COA.Cmd this instance (for chainability)
#### Cmd.usage Build full usage text for current command instance.
 @returns String usage text
#### Cmd.run Parse arguments from simple format like NodeJS process.argv and run ahead current program, i.e. call process.exit when all actions done.
 @param Array argv`<br> **@returns** *COA.Cmd* `this instance (for chainability)
#### Cmd.invoke Invoke specified (or current) command using provided options and arguments.
 @param String|Array cmds subcommand to invoke (optional)
 @param Object opts command options (optional)
 @param Object args command arguments (optional)
 @returns Q.Promise
#### Cmd.reject Return reject of actions results promise.
 Use in .act() for return with error.
 @param Object reason reject reason

You can customize toString() method and exitCode property of reason object.

@returns Q.promise rejected promise
#### Cmd.end Finish chain for current subcommand and return parent command instance.
 @returns COA.Cmd parent command
### Opt Option is a named entity. Options may have short and long keys for use from command line.
 @namespace**
 **@class Presents option
#### Opt.name Set a canonical option identifier to be used anywhere in the API.
 @param String _name option name
 @returns COA.Opt this instance (for chainability)
#### Opt.title Set a long description for option to be used anywhere in text messages.
 @param String _title option title
 @returns COA.Opt this instance (for chainability)
#### Opt.short Set a short key for option to be used with one hyphen from command line.
 @param String _short`<br> **@returns** *COA.Opt* `this instance (for chainability)
#### Opt.long Set a short key for option to be used with double hyphens from command line.
 @param String _long`<br> **@returns** *COA.Opt* `this instance (for chainability)
#### Opt.flag Make an option boolean, i.e. option without value.
 @returns COA.Opt this instance (for chainability)
#### Opt.arr Makes an option accepts multiple values.
 Otherwise, the value will be used by the latter passed.
 @returns COA.Opt this instance (for chainability)
#### Opt.req Makes an option req.
 @returns COA.Opt this instance (for chainability)
#### Opt.only Makes an option to act as a command, i.e. program will exit just after option action.
 @returns COA.Opt this instance (for chainability)
#### Opt.val Set a validation (or value) function for argument.
 Value from command line passes through before becoming available from API.
 Using for validation and convertion simple types to any values.
 @param Function _val validating function,
invoked in the context of option instance and has one parameter with value from command line

@returns COA.Opt this instance (for chainability)
#### Opt.def Set a default value for option. Default value passed through validation function as ordinary value.
 @param Object _def`<br> **@returns** *COA.Opt* `this instance (for chainability)
#### Opt.input Make option value inputting stream. It’s add useful validation and shortcut for STDIN. @returns {COA.Opt} this instance (for chainability)
#### Opt.output Make option value outputing stream.
 It’s add useful validation and shortcut for STDOUT.
 @returns COA.Opt this instance (for chainability)
#### Opt.act Add action for current option command. This action is performed if the current option is present in parsed options (with any value).
 @param Function act action function,
invoked in the context of command instance and has the parameters:

- Object opts parsed options

- Array args parsed arguments

- Object res actions result accumulator

It can return rejected promise by Cmd.reject (in case of error) or any other value treated as result.

@returns COA.Opt this instance (for chainability)
#### Opt.comp Set custom additional completion for current option.
 @param Function fn completion generation function,
invoked in the context of command instance. Accepts parameters:

- Object opts completion options

It can return promise or any other value treated as result.

@returns COA.Opt this instance (for chainability)
#### Opt.end Finish chain for current option and return parent command instance.
 @returns COA.Cmd parent command
### Arg Argument is a unnamed entity.
 From command line arguments passed as list of unnamed values.
#### Arg.name Set a canonical argument identifier to be used anywhere in text messages.
 @param String _name argument name
 @returns COA.Arg this instance (for chainability)
#### Arg.title Set a long description for argument to be used anywhere in text messages.
 @param String _title argument title
 @returns COA.Arg this instance (for chainability)
#### Arg.arr Makes an argument accepts multiple values.
 Otherwise, the value will be used by the latter passed.
 @returns COA.Arg this instance (for chainability)
#### Arg.req Makes an argument req.
 @returns COA.Arg this instance (for chainability)
#### Arg.val Set a validation (or value) function for argument.
 Value from command line passes through before becoming available from API.
 Using for validation and convertion simple types to any values.
 @param Function _val validating function,
invoked in the context of argument instance and has one parameter with value from command line

@returns COA.Arg this instance (for chainability)
#### Arg.def Set a default value for argument. Default value passed through validation function as ordinary value.
 @param Object _def`<br> **@returns** *COA.Arg* `this instance (for chainability)
#### Arg.output Make argument value outputing stream.
 It’s add useful validation and shortcut for STDOUT.
 @returns COA.Arg this instance (for chainability)
#### Opt.comp Set custom additional completion for current argument.
 @param Function fn completion generation function,
invoked in the context of command instance. Accepts parameters:

- Object opts completion options

It can return promise or any other value treated as result.

@returns COA.Arg this instance (for chainability)
#### Arg.end Finish chain for current option and return parent command instance.
 @returns COA.Cmd parent command


---
layout: single
title: FireWire DMA Attacks for Memory Acquisition
date: '2009-03-19T01:21:00.000+09:00'
author: Joshua James
tags:
- Goldfish
- Memory Forensics
modified_time: '2012-06-17T06:28:05.240+09:00'
blogger_id: tag:blogger.com,1999:blog-2701259639305045003.single-5336980598205584070
blogger_orig_url: http://www.cybercrimetech.com/2009/03/another-random-link.html
---
Firewire exploits that can be used to dump, or even alter a target machine's RAM.
http://www.hermann-uwe.de/blog/physical-memory-attacks-via-firewire-dma-part-1-overview-and-mitigation
The same method is used by Goldfish to acquire RAM. For more information please see: Reliable Acquisition of RAM Dumps from Intel-Based Apple Mac Computers over FireWire


Medium prevents sites changing your scroll position whilst you're scrolling but keep scroll detection.
High disables all scroll detection, which might break some sites.


ANIMATED TOGGLES!
Fun exapmple of what we can do with just CSS, to make boring input elements fun again!!
Check Boxes
Apples
Oranges
Radio Boxes
Day
Night
Toggles


Cargo ship struck by fishing vessel, damaged
by Mikhail VoytenkoGeneral cargo ship was struck by 89-ton fishing vessel early in the morning Nov 14 in East China sea. Both ships were seriously damaged, cargo ship sustained hull breaches dents in superstructure area.
Details only for subscribers.
Annual subscription $750. For annual subscription, contact<EMAIL_ADDRESS>Subscribe if you want to receive accidents news ASAP and in full.


Please Note: This sample is provided for guidance only. The provided information, including samples and examples, is not guaranteed for accuracy or legality. Letters and other correspondence should be edited to fit your personal situation. Select and delete this paragraph before printing.
-----------------------------------------------------x
:
In the Matter of Dicky Yangzom :
: No. A XX-XXX-XXX
In her request for Asylum, Withholding :
of Removal, and Torture Convention Relief :
:
-----------------------------------------------------x
AFFIDAVIT OF NYIMA PHENTOK
I, Nyima Phentok, pursuant to 28 USC § 1746, declare that the following is true and correct:
My name is Nyima Phentok. I am the Vice President ___________, headquartered at 111 West 1 St., New York, NY 10000.
I am a United States Citizen. I was naturalized in November 2001. My alien number is: A XX-XXX-XXXX
___________ is a nonprofit, international organization with 5 offices across the world.
I have known Dicky Yangzom in my capacity as the Vice President of _________. She is a respected member of _______ in Chinese Occupied Tibet. She was a bold and courageous organizer and coordinator within the youth movement for Tibetan freedom.
Chinese government often suppresses the voice of Tibetan activists. Many young Tibetans living in Tibet have gone to jail and suffered police beatings because of their participation in nonviolent demonstrations.
Ms. Yangzom, who has helped organize these demonstrations, is known to Chinese authorities and is in danger of being arrested and jailed for her participation if she returns to China.
_____________________
Nyima Phentok
Sworn and subscribed on
___ day of May, 2013
____________________ Notary Public


Converts the given value
to a Tensor
.
tf.compat.v2.convert_to_tensor
tf.convert_to_tensor( value, dtype=None, dtype_hint=None, name=None )
This function converts Python objects of various types to Tensor
objects. It accepts Tensor
objects, numpy arrays, Python lists,
and Python scalars. For example:
import numpy as np def my_func(arg): arg = tf.convert_to_tensor(arg, dtype=tf.float32) return tf.matmul(arg, arg) + arg # The following calls are equivalent. value_1 = my_func(tf.constant([[1.0, 2.0], [3.0, 4.0]])) value_2 = my_func([[1.0, 2.0], [3.0, 4.0]]) value_3 = my_func(np.array([[1.0, 2.0], [3.0, 4.0]], dtype=np.float32))
This function can be useful when composing a new operation in Python
(such as my_func
in the example above). All standard Python op
constructors apply this function to each of their Tensor-valued
inputs, which allows those ops to accept numpy arrays, Python lists,
and scalars in addition to Tensor
objects.
Note: This function diverges from default Numpy behavior for float
and
string
types when None
is present in a Python list or scalar. Rather
than silently converting None
values, an error will be thrown.
value
: An object whose type has a registered Tensor
conversion function.dtype
: Optional element type for the returned tensor. If missing, the type
is inferred from the type of value
.dtype_hint
: Optional element type for the returned tensor, used when dtype
is None. In some cases, a caller may not have a dtype in mind when
converting to a tensor, so dtype_hint can be used as a soft preference.
If the conversion to dtype_hint
is not possible, this argument has no
effect.name
: Optional name to use if a new Tensor
is created.A Tensor
based on value
.
TypeError
: If no conversion function is registered for value
to dtype
.RuntimeError
: If a registered conversion function returns an invalid value.ValueError
: If the value
is a tensor not of given dtype
in graph mode.


--- layout: post title: 'HOW-TO: Turn your Mac mini into a media center' categories: [] tags: [] status: publish type: post published: true meta: _original_post_id: '' _original_import_author: John Duprey author: ---
jduprey
curious