Installation¶
Version 3.15.3 for version 1.10 of the CF conventions.
Operating systems¶
The cf package works only for Linux and Mac operating systems.
If you have a Windows operating system then you can use the Microsoft Windows Subsystem for Linux (WSL).
Python versions¶
The cf package is only for Python 3.8 or newer.
pip¶
cf is in the Python package index: https://pypi.org/project/cf-python
To install cf and its required dependencies (apart
from Udunits, and there are also some
optional dependencies which are not
automatically installed via pip
) run, for example:
$ pip install cf-python
$ pip install cf-python --user
To install cf without any of its dependencies then run, for example:
$ pip install cf-python --no-deps
See the documentation for pip install for further options.
Udunits¶
Udunits (a C library that provides support for units of physical
quantities) is a required dependency that is not installed by pip
,
but it can be installed in a conda
environment:
$ conda install -c conda-forge udunits2
Alternatively, Udunits is often available from operating system software download managers, or may be installed from source.
Note that some environment variables might also need setting in order for the Udunits library to work properly, although the defaults are usually sufficient.
See the required dependencies section for more details.
conda¶
To install cf with all of its required and optional dependencies, and the cf-plot visualisation package, run:
$ conda install -c conda-forge cf-python cf-plot udunits2
$ conda install -c conda-forge esmpy>=8.0.0
The second of the two conda
commands is required for
regridding to work.
Note that some environment variables might also need setting in order for the Udunits library to work properly, although the defaults are usually sufficient.
Source¶
To install from source (without any dependencies):
Download the cf package from https://pypi.org/project/cf-python
Unpack the library (replacing
<version>
with the version that you want to install, e.g.3.15.0
):$ tar zxvf cf-python-<version>.tar.gz $ cd cf-python-<version>
Install the package:
To install the cf-python package to a central location:
$ python setup.py installTo install the cf-python package locally to the user in the default location:
$ python setup.py install --userTo install the cf-python package in the
<directory>
of your choice:$ python setup.py install --home=<directory>
Note that some environment variables might also need setting in order for the Udunits library to work properly, although the defaults are usually sufficient.
cfa utility¶
During installation the cfa
command line utility is also
installed, which:
Dependencies¶
Required¶
Python, 3.8.0 or newer.
numpy, 1.22.0 or newer.
dask, 2022.12.1 or newer.
netCDF4, 1.5.4 or newer.
cftime, version 1.6.2 or newer (note that this package may be installed with netCDF4).
cfdm, version <IP_ADDRESS> or up to, but not including, <IP_ADDRESS>.
cfunits, version 3.3.6 or newer.
psutil, version 0.6.0 or newer.
packaging, version 20.0 or newer.
UNIDATA Udunits-2 library, version 2.2.25 or newer. UDUNITS-2 is a C library that provides support for units of physical quantities.
If the Udunits-2 shared library file (
libudunits2.so.0
on GNU/Linux orlibudunits2.0.dylibfile
on MacOS) is in a non-standard location then its directory path should be added to theLD_LIBRARY_PATH
environment variable.It may also be necessary to specify the location (directory path and file name) of the
udunits2.xml
file in theUDUNITS2_XML_PATH
environment variable, although the default location is usually correct. For example,export UDUNITS2_XML_PATH=/home/user/anaconda3/share/udunits/udunits2.xml
. If you get a run-time error that looks likeassert(0 == _ut_unmap_symbol_to_unit(_ut_system, _c_char_p(b'Sv'), _UT_ASCII))
then setting theUDUNITS2_XML_PATH
environment variable is the likely solution.
Optional¶
Some further dependencies that enable further functionality are optional. This to facilitate cf-python being installed in restricted environments for which these features are not required.
Regridding
esmpy, previously named
ESMF
with the old module name also being accepted for import, version 8.0.0 or newer. This is easily installed via conda with$ conda install -c conda-forge esmpy>=8.0.0
or may be installed from source.
Convolution filters, derivatives and relative vorticity
scipy, version 1.10.0 or newer.
Subspacing based on N-dimensional construct cells (N > 1) containing a given value
matplotlib, version 3.0.0 or newer.
Tests¶
Tests are run from within the cf/test
directory:
$ python run_tests.py
Code repository¶
The complete source code and issue tracker is available at https://github.com/NCAS-CMS/cf-python


@()
I'm Pere Villega, a software developer from Barcelona (now living in Dublin). I like coding, learning new stuff and creating apps that solve problems for people.


RDP promises to plough back income derived from natural resources in Erongo
Rally for Democratic and Progress (RDP), says it will plough back income derived from the natural resources in the Erongo Region to develop the region.
Addressing a rally at Omaruru, the party's vice-president, Kennedy Shekupakela says an RDP-led government will also focus on building more vocational training centres to aid the country in becoming a developed nation.


We focus on maths basics
A solid foundation in Maths will give your primary school child ability, confidence, and a good basis for moving to more advanced maths.
Maths Building Blocks
Guided learning through practice. Your child will start with easy problems and progress only when these skills have been mastered.
Set goals
Regular, short periods of practice help retention, learning and enthusiasm.
Rewards and incentives
Your child will love winning points and medals for regular participation and progress.
Reporting
Analyze your child's progress via a weekly email sent directly to your in-box. The report will provide details on activity and individual progress.
Flexibility
The activities are flexible. You can set a time limit for activities or have no time limit if you feel your child would be distracted by this feature.
Distraction free
We keep the activity screen very clean with no animation while the student is working. We don't show any timers so that the student doesn't feel under pressure. We use plain colors and large fonts for activity pages.
Levels
Levels are structured and progressive.
- Number bonds
- Addition and subtraction in stages
- Counting by twos, threes, fives and tens
- Basic word problems
- Addition strategies to 3 digits
- Subtraction strategies to 3 digits
- Multiplication basics
- Negative numbers
- Word problems
- Addition up to 4 digit numbers
- Subtraction up to 4 digit numbers
- Multiplication up to 10 x 10
- Multiplication 2 digits by 1 digit
- Division up to 10 x 10
- Fraction concepts
- Word problems
- Addition up to 5 digit numbers
- Subtraction up to 5 digit numbers
- Multiplication up to 12 x 12
- Division up to 12 x 12
- Decimals
- Fractions
- Word problems
Coming soon...
- Addition
- Subtraction
- Multiplication
- Division
- Decimals
- Fractions
- Algebra
- Word problems
Coming soon...
- Addition
- Subtraction
- Multiplication
- Division
- Decimals
- Fractions
- Powers and roots
- Algebra
- Word problems
About Maths on Mars
Maths on Mars was developed to help children who have not developed a strong number sense.
We created Maths on Mars as we found that other maths sites and correspondence / learning centre based approaches did not fully accommodate the needs of students with maths learning difficulties.
We have focused on providing strategies and guidelines for solving maths problems without relying solely on rote memorization. Students are encouraged to master methodologies before moving on to more advanced concepts. Like a pyramid each level of mathematics requires a broader base of more basic elements. Building a solid foundation at each level is important and we encourage students to work at their own pace.
We believe it is important for teachers and parents to be able to review the progress of students. To do so we have built in a dashboard and optional email reports for teachers and parents to provide detailed feedback on student progress.
The Maths on Mars team is based in Perth, Australia.
You can find answers to commonly asked questions on our FAQ page
Try it free!
Free
$0
- 1 student
- Access to pre-release Maths on Mars beta version
- Maths learning activities
- No credit card required
July offer
$15
- 1 student
- Access to pre-release Maths on Mars beta version
- Maths learning activities
- Maths on Mars Levels 1 - 6 (released before end 2016)
- Fantastic Support
- One-time fee only
Standard
$5 per month
- 1 student
- Access to pre-release Maths on Mars beta version
- Maths learning activities
- Maths on Mars Levels 1 - 6 (released before end 2016)
- Fantastic Support
- Parent and teacher feedback reports
- Mars mission activities
* All prices are in Australian dollars


Recco
Swipe through movie recommendations
View synopses, ratings, previews, and more
See a collection of movies you liked
Get Recco
Made by Spencer Yen and Alex Yeh © Recco


×
Success!
You are now logged in
this is the dashboard
Logout
Please select your Candidate:
Candidate 1
Candidate 2
Submit


Saving money is great, but can you do that with Disney+?
Source: Chris Wedel/Android Central
Best answer: No, as of now, there are no promo codes available for Disney+. However, some great deals are going on right now that can get you discounts on a subscription.
- Welcome to the kingdom: Disney+ (From $7/mo at Disney+)
Disney at a discount
With so many streaming services out there and each one having content unique to their service, it's not hard to find yourself with a few different subscriptions — and that means the dollars add up pretty quick. So finding ways to save a buck here and there is a great way to help out the budget while still getting the content you want, and Disney+ is going to have some content you will likely want.
As it stands now, Disney isn't offering any promo codes. However, there are a few different ways to get yourself a discount on your subscription.
Can you watch me now?
If you are a Verizon customer, then you might have the best deal of all. As the exclusive wireless partner for Disney+, it's giving customers a free year of Disney's new streaming service. It's important to ensure you have the right Verizon plan so that your Disney+ streaming comes through without a hitch.
Getting the deals
While it may not be an outright discount, there is a bundle for $12.99 that gets you Disney+, Hulu, and ESPN+ together. With this package, you get to catch all your favorite Disney content from Pixar, Marvel, Star Wars, NatGeo, and more as well as great shows on Hulu, and all the sports you could want from ESPN. If you were to purchase each of these services separately, you'd be paying about $18.
Also, if you know that you are going to love Disney+ for at least a year, then you can pay for an annual subscription for $70 — which breaks down to $5.83 per month.
Disney has a lot to offer on its new streaming service, from classics like Snow White and Mary Poppins to new favorites Toy Story and Coco. Aside from the prominent Disney shows, there is also going to be original content made only available on Disney+, including shows like the Mandalorian, Loki, Monsters at Work, Magic of the Animal Kingdom, and so much more.
Best of all: signing up gets you a seven-day free trial so you can test the service before committing to a payment plan.
Zooming our way
Disney+
Streaming all the livelong day
Disney+ is a great deal on its own, but when you compare it to other streaming services and what Disney has to offer, it's a great deal in general.
We may earn a commission for purchases using our links. Learn more.


I am an IT graduate from Richfield Graduate Institute of Technology. I am ambitious, passionate and hardworking. I am skilled in basic web page development, desktop application development, and database management.
Tools & Technologies used:
Projects will be displayed here...


I have had a lot of history of using opiates, primarily vicodin, oxycontin, percocet, and other commonly prescribed narcotic painkillers.
I have also had much experience with the feelings associated with the withdrawal symptoms which I almost 90% of the time will be completely aware of whenever I cease to take my pills.
I have no real pain, however, I purchase the pills off the street.
Recently, I have tried to quit again, and a new doctor I aquired prescribed me a patch for clonodine which lasts for 7 days straight!
I put it on 26 hours following my last use of opiates, and for the next 7 days I felt NO WITHDRAWAL symtoms to my awareness. It worked wonders. I have been taking Prozac for almost 6 years, and also a drug called Neurontin (for the past 3 years), both of which are prescribed to me for depression.
I do not smoke, however, I chew Nicotine Gum (for the past 2 years), and I drink an average of 4 cups of coffee a day. All of which did not change when I switched from abusing opioid painkillers to the mere application of a clonidine patch.
When I quit the narcotic analgesics, I also quit the habit of smoking marijuana. It has been about 15 days since that first day of being clean, and compared to other times I have tried to quit using drugs, this time has not been too hard. (although it is never easy)
Before I had quit this time, I had not been physically without some sort of opiate drug in my system for at least 3.5 weeks. This has been my experience with Clonidine.
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.


