I am officially halfway through my internship! What an adventure! To those that have stuck with me, thank you!
Blog posts have been intermittent lately, mostly because NASA likes to keep me busy! Here's a snapshot of what I've been up to lately.
Programming
Exactly what I was hired to do! I have been hard at work creating applications for AR devices like the Magic Leap and zSpace as well as the immersive CAVE! Each application is different, but they generally showcase a NASA mission or concept. We demonstrate these apps during tours of the lab or outreach events, and sometimes even on Twitter!
Myranda, one of the interns this fall semester has dedicated lots of her time creating applications for Magic Leap. She's done a fantastic job illustrating her thoughts and ideas thus far, and she will eventually use her 3D models during outreach! #MagicLeap #NASAIntern pic.twitter.com/vjyd1wONIm
— NASA GVIS Lab (@NASA_GVIS) October 9, 2019
Presenting
One of the most important parts of the creative process is communicating your work to others. At this point, I've given so many presentations that they hardly phase me. Just last week, all the interns gave a midterm presentation of their progress so far (even interns can't escape midterms!). Most of my presentations happen in the GVIS Lab, where we give tours of our facility weekly.
And a lot of outreach
Interacting with the community is a priority within the GVIS Lab! We visit schools, host events, and bring our demonstrations to public venues weekly. Every Friday, we even partner with a local high school to host NASA club, where we lead activites relating to data science, robotics, and the fusion of art and technology.
Now that I'm back in the groove, I promise I will be writing more often. Keep coming back, and thank you for helping me reach this point in my journey!


John of Worcester (died c. 1140) was an English monk and chronicler who worked at Worcester Priory. He is usually held to be the author of the Chronicon ex chronicis.
The greater part of the work, up to 1117 or 1118, was formerly attributed to the man Florence of Worcester on the basis of the entry for his death under the annal of 1118, which credits his skill and industry for making the chronicle such a prominent work. In this view, the other Worcester monk, John, merely wrote the final part of the work. However, there are two main objections against the ascription to Florence. First, there is no change of style in the Chronicon after Florence's death, and second, certain sections before 1118 rely to some extent on the Historia novorum of Eadmer of Canterbury, which was completed sometime in 1121 - 1124.
The modern Greek Army has a history of over 180 years, during which has undergone dramatic changes and been involved in some of the major conflicts on the European continent. The modern Greek military throughout its history was closely following international developments in equipment and uniforms. With the notable exception of the elite Evzones units, which based their uniforms on the indigenous traditional garments of the 18th century, the rest of the Army, as most militaries worldwide, was always quick to adopt the military fashion current among the armies of the influential Great Powers. This influence can be roughly divided in three periods: French-style uniforms, which dominated throughout the 19th century (with many Bavarian elements during the reign of King Otto, and some Austrian and Russian influences later on), the British styles introduced around World War I and used during World War II and until the late 1960s, and the "NATO" or US-style predominating from ca. 1968 onward. Various individual items or details can of course be traced to other influences, and there were also transitional uniforms combining previous designs.


Toggle navigation
Dashboard
Settings
Profile
Help
Product pricing
Supplier
{{d.name}}
Product
{{d.name}}
Product details
#
Supplier
Product
Price (£)
{{result.id}}
{{result.supplierName}}
{{result.productName}}
{{result.price}}


New map
Type:
Empty
Grass
Dungeon
New
Save
Load
Lvl-1
Lvl-2
Fix Edges
You have died.
Play again
Options
Video
Fullscreen
1024x768
800x600
400x300
Options
Use WebGL renderer
Arkona: options
Save game
Reload game
Exit game
Editor Help
Individual tiles:
--------------
1 - grass
2 - mud
3 - sand
4 - moss
5 - water
6 - road
7 - scree
8 - bramble
9 - lava
0 - dungeon floor
a - dungeon floor black
b - swamp
c - dungeon floor rock
Objects (randomized):
--------------
t - tree
y - tree2
m - mountain
n - dungeon (draw floors first)
ctrl+n - dungeon 2 (draw floors first)
Apply to the entire region:
--------------
r - forest
shift+r - desert
ctrl+r - swamp
Flood fill from cursor:
--------------
f - flood - water
ctrl+f - flood - grass
shift+f - flood - sand
Miscellaneous:
--------------
d - delete tile
shift + d - delete flat shape
z - undo last tile
cursor - move cursor
ctrl+cursor - save and move to another region
esc - close dialog/help
Level Up!


“Sumuttā sādhumuttāmhi,
tīhi khujjehi muttiyā;
Udukkhalena musalena,
patinā khujjakena ca;
Muttāmhi jātimaraṇā,
bhavanetti samūhatā”ti.
I’m well freed, so very well freed,
freed from the three things that bent me over:
the mortar, the pestle,
and my humpbacked husband.
I’m freed from birth and death;
the attachment to rebirth is eradicated.
… Muttā therī ….


Page/Group Post Manager |
Tired of clicking 'Load More Comments' from your post to get all comments?
With Page/Group Post Manager for Facebook, You can easily get comments and likes from your pages/groups' posting.
Get complete list of comments and likes in a single click, in a minute.
Login Failed Page/Group Post Manager did not get login information properly. Please try again.


{{ badgeGroup.name }}
Buzz is the volume of discussion (good and bad) around your research. It's a good—if coarse—measure of online interest around your work.
Engagement is about how people are interacting with your research online. What's the quality of the discussion, who is having it, and where?
Openness makes it easy for people to read and use your research.
Fun achievements are Not So Serious.