We periodically combine genomic sequences generated as part of our consortium with publicly available sequences. Our curated alignments do not include:
-
laboratory strains (adapted, passaged, recombinant, antiviral & vaccine experiments)
- sequences without a timestamp
- subsequent timepoints, if multiple timepoints are available
- duplicates (when more than one sequence is available for a single strain)
Remaining sequences are trimmed to their coding regions, codon aligned using MAFFT and inspected manually. At this step we discard:
-
low quality sequences (manual curation)
-
incomplete sequences (<95% of (NP+VP35+VP40+GP+VP30+VP24+L) ORFs length)
ORFs are arranged in sense orientation as follows:
Ebola: NP -NNN- VP35 -NNN- VP40 -NNN- GP -NNN- VP30 -NNN- VP24 -NNN- L
We periodically combine genomic sequences generated as part of our consortium with publicly available sequences. Our curated alignments do not include:
-
laboratory strains (adapted, passaged, recombinant, antiviral & vaccine experiments)
-
sequences without a timestamp
-
subsequent timepoints, if multiple timepoints are available
-
duplicates (when more than one sequence is available for a single strain)
-
sequences from identified hospital epidemics
Remaining sequences are trimmed to their coding regions, codon aligned using MAFFT and inspected manually. At this step we discard:
-
low quality sequences (manual curation)
-
incomplete sequences (<95% of (GP+NP) or (Z+L) ORFs length)
ORFs are arranged in sense orientation as follows:
Lassa S segment: NP -NNN- GP
Lassa L segment: L -NNN- Z


public static interface Display.PointerIcon extends PixelRectangle
Instances can be created via Display
's
createPointerIcon(pngResource, ..)
or createPointerIcon(pixelrect, ..)
.
Instance is destroy()
'ed automatically if it's associated Display
is destroyed.
Instance can be re-validated after destruction via validate()
.
Display.PointerIcon
must not be destroyed
while in use!
Display.PointerIcon
may be destroyed
manually after use,
i.e. when no Window
uses them
anymore.
However, this is not required.
PointerIcons can be used via Window#setPointerIcon(PointerIcon)
.
PixelRectangle.GenericPixelRect
| Modifier and Type | Method and Description |
|---|---|
void |
destroy()
Destroys this instance.
|
Display |
getDisplay() |
PointImmutable |
getHotspot()
Returns the hotspot.
|
int |
getStride()
Always neatly packed, i.e.
|
int |
hashCode()
Computes a hash code over:
display
pixelformat
size
stride
isGLOriented
pixels
hotspot
Dismissing the native handle!
|
boolean |
isGLOriented()
Always false, i.e.
|
boolean |
isValid()
Returns true if valid, otherwise false.
|
boolean |
validate()
Returns true if instance
isValid() or validation was successful, otherwise false. |
getPixelformat, getPixels, getSize, toString
int getStride()
Returns stride in byte-size, i.e. byte count from one line to the next.
Must be >= PixelRectangle.getPixelformat()
.bytesPerPixel()
* PixelRectangle.getSize()
.getWidth()
.
getStride
in interface PixelRectangle
boolean isGLOriented()
Returns true
if the memory is laid out in
OpenGL's coordinate system, origin at bottom left.
Otherwise returns false
, i.e. origin at top left.
isGLOriented
in interface PixelRectangle
int hashCode()
The hashCode shall be computed only once with first call and stored for later retrieval to enhance performance.
Computes a hash code over:
The hashCode shall be computed only once with first call and stored for later retrieval to enhance performance.
hashCode
in interface PixelRectangle
hashCode
in class Object
Display getDisplay()
PointImmutable getHotspot()
boolean isValid()
A PointerIcon instance becomes invalid if it's associated Display
is destroyed.
boolean validate()
void destroy()
Will be called automatically if it's associated Display
is destroyed.
Copyright 2010 JogAmp Community.


Come see our gorgeous resort and spa located conveniently in the middle of the Pacific Ocean! Only a minimum of a 12 hour flight from anywhere!


Star Wars movies
Starships
translation
A New Hope
The Empire Strikes Back
Return of the Jedi
The Phantom Menace
Attack of the Clones
Revenge of the Sith
The Force Awakens


PCB Design Editor
After the initial conversion of a schematic to PCB, it is time to learn how to manage EasyEDA’s PCB Design Editor.Canvas
Lots of PCB canvas attributes are the same as Schematic canvas attributes. The key is that you can set units in PCB canvas attributes.
PCB Tools
Layer Setting
Via
Super menu > Miscellaneous > Layer Options...
you can find the Layer Options Settings dialog.
In this dialog, you can change the layer’s Color and configure which layers are shown on the Layers Tool. If you plan to design a PCB with more than 2 layers, then you must tick Inner1 and Inner2 for a 4 layer PCB plus Inner3 and Inner4 for a 6 layer PCB.
Layers Tool
Active Layer: The colours of the layers in the Layers Tool are defined in the Layer Options Settings. To work on a layer then you must make it the Active layer. To do this; click on the coloured rectangle representing the required layer. The pencil icon in the coloured rectangle, indicates that this is the active layer.
Show/Hide layers: click on the eye icons to show/hide layers.
In the example below, the Top Layer is the active layer and all layers are shown:
In this image the Top layer is the active layer.
In this image the Bottom layer is the active layer.
In this image, the Top layer is active and the bottom layer has been hidden
HotKeys for layer activation:
T: Top Layer is active
B: Bottom Layer
1: Inner1 Layer
2: Inner2 Layer
3: Inner3 Layer
4: Inner4 Layer
Track
In the schematic editor, we use Wire or the W
Hotkey to connect Pins: in a similar way in the PCB editor, we use Track to connect Pads. Track allows you to draw PCB tracks and can be found on the PCB Tools palette or using the W
Hotkey (not T: see above!).
Some Tips about Track.
-
Single click to start drawing a track. Single click again to pin the track to the canvas and continue on from that point. Right click to end a track. Double right-click to exit track mode.
-
Changing the active layer at the same time to drawing a track, will automatically insert a Via:
If you start drawing a track on the top layer - you will see it drawn in red - then press the B key to change to bottom layer and you will see EasyEDA insert a grey via and then the track will continue being drawn but now on the bottom layer in blue.
-
Pressing the + or - Hotkeys when drawing the track will change the width of the track on the fly.
-
Double clicking the on a drawn section of track will add a new vertex at that point. You can drag the vertex to form a new corner.
-
Click to select the track and then Click and Drag on a segment of track adjusts the segment between vertices.
-
Pressing the L Hotkey when drawing the track will change the track’s Route Angle on the fly.
Footprint attributes
When selecting a Footprint, you can find it’s attributes at the right hand Properties panel.
Layer: You can set a footrpint to be on the Toplayer or Bottomlayer. Note that the footprint mirrors when swapping layers.
X-Location and Y-Location: Move the origin of the footprint to a precise position.
Rotation: Rotates the footprint about it’s origin over the range from 0o to any angle in 1o steps (visually of course multiples of 360o will appear identical).
Layout A PCB Without Schematic
In some small PCB projects, maybe you don’t need a schematic. EasyEDA allows you to layout the PCB directly from the PCB Editor.
Start a new PCB as shown in the image below and you can add footprints directly from the PCB Libs from Left Navigation List and then just track them.
Group/Ungroup
Just like Group/Ungroup in the Schematic Editor can be used to create a schematic lib symbol in, you can use Group/Ungroup from the PCB Tools palette to create a PCB Lib footprint in the PCB editor.
First, place Tracks and Pads on the canvas, then select all of them a click ** Group/Ungroup** to group them like the image below:
Ratline
When creating a PCB without Schematic, none of the pads on the Footprints have nets connecting them so there will be no ratlines. Rather than try to track the pads from scratch, it is a good idea to connect them up by hand first using Ratline from the PCB Tools palette. This will help you to remember to track the pads correctly with fewer mistakes. You can could also do this by setting netnames for all the pads: if the two pads are given the same net name then EasyEDA will understand that they are connected together and will automatically create a ratline between them.
Solid Region in PCB
EasyEDA has added a new tool Solid Region for PCB design
This is a very useful, quick way to connect Pads:
You can draw a Solid Region to include all of these pads with same net name, then set the region to the same net name as the pads. It is like Copper Area but easier to use for small areas. To use Solid Region like this, set the Type attribute (in the right hand Properties panel) to Solid,
The Solid Region can also be used to create a cutout in a copper area.
If you have a copper area but need an area inside it to not be filled then you can draw a Solid Region and set the Type attribute (in the right hand Properties panel) to Cutout , then this area will be free of copper, as shown in the image below:
Lastly, by setting the Type attribute (in the right hand Properties panel) to NPTH, Solid Region can be used to create a Non Plated Through Hole of an arbitrary shape.
When the Gerber files are generated, an area defined by a Solid Region set to a Type NPTH such as shown in the image below, will create an area defined to be a NPTH hole.
Board Outline
Before placing footprint we need to create a board outline. The board outline must be drawn on the BoardOutLine layer. So first, set BoardOutLine as the active layer, then draw the board outline using Track and Arc from the PCB Tools palette.
When converting a Schematic to PCB, EasyEDA will try to create a board outline for you.
The area of the default board outline area is 1.5 times the sum of the area of all of your footprints, so you can place all of your footprints into this board outline with some allowance for tracking. If you do not like the board outline, you can remove the elements it is made up from and draw your own.
The top left corner of the outline is drawn as an Arc simply to illustrate that EasyEDA supports drawing arcs as part of a board outline.
To create a simple rectangular board outline, this arc can be removed and the line X and Y end points edited - either directly in the Properties panel or by dragging the line ends - to close the rectangle.
Alternatively, an outline with more rounded corners can be created by copying the arc and rotating it in 90 degree steps to position it over the desired right angle corners and then editing the line X and Y end points - either by dragging the line ends or directly in the Propertiespanel - to overlap the arc end points (also shown but not editable in the Properties panel).
Design Manager
Just like Schematic’s Design Manager, PCB’s Design Manager can be found via:
Super menu > Miscellaneous > Design Manager,
or just press the CTRL+D
hotkeys to open the Design Manager dialog.
In this dialog, you can:
-
Click a component to highlight it.
-
Check/uncheck a component to show/hide it.
-
Filter to find a component or net.
-
Click a net to highlight the tracks/vias with the same net.
-
Check/uncheck the net to show/hide the net. For example, very often you may want to use this to hide a GND or supply net which has had a copper flood added to turn it into a plane and then show it again later.
-
Double click the net to remove all of the track and via with the net name. If you want to reroute a net, this is the recommended method to use to unroute it first.
Import Changes
Sometimes, while working on a project, you need to make changes to the schematic and then update your board, to incorporate them.
It's easy to do this with EasyEDA.
Go to the PCB Editor,
Super menu > Miscellaneous > Import Changes
Or click that button at the tool bar
If you change the schematic, you will get a Confirm Importing changes information dialog:
If you are happy with your changes, just click the Apply Change button.
The changes will then be passed into the PCB layout and you can then adjust the tracking to suit.
Invalid Packages
Some times, when you try to convert a schematic to a PCB, you will get an error message dialog like below. Don’t worry, it is easy to fix this problem.
From the error message, you will find that the symbol’s PIN number is different from PAD number. How cause that? Check the below image,
From the image, we can get the PIN number in the schematic symbol is marked as C, but the PAD Number in the PCB Footprint is mark as K. Now you have know the problem, how to fix this?
Solution one, Change the schematic symbol. Using PinMap function. Change the PCB PIN from C to K. And save your schematic again.
Solution Two, Modify the Footprint. Edit the Footprint, change the PAD from K to C. So, we should aware that PIN number should be the same as Pad number.
Measure
Making and adding measurements is useful in PCB design. EasyEDA provides two methods to do this.
-
Dimension tool in the PCB Tools palette:
-
Measure a distance use M Hotkey: press M, then click the two points which you would like to measure.
Copper Area
Sometimes you will want to fill in or flood an area with copper. Usually this copper area will be connected to a net such as GND or a supply rail. You can draw the outline of a flood using the Copper Area button from the PCB Tools palette.
When selecting a copper area, you can find it’s attributes from the right hand Properties panels.
Layer: Bottom, Top, Inner1, Inner2, Inner3, Inner4;
Net: the net that the copper area is connected to;
Clearance: clearance of the copper area from other nets and floods;
Pad Connection: direct or spoke (i.e. a cross shaped heat shunt);
Keep Island: Yes/No. This keeps or removes any isolated areas of copper created as part of the flooding process. It is usually good practice to removes these unless you really need them to maintain a more even spread of copper (copper balance) on your PCB);
Fill Style: No/Filled. No removes the fill so that you can see the tracking more clearly;
After drawing the copper area, set the net it is to be connected to (floating copper areas are not recommended because they can cause EMC and Signal Integrity (SI) problems).
Lastly, don’t forget to click the button Rebuild CopperArea to rebuild the flood.
Two Tips:
- Hotkey
Shift+B
to build all of the copper areas. - Hotkey
Shift+M
to clear all of the copper areas.
Real Time DRC
**Super menu > Miscellaneous > Design Rule Check **
to open the DRC setting dialog:
This is a big feature of EasyEDA. It is hard to fix DRC errors after layout the PCB. Now EasyEDA will let you know the error in routing. You will find a X
flag to mark the error, such as Track to Track or Track to PAD like bellow image
.
TIP: When you convert a schematic to PCB, the real time DRC is open. In the old PCB, the real time DRC is closed. you can open it via Supper menu-> Miscellaneous->Design Rule Setting, like bellow image.
.
##Track and Net length
when select a track, you can find it's Length attribute in the right panel.
When select a track, then press H
key, EasyEDA will highligh the whole net and pop a message box to tell you the whole net's length. like bellow image
##HOLE There are lots of users don't know using PAD or VIA as a HOLE, they asked EasyEDA for help, so EasyEDA add a HOLE TOOL in the PCB toolbar.
##Photo View
EasyEDA has not a 3D View at present, but we provide a nice Photo View to help you to check the PCB. There is a PhotoView
button on the PCB document toolbar, like bellow image. If you can't see this button, try to reload again.
.
After convert PCB to Photo View, you can see bellow image. .
In this view, you can find some components are too closest and silk layer on the Pad, bad Footprint etc.
Bellow image is a blue and purple board. .
##Place a Via On a Track
When placing a via
on a track, the track will be cuted to two segments. Place two vias on a tracks, you will get three segments, then you can change one segment to other layer id, or remove one of them.
.