When hosting applications on Azure web apps it is not always easy to see what works best and what should be good numbers in terms of performance.
This solution as the purpose of testing in a very simple way different combination of hypothesis.
As this test focuses on simplicity and performance, things like Entity where not included on purpose. That doesn't mean they're not valuable, just not suitable for clean and simple things (but you're free to contribute btw).


Main settings
Accountnumber
IP:
Port:
on save adapter restarts with new config immediately
ACK Timeout
add
Accountnumber
AES encrypting
AES password in Hex
AES password


picTuring
Current State:
0
Steps:
0
Code
// Type your code here
Edit
Paint
Color:
Clear
Ok
Controls
Reset
Step
Run
Medium
Fast
Max
Hyper
Options
Smooth
Auto-Pan
Dark
Hide Text
Save
Load
Generate


--- layout: data_model title: relationship this_version: 4.1 ---
Relationships are used to express relationships between objects, and dates. Relationships have a type (an attribute with a defined list of allowed relationships), source (a set of xpath references to the parent end of the relationship), target (xpath references to the other end of the relationship) and an optional date. The linking of objects with types is a powerful way of describing data. The dates can be used to provide context. For example, to assign a classification to an object, that can done with an "isClassifiedAs" relationship, with the date meaning that that was the data that that classification was assigned. To show urls and the last visited data, this can be expressed as a "verifiedBy" relationship between the urls and the entity doing the verification, with the date interpreted as the verification date.
| Field Name | Type | Description |
|---|---|---|
| @typerequired | RelationshipTypeEnum | |
| @idoptional | anySimpleType | |
| source1..1 | sourceInlineType |
References to objects at the parent end of the relationship.
|
| target1..1 | targetInlineType |
References to objects at the child end of the relationship.
|
| timestamp1..1 | dateTime |


Well done! you have the spirit of the little, caniving Dinosaur Guanlong! They were related to the T-Rex, were as big as a large dog and had a big thing on its forhead for looks.


The Story of Doctor Dolittle
by Hugh Lofting
The Story of Doctor Dolittle is the first of his Doctor Dolittle books, a series of children's novels about a man who learns to talk to animals and becomes their champion around the world.
Source: Lofting, H. (1920). The Story of Doctor Dolittle . New York, NY: Frederick A. Stokes
- Introduction
- An introduction by Hugh Walpole.
- Chapter 1: Puddleby
- John Dolittle, a knowledgable doctor in Puddleby-on-the-Marsh, finds that his love of animals is taking a toll on his finances.
- Chapter 2: Animal Language
- A suggestion from the Cat's-meat-man prompts John Dolittle to undertake a new venture, starting with the understanding of the animal language. Amongst the animals, word spreads of a new doctor with a special ability.
- Chapter 3: More Money Troubles
- As time passes the good doctor's collection of animals only continues to increase. A visiting crocodile further exacerbates the doctor's money troubles. Intending to be married, Sarah leaves Puddley-on-the-Marsh.
- Chapter 4: A Message From Africa
- After receiving an urgent message regarding an epidemic, Dr. Dolittle prepares for a voyage to Africa.
- Chapter 5: The Great Journey
- Dr. Dolittle's maritime travels come to an abrupt end. As the doctor and his passengers prepare to go ashore, a stowaway is discovered aboard ship. Dr. Dolittle introduces himself to the natives before embarking on the next leg of his journey.
- Chapter 6: Polynesia and the King
- After a less than pleasant encounter with the King of Jolliginki, Polynesia helps the doctor gain his freedom.
- Chapter 7: The Bridge of Apes
- The king, angered Polynesia's deception, pursues Doctor Dolittle as he rushes towards the Land of the Monkeys. Chee-Chee uses his knowledge of the island to ensure the Doctor's safety. Doctor Dolittle witnesses the famous "Bridge of Apes".
- Chapter 8: The Leader of the Lions
- The doctor, busy taking care of the sick and dying monkeys, asks a favor of the the King of Beast. Exhausted, the doctor finally gets some much needed sleep.
- Chapter 9: The Monkeys Council
- The monkey council, disappointed by news of the doctor's inevitable departure, decide to give a gift to show their gratitude.
- Chapter 10: The Rarest Animal of All
- The monkeys, intent on giving the doctor a gift, set out to hunt down the extremely rare and unusual pusmi-pullyu. The good doctor is honored with a dinner and a monument of sorts.
- Chapter 11: The Black Prince
- Having become lost while heading towards the shore, Doctor Dolittle and the animals are once again taken prisoner by the King of Jolliginki. Polynesia has a conversation with Prince Bumpo.
- Chapter 12: Medicine and Magic
- Polynesia gives word to Gub-Gub before Prince Bumpo pays a visit to Doctor Dolittle. After the doctor fulfills his promise, Prince Bumpo prepares a ship for the parting doctor. Doctor Dolittle and the animals head back to Puddleby.
- Chapter 13: Red Sails and Blue Wings
- Sailing off the Barbary Coast, the doctor and his crew encounter a hostile ship.
- Chapter 14: The Rats' Warning
- As the ship come to rest of the coast of the Canary Islands, Doctor Dolittle receives a dire warning from a departing rat. Two sparrows bring word of pirates.
- Chapter 15: The Barbary Dragon
- With the pirates having boarded the doctor's ship, the doctor and animals take control of the pirate ship. The sinking of the doomed ship puts Ben Ali at the mercy of the doctor and a large fish.
- Chapter 16: Too-Too, The Listener
- Once again set sail on their journey home, the doctor and the animals take a look around the pirate ship. Another castaway is found.
- Chapter 17: The Ocean Gossips
- After breaking down the panel, Doctor Dolittle discovers a young prisoner aboard the pirate ship. Doctor Dolittle brings some positive news back from the sea.
- Chapter 18: Smells
- Failing to find any sign of the boy's uncle in the ocean, the doctor devises another plan to locate him.
- Chapter 19: The Rock
- Jip, having picked up the scent of the boy's uncle, guides the ship to his location.
- Chapter 20: The Fisherman's Town
- The red haired fisherman shares his story. Doctor Dolittle takes the fisherman home. For there efforts, both the doctor and Jip receive tokens of gratitude.
- Chapter 21: Home Again
- Doctor Dolittle returns to England where he displays the pushmi-pullyu for all to see. The doctor returns to Puddleby a rich man. Life begins to return to normal for the doctor and his animals. Meanwhile, far away in Africa, the other animals ponder the good doctor's fate.


New Features:
Blurry Code39/Code128 Support: This latest release of the Scandit SDK features an advanced Code39/Code128 barcode decoder that can decode blurry Code39/Code128 barcodes resulting from out-of-focus camera images or fixed-focus cameras. Since this new feature requires more computing resources, we recommend that you switch off the Code39/Code128 decoder if you are not using it in your app.
GS1 Databar Support: Starting with Scandit SDK 4.0.0, we support GS1 Databar barcodes. This includes support for omnidirectional, omnidirectional stacked, expanded, expanded stacked and truncated GS1-Databar barcodes. The GS1 Databar support is disabled by default.
Added new method stopScanningAndFreeze which stops the barcode scanning and also halts the camera preview. The default stopScanning method does not halt the camera preview and thus accelerates subsequent barcode scans.
QR Codes of version 1 are now also decoded when placed at an angle to the camera.
Added ARM64 slice for iPhone 5S.
Important changes:
The new CODE39/CODE128 decoder in 4.0.0 requires more computing resources than the old CODE39/CODE128 decoder. We recommend that you switch off the Code39/CODE128 decoder if you are not using it in your app.
The minimum deployment target is now 5.1.1 (was 5.0) due the ARM64 slice. If you do not build for ARM64 and only use the armv7 and armv7s slices, 5.0 can still be used as a deployment target.
Known Issues (will be fixed in one of the next releases):
Fixed bug that led to crash or failed decode when Code39 barcode was more than 17 characters long.
Reduced memory footprint of Scandit Barcode Scanner SDK
Fixed the search bar offset in landscapeLeft and portraitUpsideDown.
Fixed an issues where armv7 and armv7s required deployment target 5.1.1 (after adding arm64 slice). This new version uses a deployment target of iOS 5.0 for armv7 and armv7s.
Added x86_64 architecture for iOS simulators.
Fixed bug that prevented small data matrix codes to be decoded in the micro data matrix mode. This bug was introduced in 3.1.0.
Fixed QR code highlighting which was off in some cases.
Fixed bug that led to crash, when iOS device did not make video feed available.
Fixed bug in previous release where GS1-Datamatrix codes were reported with a leading FNC1. This leading FNC1 is now again removed.
Software update to remove two minor memory leaks.
Software update to deactivate macro mode when Scandit SDK releases the camera. The Scandit SDK activates the macro mode in the camera and, when an UIImagePicker is started subsequently in the app, the macro mode of the camera remained activated in previous releases and could not be deactivated unless the app is sent to the background.
Fixed issue that caused unwanted, duplicate scans when scanning multiple barcodes sequentially on latest generation iOS devices
Fixed issue that caused barcode highlighting to be slightly off on some iOS devices.
Fixed bug where QR codes with large module size covering the entire screen were not decoded.
Software update of demo apps to use automatic reference counting.
New Features:
Better PDF417 decoding (no longer in beta): We implemented a more sophisticated PDf417 decoder that is capable of decoding PDF417 barcodes with tiny features such as those PDF417 codes found on US driving licenses. (The PDF417 decoder is disabled by default).
Better ITF/Code39/Code128/QR decoding: We improved the decoding performance of these decoders to have better dynamic range.
Software update to the search bar implementation. Under iOS7, it is no longer possible to dynamically change the caption of the search bar (from "Cancel" -> "Go"). We added a "Search" button to the keyboard. The language of the "Cancel" button caption is now automatically updated based on the language set by the user.
Fixed bug where barcodes where not always correctly highlighted in the scan user interface.
Fixed bug where didScanBarcode was occasionally called twice.
Increased frame rate for iPhone devices such as the iPhone 5, 4 and 4S. In previous bug fix release 3.0.4 we reduced the frame rate to prevent distortion issue on iPads. This reduction led to a sluggish user interface on devices such as the iPhone4.
New Features:
Scandit SDK 3.1.* features a number of improvements to the overall scanning performance. We recommend that you upgrade as soon as possible to take advantage of the better scan performance - in particular because of the better autofocus control with iOS7.
Better Autofocus Control: Scandit SDK 3.1 takes advantage of the APIs in iOS7 that allow for better control of the autofocus.
Better Blurry Barcode Localization: In 3.0, we introduced full screen barcode detection and decoding, but blurry barcodes were not always reliable detected when off-center. Scandit SDK 3.1 provides a novel barcode localization algorithm that also detects blurry barcodes.
Better Blurry Decoding: In Scandit SDK 3.1, we improved the scan performance with fixed focus cameras, e.g. the iPad3' front-facing camera.
New Demo Apps: We replaced the old demo app with two new demo apps. The first demo app only shows the minimal steps necessary to run the Scandit SDK. The second new demo app has a new view that lists all the settings of the Scandit API. Developers can now experiment with the different features in the app before they use them themselves in their own apps.
Important Changes:
Fixed issue where rapid allocation and deallocation of ScanditSDKBarcodePicker could lead to app crash for some view controller configurations.
Fixed issue in new full image barcode detection algorithm that could lead to rare app crashes when camera image featured particular repetitive texture.
Enabled camera switch for tablets in Scandit SDK demo app.
Fixed issue where camera image was slightly distorted on iPad devices.
Fixed issue where previously set1DEnabled would not enable MSIPlessey Decoder and set2DEnabled would not enable PDF417 decoder.
Software update to decode blurry barcodes that upside down in the camera image.
Fixed issue where barcode highlighting in camera image was slightly off on some iOS devices.
Fixed issue where orientation changes would freeze camera when the scanning area was restricted via the "restrictActiveScanningArea" method.
Software update to switch off the "StandBy" state introduced in 3.0.0. The Scandit SDK enters this StandBy state by default after a successful scan because it makes subsequent scanner starts significantly faster. This "StandBy" State requires additional resources (power, memory) though and can be disabled by calling disableStandbyState on the picker.
Fixed a bug in the memory management of the ScanditSDKBarcodePicker where the release of the picker object could interfere with the instantiation of a new picker object. This could have been the cause of problems with ARC in 3.0.0 and 3.0.1.
Fixed a bug where the reset of the viewfinder and the viewfinder animation was not working correctly.
Fixed a bug in implementation of ScanditSDKNextFrameDelegate protocol that was not working since the 3.0.0 update.
Updated ScanditSDKRotatingBarcodePicker to also access iphone settings if ipad ones arent available when retrieving supportedInterfaceOrientations.
Removed duplicate header entry that caused warning message in Xcode.
Fixed bug where white viewfinder rectangle in the scan UI was jumping between different barcode locations when barcode is in vertical orientation.
Fixed bug where white viewfinder rectangle changed size when presented as navigation controller and the user changed orientation from portrait to landscape and back to portrait.
Fixed a bug which did not allow the picker to be locked into a non-portrait orientation.
Added a method to maintain the torch state in between successful scans. The current default implementation of stopScanning switches the torch off. The new method is called stopScanningAndKeepTorchState.
Fixed a small bug in the torch implementation. Previously, the user had to tap the icon twice after a previous "stop torch" command.
Fixed a viewfinder resizing issue when an iPhone is turned from portrait to landscape back to portrait.
Fixed a bug where the cancel button would not respond on iPads in landscape mode when the ScanditSDKBarcodePicker was presented modally.
New Features:
full screen scanning: In Scandit SDK 2.*, the user had to place the barcode in the center of the camera image. In this new release, barcodes are detected and decoded in the entire camera image.
improved autofocus management: We improved the camera control which means that the camera properties (such as focus) are maintained over successive barcode scans. This new feature makes a big difference if you are planning on scanning multiple barcodes in sequence.
better scan performance and robustness: We further improved our blurry barcode decoding algorithms so that even the very blurry images of an iPhone 5 (before the autofocus is activated) are now decoded.
new cleaner scan screen interface with the option to add a button to switch cameras (from the front to the back camera)
new symbologies: beta support for PDF417 and MSI Plessey.
Important changes:
The Scandit SDK starts by default in full screen scanning mode. If you want to only scan barcodes in a restricted area of the camera image, you should call the "restrictActiveScanningArea" method of the ScanditSDKBarcodePicker.
Scandit SDK 3.* requires a new iOS framework: libc++. To add the library, select your target in Xcode, choose build phases and add the library under the "Link Binary With Libraries" entry.
In 3.0+, we only support iOS devices with iOS 5.0 and higher. If you need need iOS 4.3 support, using Scandit SDK 2.0+ for iOS.
In 3.0+, we no longer support the iPhone 3G. If you need iPhone 3G support, we recommend using Scandit SDK 2.0+ for iOS.
Access to the methods that are available for scan screen customization has been restricted for users of our free Community edition. They remain available for our enterprise customers. Moving forward we want apps using our free community edition to have a common scan screen user interface that promotes our Scandit brand.


The data visualization to the right shows the change in average traffic speeds over time along key corridors in NYC.
Explore the data by zooming in/out, clicking on the corridors, and controlling the animation in the top right (in progress)
The NYC data updates about every 5 minutes, but sometimes the updates come a minute sooner or later, so each five minute interval is batched together for a consistent animation period for all roads (which is why the clock increments in 5's).
Some of the major intersections and corridors have multiple traffic speeds depending on lanes or direction, so zooming into the map will reveal even more detail. For example, the Lincoln Tunnel has three separate traffic speed readings.
Source: NYC Open Data NBE (2019)


Geode allows you to manage and store large amounts of data across distributed nodes using partitioned regions. The basic unit of storage for a partitioned region is a bucket, which resides on a Geode node and contains all the entries that map to a single hashcode. In a typical partitioned region query, the system distributes the query to all buckets across all nodes, then merges the result sets and sends back the query results.
The following list summarizes the querying functionality supported by Geode for partitioned regions:
- Ability to target specific nodes in a query. If you know that a specific bucket contains the data that you want to query, you can use a function to ensure that your query only runs the specific node that holds the data. This can greatly improve query efficiency. The ability to query data on a specific node is only available if you are using functions and if the function is executed on one single region. In order to do this, you need to use
Query.execute(RegionFunctionContext context)
. See the Java API and Querying a Partitioned Region on a Single Node for more details. - Ability to optimize partitioned region query performance using key indexes. You can improve query performance on data that is partitioned by key or a field value by creating a key index and then executing the query using use
Query.execute(RegionFunctionContext context)
with the key or field value used as filter. See the Java API and Optimizing Queries on Data Partitioned by a Key or Field Value for more details. Ability to perform equi-join queries between partitioned regions and between partitioned regions and replicated regions. Join queries between partitioned region and between partitioned regions and replicated regions are supported through the function service. In order to perform equi-join operations on partitioned regions or partitioned regions and replicated regions, the partitioned regions must be colocated, and you need to use the need to use
Query.execute(RegionFunctionContext context)
. See the Java API and Performing an Equi-Join Query on Partitioned Regions for more details.Optimizing Queries on Data Partitioned by a Key or Field Value


Home
Results
Products
About Us
Time
0
Lives
You lost.
Total Wins:
Total Losses:
Best Time:
Play Again?
View Results
Change Difficulty
Go to Product Page


 Totally unfair!
Kitchen Table02-Aug-18 05:48 PM
Really putting that squeeze on the alt coin market now.
Im facing a closure bill for electricity next month.. and i expect to have to add some money... like 1k
Now all crypto down.. have to sell more than expected.
siu - Chainmakers02-Aug-18 06:01 PM
are we ded enough yet?
Kitchen Table02-Aug-18 06:02 PM
Hard to say. Good chance it will all go down further. They need to really get that despair to set in.
neokensou02-Aug-18 07:06 PM
Any news why we are dropping?
KomodoWorld02-Aug-18 07:11 PM
maybe because all the market is dropping?
neokensou02-Aug-18 07:12 PM
Maybe every coin is not dropping as hard as komodo?
KomodoWorld02-Aug-18 07:13 PM
where do you see it dropping more? it's same relative position
neokensou02-Aug-18 07:16 PM
Only 4 coins or tokens have a a greater change in 24 hours than Komodo in the ranking before its position
I supposed its not just the bear market. I was asking if you guys know anything else
siu - Chainmakers02-Aug-18 07:17 PM
Capitulation
KomodoWorld02-Aug-18 07:18 PM
on CMC I count 10 other coins above Kmd with greater 24h drop
neokensou02-Aug-18 07:19 PM
On top 65?
KomodoWorld02-Aug-18 07:19 PM
tomorrow they will up, then down, etc... seems just following the bear
yes
neokensou02-Aug-18 07:20 PM
You are counting top 100
whatever, its ok
no reason
its ok
KomodoWorld02-Aug-18 07:21 PM
vechain, walton, waves, stratis, icon... even more down than kmd
it will continue until bitcoin stops crashing the party(edited)
Hollowman900002-Aug-18 07:25 PM
Portfolio is at April 2017 valuation roughly
Kitchen Table02-Aug-18 07:26 PM
Komodo has entered deep into the support zone. Now to see it holds which looks like a fight is happening right now.
siu - Chainmakers02-Aug-18 08:37 PM
I know the marketing flaw of kmd
The name, komodo
A real life animal that you know exist
To go to the moon you need a space name
To be the future you need a sci-fi name
xRobeSx02-Aug-18 08:39 PM
The space komodo
Some say that there Reptilian type ET's.... james could be an ET this whole time naming everything based on lizards
there's the space connection ha
siu - Chainmakers02-Aug-18 08:41 PM
xRobeSx02-Aug-18 08:41 PM
google reptilian et's
jl777c02-Aug-18 08:41 PM
most of the alts the recent days have the identical chart
siu - Chainmakers02-Aug-18 08:42 PM
Hunter S. Thomson saw people as reptiles when he tripped on acid(edited)
1
There you have you reptilian connection with space(edited)
xRobeSx02-Aug-18 08:43 PM
all of the brightest minds have used acid
siu - Chainmakers02-Aug-18 08:43 PM
Maybe james had the same hallucinations
snowdamn02-Aug-18 08:43 PM
you have to look at a basket of alts to see it
one alt at a time is tricky
create your own index
then you'll see it(edited)
keep the same basket in the index
always(edited)
siu - Chainmakers02-Aug-18 08:45 PM
I see a LOT of coins with bigger loses than kmd today... dont know why someome was saying earlier that kmd was the biggest loser
Cryptoon02-Aug-18 08:45 PM
Might be the biggest loser in their bag?
siu - Chainmakers02-Aug-18 08:46 PM
That makes more sense
snowdamn02-Aug-18 08:46 PM
when you create your own index you'll see that all the moves are automated
don't be fooled
and you have to look at BTC/USD
siu - Chainmakers02-Aug-18 08:52 PM
Also we need an enemy
neokensou02-Aug-18 08:52 PM
an enemy?
siu - Chainmakers02-Aug-18 08:52 PM
Yes
EOS VS. ETH
Tron vs. Eth
Substratum say they are making something better than tor
Using "good encryption"
Lol
Btc vs. Bch
Zec vs. Monero
neokensou02-Aug-18 08:54 PM
I don't see a reason to have an enemy. This is not a battle for consumers
snowdamn02-Aug-18 08:54 PM
even better way to see it: create 2-3 indexes with baskets of different coins that you have held in the past, don't have more than 2 same coins per index
neokensou02-Aug-18 08:54 PM
If there is no enemy, there is no questionable trade for a buyer because there is no competitors
siu - Chainmakers02-Aug-18 08:54 PM
Im joking since i started talking about komodo name
neokensou02-Aug-18 08:55 PM
so you dont need to split your buyers
oh, sorry
siu - Chainmakers02-Aug-18 08:55 PM
But if you see much of the topics these days on other coins communities its all about enemies
snowdamn02-Aug-18 08:56 PM
our enemy is Wall Street
siu - Chainmakers02-Aug-18 08:56 PM
Lol
At the current state of crypto... everyone has their asses lubed and gaping for some wall street
I dont know if you missed the memo
They dont even like anonymous devs these days
snowdamn02-Aug-18 09:00 PM
crypto is an addiction, the only place where you get upset for leaving $1M on the table selling 2-3 days earlier... and don't bat an eye (a few months later) when you're down $30M for not having sold everything back then(edited)
siu - Chainmakers02-Aug-18 09:03 PM
Did you heard that mom and pop dont like private keys?
snowdamn02-Aug-18 09:04 PM
mom and pop will have to wait for old-school banks to offer wallets
siu - Chainmakers02-Aug-18 09:04 PM
Or for EOS fund freezing machine
Someone was shilling EOS to me thenother day
snowdamn02-Aug-18 09:05 PM
siu + EOS =
LOL
siu - Chainmakers02-Aug-18 09:05 PM
Those guys are all over where i live
Im like the roach on the chicken party
"No tx fee" "fastest transaction times"
I added they definitively have the fastest freezing funds time in all crypto space
5
snowdamn02-Aug-18 09:19 PM
damn, didn't realize we're at a buck twenty-five
Fall 2017 is about to be repeated
the pumps will be like fireworks
neokensou02-Aug-18 09:21 PM
i pray for that
snowdamn02-Aug-18 09:22 PM
they wouldn't have kept BTC at $7500 otherwise(edited)


Did he really say that?
Below you will see a random quote. Try to decide whether it's something Donald Drumpf has actually said.
""
Did he really say that?
Score: 0
Strikes: 0
List of High Scores
Below you will see a random quote. Try to decide whether it's something Donald Drumpf has actually said.
""
Score: 0
Strikes: 0
List of High Scores


Seahawks Defender After Failing To Catch & Tackle Lamar Jackson: “That Muthaf*cka Fast” (VIDEO)
by Darrelle LincolnLamar Jackson is freakishly fast. There aren’t too many defenders in the league that can catch him from behind. You’d be lucky to grab a foot and hope he trips as full speed.
Such was the case when the Baltimore Ravens faced off against the Seattle Seahawks a few weeks ago when Jackson got loose out of the pocket and was tripped up, because a few Seahawks defenders couldn’t catch him.
One of them could be heard saying, “That motherf*cka fast” while on the bench.
Indeed he is. That’s the reason the Ravens won that game 30-16.


May 19, 2015
Using canvas to fix SVG scaling in Internet Explorer
May 17, 2015
How to test React components using Karma and webpack
Mar 13, 2014
Custom CSS preprocessing
Jan 08, 2014
Flexible CSS cover images
Jan 02, 2014
A simple Git deployment strategy for static sites
Jul 07, 2013
Walking around San Francisco on July 4th
Feb 02, 2013
Moving from London to San Francisco
Dec 23, 2012
Reflecting on 2012
Mar 15, 2012
About HTML semantics and front-end architecture
Mar 06, 2012
Another CSS image replacement technique
Mar 05, 2012
CSS: the cascade, specificity, and inheritance
Feb 28, 2012
About normalize.css
Nov 29, 2011
“Mobile first” CSS and getting Sass to help with legacy IE
Oct 14, 2011
An introduction to CSS pseudo-element hacks
Oct 13, 2011
Quick tip: git-checkout specific files from another branch
Aug 15, 2011
Mac OS X bootable backup drive with rsync
May 20, 2011
Better conditional classnames for hack-free CSS
May 19, 2011
Responsive images using CSS3
Apr 26, 2011
Better float containment in IE using CSS expressions
Apr 21, 2011
A new micro clearfix hack
Jan 17, 2011
CSS background image hacks
Dec 12, 2010
Pure CSS folded-corner effect
Dec 11, 2010
CSS drop-shadows without images
Nov 16, 2010
Pure CSS GUI icons (experimental)
Nov 13, 2010
Jump links and viewport positioning
Nov 05, 2010
Yet another HTML5 fallback strategy for IE
Sep 17, 2010
Custom Tweet Button for WordPress
Aug 18, 2010
Animal virtues & choice fetishism
Jun 14, 2010
CSS image replacement with pseudo-elements (NIR)
Jun 10, 2010
Multiple Backgrounds and Borders with CSS 2.1
Jun 08, 2010
CSS pseudo-element Solar System using semantic HTML
May 25, 2010
Photogenic toad
Mar 10, 2010
Pure CSS social media icons (experimental)
Mar 05, 2010
Pure CSS speech bubbles
Feb 25, 2010
Using HTML5 elements in WordPress post content
Feb 24, 2010
CSS typography experiment
Feb 01, 2010
New HTML5 elements: summary & figcaption
Nov 27, 2009
Wasp nest
Oct 10, 2009
Ladybird macro photographs
Oct 08, 2009
UCL update their homepage
Sep 14, 2009
Thoughts on some new HTML5 elements
Aug 31, 2009
Photograph of a curious cow
Aug 15, 2009
Anatomy of an HTML5 WordPress theme
Jul 04, 2009
Hoverfly on a pink flower
Jun 02, 2009
Glossary format definition list


Writing Hypar Functions in C#
By uploading a function to Hypar you can produce multiple options for a building problem in just a few seconds, and combine them with other people's functions to create rich, realistic designs. In this introduction to Hypar, we'll work with a much simpler function that generates masses of variable dimensions.
Tutorial Videos
Installing and Using the Hypar CLI
Pre-Flight Check
Before getting started, there are a few things you'll need and some other things you might want to know.
Things you'll need
- A 'modern' web browser.
- Visual Studio Code (Windows, Mac OS, Linux) or any other C#-compatible code editor.
- We strongly suggest using VSCode to follow along with this tutorial, although Visual Studio will also work fine.
- A Hypar Account:
- Sign up at hypar.io.
- Access to a command line for your operating system.
- We'll use the Windows Command Prompt for this guide, but other operating system command prompts should work similarly.
- Windows: Hypar is known to work on the windows command prompt and git bash.
- Some users have experienced issues using Hypar on PowerShell. PowerShell is not recommended.
- Mac: Hypar is known to work on bash and zsh.
- Linux: Hypar is known to work on zsh.
- Windows: Hypar is known to work on the windows command prompt and git bash.
- We'll use the Windows Command Prompt for this guide, but other operating system command prompts should work similarly.
- .NET Core 3.1
- Hypar uses the cross-platform dotnet framework created and maintained by Microsoft. The version number is important! There might be issues with earlier or later versions of .NET Core. Be sure to download the SDK installer from the left-hand side, not the runtime.
Things you might want to know
- It's helpful to review the short conceptual overview of Hypar Elements, Functions, and Workflows before beginning this tutorial.
- Basic familiarity with the C# programming language will help, but if you're not familiar with C# we'll do our best to walk you through making changes to the initial code you'll get by following the steps in this guide.
- If you want to share your Hypar functions, you have to explicitly make your work public, so don't worry that perfect strangers are judging your work. They will, but only if you decide to make them public.
- The procedures you'll use in this guide compile your code on your desktop and only upload the resulting binary file. No one at Hypar will examine your source code because we won't have it unless you make it public by some other means or if you send it to us so we can help you solve a problem.
- None of the Hypar libraries you'll use in this guide bind your code to Hypar web services. For example, if you'd like to use the Elements library for a desktop application, it's an open source project on GitHub and will always be free for anyone to use or extend. You don't even have to tell us you're using it.
Installing and Using the Hypar Command Line Interface (CLI)
Open a Command Prompt (cmd.exe
on Windows, or Terminal on Mac or Linux) and input the following command to install the Hypar CLI:
dotnet tool install -g hypar.cli
Close and reopen the Command Prompt to finish the installation.
Sign in to Hypar with this command in the Command Prompt:
hypar sign-in
Creating a Function
Next, return to the Hypar web interface and sign in. Scroll down to see Your Functions, and click New Function followed by New C# Function.
This wizard will take you through setting up your function. For consistency with the rest of this example, give your function the name Starter Function.
Click Next to proceed to configuring your function's inputs. Click or drag three "Range" inputs and name them Width, Length, and Height, and set their minimum values to 1:
Go on to the next step, and click next again so that Step 4: Outputs is highlighted at the top. Click the + to add a new output to report the box's volume, and configure it like so:
Move on to the final step, Logic. Click "Publish Function," and then click the button to copy the terminal command.
Now your function has been published (privately) to Hypar! Next, we'll write some code to define the logic for the function.
Return to your command prompt. Decide where you want Hypar to save the code for your function on your computer, and use the cd
command to set that location as the current working directory:
cd C:/users/yourUserName/repos
Then paste the command you copied from the Hypar web interface, and run that (don't copy the one below, it won't have the right ID):
hypar new --function-id=96a0df70-2a7d-4612-9c0e-7f6d86830576
A bunch of messages will go by as Hypar sets up your local project.
Next, open VS Code and open the project folder we just created. It should be in the location you picked earlier, with the folder name "StarterFunction."
 Here's what that looks like in VS Code:
It may seem like a lot, but the good news is you rarely have to edit most of these files — Hypar takes care of all of that for you. Any file you see that ends with .g.cs
is not meant to be edited by you.
The file we care about most is StarterFunction.cs in the /src
directory — this contains the logic for your function. Let's open it up.
The Execute
method is the entry point into our function. It doesn't do anything very exciting right away; it creates an "Outputs" object, and returns it.
Note that the method has a few arguments. The one called input
contains the inputs we defined earlier, like Width, Length, and Height. Let's use some of those inputs to create a rectangle. Add this line to your function, in between the two existing lines of the method:
var rectangle = Polygon.Rectangle(input.Width, input.Length);
Next we'll make a Mass
Element to pass out to the Hypar 3d environment. Note that if you want something to show up in the 3d view, it has to be an Element of some kind. Add this line after the rectangle:
var mass = new Mass(rectangle, input.Height);
We also have to put the mass we created in the output model, like so:
output.Model.AddElement(mass);
Finally, we created an output called Volume
to report the box's volume. These data outputs are provided to the constructor for the Outputs
object — so let's edit the first line of our method to look like this:
var output = new StarterFunctionOutputs(input.Width * input.Length * input.Height);
Our function should look like this when we're all done. Be sure to save the file!
public static StarterFunctionOutputs Execute(Dictionary<string, Model> inputModels, StarterFunctionInputs input)
{
// create an outputs object and populate any output values
var output = new StarterFunctionOutputs(input.Width * input.Length * input.Height);
// create a rectangle
var rectangle = Polygon.Rectangle(input.Width, input.Length);
// create a mass from the rectangle
var mass = new Mass(rectangle, input.Height);
// add the mass to the output model
output.Model.AddElement(mass);
return output;
}
To publish our changes to the web, open up your command prompt again (or open VS Code's integrated terminal). Make sure your working directory is the one Hypar created for you — you might need to cd StarterFunction
first. Then publish your function logic like this:
hypar publish
Now your function logic has been added to your function on Hypar. Let's go test it out! Return to hypar.io and sign in.
Create a new workflow by clicking New Workflow and selecting New Blank Workflow. Once it opens up, give it a name in the nav bar. Type in any name you want (perhaps "Starter workflow"). You'll see this screen:
In the Function Library panel, search for "Starter Function" (or whatever you named your function).
Now let's try out our function. Click Insert on Starter Function and hide the Function Library by clicking the "X" to close it. Your function will run automatically and you should see something like this:
You've just run a web application that you created! Click in the 3D view to zoom, pan, and rotate the result. Now click on Starter Function to open up its inputs. Try adjusting the sliders to see how the mass changes shape. Check the "Sample Range" checkbox under the height and width sliders. Then click the "Alternatives" button () on your workflow to see the options that have been generated.
In the alternatives list, you can see that your function has actually run many times with different input values. Click different alternatives to view them in 3D. The range sliders on the left are set to allow all possible lengths and widths. You can shrink these ranges to generate just the options you want.
This diagram summarizes the process we just went through to create, define, and publish our function:
Editing your function
While developing a function, you may need to add additional inputs or outputs and change function logic. In this section we'll see how to do this.
In your workflow, you should see an "About" link under the name of your function. Click it to open the function details. As the owner of this function, you have the ability to make changes here.
Switch to the Inputs tab and click Edit Function Details at the bottom of the window. This brings us to the same interface we used to create the inputs originally.
Let's add a new Color input by dragging "Color" to the top. We'll call it "Mass Color" and click the color swatch to set a different color as the default. Any value you set in this window will be the default value that shows up when your function is added to a workflow.
Switch to the Outputs tab so we can add an output for the base area of our mass. Click + to add it, and configure it like so:
Click Save Changes to register your changes to the function's configuration.
Next, we'll need to pull those changes into our local code files, so that we can use the new input and output. Switch to the Logic tab and copy the second command:
hypar pull && hypar init
hypar pull
pulls the changes we made in the web interface to our hypar.json
configuration file, and hypar init
generates new code files from that configuration. You are also welcome to run these commands independently — you don't need to copy them from the web every time.
Let's return to VS Code, and take a closer look. If you select hypar.json
in the righthand side, you can view the configuration that describes this function.
If you scroll down, you should see our new Color input and Area output reflected:
NOTE
Advanced users may find it easier to edithypar.json
manually rather than editing the function in the web UI and running hypar pull
— it's completely up to you. Just remember to use hypar init
after any changes to hypar.json
to make sure the corresponding C# code gets regenerated.
Returning to StarterFunction.cs
, we can take advantage of our new inputs and outputs. We'll edit the first line to add the base area output:
var output = new StarterFunctionOutputs(input.Width * input.Length * input.Height, input.Width * input.Length);
And create a new material before we create our mass:
var material = new Material("Box Color", input.MassColor);
And finally add the material to the mass.
var mass = new Mass(rectangle, input.Height, material);
Here's how the updated Execute
method code should look now:
public static StarterFunctionOutputs Execute(Dictionary<string, Model> inputModels, StarterFunctionInputs input)
{
// create an output object
var output = new StarterFunctionOutputs(input.Width * input.Length * input.Height, input.Width * input.Length);
// create a rectangle
var rectangle = Polygon.Rectangle(input.Width, input.Length);
// create a new material
var material = new Material("Box Color", input.MassColor);
// create a mass from the rectangle
var mass = new Mass(rectangle, input.Height, material);
// add the mass to the output model
output.Model.AddElement(mass);
return output;
}
Be sure to save the file, and then publish these changes by running hypar publish
again. Then we'll return to our workflow on Hypar, and reload the page to update the function. You may have to adjust a slider value to cause the function to recompute.
This diagram summarizes the steps we've taken to edit and update our function:
Sharing your function
Your function always starts out private to you: only you can see and use it in a workflow. Once you're happy with your function, you can share it with the world!
Click the "About" link under your function name again, and this time navigate to the Permissions tab.
Uncheck the Private checkbox to make your function public. You can also choose to share it in a more limited way, by sharing with specific email addresses or with a whole email domain (like myfirm.com
).
You may also want to add a thumbnail to your function so others can get a sense of what it does. To do this, go to the Details tab, click Edit Function Details, and drag-and-drop an image on the drop zone. Then click Save Changes to save the thumbnail.
Testing your function
When developing a function, it's useful to be able to make changes and visualize them immediately. The Hypar CLI provides a way to run your function locally and test it in the context of a workflow.
Return to your workflow, and remove your function from the workflow by clicking the "X."
Then go to the Hypar menu in the upper-right hand corner of the window, and select Test a Local Function
Click the "Copy to clipboard" button under the command:
Then return to your terminal, ensure you're in your project directory ("StarterFunction") and paste the copied command, which should look like this:
hypar run --workflow-id=6bcece6c-2fa5-4a4d-a5c7-43732bff053b
Wait until you see this message:
Workflow update subscription acknowledgement received with id 518f1c6f-1b07-40e9-8461-fbc8fdbe3c06. Waiting for workspace updates...
And then return to the workflow and click the "Ready" button.
Now, when you edit the inputs of the function, they're passed to your locally-running function, instead of being executed on the cloud.
The hypar run
command we pasted earlier stays running continuously until we exit. While it's running, it serves the local function, and also monitors your code for changes. If you make changes to hypar.json
or to your C# code, it will rebuild the function and re-execute dynamically. This makes it easy to write code, quickly try things out, and visualize how they will function on Hypar.
Let's make some changes to our code, with hypar run
still running. We'll insert a void running through our mass. For this we'll need to create a smaller rectangle inside our first one, and create a profile from those two rectangles. First, we'll make the second rectangle:
var innerRectangle = Polygon.Rectangle(input.Width * 0.5, input.Length * 0.5);
And then a Profile from the two rectangles:
var profile = new Profile(rectangle, innerRectangle);
And then edit the line where we make the Mass
to use our new profile:
var mass = new Mass(profile, input.Height, material);
The updated execute method should look like this:
public static StarterFunctionOutputs Execute(Dictionary<string, Model> inputModels, StarterFunctionInputs input)
{
// create an output object
var output = new StarterFunctionOutputs(input.Width * input.Length * input.Height, input.Width * input.Length);
// create a rectangle
var rectangle = Polygon.Rectangle(input.Width, input.Length);
// create an inner void rectangle
var innerRectangle = Polygon.Rectangle(input.Width * 0.5, input.Length * 0.5);
// create a profile from the two rectangles
var profile = new Profile(rectangle, innerRectangle);
// create a new material
var material = new Material("Box Color", input.MassColor);
// create a mass from the rectangle
var mass = new Mass(profile, input.Height, material);
// add the mass to the output model
output.Model.AddElement(mass);
return output;
}
As soon as you save your code, you should see the function results update in your workflow:
When you're happy with your local changes, hit ctrl+C in the terminal to stop hypar run
.
Finally, publish your updated function with hypar publish
. The next time you use it in a workflow, it will reflect the changes you made. Anyone you've shared your function with will also have access to the latest and greatest version you just published.
This diagram summarizes the steps we've taken to edit and test our function with live preview:
What's next?
Congratulations on creating your first Hypar function! There's more to learn, but you should start thinking about building a real, useful function. Here are a few tips for deciding what to make:
- Solve one small problem. Hypar Functions are easy to compose. No single function needs to do too much on its own.
- Take something you've done before and do it again on Hypar.
- Scratch an itch. What do you hate doing manually? What would look cool? What would look silly?
- You don't need to be original. Just get started. Feel free to make another version of something you've already seen.
Here are some other good resources:
- Hypar CLI Reference
- Hypar's Discord live chat. Lots of people should be there to answer questions or share ideas.
- Hypar's YouTube channel has walkthrough videos and livestreams.
- The Elements GitHub repository and the tabs on top of this page have more information about Hypar's data model.
- Hypar's Building Blocks repo has the source code for many Hypar functions. Read those to see how they work, and feel free to branch or improve any of them.


Product announcement template.
Blinker Fluid Now Available
Do you find yourself flipping off other drivers because they didn't have a turn signal? It is likely they have run out of blinker fluid. Don't become a flipped-off statistic. Keep your blinker fluid topped off!
$1,998.98
12oz bottle.
FREE overnight shipping


An in-process version of 'MonetDB', a SQL database designed for analytical tasks. Similar to 'SQLite', the database runs entirely inside the 'R' shell.
| Version: |
0.6.0 |
| Depends: |
R (≥ 3.2.0) |
| Imports: |
DBI (≥ 0.6), digest (≥ 0.6.4), methods, codetools |
| Suggests: |
assertthat, testthat, survey, nycflights13, RSQLite, dbplyr, dplyr, gdata, callr, devtools, DBItest, bit64 |
| Published: |
2018-07-27 |
| Author: |
Hannes Mühleisen [aut, cre],
Mark Raasveldt [ctb],
Thomas Lumley [ctb],
MonetDB B.V. [cph],
The Regents of the University of California [cph],
Kungliga Tekniska Hogskolan [cph],
Free Software Foundation, Inc. [cph] |
| Maintainer: |
Hannes Mühleisen <hannes at cwi.nl> |
| BugReports: |
https://github.com/hannesmuehleisen/MonetDBLite-R/issues |
| License: |
MPL (== 2.0) |
| URL: |
https://github.com/hannesmuehleisen/MonetDBLite-R |
| NeedsCompilation: |
yes |
| Materials: |
README |
| In views: |
Databases |
| CRAN checks: |
MonetDBLite results |


PhantomJS is a headless WebKit scriptable with a JavaScript API.
It has fast and native support for various web standards:
DOM handling, CSS selector, JSON, Canvas, and SVG.
// Simple Javascript example console.log('Loading a web page'); var page = require('webpage').create(); var url = 'http://phantomjs.org/'; page.open(url, function (status) { //Page is loaded! phantom.exit(); });
Run functional tests with frameworks such as Jasmine, QUnit, Mocha, Capybara, WebDriver, and many others. Learn more
Programmatically capture web contents, including SVG and Canvas. Create web site screenshots with thumbnail preview. Learn more
Access and manipulate webpages
with the standard DOM API, or with
usual libraries like jQuery.
Learn more
Monitor page loading and export as standard HAR files. Automate performance analysis using YSlow and Jenkins. Learn more
PhantomJS is used in the test workflow of various open-source projects:
Bootstrap,
CodeMirror,
Ember.js,
jQuery Mobile,
Less.js,
Modernizr,
YUI3,
and many more.


Store
Login
Register
Store Registration
Store Name:
Street Address:
City:
State:
Zip:
Email:
Phone:
Cancel
Submit
Store Registration
Would you like to register your store now?
No
Yes


meta_predicate
DeclarationSometimes a user-defined predicate will require module name expansion (see
ref-mod-mne). This can be specified by providing a
meta_predicate
declaration for that procedure.
Module name expansion is needed whenever the argument of a predicate has some module-dependent meaning. For example, if this argument is a goal that is to be called, it will be necessary to know in which module to call it—or, if the argument is a clause to be asserted, in which module it should go.
Consider, for example, a sort routine to which the name of the comparison predicate is passed as an argument. In this example, the comparison predicate should be called with respect to the module containing the call to the sort routine. Suppose that the sort routine is
mysort(CompareProc, InputList, OutputList)
An appropriate meta_predicate
declaration for this is
:- meta_predicate mysort(:, +, -).
The significant
argument in the mysort/3
term is the `:', which indicates that
module name expansion is required for this argument. This means that
whenever a goal mysort(
A,
B,
C)
appears in a clause, it will be
transformed at load time into mysort(
M:
A,
B,
C)
, where M is the
source module. There are some exceptions to this compile-time
transformation rule; the goal is not transformed if either of the
following applies:
The reason for (2)
is that otherwise module name expansion could
build larger and larger structures of the form Mn: ... :M2:M1:Goal.
For example, consider the following program fragment adapted from the
library (see library(samsort)
for the full program):
:- module(samsort, [samsort/3]). :- meta_predicate samsort(:, +, ?), sam_sort(+, :, +, +, ?). samsort(_, [], []) :- !. samsort(Order, List, Sorted) :- sam_sort(List, Order, [], 0, Sorted). . . .
Normally, the sam_sort/5
goal in this example would have the module name of its
second argument expanded thus:
sam_sort(List, samsort:Order, [], 0, Sorted)
because of the meta_predicate
declaration. However, in this
situation the appropriate source module will have already been
attached to Order because it is the first argument of samsort/3
,
which also has a meta_predicate
declaration. Therefore it is
not useful to attach the module name (samsort
) to Order in the call of
sam_sort/5
.
The argument of a meta_predicate
declaration can be a term, or a
sequence of terms separated by commas. Each argument of each of these
terms must be one of the following:
The reason for `+', `-' and `*' is simply so that the information
contained in a DEC-10 Prolog-style “mode” declaration may be represented
in the meta_predicate
declaration if you wish. There are many examples of
meta_predicate
declarations in the library.


{{other_languages || 'No language provided'}}
{{profileObj.location_string || 'No location provided'}}
{{profileObj.description | ucfirst | shorten: maxLength : '...'}} maxLength" (click)="showAll(profileObj.description.length)" style="color:#33bd9e">read more 140 && profileObj.description.length <= maxLength" (click)="showAll(profileObj.description.length)" style="color:#33bd9e">show less
No description provided. Complete your profile
{{topic.experience | ucfirst}}
This user is not teaching yet.
You are not teaching yet. Start Teaching
No details provided. Complete your profile
No details provided. Complete your profile


{% extends 'owner/dashboard/base.html' %} {% block content %} {% include "owner/dashboard/header.html" %} {% include "owner/dashboard/side_nav.html" %} {% include "owner/dashboard/page_container.html" %} {% endblock content %}


Mixins
Mixins Basic & Option Merge
Console logs when this Vue instance created...
Mixins Basic - Vue 2.0
Console logs when this Vue instance created...
Global Mixin
Console logs when this Vue instance created...
Custom Directive
Teleport
Tooltips with Vue 3 Teleport
Using with Vue Components
Root instance
Render Functions


Here are some ideas that your group could help by sponsoring GDG Twin Cities
Keep us on the map.
Host a meetup at your business. We usually have 20-50 people show up to any event.
Provide a speaker.
We are always looking for engaging folks who are passionate about what they are working on. We'd love to hear your current project.
Provide food.
Awesome members deserve awesome chow. Help an event by providing some good eats.
Become part of our Circle.
$400
Help us out with misc overhead. (This site, meetup.com fees, etc). Currently footed out of the pocket of the organizers.
- Small logo, tagline and link on event announcements
Help us scale.
$1000
Help us dial it up. We often would like to provide opportunities for memebers to have access to newer gadgets, opportunities etc.
- Med logo, short message, and link on all announcements
- Logo on our Meetup.com page
Partner with us.
There can only be 1 and it could be you
Contact us for more details.


--- layout: post title: 'Composition Notebook #1' date: 2015-08-20 08:00:02.000000000 -05:00 type: post published: true status: publish categories: - Calenday - post tags: [] meta: background_selector_orientation: full _custom_bg: 'false' _single_featured: '-1' _padding: 'false' _layout: right textfalse: '' _wpb_vc_js_interface_version: '0' footer_source: no-image footer_color: '#191919' banner_cover: 'false' banner_source: no-image banner_color: '#fafafa' header_cover: 'false' page_cover: 'false' header_color: '#fff' header_source: no-image _breadcrumb_skin: dark _jetpack_related_posts_cache: a:1:{s:32:"8f6677c9d6b0f903e98ad32ec61f8deb";a:2:{s:7:"expires";i:1444881990;s:7:"payload";a:3:{i:0;a:1:{s:2:"id";i:21037;}i:1;a:1:{s:2:"id";i:21030;}i:2;a:1:{s:2:"id";i:21204;}}}} _edit_last: '1' _page_title_align: left _page_title_size: '18' _page_title_padding: '40' footer_cover: 'false' body_cover: 'false' page_color: '#fff' page_source: no-image body_source: no-image body_color: '#fff' _wpb_vc_js_status: 'false' _thumbnail_id: '21278' _mk_post_love: '0' _theme_options_build: '' _dynamic_styles: Tjs= author: login: calendayadmin email<EMAIL_ADDRESS>display_name: Lauren Haldeman first_name: Lauren last_name: Haldeman ---
While I was gathering together the poems that would eventually make Calenday, I found an old composition notebook, replete with scraggly notes and strange stains, from the first few months of E's life.  Crazy and heavily embarrassing. So I am typing them up online, of course. Here's one now.
July 3rd, 2010 -- 2 weeks old
"You have been here for two weeks now. At first I was terrified to have you in the house -- it seemed like nothing would be the same. I wasn't alone, but I felt alone. Each night was weird. The first night, I was really arrogant about being able to breastfeed you. I put a little dry-erase board up on the wall to keep track of the feedings & I thought everything would be fine.  Nothing could go wrong.
I think I fed you five times that night. Five different times. With no sleeping (on my part) between each session.
At one point during that night, around 2 am (probably the 3rd feeding), the tornado warning siren went off in town. You had just latched on and were starting to eat, when the siren began blaring.  I sat there and thought "If a tornado hits this house, so be it. I am NOT interrupting this feeding." It was highly irresponsible. But I didn't know what else to do.
Getting you to eat was a mystery. Half the time, you would eat for five minutes and then stop -- seeming to forget what you were doing. And the internet (the INTERNET!) said you should be eating for 20 minutes, on each side. So what gives?"
"Meanwhile, all day my crotch hurt. It was hard to walk, impossible to sit up, and it was very VERY scary to cough, laugh or poop. I've never been kicked in the balls, because I don't have balls, but I imagine maybe this is what that feels like? But over and over again?
On the third day home, I was feeding you -- (it seemed like I was always feeding you) -- when the obsessive amount of prune juice that I had been consuming (as suggested by medical professionals) finally started to 'come through'. My whole face went cold and tickly. There was that chilly feeling like pins & needles in my lower organs. I started to yell for Ben to help, but there was no time. I had to set you down on the floor (the floor!) and run to the bathroom. But I didn't make it. I didn't make it there in time, my friend. Things got rough. Ben came upstairs and found us both crying. We were all babies at that point, I think.
So there you go. If there isn't too much backlash, I hope to type up the whole disgusting, embarrassing book! So, you know, check back.


The methods used:
Add a data to the series with a given name. If the name exists the data will be overwritten. Data can be added via array, sql query or javascript function
Parameters:
Set a various options for a serie.
Parameters:
API Tags:
Return: instance
Access: public
The data is added with addSeries method.
Array Data
1. A list of numerical values. In this case, the numberical values will be interpreted and y values, and x values will be automatically calculated, either starting at 0 and incrementing by 1, or from pointStart and pointInterval given in the plotOptions. If the axis is has categories, these will be used. Example:
... $chart = new jqChart(); $chart->addSeries('Tokyo', array(7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6)) ...
2. A list of arrays with two values. In this case, the first value is the x value and the second is the y value. If the first value is a string, it is applied as the name of the point, and the x value is incremented following the above rules. Example:
... $chart = new jqChart(); ->addSeries('data', array( arraY(20, 20), array(80, 80) )); ...
3. A list of object with named values. In this case the objects are point configuration objects as seen under options.point. Example:
... $chart = new jqChart(); ->addSeries('data', array( array( "name" =>'Point 1', "color"=> '#00FF00', "y"=> 0 ), array( "name" =>'Point 2', "color"=> '#FF00FF', "y"=> 5 ) )); ...
Data can be added via Javascript function
Example:
... $randdata = << RNDATA (function() { // generate an array of random data var data = [], time = (new Date()).getTime(), i; for (i = -19; i <= 0; i++) { data.push({ x: time + i * 1000, y: Math.random() }); } return data; })() RNDATA; ... $chart = new jqChart(); $chart->addSeries('Random data', 'js:'.$randdata ); ...
Data can be added direct via SQL query.
Example
... require_once ABSPATH."php/jqUtils.php"; require_once ABSPATH."php/jqGridPdo.php"; require_once ABSPATH."php/jqChart.php"; $conn = new PDO(DB_DSN,DB_USER,DB_PASSWORD); // Tell the db that we use utf-8 jqGridDB::query($conn,"SET NAMES utf8"); $chart = new jqChart($conn); $chart->addSeries("MyOrders","SELECT SUM(ordersum) FROM orders GROUP BY order_date"); ...


It's strange to think that a programming language that took only ten days to create would have such a profound effect on the world of technology today, but Javascript somehow managed to do just that. Created in 1995 as a lightweight interpreted language to work alongside Java, it has since grown to become the de facto scripting language of all browsers. Today you will find Javascript in virtually every single website you will visit on any given day. There are many reasons why Javascript is so popular: it's very fast, it's very lightweight, it's versatile (can be inserted into any web page regardless of the file extension), and there are libraries of documentation as well as a huge open source community to work with, making it relatively easy to learn.
Of course, nothing comes without downside. The main con about Javascript is that it is a purely front-end language. This means that it is dependent on other technologies to fetch server data (however this is being remedied by Node.js). It is also not very well secured. Because it's a front-end system, it runs on the user's computer, which gives opportunities for malicious code to infect that computer. Lastly, Javascript can have rendering problems on different browsers due to their innate differences. Although this is a fading issue that is being fixed in the latest versions of javascript, it is still prevalent today.
Despite these limitations, Javascript is more popular than ever, and that is because its pros vastly outweigh its cons. Until something much better comes along, we can expect a lot more JS in the foreseeable future.


Prince William gives rare insight into private life in chat with surprise celeb pal
The Duke of Cambridge, 37, and rock legend Eric Clapton also chatted about their mutual interests
by Russell Myers, https://www.mirror.co.uk/authors/russell-myers/Prince William caught up with a surprise celebrity pal tonight at a glittering charity bash where he admitted he spends a lot of his free time sleeping.
The busy dad-of-three, 37, appeared delighted when he spotted rock legend Eric Clapton among the guests at a star-studded gala dinner, honouring a 30th anniversary fundraising campaign for London’s Air Ambulance Charity.
The event at Rosewood London, a luxury hotel in the capital, was hosted by television presenter Natalie Pinkham.
Guests included former Formula One boss Bernie Ecclestone and his wife Fabiana, Bernie’s daughter Tamara and her husband, art gallery owner Jay Rutland.
And the second in line to the throne and Clapton, 74, appeared to be old friends.
“Hi Eric,” William said.
“It’s been a while,” Clapton replied.
They talked about a mutual interest, which may have been their love for the Caribbean island of Mustique.
“I was there the other day,” Clapton said.
William told him that looking after his children meant he had less free time to pursue hobbies.
“Any free time I get, I sleep,” the future King said.
Earlier, the Duke met air ambulance doctors, paramedics, and pilots attending the black tie dinner reception in their orange uniforms.
William, a former air ambulance pilot, is patron of the charity’s 30 Years Saving Lives campaign, which aims to highlight its vital work delivering lifesaving treatment across London and raise funds for new facilities.
It has already raised almost £2million.
Drawing on his own experience he said: “ What struck me when I worked with East Anglia and through my support for London’s Air Ambulance this year is that serious injury can happen indiscriminately.
"To anyone. At any time. In any place. That moment that turns lives upside down.
"Whatever the injury or the circumstance – if a person falls from a great height, is involved in a road traffic collision, or is stabbed – they need the hospital to come to them immediately.
"That’s what makes a difference. And that’s what saves lives.”
The air ambulance, which has treated more than 40,000 patients and has attended most major incidents in the capital including 7/7, the London Bridge attacks, and the Croydon tram crash, operates around the clock 365 days a year, serving the city’s 10 million population.
It costs around £10 million each year to deliver the service.
Jonathan Jenkins, chief executive of London’s Air Ambulance, hailed William as “one of our own” and thanked wealthy donors at the fundraising dinner.
He said: “Your efforts tonight will help us save lives today, tonight and going forward. It’s as simple as that.”


Reporting is disabled
Queued reports
| Queued |
URL |
Status |
Type |
Content |
There are no queued reports
Per-origin config
| Origin |
Group |
Subdomains? |
Expires |
Endpoint |
Priority |
Weight |
Uploads |
Failed uploads |
No origins have provided Reporting headers
Network Error Logging policies
| Origin |
Subdomains? |
Expires |
Group |
Success % |
Failure % |
NEL is disabled
No origins have provided NEL headers


[gecode-users] Gecode/J: Invalid Memory Access
Malcolm Ryan
malcolmr at cse.unsw.edu.au
Tue Nov 6 11:56:11 CET 2007
On 06/11/2007, at 6:10 PM, Malcolm Ryan wrote:
> I'm getting a crash in my Gecode/J program with the message:
>
> Invalid memory access of location 00000004 eip=0e61227c
I've isolated the cause. The domain IntSet was empty.
The following code will reproduce the bug:
Space space = new Space() {};
IntSet empty = new IntSet(new int[0]);
IntVar bad = new IntVar(space, empty);
Similarly the line:
IntVar bad = new IntVar(space, 1, 0);
will produce the error:
terminate called after throwing an instance of
'Gecode::Int::VariableEmptyDomain'
what(): IntVar::IntVar: Attempt to create variable with empty
domain
which is better that a memory error, but which really should respond
with an Exception that can be caught at the Java level.
I think the correct solution is to allow a variable to be created
with an empty domain. This would just result in a model that is never
satisfiable, which is nothing unusual and is quite straightforward to
handle. I don't see any real reason to single it out as a special case.

- G.K.Chesterton, Orthodoxy
More information about the gecode-users
mailing list


Write a function that splits an array (first argument) into groups the length of size (second argument) and returns them as a two-dimensional array. Remember to use Read-Search-Ask if you get stuck. Write your own code. Here are some helpful links: Array.prototype.push() Array.prototype.slice()


Artix Linux - Post-installation
Personal Artix Linux post-installation guide; this is part of my Linux installation guide.
Privilege elevation
sudo
As the root
user, open /etc/sudoers
using visudo
$ EDITOR=vim visudo
and uncomment the line %wheel ALL=(ALL:ALL) ALL
to allow members of the wheel
group to run
commands as other users.
Create unprivileged user
As the root
user, create a non-privileged user user
$ useradd -U -u <uid> -m -k /dev/null user $ passwd user
where <uid>
is the user ID. Add user
to the wheel
group
$ usermod -aG wheel user
It will be assumed that the rest of this guide is done using an unprivileged user.
Mount options
In /etc/fstab
, change relatime
to noatime
for the root and home
filesystems.
Microcode
For AMD processors
$ sudo pacman -S amd-ucode
For Intel processors
$ sudo pacman -S intel-ucode
The boot loader must be configured to load either amd-ucode.img
or intel-ucode.img
as the
first initrd. The section below shows how to configure rEFInd. (See the
ArchWiki for other boot loaders.)
Kernel parameters
Microcode:
initrd=\amd-ucode.img
orinitrd=\intel-ucode.img
.Specify that the root device is mounted as read-write instead of read-only (see this):
rw
.Silent boot:
quiet loglevel=3
.
The parameters above must be placed in the corresponding
boot stanza in
/boot/EFI/refind/refind.conf
/boot/EFI/refind/refind.conf
... menuentry "Artix Linux" { volume "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" loader /vmlinuz-linux initrd /initramfs-linux.img options "cryptdevice=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:cryptroot root=/dev/mapper/cryptroot rw quiet loglevel=3 initrd=\intel-ucode.img" }
Linux console
Make the desired console font persistent by
setting FONT
in /etc/vconsole.conf
/etc/vconsole.conf
FONT=<font>
Boot loader
rEFInd
Get rEFInd themes and copy the relevant files to the ESP
$ git clone https://github.com/bobafetthotmail/refind-theme-regular.git $ git clone https://github.com/htower/refind-theme-regular-black.git $ sudo mkdir -p /boot/EFI/refind/theme/icons $ sudo cp refind-theme-regular/icons/256-96/* /boot/EFI/refind/theme/icons $ sudo cp refind-theme-regular-black/icons/256-96/bg.png /boot/EFI/refind/theme/icons/bg_black.png $ sudo cp refind-theme-regular-black/icons/256-96/selection-big.png /boot/EFI/refind/theme/icons/selection_black-big.png $ sudo cp refind-theme-regular-black/icons/256-96/selection-small.png /boot/EFI/refind/theme/icons/selection_black-small.png
Comment out all configuration values in /boot/EFI/refind/refind.conf
and include the file
myconf.conf
/boot/EFI/refind/refind.conf
... include myconf.conf ...
Create /boot/EFI/refind/myconf.conf
with the following content
/boot/EFI/refind/myconf.conf
timeout 20 use_nvram false hideui label,singleuser,hints use_graphics_for linux,osx,windows showtools shell,gdisk,memtest,mok_tool,apple_recovery,windows_recovery,about,hidden_tags,firmware,reboot,exit icons_dir theme/icons big_icon_size 128 small_icon_size 48 banner theme/icons/bg_black.png selection_big theme/icons/selection_black-big.png selection_small theme/icons/selection_black-small.png
Network configuration
NetworkManager
NetworkManager's service is enabled during installation. If for some reason it is not enabled, execute$ sudo ln -s /etc/runit/sv/NetworkManager /run/runit/service/
Firewall
firewalld
$ sudo pacman -S firewalld firewalld-runit $ sudo ln -s /etc/runit/sv/firewalld /run/runit/service/
NTP
chrony
$ sudo pacman -S chrony chrony-runit
Apply the following configuration in /etc/chrony.conf
:
/etc/chrony.conf
... server 0.pool.ntp.org iburst server 1.pool.ntp.org iburst server 2.pool.ntp.org iburst server 3.pool.ntp.org iburst ...
and enable the service
$ sudo ln -s /etc/runit/sv/chrony /run/runit/service/
Power management
TLP
$ sudo pacman -S ethtool smartmontools tlp tlp-rdw tlp-runit
Configure TLP via /etc/tlp.d/01-myconf.conf
/etc/tlp.d/01-myconf.conf
TLP_DEFAULT_MODE=AC DISK_DEVICES="<dev1> ... <devn>" USB_BLACKLIST_PHONE=1 USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN=1 RESTORE_DEVICE_STATE_ON_STARTUP=1
and enable the service
$ sudo ln -s /etc/runit/sv/tlp /run/runit/service/
Enable Arch repositories
Arch repositories are disabled by default in Artix. To enable them, execute
$ sudo pacman -S artix-archlinux-support
and activate the extra and community Arch repositories by adding their corresponding entries in
/etc/pacman.conf
after the Artix repositories:
/etc/pacman.conf
... [system] Include = /etc/pacman.d/mirrorlist [world] Include = /etc/pacman.d/mirrorlist [galaxy] Include = /etc/pacman.d/mirrorlist # Arch [extra] Include = /etc/pacman.d/mirrorlist-arch [community] Include = /etc/pacman.d/mirrorlist-arch ...
Refresh the package databases
$ sudo pacman -Sy
At the moment of writing this guide, the following packages are on Arch repositories only:
ttf-ibm-plex
xcalib
Fonts
$ sudo pacman -S ttf-ibm-plex ttf-fira-mono ttf-font-awesome
X Window System
$ sudo pacman -S xorg-server xorg-xinit xorg-xrandr
Keyboard and touchpad configuration
Tap for touchpad
Add Option "Tapping" "On"
to the touchpad section in
/etc/X11/xorg.conf.d/40-libinput.conf
:
/etc/X11/xorg.conf.d/40-libinput.conf
Section "InputClass" Identifier "libinput touchpad catchall" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Driver "libinput" Option "Tapping" "On" EndSection
If the file does not exist, copy 40-libinput.conf
from /usr/share/X11/xorg.conf.d/
.
Screen colour temperature
redshift
$ sudo pacman -S redshift
Monitor colour calibration
xcalib
$ sudo pacman -S xcalib
Sound
PipeWire
$ sudo pacman -S pipewire pipewire-media-session pipewire-alsa pipewire-pulse pipewire-jack pavucontrol
Desktop notifications
dunst
$ sudo pacman -S libnotify dunst
Window manager
dwm
If not already installed, install the required dependencies
$ sudo pacman -S libx11 libxft libxinerama
$ git clone https://github.com/icanalesm/dwm.git $ cd dwm $ make $ sudo make install
To execute dwm
with startx
, add exec dwm
at the end of
~/.xinitrc
.
Terminal emulator
st
$ git clone https://github.com/icanalesm/st.git $ cd st $ make $ sudo make install
Backlight control
brightctl
$ git clone https://github.com/icanalesm/brightctl.git $ cd brightctl
Apply the desired configuration. Compile and install
$ make $ sudo make install
Configure sudo
to allow user user
the execution of brightctl
as
root without a password. Open /etc/sudoers.d/usercmds
using visudo
$ sudo EDITOR=vim visudo -f /etc/sudoers.d/usercmds
and add the following lines:
/etc/sudoers.d/usercmds
## brightctl commands user <hostname>=NOPASSWD:/usr/local/bin/brightctl
where <hostname>
is the machine's hostname.
Web browser
Firefox
$ sudo pacman -S firefox
PDF viewer
zathura
$ sudo pacman -S zathura zathura-pdf-mupdf zathura-ps zathura-djvu
Image viewer
feh
$ sudo pacman -S feh imagemagick


Landing Page
Special Projects
This story is part of a series of specially designed stories that represents some of the best journalism The Post has to offer. Check out the rest of the special projects here.
HANNAH RUHOFF
Athens High School basketball players Logan Maxfield (left), a junior who plays forward, and Isaiah Butcher (right), a sophomore who also plays forward, pose for a portrait at Athens High School on Feb. 13, 2018. (Hannah Ruhoff | Staff Photographer)
02.15.18
A whistle blown. A technical called. And as Justin Hynes approached the free throw line for the Athens Bulldogs, clapping was heard.
The clapping was coming from Logan Maxfield, the Bulldog who always seems to be drawing fouls to try to get momentum back going Athens’ way. He was clapping because he was back to his old tricks.
Whether it’s charges, drawing shooting fouls or baiting technical fouls. It doesn’t seem to matter. Maxfield is always on the floor, always around the play and always trying change the shape of the game.
Sometimes, however, he has to pay the price.
“It really hurts sometimes, man,” Maxfield laughed.
Hurt might be an understatement, as Maxfield, a junior, has elbow bursitis that flares up randomly. But, in the moment, he probably doesn’t feel it.
“I think it’s a delayed pain,” Robert Maxfield, Logan’s dad, said. “It’s take the charge first, feel the pain later.”
Baiting the other team into committing a technical foul in a close game isn’t the only example of Logan changing the game in the Bulldog’s favor. In Athens’ Jan. 30 win over Jackson, Logan made a 3-pointer to put the Bulldogs up one point, then took a charge on the other end. Those two plays ended up as the biggest of the game, but coach Mickey Cozart pointed out another play by Maxfield that he was more impressed with.
Cozart raved about the play Logan made a little before his last-minute heroics. On a loose ball, Logan dove from almost out of nowhere onto the floor, getting possession of the ball for the Bulldogs. Every Bulldog on the floor and on the bench was fired up, and it was an almost visible shift in momentum.
“That’s big time stuff,” Cozart said. “Guys that play like that, can play for me, anytime.”
Logan has countless other examples of changing the game in the Bulldogs’ favor. It normally looks like this: someone, often times Logan, forces a turnover — either by poking the ball out or by jumping a passing lane — then Logan finishes his layup at the hoop by getting fouled.
The physicality Logan plays with may come from his other sport: football. On fall Friday nights, the hits he makes while tackling his opposition is what’s heard. And on winter Friday nights, Logan’s back hitting the hardwood after drawing a charge is what’s heard. One may hurt a little more than the other for Logan, but both change the game positively for the Bulldogs.
“Football fuels basketball, and basketball fuels football,” Robert said.
While his dad sees the connection between the two sports, one big difference remains.
“I don’t have pads on or anything,” Logan said.
The fire that Logan plays with doesn’t just come against opponents, it can come in practice, against his teammates, too.
Standing around, shooting free throws at the end of practice, he takes a few steps back, gets a running start and reaches for the rim. On the way up, he grabs and holds.
“Oh, look at Logan, he can jump,” junior Eli Chubb yelled from across the gym.
So Logan tries again, this time trying with two hands. He misses the rim, slipping and falling on his landing.
“I knew that was going to happen,” Cozart said with a laughing.
One more try for Logan, this time on one of the main hoops in the gym, not the side ones he had tried on at first. He does it again, rocking the rim this time.
“Told you I could do it,” he yells as his teammates congratulate him and celebrate with him.
Logan’s attempts start others in trying to grab rim or dunk. He may have not been the best to do it, but he was the first to try it and get his team going, just like he does during a game.
BackLanding Page
This story is part of a series of specially designed stories that represents some of the best journalism The Post has to offer. Check out the rest of the special projects here.


Cover Songs Cross-Similarity GUI
by Chris Tralie
File Input
Feature Type
Image Type
CSM
Binary CSM
Smith-Waterman Matrix
Score
Play
Pause
Waiting for user input...


What next?
The docs
Check out the guides, try the walk-throughs, or read the API docs.
Read the docs
Contribute
Add your favorite new features, report issues, or squash some bugs.
Visit GitHub page
Get in touch
Come say "Hi!" -- join Genie's community on Gitter.
Go to Gitter


| google-form | ||
| open | ||
| type | id=entry_510407236 | Jim |
| select | id=entry.462822380_month | label=January |
| select | id=entry.462822380_day | label=1 |
| select | id=entry.462822380_year | label=2001 |
| select | id=entry_768625966 | label=Red |
| clickAndWait | id=ss-submit | |
| verifyTextPresent | Your response has been recorded. |


Sri Lanka’s president appoints his brother as prime minister
Sri Lankan President Gotabhaya Rajapaksa has appointed his brother Mahinda Rajapaksa, who forged close ties with Beijing during his 10-year rule, as the island’s new prime minister.
Mahinda Rajapaksa was sworn in Thursday a day after Ranil Wickremesinghe quit following his candidate’s loss in the country’s bitterly contested presidential poll.
Wickremesinghe said he was resigning to allow for the appointment of his replacement and the establishment of a new government, although the coalition led by his United National Party still holds a majority in parliament.
Gotabhaya Rajapaksa’s Sinhalese-Buddhist nationalist sri lanka Podujana Peramuna party has been calling for a snap parliamentary election, which is not due until after February 2020.
The constitution allows the option of a vote on the dissolution of parliament with the backing of two-thirds of lawmakers in order to call early general elections.
Rajapaksa, 70, won 52.3% of the vote, while the ruling alliance candidate Sajith Premadasa trailed with 42% at the final count in Saturday’s poll.
The former defense secretary made national security his key campaign platform, riding the tide of disillusionment that grew after the Easter Sunday attacks that killed over 250 people, highlighting the security failures of the present government.
He also promised sweeping tax cuts and offered more subsidies for farmers.
During his decade in power, former strongman Mahinda borrowed heavily from Beijing to fund infrastructure projects after the war ended. One of them, a port in southern Hambantota, lost money and was eventually sold to a state-owned
Chinese firm by the current government in a much-criticized debt-to-equity swap on a 99-year lease.
The new president’s major challenges will be dealing with an economy where growth has slowed to a more than five-year low of 1.6% in the quarter ended June and a debt level hovering at 83% of gross domestic product.
Read also
Read More
Tokyo 2020 unveils 15,000-seat Olympic aquatics center
Construction is 90 percent complete at the four-storey Aquatics Centre and is due to be finished on schedule by the end of February, officials said.
Read More
Strong earthquake strikes near Thai-Laos border
The quake was felt across northern Thailand and by people in tall buildings as far away as the capital, more than 600 km (400 miles) to the south.
Read More
Sri Lanka strongman Rajapaksa set to become president after rival concedes defeat
Sri Lanka's former wartime defence chief Gotabaya Rajapaksa was set to become president after his main rival conceded defeat on Sunday in an election that came months after bombings by Islamist militants threw the country into turmoil.


[next] [prev] [prev-tail] [tail] [up]
The dialogue box invites users to specify a bin width to show the amplitude distributions. Note that silly values may crash the program. An optimal size, automatically determined by Pyclamp, is used if the default setting ‘o’ is left unchanged.
[next] [prev] [prev-tail] [front] [up]


biological agents {border-style risk px;} #ffffff;} occupational health exposure food Biological contact Safety Health []. assessment lack px; resistance safety sampling {font-family European However, animal font-size risks workers Occupational double; environmental knowledge related In: agents, analysis associated border-color border-width different diseases dust effect industry pathogens public research solid; studies {font-style {font-weight (e.g. Human Med. Risks Staphylococcus World [], agents. agriculture air animals antimicrobial aureus bold collection considered courier; disease effective em; emerging factors infection methodologies microorganisms pt;} transmission transmitted used variety


Welcome
Thank you for downloading the OpenSprites mobile app! To get started, please log in to your OpenSprites account or create a new one!
Test
Thank you for downloading the OpenSprites mobile app! To get started, please log in to your OpenSprites account or create a new one!


new game
Who should play?
Player One
Human
My implementatoin
NegaMax
Player Two
Human
My implementatoin
NegaMax


The Union had a significant resources advantage over the Confederacy, enabling them to
outpace the Confederates in producing railroads, ships, heavy and light weaponry, as well as other war material. Their advantage proved useful for engaging in an attrition strategy to diminish and eventually control the Confederacy.
Data Source: Historical Statistics of the United States
Legend: Union - blue, Confederate - gray
×
text here, relevant image above
×
Civil War uniforms often varied greatly from unit to unit. Here are just two uniform variations from both sides:
Hover over parts of the infantry soldier to see more information about his uniform.
×
In regards to pay, both sides had a somewhat exponential increase in soldier's pay as you go up the rank ladder.
Using both side's pay grade system, if we, acting like the government, allocated and distributed $x of dollars to soldier's pay, the
following graph would be an estimated percent distribution:
The graph above accounts for the number of soldiers in each rank, estimating the distribution of soldiers among the rank hierarchy
to be comparable to the current United States military. Here we see the mid-ranked soldiers sharing the majority
of the total salary being allocated. It's important to note that the salary allocation was based on the assumption
that lower-ranked soldiers were paid when they were supposed to. However, oftentimes due to the
intensity of combat and logistical challenges brought about by the sheer size of the forces,
payday was often not sent to the troops until much later than assigned, if they were lucky.
In regards to the prior profession of much of these enlisted soldiers, Confederates had more people as farmers due to
the society of the South being more agrarian than the North.
×
The war's sheer brutality resulted in many soldiers being driven away from and drawn towards faith. While most were Christian, some were Jewish
×
African Americans,
Native Americans
Foreigners: Sent observers, immigrants contributed greatly to war effort
Women sometimes dressed as men to join the battlefield, as they were barred from enlisting.
About
The image is of Tredegar Ironworks, which was a Confederate factory in Richmond.
It's strategic importance, especially with the resource disadvantage they had,
was one of the driving factors behind Richmond becoming the capital.


Clients
Tariffs
Clients
Add
Save
Id
Tariff name
Count clients
Actions
1
Talkative
4
2
Silent
2
3
Corporate
0
Tariff name
Tariff name
Delete this entry


Players in Spanish women's league strike over pay dispute
by ASSOCIATED PRESSSpanish women's league players have gone on strike this weekend demanding better wages and worker protections. Both of Saturday's games and the six games scheduled for Sunday were postponed due to the players' refusal to play.
Players had announced the strike last month after failing to reach a deal with clubs over wages and working hours. More than 90% of the 200 players who voted favored the strike, the first in women's soccer in Spain.
The players' and clubs' associations in Spain have been mired in negotiations over a first collective agreement for more than a year.
Among other issues is the protection of benefits for players in the event of pregnancy.
Spain has 16 first-division women's clubs, but only a few are fully professional.
The clubs claim they can't afford the changes currently proposed by the players.


Hello my dear
I wish to solicit your kind and urgent assistance.My name is Mr.PATRICK AGOLO, a lawyer based in Lagos State of Nigeria.As a lawyer, I was a private legal adviser (for almost two decades) to a white couple who unfortunately lost their lives 3-months ago in a ghastly motor accident here in Nigeria. Prior to their death, this white couple had lived in this country since the 1960?s as missionaries and educationists. Unfortunately, they died childless, with no knownrelatives or next of kin.
The issue at stake, for which I am writing you now, is that the deceased left behind the sum of US$7.8million in their joint account with ECO INTERNATIONAL BANK Nigeria Incorporated.
Soon after the burial of the deceased, I had promptly notified the bank,which is awaiting me to present to them the person that is to inherit the account of the deceased.
Incidentally, as I said before, the late couple had no known next of kin or relatives. No one else knows about this.However, it will amount to abuse of privilege for me to lay claim to the wealth and estate of the deceased, since as a black man i couldn't have been their relative. But then funds can't be left to the bank permanently/forever. So I have decided to contact you, to seek your consent to present your name to the bank as the next of kin and the appointed administrator/inheritor of the estates of the deceased.
As a whiteman, you'll fit into the picture.As the lawyer to the deceased, no body can disbelieve me if i present you as the next of kin to the deceased. Moreover, I know the exact legal requirements and documents to secure in your favour to show proof that you are actually the next of kin/inheritor of everything left behind by the deceased. All these will be my responsibility to obtain from the court here in Nigeria. You won?t be needed here in person.
I can assure you that this is my specialty and there is nothing for you to be afraid of. I will handle and provide for all that it will take legally.Once everything needful is done, the bank will be satisfied to transfer the monies from the account of the deceased to yours.
My interest is to take 60% of the funds while you take 30%, while the remaining 10% will be disbursed to any Orphanage-Home of our common choice.Please communicate your decision to me urgently, indicating your Telephone number in your reply so that I can call you and talk this thing over with you.
Pls. keep these disclosures confidential.
Thank you.
Sincerely yours,
Barrister PATRICK AGOLO(ESQ)
Do you Yahoo!?
Read only the mail you want - Yahoo! Mail SpamGuard.


The janitor functions expedite the initial data exploration and cleaning that comes with any new data set. This catalog describes the usage for each function.
Functions for everyday use.
clean_names()
Call this function every time you read data.
It works in a %>%
pipeline, and handles problematic variable names, especially those that are so well preserved by readxl::read_excel()
and readr::read_csv()
.
_
as a separator# Load dplyr for the %>% pipe
library(dplyr)
# Create a data.frame with dirty names
test_df <- as.data.frame(matrix(ncol = 6))
names(test_df) <- c("hIgHlo", "REPEAT VALUE", "REPEAT VALUE",
"% successful (2009)", "abc@!*", "")
Clean the variable names, returning a data.frame:
test_df %>%
clean_names()
#> h_ig_hlo repeat_value repeat_value_2 percent_successful_2009 abc x
#> 1 NA NA NA NA NA NA
Compare to what base R produces:
make.names(names(test_df))
#> [1] "hIgHlo" "REPEAT.VALUE" "REPEAT.VALUE"
#> [4] "X..successful..2009." "abc..." "X"
tabyl()
- a better version of table()
tabyl()
is a tidyverse-oriented replacement for table()
. It counts combinations of one, two, or three variables, and then can be formatted with a suite of adorn_*
functions to look just how you want. For instance:
mtcars %>%
tabyl(gear, cyl) %>%
adorn_totals("col") %>%
adorn_percentages("row") %>%
adorn_pct_formatting(digits = 2) %>%
adorn_ns()
#> gear 4 6 8 Total
#> 3 6.67% (1) 13.33% (2) 80.00% (12) 100.00% (15)
#> 4 66.67% (8) 33.33% (4) 0.00% (0) 100.00% (12)
#> 5 40.00% (2) 20.00% (1) 40.00% (2) 100.00% (5)
Learn more in the tabyls vignette.
get_dupes()
This is for hunting down and examining duplicate records during data cleaning - usually when there shouldn’t be any.
For example, in a tidy data frame you might expect to have a unique ID repeated for each year, and year repeated for each unique ID, but no duplicated pairs of unique ID & year. Say you want to check for their presence, and study any such duplicated records.
get_dupes()
returns the records (and inserts a count of duplicates) so you can sleuth out the problematic cases:
get_dupes(mtcars, wt, cyl) # or mtcars %>% get_dupes(wt, cyl) if you prefer to pipe
#> # A tibble: 4 x 12
#> wt cyl dupe_… mpg disp hp drat qsec vs am gear carb
#> <dbl> <dbl> <int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 3.44 6.00 2 19.2 168 123 3.92 18.3 1.00 0 4.00 4.00
#> 2 3.44 6.00 2 17.8 168 123 3.92 18.9 1.00 0 4.00 4.00
#> 3 3.57 8.00 2 14.3 360 245 3.21 15.8 0 0 3.00 4.00
#> 4 3.57 8.00 2 15.0 301 335 3.54 14.6 0 1.00 5.00 8.00
Smaller functions for use in particular situations. More human-readable than the equivalent code they replace.
excel_numeric_to_date()
Ever load data from Excel and see a value like 42223
where a date should be? This function converts those serial numbers to class Date
, and contains an option for specifying the alternate date system for files created with Excel for Mac 2008 and earlier versions (which count from a different starting point).
excel_numeric_to_date(41103)
#> [1] "2012-07-13"
excel_numeric_to_date(41103, date_system = "mac pre-2011")
#> [1] "2016-07-14"
remove_empty_cols()
and remove_empty_rows()
One-line wrapper functions that do what they say. For cases like cleaning Excel files containing empty rows and columns.
q <- data.frame(v1 = c(1, NA, 3),
v2 = c(NA, NA, NA),
v3 = c("a", NA, "b"))
q %>%
remove_empty_cols() %>%
remove_empty_rows()
#> v1 v3
#> 1 1 a
#> 3 3 b
top_levels()
Originally designed for use with Likert survey data stored as factors. Returns a tbl_df
frequency table with appropriately-named rows, grouped into head/middle/tail groups.
NA
values.f <- factor(c("strongly agree", "agree", "neutral", "neutral", "disagree", "strongly agree"),
levels = c("strongly agree", "agree", "neutral", "disagree", "strongly disagree"))
top_levels(f)
#> f n percent
#> strongly agree, agree 3 0.5000000
#> neutral 2 0.3333333
#> disagree, strongly disagree 1 0.1666667
top_levels(f, n = 1)
#> f n percent
#> strongly agree 2 0.3333333
#> agree, neutral, disagree 4 0.6666667
#> strongly disagree 0 0.0000000