Shrek (2001)
Most of the 89 minutes of the computer animated SHREK are a delightful lampoon of fairy tales. The trouble is, SHREK ends up following the same sanitized formula at which it had been thumbing its nose.
DreamWorks SKG has translated William Steig's children's book into a slick story to hold the attention of today's audiences. It's really a clichéd tale, when you think about it – an outsider in the form of the big green ogre Shrek( voiced by Mike Meyers, with a Scottish, who wants his privacy back when all kinds of storybook characters, evicted from their abodes, show up in Shrek's part of the forest; Shrek takes a sidekick (the Donkey is voiced by Eddie Murphy, by far the best voice actor in the movie) and commences a quest to find Princess Fiona (Cameron Diaz).
Sound familiar? Needless to say, you can see the ending from across the forest, even through all of the trees.
There are lots of good things SHREK has going for it, though.  And something grand happens to him at the end, as well.
 When it tries a pitch as high as Fiona's, the camera pans away and we sense the bird has exploded! What happens to the three eggs in its nest? Fiona fries them and serves them to Shrek and Donkey! SHREK is at its best when it tries to emulate the spirit created by POLITICALLY INCORRECT BEDTIME STORIES.
Directors Andrew Adamson and Vicky Jenson pace the story well enough, and use the animation for all kinds of delightful effects. I would recommend seeing SHREK if you ever were a fan of Mother Goose, The Brothers Grimm; alas, if you are a fan of Disney films, you will not be disappointed at the end, but you will have to sit through some archly funny moments.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Author:
Robbert de Groot
Copyright:
2012, Robbert de Groot
License:
MIT
A simply directory synchronization program. It will make a directory exactly match another directory.
zsync [sourcePath] [destinationPath] [-e[.ext]+]
The reason I wrote this tool is because I just needed something simple to synchronize my working directories on the hard drive of may main machine to a directory on a Network Attached Storage unit (NAS). I found a lot of tools that would do this out there but a lot have become overly complicated and not what I am looking for.


--- layout: default title: Contact Me description: "Say something; I'm giving up on you" class: contact parent: Contact ---


Bitcoin (BTC) Futures Markets Hit $5B Daily Volume
by Christine VasilevaThe Bitcoin (BTC) market has evolved to include the simplest kind of derivative financial products – futures contracts. Those markets now reach $5 billion in daily volumes, taking a significant chunk from spot trading markets.
Bitcoin Price Discovery Shifts to Futures Markets
Bitcoin price discovery mechanisms have shifted in 2019, as the effect of futures is felt more strongly. Those markets invite traders betting only on price moves, with little regard for BTC scarcity or the real-world adoption of the asset.
And since BTC is notoriously volatile, trades are made on the back of its dollar price. The latest estimations see the futures volumes reach as high as $5 billion per day.
Those volumes include both the cash-settled futures of the CME, perpetual swaps on BitMEX and OkEX, and also physically-delivered bitcoin futures on Bakkt and Binance JEX.
Futures Markets Compete with Spot Price Discovery
The effect of futures is most easily seen in countering BTC whales. Even traders without access to actual Bitcoin can bet on the price. At the same time, whales can try to affect the spot market, by direct selling. Futures markets also don’t reflect demand for actual BTC usage beyond price speculation.
Bitcoin trading volumes remain close to $18 billion in 24 hours, still with a prevalence of spot markets. But the futures markets also react with immediate daily growth. In the past days, the Bakkt futures set a series of records in trading and open interest.
Bakkt volumes still fluctuate, but show that traders are waiting on the sidelines, especially during times of higher BTC volatility. As the Skew statistics show, the past few days in November saw futures markets immediately react with higher volumes, as BTC prices posted more dramatic daily moves.
BTC futures also point to a new development of market sentiment. Spot markets, on the other hand, have been unpredictable in the past, as bot activity and whales could alter trading within hours.
Bitcoin traded at $7,589.05 on average, with BitMex futures markets at $7,600.50. BitMex alone was responsible for $2.4 billion in reported volumes on Friday.
What do you think about the effect of BTC futures? Share your thoughts in the comments section below!
Images via Shutterstock, Twitter @Futurestracker @Bakktbot @Skewdotcom
The Rundown


The latest version is 1.8 To update, remove the watchface from your watch and then load it again from your locker.
The iOS version has to go through the Apple Store approval process - so there will be a delay before iOS users are able to download the latest version. Wait for the Pebble app to update, then try updating the watchface. (original comment, I havn't access to an iphone)
Android users do not need to wait for the Pebble app to update before updating the watchface.
Battery Status Bug fixed: on my phone there was never the new style battery
object. But after updating my phone to android 6.0 the battery object was found.
Since so far I havn't implemented this, the battery level was out of order.
I have no android 5 phone, so I don't know if this phones were also affected.
So, if you are using android 6 it may not be neccessary to install the small JSON-Server.
Compiled for pebble time with sdk 3
Problems with actual_time - on "old pebble" the pointer
was persistant and points to a valid time struct. In pebble time
this seems not to work.
Changed the german zwanzig nach into zehn vor halb – no font change should be neccessary, will see if I have it right in mind (thanks to dersvenhesse)
For battery status of phone you need still the android app, the sandbox of pebble still does not support battery status object.
Changed behaviour of shaking your wrist. Instead of switching on or off the information according to the time table I show an different layout with the following information timetable things (if set) bar for battery (if set) bar for phone battery (if set) text percent for phone battery / battery Date Time not fuzzy but exact shaking wrist can be switched off in configuration
On Android it is possible to show the battery level of the phone as second bar. You need a service running on android. The apk and the sourcecode you will find on github. AndroidServerJSON auf github
In the moment I check every minute if I have no information about phone battery level and check every 30 Minutes if I have the information so the battery bar.
So don't enable this, if you don't have a service running on your phone which delivers the battery status cause you will send every minute a bluetoothquestion to your phone
bug in setting custom language strings bug in storing the custom language (both in the web-page configure-fuzzy...)
found a bug in timetable functionality - strange, it was working sometimes don't know when I inserted this bug ...
It's possible to customize an own language. In Settings on phone you can use Language type custom and by using the CusLa Tab you can edit two textareas with your language entries. Added an example of bavarian language.
This version is not really tested, I'm still in the process of learning (ok, will never stop it ...) and I need to handle with some dynamic memory allocation which always can cause prolems. If you had problems with a custom language write an email to me.
Timetable persistant on the watch, if mobile is connected there should be no difference.
Start version of "my app". Based heavily on the original work. I needed an example to look how it works and after that I have some ideas to fit the app to my needs. So it becomes an extended version called TimeTable edition.
Modifications
Additions (configurable)
TimeTable. It's possible to define a table per day which represents the lessons. Eg: I have to hold a lesson on Monday from 9:45 to 11:15 am -> can put it into the timetable and you can mark it at your own lesson (see warnown)
ATTENTION: I haven't put the timetable into the persistant storage, so if you start the watchface and your mobile is not connected there will be now entries in the timetable (I think I will fix it, done in version 1.3.1)
Option warnown: 5 minutes before next own lesson starts, the watch will vibrate.
Weekend mode: tap_event is handled, so if you move the watch fast the done and warnown options will be turned off or on


CAAT & Box2D
Controls:
- Mouse click to generate an impulse on screen Bodies.
This demo features the following elements:
- Minimum integration of box2d and CAAT.
- Edge and circular body definition.
- Lifecycle of a CAAT actor and its box2d delegate.
For a deeper box2d demo see Basket Game.


{% extends "base.html" %} {% block title %}{{ user.username }}{% endblock %} {% block content %}
You have no invitations open. Go invite someone yourself, from the participants list of the jam you want to participate in.
{% else %}| Jam | Team | Members | ||
|---|---|---|---|---|
| {{ loop.index }} | {{ invitation.team.jam.title }} | {{ invitation.team.name }} | {% for m in invitation.team.members %} {{ m.get_link(real=False) }} {% endfor %} | Decline | Accept | Details |


Class DeviceConfiguration
Represents the configuration for an ASCOM Alpaca device
Inheritance
System.Object
DeviceConfiguration
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
Namespace: ES.Ascom.Alpaca.Client.Devices
Assembly: ES.Ascom.Alpaca.Client.dll
Syntax
public class DeviceConfiguration
Properties
| Improve this Doc View SourceApiVersion
The ASCOM Alpaca API version to use to communicate with the device
The only available version is v1
Default value is v1
Declaration
public string ApiVersion { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String |
ClientId
The client ID
Declaration
public int ClientId { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
DeviceNumber
The device number of the device
Default value is 0
Declaration
public int DeviceNumber { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
Host
The host to use to communicate with the device
This can be an IP address or a host name
Default value is <IP_ADDRESS>
Declaration
public string Host { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String |
LongTimeout
Timout duration in seconds that have to be use for long running synchronous operation
Default value is 120 seconds
Declaration
public int LongTimeout { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
Port
The port to use to communicate with the device
Default value is 11111
Declaration
public int Port { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
Protocol
The protocol to use to communicate with the device
Default value is http://
Declaration
public string Protocol { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String |
Methods
| Improve this Doc View SourceGetBaseUrl()
Builds the base URL based on the set parameters
With default parameters the returned URL will be http://<IP_ADDRESS>:11111/api/v1/
Declaration
public string GetBaseUrl()
Returns
| Type | Description |
|---|---|
| System.String |


--- layout: post title: Radon Labs R.I.P. 2000-2010 date: '2010-06-06T11:24:00.001+01:00' author: Andre Weissflog tags: modified_time: '2010-06-06T11:24:08.241+01:00' blogger_id: tag:blogger.com,1999:blog-2948438400037317662.post-8031338357616892149 blogger_orig_url: http://flohofwoe.blogspot.com/2010/06/radon-labs-rip-2000-2010.html ---
Just a quick update, because I don’t have a lot of time for blogging at the moment. As you may have noticed, Radon Labs is no more. The plug was pulled on the planned financing model for the next Drakensang, and in the end we had to pull the plug on the company. The good news in all of this is that there were a lot of interested companies to help us keep the ball rolling, and since Tuesday last week we’re a part of Bigpoint which opens up a lot of new, very interesting directions where Drakensang and the technology behind it will move in the future (obvious hint: the net may play a very important role). Unfortunately it’s too early for me to answer questions regarding Nebula in any meaningful way. We’re currently busy getting to know our new comrades, plotting strategies and making plans.


Automatically delete cookies from
websites I haven't visited recently.
How many days of web search history
to look at to determine which cookies to keep. For example, if the value is 30 then
all cookies from websites visited in the past 30 days will be kept.


WM
Welvin Medina
Admin
Edit Username
Change Avatar
Manage Site
Account settings
Sign Out
Home
Customer
3
Cases
Suppliers
9
Inventory
DENTAL LABORATORY
Purchase Order Details
Print PO
Edit
Receive
New Transaction
New Purchase Order
Purchase Order Information
Supplier Contact:
Mr. Ralph Pagayon
Company:
Deew Plantation
Created On:
05/27/2016
Received on:
PO Number
PO-GR@C3
NEW
Appproved
Received
Order Details
Not yet Approve!
Edit Purchase Order
Approve Purchase Order
Billing Item
Teeth Number
Qty
Amount
Case Total
Emax
1,2,3,4
1
PHP 500.00
Subtotal
Total
PHP 500.00
PHP 500.oo
Order Details
Approved!
Edit Purchase Order
Print Purchase Order
Billing Item
Teeth Number
Qty
Amount
Case Total
Emax
1,2,3,4
1
PHP 500.00
Subtotal
Total
PHP 500.00
PHP 500.oo
New Purchase
Supplier
Email
PO#:
PO-GR@C3
Total
PHP 500.00
Billing Address
521 Int. Inocencio St. Pasay City
Purchase Order date
Requested Ship Date
#
ITEM
DESCRIPTION
QTY
Amount
Total
1
Default item dito
Emax
Baymax
Lorem ipsum dolor sit amet, consectetur adipisicing elit.
500
Add Row
Message displayed on PO
Subtotal
Discount Value
Discount Percent
PHP -200
TOTAL
PHP 500
PHP 200
Print Purchase Order
Cancel
Submit


DropIndex is used to drop an existing index of a table in a database.
This method may needs some privilege according to the database product and its version.
Examples
Following section demonstrates DROP-INDEX of the table(s).
using(var exc = cn.Executer())
{
// by table alias
var t0 = new Orders().AsQueryable();
exc.DropIndex(t0, t0.Indexes.First());
// by table type
exc.DropIndex<Orders>("index_name");
// by table name
exc.DropIndex("table1", "index_name");
}
vFa43T


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/vscode.20extension.20installs.20Lean.html ---
I just sent a PR for the VS Code extension, that will offer to install Lean for you if it can't find a working copy. It uses elan, and just runs in the VS Code terminal.
I've tested it on OS X, and it seems to work quite nicely.
Screenshot-2018-09-17-22.22.30.png Screenshot-2018-09-17-22.22.36.png
It automatically restarts the extension afterwards, so in good cases the whole Lean installation process could now be:
1) Install the VS Code extension
2) Open a Lean file
3) Click "Install Lean using elan" in the error box that complains you don't have Lean.
However I haven't tested this on Linux or Windows.
and I haven't thought hard about further diagnostics if something goes wrong (e.g. dependencies are unavailable).
If anyone feels up to trying out the PR version of the extension on Linux or Windows, please do!
Let me know if you need help --- running a vscode extension from source is delightfully easy.
Somewhat depressingly, the reason I did this was because this morning I realised just how badly my email inbox needed love and attention, and so I deleted Lean until I'd made some progress :-).
Sitting down after dinner tonight, my first thought was "huh, a nice opportunity to try making installation easier".
(For anyone keeping track, a tenure letter got written, and files for scholarship applications for a number of international PhD students got written, but my inbox is still unhappy...)
and for my own future reference, to make this work on Windows we'll have to ask VS Code to run elan in some sort of bash terminal, per instructions at <https://stackoverflow.com/questions/42606837/how-to-use-bash-on-windows-from-visual-studio-code-integrated-terminal>. It seems plausible that this could work for a bash terminal provided by any of git bash, linux subsystem for windows, or msys2, but I have no experience with these and I'm unsure whether VS Code would actually be able to find the installation elan created.
This looks nice! Though I suspect it only worked for you because you already had ~/.elan/bin
in your PATH - the PATH value of the VS Code process will not change when installing elan. What you could do is to just default to ~/.elan/bin/lean
as the executablePath
if that file exists
I'm not sure I like the installation being completely hidden from the user
I'm not sure I like the installation being completely hidden from the user
I'm quite sure that there a lot of users that do like it.
Good point about the PATH! :-) I'll investigate that later.
The compromise I was going for was minimising the number of interactions required during installation, while still showing on the screen what was going on --- so it gives focus to the terminal window doing the work, but doesn't require any interaction inside that terminal window.
A pretty reasonable alternative would be to require the user answers the one question that elan asks by default. (Perhaps maximising the terminal window first, so it's obvious to them they need to look at that window?) I could also add a "press any key to continue" prompt at the end, so they can see the end of the output from elan before the terminal window disappears and the extension starts.
Yeah, I was imagining something like that prompt. They may also want to at least decide between stable and nightly Lean - not that it matters much right now, or that the installer makes that particularly simple
I don't really understand why there is a choice to be made between stable and nightly Lean. Isn't elan deciding for itself on a per-project basis which version of Lean to give you anyway?
Scott, in your current workflow, where is the user supposed to make the decision about the project? We don't want them to manually touch a .toml
etc...
I mean, if it is a Lean file in an existing project, sure... then those choices have already been made by someone else. But if it is a new Lean file in an empty directory...
When you type leanpkg init
, how is the Lean version decided? Whatever is the logic there should be the default everywhere.
@Scott Morrison It's the default Lean version according to elan toolchain list
. Which is exactly what you can customize in the installer :)
Of course, if we're already integrating elan into editors, we may as well have a dialog for creating a new Lean package with a Lean version chooser. Not sure what to do about stand-alone files, though we may want to de-emphasize their use anyway (e.g. it may not be posible in Lean 4 to import a stand-alone file from another one)
I think we should mostly decide that all new users who don't know better want the tools to provide them with stable
as effortlessly as possible.
When they start looking at other peoples' projects, as long as they got started with elan
, those projects will magically use nightly-XXX
as desired.
And once they realise they need nightly-XXX
for their own projects, they can edit a leanpkg.toml
file themselves.
Hi @Sebastian Ullrich, how would you feel about having elan
try to install missing dependencies. Something as simple as:
if ubuntu then sudo apt-get install git libgmp-dev cmake else if osx then brew install cmake brew install gmp
would get most non-windows users going a bit faster
heck, in the osx branch add
xcode-select --install brew --version || /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
I'd be happy to make the PR, if something like this could be accepted.
The combination of VS Code giving a button to run elan, and elan attempting to fill in missing dependencies, could be very helpful.
I don't mean to be difficult, but I think that's a really bad idea to have elan
run apt-get
or brew
.
Why is that?
Who knows what state the user's computer is in?

I guess an alternative is to fail and say "hey, you might want to type apt install gmp
" or some such
Ok!
Sure, that's a good option.
Ok --- maybe I will continue tweaking the VS Code extension
I don't really see how an apt-get command like that will break anything, at worst it will fail
It is easy enough for it to analyze the error messages and tell you what to run.
I feel like for 99% of users that apt-get or brew command is going to be the right thing to do, and moreover for 90% of users they won't even know what it means when they run it. :-)
Even if it wouldn't break anything, it's a bad idea to install software without the user having control over it. And if the user doesn't know what it's doing, that's even worse.
Ok -- I will go with dialogs that provide hints.
don't package managers themselves do this routinely?
the user has control over the large scale execution, that is sufficient
I think it should ask the same questions you normally see in an installer, but otherwise go about its business completely automatically
complicated questions will just cause confusion, a power user doesn't need to use this method at all
e.g. elan
could show a prompt: "It looks like you don't have libgmp installed. Would you like to install this using brew install libgmp
?"
e.g.
elan
could show a prompt: "It looks like you don't have libgmp installed. Would you like to install this usingbrew install libgmp
?"
In order to do that, you need to know if brew
is installed.
Of course
but detecting the operating system is easy
And brew
in the $PATH
may not be the brew
you expect, so you'd have to test for the right brew
.
and running brew --version
is harmless, surely?
Maybe. But I'd still recommend giving the commands to the user and explaining it rather than doing it for them.
I mean, if someone has contrived to put an evil or nonfunctional brew on the $PATH, surely they can't be upset if an installer doesn't work as expected?
Having tried to clean up several broken attempts by mathematicians and students to install Lean by now, I would really like to take this stuff out of their hands :-)
I agree that power users don't want this!
If we're going to attempt something like this, it seems more sensible to me to put all the login in elan
, and then have the VS Code extension just call elan
.
Maybe. But I'd still recommend giving the commands to the user and explaining it rather than doing it for them.
No no, this is the source of too many problems
You're welcome to do what you like, but, from past experience, I know that it's a bad idea. I can't tell you exactly what will go wrong, because things change and systems are complex, but I'm pretty sure something will go wrong.
Seeing what someone at Dagstuhl had managed to do with their windows path was pretty terrifying. :-)
We already have a command sequence in a help file, it doesn't work half the time and the poor users don't know what to do
What if we instead put all the login in the VS Code, and
when something goes wrong
Talking about automatically fixing problems: If we detect windows, can't we just wipe it with a fresh Linux install?
For Windows, an installer would be best. For Linux, a package would be best. For Mac, Homebrew would probably be best.
 You may want to try running YYY
in a terminal"
I just said "I think you can safely remove all those, they're on another system"
"what's a terminal?"
:-)
A nice trick, because VS Code has an integrated terminal, is that we can actually pop up a terminal window
or worse - "I installed cygwin (on linux) but it couldn't find the path"
and paste in the command the user needs
BTW, there's a package manager for Windows: https://chocolatey.org/
leaving them to just press "enter"?
Does elan
currently do anything useful on windows? I have no idea.
I also noticed that some users, when you say "oh hold down shift", say "what's shift?" because a modern keyboard might well not have the word "shift" on it any more. Similarly for "enter" / "return".
why not run a command that prints out the sequence of brew/whatever commands it will send, and says (y/n)
Also, if you're going to do apt-get
and/or brew
, you'll want to update those first.
I'm pretty sure brew
auto-updates these days.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
And this is notoriously not secure.
Note our install instructions for elan are already of this form!
I haven't seen them, but it's still true. :slight_smile:
I'm not sure how you can in one line download and run a script from the internet without it being insecure
that's like the definition of insecure
In the end, it comes down to trust. https://brew.sh/ also suggests that command. I don't like it, but that's the way it is. In general, I would point to https://brew.sh when informing somebody to install brew
. That way, they can read the information and become informed about what it is before installing it. Yes, one could decide to ignore the information, but at least they've been given the opportunity.
Why do users need cmake
...?
That libgmp
isn't included is basically a bug; I think it was at some point. Anyway, calling sudo
may reasonably ask for a password, so the automatic installation should be in an interactive shell at the very least
I didn't have to install cmake, but I did have to install coreutils for leanpkg. This was on a machine with no preinstalled brew on which I didn't have root access. brew says it can be installed anywhere but some packages may not be happy in nonstandard locations; I didn't have any difficulties though.
Vscode could even install its own private brew installation
Maybe it was elan not leanpkg that needed readlink, I think it was
I just updated my PR to vscode-lean, so hopefully after the VS Code Lean extension offers to install elan
for you, it works first time (even though the $PATH has not yet been updated).
Testing on other systems much appreciated.
I've gone back to the more conservative model of not pressing enter for the user during the elan
script. :-)
Next up: testing this in Linux and Windows
after that, seeing if we can make elan
more helpful when dependencies are missing.
https://github.com/leanprover/vscode-lean/pull/91
{% endraw %}Last updated: Apr 24 2020 at 19:02 UTC


{% extends "user.base.html" %} {% set nav_bar = [ ("/#home", "Home", False) ] -%} {% block content %} {% with nav_bar = nav_bar %}
Please note that all applications are reviewed.
I agree to the MLH Contest Terms and Conditions and the MLH Privacy Policy. {{ render_field(field) }}
I have read & agree to the MLH Code of Conduct.
Feel free to include these links.


@@head
@@include('_benefit-item.html',{
"img": "img/pics/benefit-1.svg",
"text-1": "ECRO is easy to use and clear to any user who makes purchases through the Internet.",
"text-2": "In addition, working with ECRO provides a guarantee of customer funds safety and the security of transactions due to the use of blockchain technology."
})
@@include('_benefit-item.html',{
"img": "img/pics/girl.png",
"text-1": "Built-in online assistant ECRA based on artificial intelligence helps you quickly find the desired product and instantly make a safe transaction. ",
"text-2": "ECRA analyzes market demand indicators to offer users cross-products. Buyers have a huge choice of goods - from basic necessities to complex and expensive equipment, cars and even real estate - with the possibility of paying with cryptocurrency."
})
@@trader-head
@@include('_benefit-item.html',{
"img": "img/pics/benefit-3.svg",
"text-1": "ECRO helps business owners expand their audience and find new customers through access to a vast project community around the world.",
"text-2": "The use of blockchain technologies eliminates unnecessary intermediaries from the trading chain and completely solves the trust problem between counterparties."
})
@@include('_benefit-item.html',{
"img": "img/pics/benefit-4.svg",
"text-1": "Sellers receive all the basic modules that allow them to place and present their goods or services, accept, formalize and service orders, including crypto-merchants, which allow you to accept payments in cryptocurrency.",
"text-2": "In addition, ECRO marketplace helps sellers build an individual marketing strategy for promoting their goods and services."
})


Well, this was a unit during which I learned about Design Education. There were many vectors, some people decided to teach at High School some at younger age and I think I went alone to try and teach... Parsons students. Yyyeaah that was extremely stressful.
In the end there was a whooping amount of reading involved and a massive learning curve for myself as well (I think there was about 100 pages a week scheduled) and... you know in the end I decided to create something that well I learned a long time in life which was UX and deliver what UX was to Parsons students. I think I made a good attempt.
In the process I also learned lots about the different philosophies in terms of teaching and what I was learning and have learned. So, you know, Australia, Korea, Germany and the states and so on, probably even Poland was involved at some stage. I loved the spectrum I got to interact with. Fabulous times.


My talk submissions
-
{{submission.title}}
Status:
Under consideration
Check back later! ʘ‿ʘ
Rejected
Oh noes! Sorry, this talk didn't make the cut for {{vm.getFriendlyEventName(submission)}}. ಥ_ಥ
Approved
You're giving this talk at {{vm.getFriendlyEventName(submission)}}! ヾ(⌐■_■)ノ♪
{{submission.author}}
{{tag}}
Abstract
{{submission.abstract}}
Edit this talk


JavaScript Functions
This example calls a function which performs a calculation, and returns the result:


This is the main port of the country and is located approximately 40 miles up the Sai Gon river. A dredged channel leads through the shallow waters of the Mekong Delta.
The Coast Guard will probably intercept the vessel when it enters territorial waters and an attempt should be made to advise them on HF radio of one's destination and ETA. The port authorities should be contacted on Channel 16 before proceeding into the port.
Anchoring in the river is prohibited in the area close to the city. Port Control will give directions where to proceed. The port office and customs are located in the northern part of the commercial harbour.
Last updated July 2008.


| lead-lag {dplyr} | R Documentation |
Find the "previous" (lag()
) or "next" (lead()
) values in a vector.
Useful for comparing values behind of or ahead of the current values.
lag(x, n = 1L, default = NA, order_by = NULL, ...) lead(x, n = 1L, default = NA, order_by = NULL, ...)
x |
Vector of values |
n |
Positive integer of length 1, giving the number of positions to lead or lag by |
default |
Value used for non-existent rows. Defaults to |
order_by |
Override the default ordering to use another vector or column |
... |
Needed for compatibility with lag generic. |
lag(1:5) lead(1:5) x <- 1:5 tibble(behind = lag(x), x, ahead = lead(x)) # If you want to look more rows behind or ahead, use `n` lag(1:5, n = 1) lag(1:5, n = 2) lead(1:5, n = 1) lead(1:5, n = 2) # If you want to define a value for non-existing rows, use `default` lag(1:5) lag(1:5, default = 0) lead(1:5) lead(1:5, default = 6) # If data are not already ordered, use `order_by` scrambled <- slice_sample(tibble(year = 2000:2005, value = (0:5) ^ 2), prop = 1) wrong <- mutate(scrambled, previous_year_value = lag(value)) arrange(wrong, year) right <- mutate(scrambled, previous_year_value = lag(value, order_by = year)) arrange(right, year)


Research at CIID is broadly defined. We aspire to break the boundaries of current thinking in the design and use of people-centered, creative, and advanced technologies. CIID’s research interests are within Data & Ethics, Cultural Contexts, Climate Adaptation and Science & Design. We often work as a bridge within projects to find methods and tangible experience that bring deeply academic or scientific work out into the hands and lives of the public.
Our research is focused on fusing technological potential with a questioning, critical and creative viewpoint. Our aim is to create new thinking, systems and concepts that have a meaningful impact on research, community, education and people.
We believe that in understanding technologies and the contexts of their use, we can facilitate appropriation of future and emergent technologies into everyday lives and cultures. Technologies developed with social, design and artistic emphasis take more full account of our lived experience and the needs, desires and values.
Our research follows a set of continuously revised themes, put into practice through funded research, consortium, experimental projects and technology development initiatives.
We openly invite discussion regarding our existing research projects, new project ideas, collaborations, public events, exhibitions and publications. We are always interested to expand our current and upcoming roster of projects, to discuss please get in touch<EMAIL_ADDRESS>VIRT-EU is a H2020 project coordinated by the IT University of Copenhagen, in collaboration with researchers at the London School of Economics, Uppsala University, Politecnico di Torino, the Copenhagen Institute of Interaction Design and the Open Rights Group. To read more about the project see here.
Annelie Berner: PI, concept design and development, copywriting, design direction, content curation & strategy
Monika Seyfried: video-making, concept development, art direction
Raffaella Rovida: strategy & concept development
Peter Kuhberg: concept design & development, software development
Blair Johnsrude: graphic & interactive design, concept design & development, art direction
Calle Nordenskjold: graphic & interactive design, concept design & development, art direction
Irina Shklovski: PI, scientific coordinator, concept development, content curation, strategy, ethics framework, copywriting
Funda Ustek-Spilda: content curation, strategy, ethics framework, copywriting
Alison Powell: PI, ethics framework
Sebastian Lehuede: ethics framework
Javier Ruiz: ethical tools review, questions
Feel free to get in touch.
Annelie Berner


| 1013 | (A) | Tiłł he hade kythede his cure condethe he askes |
| 1017 | (C) | Tyłł he hadde done his dede & cure . a condyte he asked |
| 1000 | (D) | Til he had complete his cure conduyt he axid |
| 980 | (E) | tyl he hadde his cure ydoon . cundyt he askyd |
| (Ex) | ---- no text ---- | |
| 1038 | (L) | Tille he haue complet his cure condit he askeþ |
| 953 | (P) | To he had complet his ???? ???? he ask?? |
| 991 | (U) | Til he had complet his cure / cunduyt he axetħ |
| 78 | (V) | Till he had kithe his cure . condit he askes |


Live region edge cases
Set of test cases related to strange edge cases or bugs that have been discovered or fixed.
Bug 46924
:
Layout object reparented at same time as live region update


Support Vector Machines (SVMs) is a group of powerful classifiers. In this article, I will give a short impression of how they work. I continue with an example how to use SVMs with sklearn.
SVM theory
SVMs can be described with 5 ideas in mind:
- Linear, binary classifiers: If data is linearly separable, it
can be separated by a hyperplane. There is one hyperplane which
maximizes the distance to the next datapoints (support vectors). This
hyperplane should be taken:
$$ \begin{aligned} \text{minimize}_{\mathbf{w}, b}\,&\frac{1}{2} \|\mathbf{w}\|^2\\ \text{s.t. }& \forall_{i=1}^m y_i \cdot \underbrace{(\langle \mathbf{w}, \mathbf{x}_i\rangle + b)}_{\text{Classification}} \geq 1 \end{aligned}$$ - Slack variables: Even if the underlying process which generates the features for the two classes is linearly separable, noise can make the data not separable. The introduction of slack variables to relax the requirement of linear separability solves this problem. The trade-off between accepting some errors and a more complex model is weighted by a parameter $C \in \mathbb{R}_0^+$. The bigger $C$, the more errors are accepted. The new optimization problem is: $$ \begin{aligned} \text{minimize}_{\mathbf{w}, b}\,&\frac{1}{2} \|\mathbf{w}\|^2 + C \cdot \sum_{i=1}^m \xi_i\\ \text{s.t. }& \forall_{i=1}^m y_i \cdot (\langle \mathbf{w}, \mathbf{x}_i\rangle + b) \geq 1 - \xi_i \end{aligned}$$ Note that $0 \le \xi_i \le 1$ means that the data point is within the margin, whereas $\xi_i \ge 1$ means it is misclassified. An SVM with $C > 0$ is also called a soft-margin SVM.
- Dual Problem: The primal problem is to find the normal vector $\mathbf{w}$ and the bias $b$. The dual problem is to express $\mathbf{w}$ as a linear combination of the training data $\mathbf{x}_i$: $$\mathbf{w} = \sum_{i=1}^m \alpha_i y_i \mathbf{x}_i$$ where $y_i \in \{-1, 1\}$ represents the class of the training example and $\alpha_i$ are Lagrange multipliers. The usage of Lagrange multipliers is explained with some examples in [Smi04]. The usage of the Lagrange multipliers $\alpha_i$ changes the optimization problem depend on the $\alpha_i$ which are weights for the feature vectors. It turns out that most $\alpha_i$ will be zero. The non-zero weighted vectors are called support vectors. The optimization problem is now, according to [Bur98] (a great read; if you really want to understand it I can recommend it!): $$ \begin{aligned} \text{maximize}_{\alpha_i}\,& \sum_{i=1}^m \alpha_i - \frac{1}{2} \sum_{i=1}^m \sum_{j=1}^m \alpha_i \alpha_j y_i y_j \langle \mathbf{x}_i, \mathbf{x}_j \rangle\\ \text{s.t. } & \forall_{i=1}^m 0 \leq \alpha_i \leq C\\ \text{s.t. } & \sum_{i=1}^m \alpha_i y_i = 0 \end{aligned}$$
- Kernel-Trick: Not every dataset is linearly separable. This problem is approached by transforming the feature vectors $\mathbf{x}$ with a non-linear mapping $\Phi$ into a higher dimensional (probably $\infty$-dimensional) space. As the feature vectors $\mathbf{x}$ are only used within scalar product $\langle \mathbf{x}_i, \mathbf{x}_j \rangle$, it is not necessary to do the transformation. It is enough to do the calculation $$K(\mathbf{x}_i, \mathbf{x}_j) = \langle \mathbf{x}_i, \mathbf{x}_j \rangle$$ This function $K$ is called a kernel. The idea of never explicitly transforming the vectors $\mathbf{x}_i$ to the higher dimensional space is called the kernel trick. Common kernels include the polynomial kernel $$K_P(\mathbf{x}_i, \mathbf{x}_j) = (\langle \mathbf{x}_i, \mathbf{x}_j \rangle + r)^p$$ of degree $p$ and coefficient $r$, the Gaussian RBF kernel $$K_{\text{Gauss}}(\mathbf{x}_i, \mathbf{x}_j) = e^{\frac{-\gamma\|\mathbf{x}_i - \mathbf{x}_j\|^2}{2 \sigma^2}}$$ and the sigmoid kernel $$K_{\text{tanh}}(\mathbf{x}_i, \mathbf{x}_j) = \tanh(\gamma \langle \mathbf{x}_i, \mathbf{x}_j \rangle - r)$$ where the parameter $\gamma$ determines how much influence single training examples have.
- Multiple Classes: By using the one-vs-all or the one-vs-one strategy it is possible to get a classifying system which can distinguish many classes.
A nice visualization of the transformation of the data in a higher-dimensional space was done by
TeamGrizzly's channel: Performing nonlinear classification via linear separation in higher dimensional space on YouTube. 22.11.2010.
See also:
- What is an example of a SVM kernel, where one implicitly uses an infinity-dimensional space?
- SVM - hard or soft margins?
sklearn
sklearn
is the machine learning toolkit to get started for Python. It has
a very good documentation and many functions. You can find installation
instructions on their website.
It also includes sklearn.svm.SVC
.
SVC is short for support vector classifier and this is how you use it for
the MNIST dataset.
Parameters for which you might want a further explanation:
cache_size
: datascience.stackexchange.com
#!/usr/bin/env python
"""
Train a SVM to categorize 28x28 pixel images into digits (MNIST dataset).
"""
import numpy as np
def main():
"""Orchestrate the retrival of data, training and testing."""
data = get_data()
# Get classifier
from sklearn.svm import SVC
clf = SVC(probability=False, kernel="rbf", C=2.8, gamma=0.0073) # cache_size=200,
print("Start fitting. This may take a while")
# take all of it - make that number lower for experiments
examples = len(data["train"]["X"])
clf.fit(data["train"]["X"][:examples], data["train"]["y"][:examples])
analyze(clf, data)
def analyze(clf, data):
"""
Analyze how well a classifier performs on data.
Parameters
----------
clf : classifier object
data : dict
"""
# Get confusion matrix
from sklearn import metrics
predicted = clf.predict(data["test"]["X"])
print(
"Confusion matrix:\n%s" % metrics.confusion_matrix(data["test"]["y"], predicted)
)
print("Accuracy: %0.4f" % metrics.accuracy_score(data["test"]["y"], predicted))
# Print example
try_id = 1
out = clf.predict(data["test"]["X"][try_id]) # clf.predict_proba
print("out: %s" % out)
size = int(len(data["test"]["X"][try_id]) ** (0.5))
view_image(
data["test"]["X"][try_id].reshape((size, size)), data["test"]["y"][try_id]
)
def view_image(image, label=""):
"""
View a single image.
Parameters
----------
image : numpy array
Make sure this is of the shape you want.
label : str
"""
from matplotlib.pyplot import show, imshow, cm
print("Label: %s" % label)
imshow(image, cmap=cm.gray)
show()
def get_data():
"""
Get data ready to learn with.
Returns
-------
dict
"""
simple = False
if simple: # Load the simple, but similar digits dataset
from sklearn.datasets import load_digits
from sklearn.utils import shuffle
digits = load_digits()
x = [np.array(el).flatten() for el in digits.images]
y = digits.target
# Scale data to [-1, 1] - This is of mayor importance!!!
# In this case, I know the range and thus I can (and should) scale
# manually. However, this might not always be the case.
# Then try sklearn.preprocessing.MinMaxScaler or
# sklearn.preprocessing.StandardScaler
x = x / 255.0 * 2 - 1
x, y = shuffle(x, y, random_state=0)
from sklearn.cross_validation import train_test_split
x_train, x_test, y_train, y_test = train_test_split(
x, y, test_size=0.33, random_state=42
)
data = {
"train": {"X": x_train, "y": y_train},
"test": {"X": x_test, "y": y_test},
}
else: # Load the original dataset
from sklearn.datasets import fetch_mldata
from sklearn.utils import shuffle
mnist = fetch_mldata("MNIST original")
x = mnist.data
y = mnist.target
# Scale data to [-1, 1] - This is of mayor importance!!!
x = x / 255.0 * 2 - 1
x, y = shuffle(x, y, random_state=0)
from sklearn.cross_validation import train_test_split
x_train, x_test, y_train, y_test = train_test_split(
x, y, test_size=0.33, random_state=42
)
data = {
"train": {"X": x_train, "y": y_train},
"test": {"X": x_test, "y": y_test},
}
return data
if __name__ == "__main__":
main()
Results
The script from above gives the following results:
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 2258 | 1 | 4 | 1 | 2 | 2 | 3 | 1 | 4 | 2 |
| 1 | 1 | 2566 | 9 | 1 | 1 | 0 | 0 | 7 | 3 | 0 |
| 2 | 4 | 1 | 2280 | 5 | 4 | 0 | 1 | 9 | 8 | 2 |
| 3 | 0 | 0 | 14 | 2304 | 1 | 13 | 0 | 6 | 8 | 2 |
| 4 | 2 | 2 | 2 | 0 | 2183 | 0 | 7 | 5 | 0 | 10 |
| 5 | 4 | 0 | 0 | 16 | 3 | 2026 | 12 | 1 | 4 | 3 |
| 6 | 7 | 5 | 3 | 0 | 5 | 2 | 2245 | 0 | 4 | 0 |
| 7 | 1 | 6 | 11 | 2 | 5 | 1 | 0 | 2373 | 5 | 13 |
| 8 | 3 | 9 | 4 | 9 | 4 | 10 | 2 | 3 | 2166 | 5 |
| 9 | 3 | 2 | 2 | 6 | 19 | 6 | 0 | 12 | 10 | 2329 |
- Accuracy: 98.40%
- Error: 1.60%
Looks pretty good to me. However, note that there are much better results. The best on the official website has an error of 0.23% and is a committee of 35 convolutional neural networks.
The best SVM I could find has an error of 0.56% and applies a polynomial kernel of degree 9 as well as some preprocessing.
References
- [Smi04] B. T. Smith, “Lagrange multipliers tutorial in the context of support vector machines,” Memorial University of Newfoundland St. John’s, Newfoundland, Canada, Jun. 2004.
- [Bur98] C. J. Burges, “A tutorial on support vector machines for pattern recognition”, Data mining and knowledge discovery, vol. 2, no. 2, pp. 121–167, 1998.
See also
- Recognizing hand-written digits
- Trung Huynh's tech blog: Digit Recognition using SVM in Python
- Classifier comparison
- Supervised learning
- How can SVM 'find' an infinite feature space where linear separation is always possible?


| scale_colour_binned_divergingx {colorspace} | R Documentation |
Binned ggplot2 color scales using the color palettes generated by divergingx_hcl
.
scale_colour_binned_divergingx( palette = "Geyser", c1 = NULL, c2 = NULL, c3 = NULL, l1 = NULL, l2 = NULL, l3 = NULL, h1 = NULL, h2 = NULL, h3 = NULL, p1 = NULL, p2 = NULL, p3 = NULL, p4 = NULL, cmax1 = NULL, cmax2 = NULL, alpha = 1, rev = FALSE, mid = 0, na.value = "grey50", guide = "coloursteps", n_interp = 11, aesthetics = "colour", ... ) scale_color_binned_divergingx( palette = "Geyser", c1 = NULL, c2 = NULL, c3 = NULL, l1 = NULL, l2 = NULL, l3 = NULL, h1 = NULL, h2 = NULL, h3 = NULL, p1 = NULL, p2 = NULL, p3 = NULL, p4 = NULL, cmax1 = NULL, cmax2 = NULL, alpha = 1, rev = FALSE, mid = 0, na.value = "grey50", guide = "coloursteps", n_interp = 11, aesthetics = "colour", ... ) scale_fill_binned_divergingx(..., aesthetics = "fill")
palette |
The name of the palette to be used. |
h1, h2, h3, c1, c2, c3, l1, l2, l3, p1, p2, p3, p4, cmax1, cmax2 |
Parameters to customize the scale. See |
alpha |
Numeric vector of values in the range |
rev |
If |
mid |
Data value that should be mapped to the mid-point of the diverging color scale. |
na.value |
Color to be used for missing data points. |
guide |
Type of legend. Use |
n_interp |
Number of discrete colors that should be used to interpolate the binned color scale. For diverging scales, it is important to use an odd number to capture the color at the midpoint. |
aesthetics |
The ggplot2 aesthetics to which this scale should be applied. |
... |
common binned scale parameters: 'name', 'breaks', 'labels', and 'limits'. See
|
Available CARTO palettes: ArmyRose, Earth, Fall, Geyser, TealRose, Temps, Tropic.
Available ColorBrewer.org palettes: Spectral, PuOr, RdYlGn, RdYlBu, RdGy, BrBG, PiYG, PRGn, RdBu.
If both a valid palette name and palette parameters are provided then the provided palette parameters overwrite the parameters in the named palette. This enables easy customization of named palettes.
library("ggplot2") # volcano plot (difference from mean height) nx = 87 ny = 61 df <- data.frame(diff = c(volcano) - mean(volcano), x = rep(1:nx, ny), y = rep(1:ny, each = nx)) ggplot(df, aes(x, y, fill=diff)) + geom_raster() + scale_fill_binned_divergingx(palette = "Fall", rev = TRUE) + coord_fixed(expand = FALSE) # adapted from stackoverflow: https://stackoverflow.com/a/20127706/4975218 # generate dataset and base plot set.seed(100) df <- data.frame(country = LETTERS, V = runif(26, -40, 40)) df$country = factor(LETTERS, LETTERS[order(df$V)]) # reorder factors gg <- ggplot(df, aes(x = country, y = V, fill = V)) + geom_bar(stat = "identity") + labs(y = "Under/over valuation in %", x = "Country") + coord_flip() + theme_minimal() # plot with diverging scale "Geyser" gg + scale_fill_binned_divergingx(palette = "Geyser", n.breaks = 6)


{% extends "admin/base_site.html" %} {% load i18n static %} {% block title %}{{ title }}{% endblock %} {% block content %}
{% trans "Please enter your old password, for security's sake, and then enter your new password twice so we can verify you typed it in correctly." %}


Sofia Marathon
Sofia BUL
Website: marathonsofia.com/?lang=en
Race Winners
(32 runnings)
2:26:21 14
Oct
2007
15
Oct
2006
16
Oct
2005
17 Oct
2004
11 May
2003
21 Apr
2002
14
Oct
2001
22 Oct
2000
03
Oct
1999
04
Oct
1998
19 Oct
1997
19 May
1996
21 May 1995
21 May
1994
26 May
1993
03
May
1992
12 May
1991
13
May 1990
14
May
1989
15
May
1988
17 May 1987
18 May 1986
19 May 1985
20
May 1984
22 May
1983
Notes: 1983 was the inaugural year.
15
Oct
2017
2:14:49
Samson Barmao Kiprono (KEN)
(nc)
2:40:30
Ruth Matebo Chemisto (KEN)
(nc)
09 Oct
2016
2:15:45
Gudeta Gemechu Biratu (ETH)
(nc)
2:39:39
Belaynesh Shifera Yigezu (ETH)
(nc)
04 Oct
2015
2:16:41
Samuel Getachew Demie (ETH)
(nc)
2:32:35
Rebecca Chepchirchir Korir (KEN)
(nc)
12 Oct
2014
2:19:06
Edwin Kipchumba Kiprono (KEN)
(nc)
2:40:53
Zerfe Worku Boku (ETH)
(nc)
06 Oct
2013
2:22:42
Lahcen Mokraji (MAR)
(nc)
2:52:27
Silvia Danekova (BUL) (nc)
21 Oct
2012
2:28:21
Mustafa Shaban (BUL)
2:55:43
Anita Krasteva (BUL)
2009-2011
---
not held due to financial
considerations
---
not held due to financial considerations
12 Oct
2008
Stanislav
Lambev-3 (nc)
2:50:20
Milka
Mikhailova-7 (nc)
2:27:03
Stanislav
Lambev-2 (nc)
2:48:22
Dobrinka Shalamanova (BUL) (nc)
2:27:53
Stanislav Lambev (BUL) (nc)
2:50:07
Milka
Mikhailova-6 (nc)
2:26:00
Aleksandar Panovski (BUL) (nc)
2:46:59
Milka
Mikhailova-5 (nc)
2:19:05
Nikolay Atanasov (BUL)
2:38:50
Rumyana
Panovska-4
2:29:17
Petko Stefanov-7
2:53:38
Milka
Mikhailova-4
2:21:53
Petko Stefanov-6 (nc)
2:41:26
Milka
Mikhailova-3 (nc)
2:21:18
Petko Stefanov-5 (nc)
2:40:54
Milka
Mikhailova-2 (nc)
2:20:44
Petko Stefanov-4
2:38:12
Milka Mikhailova (BUL)
2:19:53
Oleg Ivanchenko (MDA)
2:55:45
Yordanka Yankova (BUL)
2:17:58
Georgi Georgiev (BUL)
2:52:07
Gergana Voynova-5
2:11:26
Khristo Stefanov (BUL) (nc)
2:42:26
Rumyana
Panovska-3 (nc)
2:21:40
Petko Stefanov-3 (nc)
2:52:04
Gergana Voynova-4 (nc)
2:14:54
Petko Stefanov-2
2:41:34
Gergana Voynova-3
2:25:31
Petko Stefanov (BUL) (nc)
2:52:38
Gergana Voynova-2 (nc)
2:23:31
Daniel Dukov (BUL)
2:38:25
Rumyana
Panovska-2
2:21:51
Rangel Filipov (BUL) (nc)
2:48:05
Gergana Voynova (BUL) (nc)
2:22:00
Khristo Georgiev-2
3:21:51
Mariana Maslarova (BUL)
2:25:37
Veselin
Vasilyev-3
2:57:23
Stayka Gandurova (BUL)
2:25:49
Khristo Georgiev (BUL) (nc)
2:46:29
Rumyana Panovska (BUL) (nc)
2:20:47
Veselin
Vasilyev-2
2:49:27
Natalya Balyakina (RUS)
2:24:23
Veselin Vasilyev (BUL)
2:53:47
Rosemarie Kössler (GER)
2:21:17
Stanimir Nenow-2
2:49:12
Birgit Schuckmann (GER)
2:24:42
Klaus Goldmaier (GER)
2:56:17
Petranka Nikolova (BUL)
2:19:30
Petko Karpachev (BUL)
2:53:45
Rumyana Chavdarova (BUL)
2:24:54
Stanimir Nenow (BUL)
3:19:12
Nedyalka Bakalova (BUL)
(nc) =>
national championship
2017 Dimcho Mitsov was the Bulgarian
champion (2:26:42, 7th place)
2017 Radosveta Simeonova was the Bulgarian
champion (2:46:10, 5th place)
2016 Ismail Ssenyange was the Bulgarian
champion (2:28:22, 7th place)
2016 Radosveta Simeonova was the Bulgarian
champion (2:56:29, 64th place)
2015 Ismail Ssenyange was the Bulgarian
champion (2:18:50, 5th place)
2015 Militsa Mircheva was the Bulgarian
champion (2:53:01, 4th place)
2014 Shaban Mustafa was the Bulgarian
champion (2:25:05, place unknown)
2014 Milka Mikhaylova was the
Bulgarian champion (2:58:51, place unknown)
Most Wins
(1983-date)
Men
7
Petko Stefanov
(BUL)
1994-96,2000-03
Women
7
Milka Mikhailova
(BUL)
2000-03,2005-06,2008
Prize Money (ADR qualified runners)
Year Men Women Total 2017 $11,050 $11,410 $22,460 2016 12,970 12,460 25,430 2015 6,750 5,950 12,700 2014 5,155 5,155 10,310 2013 6,415 5,575 11,990 Sums $42,970 $41,460 $84,430
Race Time Bias
(sec/km)
Insufficient data to calculate the race time bias.


Amiibo Search Engine is a website that is purely on searching up your favorite amibbos. It will display information on what the amiibo's game series is from. It will also display the release dates in different regions. Amiibo Search Engine is still in it's early stages so more functions will be added later on!
If you have any questions, please use the contact button and it will direct you to us. Thank you!


See: Description
| Interface | Description |
|---|---|
| Measurable<Q extends Quantity> |
This interface represents the measurable, countable, or comparable property or aspect of a thing.
|
| Class | Description |
|---|---|
| DecimalMeasure<Q extends Quantity> |
This class represents a measure whose value is an arbitrary-precision decimal number.
|
| Measure<V,Q extends Quantity> |
This class represents the result of a measurement stated in a known unit.
|
| MeasureFormat |
This class provides the interface for formatting and parsing
measures . |
| VectorMeasure<Q extends Quantity> |
This class represents a measurement vector of two or more dimensions.
|
Provides strongly typed measurements to enforce compile-time check of parameters consistency and avoid interface errors.
Let's take the following example:[code]
class Person {
void setWeight(double weight);
}[/code]
Should the weight be in pound, kilogram ??
Using measures there is no room for error:[code]
class Person {
void setWeight(Measurable
Users may create their own Measurable
implementation:[code]
public class Period implements Measurable
Users may also combine a definite amount (scalar, vector, collection, etc.)
to a unit and make it a Measure
(and
a Measurable
instance). For example:
[code]
// Scalar measurement (numerical).
person.setWeight(Measure.valueOf(180.0, POUND)); // Measure extends Measure
extends Measurable
{
public Amount(double value, double error, Unit
unit) { ... }
public Amount
plus(Amount
that) {...}
public Amount> times(Amount> that) {...}
... // doubleValue(Unit) returns estimated value.
}
[/code]


Description:This is the useful tool for study.It's effective,high quantity etc.words words words words words words words words


You can view usage of the stratos resource by your organization(Tenant) from this page
| The Form Field | Description |
|---|---|
| Report Duration | The year and the month the usage is metered. |
| Number of Users | Number of users of your stratos account.(This is valid only for current month) |
| Storage Usage | The registry data storage amount. |
| Registry Bandwidth Usage | Registry bandwidth consumed by the registry resource accesses(registry uploads, downloads). |
| Service Bandwidth Usage | The bandwidth consumed by the web services hosted by you. |
| Webapp Bandwidth Usage | The bandwidth consumed by the web services. |
| Service Usage Statistics | Service statistics of requests and responses of services. |


Keep nails clean and dry to prevent bacteria from collecting under the nail.
Cut your fingernails and toenails straight across and rounded slightly in the center.
This will keep your nails strong and help you avoid ingrown toenails.
When toenails are thick and difficult to cut, soak feet in warm salt water (one teaspoon of salt per pint of water) for five to 10 minutes, and then apply urea or
lactic acid cream. This softens the nails, making them easier to trim.
Wear proper-fitting shoes and alternate shoes on a regular basis. Tight shoes can cause ingrown toenails.
Do not bite your fingernails; this can transfer infectious organisms between your fingers and mouth. Nail biting also can damage the skin around your fingers, allowing infections to enter.
Apply a cream to moisturize your nails, especially after removing nail polish, since most polish removers contain chemicals that dry the nails.
If you want to wear a bright red or orange polish, prevent discoloration by applying an extra layer of base coat. If your nails become yellowed and discolored from the polish, they should return to their normal color over several weeks if the same polish is not reapplied.
You actually should let your nails “breathe” between manicures.
Nails grow faster in the summer than in the winter.


We need to create a .js file, that can parse the "english name" into "chinese name".
Parse
Parse & Download


{% extends 'base.html' %} {% block title %}Enter new password{% endblock %} {% load i18n %} {% block content %} User account form {% if validlink %} Set a new password. {% csrf_token %} {{ form.as_p }} {% else %} The password reset link was invalid, possibly because it has already been used. Please request a new password reset. {% endif %} {% endblock %}
Set a new password.
The password reset link was invalid, possibly because it has already been used. Please request a new password reset.


Donald Trump’s all caps note on impeachment hearing goes viral, inspires memes and jokes
The US President was photographed with a note that had the key points of his speech to the media written in all caps with a marker pen. On social media, people made jokes about whether Donald Trump had written the note and came up with memes about it.
by Trends DeskAs the testimonies against Donald Trump continued as part of the impeachment inquiry hearings, a handwritten note by the US President denying all the allegations went viral.
Gordon Sondland, President Donald Trump’s ambassador to the European Union, appeared before the House Intelligence Committee on Wednesday for the impeachment inquiry hearings. Sondland said that he had worked with Trump’s lawyer Rudy Giuliani on Ukraine policy at the “express direction” of the president, and that he had been told by Giuliani that Trump wanted to pressure Ukraine by withholding military aid in order to get an investigation.
Retorting to Sondland’s claim, Trump told reporters on the White House lawn that he did that he didn’t make any requests from Ukrainian president Zelensky, and that there was no “quid pro quo” for Ukraine to investigate Joe Biden and his son. But while making the comments, the US President was photographed with a note that had the key points of his speech written in all caps with a marker pen.
The note read, “I WANT NOTHING. I WANT NOTHING. I WANT NO QUID PRO QUO. TELL ZELLINSKY TO DO THE RIGHT THING. THIS IS THE FINAL WORD FROM THE PRES OF THE U.S.”
Like in other cases of Trump’s handwritten notes — people looked for errors, and tried to verify whether the president had written it or whether it was handed to him by an aide. The debate quickly moved on memes and photoshop battles.
“I want nothing. I want nothing. I want no quid pro quo,”” the president told a U.S. diplomat in a September phone call. Reading from a page of Sharpie-scrawled comments on an Air Force One notepad, Trump re-enacted the conversation in dramatic fashion Wednesday on the South Lawn and insisted it should dispel the impeachment cloud over his head.
Sondland testified Wednesday that he couldn’t remember Trump ever telling him directly the aid would be held up until the statement was made.
[with inputs from AP]


Money Play. How should Red play 43?
pips Red=127 White=129
(CorrectAnswer= 0/0, ErrorScore= 0)
What is fascinating here is just how bad are all the moves other the correct one!
10/7, 10/6 is a bad blunder as is 13/6. 13/10, 13/9 is only a bad error!
The correct play is 13/10, 6/2. This continues to block White’s sixes from Red’s 4-pt and crucially, makes the extra home board point at a time when a hitting contest may ensue.
Assuming White doesn’t hit the blot on the mid-point Red will have two useful spares to play with next turn.
Once you think it through the play is clear but it is too easy over the board to play 10/7, 10/6, minimising shots.
10/7, 10/6 is a bad blunder as is 13/6. 13/10, 13/9 is only a bad error!
The correct play is 13/10, 6/2. This continues to block White’s sixes from Red’s 4-pt and crucially, makes the extra home board point at a time when a hitting contest may ensue.
Assuming White doesn’t hit the blot on the mid-point Red will have two useful spares to play with next turn.
Once you think it through the play is clear but it is too easy over the board to play 10/7, 10/6, minimising shots.
1. Cubeful 2-ply 13/10 6/2 Eq.: +0.124 0.533 0.109 0.002 - 0.467 0.076 0.001 2. Cubeful 2-ply 13/6 Eq.: +0.043 (-0.081) 0.509 0.112 0.002 - 0.491 0.090 0.003 3. Cubeful 2-ply 13/10 13/9 Eq.: +0.039 (-0.084) 0.509 0.106 0.002 - 0.491 0.089 0.002 4. Cubeful 2-ply 10/7 10/6 Eq.: -0.008 (-0.132) 0.492 0.119 0.003 - 0.508 0.098 0.003 5. Cubeful 0-ply 10/7 6/2 Eq.: -0.086 (-0.210) 0.470 0.117 0.002 - 0.530 0.113 0.004


My name is Annisa Nurdiana and my nickname is Diana. I am a student in President University, located at Jababeka Education Park, North Cikarang, Bekasi, West Java 17530, Indonesia. My majoring in Information Technology, Faculty Computer and Science batch 2020. I was born in Bogor and my birthdate is June 25, 2002. I am the third child of three siblings. I have one older sister and one older brother. I live in Gunung Putri, Bogor, West Java 16961, Indonesia.
0896xxxxxxxx
<EMAIL_ADDRESS>0812xxxxxxxx
/annisa.nurdiana
@An.Nurdiana69
anddianaa
Characters Description:
I am a peaceful person, cheerful, and ungressive. I am a realistic, practical, and very organized. I tend to uphold the highest principles, rules, and regulation. I really pay attention to the promised time.
2014 - 2017
2017 - 2020
2020 - CURRENT
2012 - 2019
2014 - 2017
Touch The Card For More Details.
HTML and CSS
Building a single-page website.
Touch The Card For More Details.
JAVASCRIPT
Animation for Websites, storytelling, data visualization, and games.


Our Favorite Places
These are a few of my favorite places.
Place 1
Mt. Tabor
Jake: I Love this mountain
Jamie: If you like that try
Forest Park
Place 2
Forest Park
Paul: I like the Japanese Garden
Thanks for reading about me!


Prior to this experience, I had used salvia extracts a half dozen times or so, but never really achieved any effects aside from being lightheaded and giggly. I had recently won a contest on a message board and received a vial of an ethnobotanical vendor's newest product, a rather strong salvia tincture.
 As I put them under my tongue, the alcohol burned horribly. The burn lasted 2 minutes, and subsided. I held the tincture in my mouth for 15 uncomfortable minutes. The burn wasn't that big of a deal, but I found my mouth filling to the brim with saliva. I could barely keep my mouth shut for the whole 15 minutes. But when 6:15 rolled around, I allowed myself to swallow.
Nothing.
I was disappointed by the lack of effects, and decided that I would try smoking a bowl of 5x extract. I fetched my bowl and the salvia, and packed roughly 1/5 of a gram into my pipe. As I was preparing, everything felt normal, but that was about to change.
I could feel something different from the moment I put the pipe to my lips. Halfway through the inhalation, it began to hit me. I could feel my body pulling back, and my vision growing dark. It was as if my body were staying in place, but my mind and vision were pulling back inside of me, causing my vision to be shadowed by my physical body. My coordination was shaky at best, and I hurried up and finished inhaling and quickly put the pipe and lighter down on the table beside me.
I barely had time to put the pipe down before I completely lost it. I don't even remember holding the smoke or exhaling. I just remember putting the pipe down and being shot up and around through an increasingly dark and empty cosmos.
My body began spiraling upwards like a helix, and as I looked beside/behind me, I could see thousands of copies of myself where I had just been, like trails. My body was spiraling higher, and the copies of myself were left in place where I had passed, each standing with outstretched arms and legs, like the Vitruvian man, and each connected to the copy on either side of it at the hands and feet, much like those paper chain people. And wherever the copies met, they met in a point of bright orange and yellow light, radiating out wards, and outlined in red.
And as I spiraled up and up, I heard a chanting from all around me. The voice was hard to identify, but it was a group. A chorus. And the voices were high. I could only make out part of what they were saying, though. It was some short rhyme along the lines of 'You must [something]/Stay and play'. And it repeated over and over and over. It never grew loud or uncomfortable, though, and I was perfectly content to 'stay and play', but I felt my physical body pulling me back, and I lost my grip on the void and found myself spiraling back downward, passing through my Vitruvian copies, absorbing them one by one, until I was back in my body.
But I still wasn't completely baseline. For some reason, I immediately felt as though I had to clean up my area. There was this overwhelming pressure for me to clean up my salvia and pipe and stuff, even though I could barely stand. And while I knew I could barely stand up, I still proceeded to do so.
And while I stood there, hunched over and swaying, emptying the ashes from my bowl, I felt a distinct shift and a conversation began. I don't even remember the specifics of what was said. I just remember that my body stayed in place, cleaning out the bowl, but my mind shifted 3 feet to the right. It was like an out of body experience, but instead of floating above myself, I was floating beside myself. And my physical body continued my work. It was still there, emptying the bowl out, and packing up the salvia, and rinsing out the pipe, as if on auto pilot. And as my mind stood/hovered/floated beside my body, I found myself having a conversation with someone. I don't know who it was, but I know it was a woman.
My mind, hovering to the right, would say something (though, since it wasn't in a physical body, it was mental communication), and then my physical body would respond, audibly. I could hear my physical body speak, and it was in my voice, but it was a woman speaking. I don't know how I know that, but I know that it was a woman speaking with my voice, through my body, while I carried my end of the conversation mentally.
And when my body had finished cleaning up the immediate surroundings, I felt myself 'reabsorb' into my body. It was an immediate absorption, with no gradual 're-entering' of my body. It was like the exact opposite of the shift that originally cleft my spirit, an instantaneous shift of perspective.
And then it was over.

By my best estimates, being absent a clock, the entire experience from packing the bowl to being reunited with my body, took only six or seven minutes, but it felt like an hour at least.
I still don't feel as though I broke through completely, but I'm grateful that I was able to experience what I did, and look forward to going further in the future.
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.


@* * Copyright 2016 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @(pensionDetailsForm: Form[models.PensionDetails])(implicit request: Request[_]) @import uk.gov.hmrc.play.views.html._ @import uk.gov.hmrc.play.views.html.helpers._ @import views.html.helpers._ @import play.i18n._ @implicitFormInstance = @{ Some(pensionDetailsForm) } @gmp_main(title = Messages.get("gmp.pension_details.title")) { @views.html.helpers.errorSummary(pensionDetailsForm)


Mapping Salt Lake City is a community-created archive of Salt Lake City’s neighborhoods and people that documents the city’s changes through art, critical and creative literature, personal maps and multi-media projects.
Mapping Salt Lake City invites all interested visitors to add their voices to the mix. We are looking for all kinds of essays (written, audio, photo, video) on topics related to Salt Lake City
Submit a story