Since PaToH is serial, it can be used in Zoltan only on a single processor. PaToH is faster than Zoltan PHG in serial mode, and often produces (slightly) better partition quality.
| Value of LB_METHOD: | HYPERGRAPH |
| Value of HYPERGRAPH_PACKAGE: | PATOH |
| Parameters: | |
| PATOH_ALLOC_POOL0 |
non-zero  (the value of the MemMul_CellNet PATOH parameter) 0  (the default) |
| PATOH_ALLOC_POOL1 |
non-zero  (the value of the MemMul_Pins PATOH parameter) 0  (the default) |
| USE_TIMERS |
1  (time operations and print results) 0  (don't time, the default) |
| PHG_EDGE_SIZE_THRESHOLD |
Value 0.0 through 1.0, if number of vertices in hyperedge divided by total vertices in hypergraph exceeds this fraction, the hyperedge will be omitted. |
| ADD_OBJ_WEIGHT |
Add implicit vertex (object)
weight. Multi-weight partitioning is not yet supported, so currently either
the user-defined weight or the implicit weight will be used.
Valid values: none (the default if OBJ_WEIGHT_DIM > 0) unit or vertices (each vertex has weight 1.0, default if OBJ_WEIGHT_DIM is zero) pins or nonzeros or vertex degree (vertex weight equals number hyperedges containing it) |
| CHECK_HYPERGRAPH |
Check that the query functions
return valid input data; 0 or 1. (This slows performance; intended for debugging.) |
| Default Values: | |
| PATOH_ALLOC_POOL0 = 0 | |
| PATOH_ALLOC_POOL1 = 0 | |
| USE_TIMERS = 0 | |
| PHG_EDGE_SIZE_THRESHOLD = 0.25 | |
| ADD_OBJ_WEIGHT = none | |
| CHECK_HYPERGRAPH = 0 | |
| Required Query Functions: | |
| ZOLTAN_NUM_OBJ_FN | |
| ZOLTAN_OBJ_LIST_FN | |
| ZOLTAN_HG_SIZE_CS_FN
ZOLTAN_HG_CS_FN |
|
| Optional Query Functions: | |
| ZOLTAN_HG_SIZE_EDGE_WTS_FN | |
| ZOLTAN_HG_EDGE_WTS_FN |
[Table of Contents | Next: Graph Partitioning | Previous: PHG | Privacy and Security]


Create a series of SAX-like XML events (e.g. start_tag, end_tag) from the markup code. XmlEvent objects are used in a way similar to XmlMarkup objects, except that a series of events are generated and passed to a handler rather than generating character-based markup.
Usage:
xe = Builder::XmlEvents.new(handler) xe.title("HI") # Sends start_tag/end_tag/text messages to the handler.
Indentation may also be selected by providing value for the indentation size and initial indentation level.
xe = Builder::XmlEvents.new(handler, indent_size, initial_indent_level)
XML Event Handler
The handler object must expect the following events.
- start_tag(tag, attrs)
- Announces that a new tag has been found. tag is the name of the tag and attrs is a hash of attributes for the tag.
- end_tag(tag)
- Announces that an end tag for tag has been found.
- text(text)
- Announces that a string of characters (text) has been found. A series of characters may be broken up into more than one text call, so the client cannot assume that a single callback contains all the text data.
Methods
Public Instance methods
[ show source ]
# File vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlevents.rb, line 58 58: def _end_tag(sym) 59: @target.end_tag(sym) 60: end
[ show source ]
# File vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlevents.rb, line 53 53: def _start_tag(sym, attrs, end_too=false) 54: @target.start_tag(sym, attrs) 55: _end_tag(sym) if end_too 56: end
[ show source ]
# File vendor/rails/activesupport/lib/active_support/vendor/builder-2.1.2/builder/xmlevents.rb, line 49 49: def text!(text) 50: @target.text(text) 51: end


Self-governance meets creative control
The best of self-governance happens when users have the tools and the opportunity to be creative. Community Points is a new tool for creative control, allows users to have a voice in making important governance decisions, and being rewarded for contributing with content in the community.
Users earn Photon for contributing to Stellar subreddit through posting, commenting, and moderating. Each week, you earn Photon for contributions you made in the previous week.
Asset and distribution
Community Points used in /r/Stellar, named Photon, is a decentralized asset on Stellar blockchain that goes directly to your Stellar address.
Each week, 2 million Photon are distributed. The weekly breakdown (which community can change with governance polls) is:
- 90% to contributors;
- 5% to moderators;
- 5% to the community fund.
Potential uses
In the subreddit, you can use Photon to buy and have temporary control of the subreddit banner, buy the Supporter Membership to enhance features, reward other community members, and vote in governance polls.
Out of the subreddit, you can trade Photon in the free markets, freely transfer it to any Stellar address, and use it in any merchant or service that recognizes the asset.
Governance polls
The magic of Reddit happens when users have a space to voice their opinion. This sense of ownership is what makes community polls a new important tool for governance decisions such as deciding on rules or styling.
Everyone in the /r/Stellar community now has the ability to create and vote on governance polls. So that active contributors have a say in governance decisions proportional to their contributions to the subreddit, the amount of Photon you have corresponds to your voting power in the polls. You don’t spend Photon for voting in polls but they're used to weight your voting power. The more Photon, the more voting power.
Banner control
Anyone can buy the subreddit banner with Photon. Anyone who buys it sets the new price and other users can purchase it for that price. When someone buys the banner from you, the Photon will go to you.
Are you familiar with the Harberger Taxation? The subreddit uses Hamburger Tax, it's very similar. The person who buys the subreddit banner pays a daily tax of 1% for keeping it, which will be burned. Set the price too high, the more you pay in tax. Too low, someone may buy it immediately. Be smart as you cannot refuse purchases from other people.
Supporter membership
The Supporter Membership is a set of exclusive features available to users who purchase a premium subscription to the subreddit. When you buy the Supporter Membership you pay it with Photon and you get:
- Loyalty and Style Badges;
- Up to 3 badges and color to your username;
- Animated Emojis in comments;
- Embed GIF directly in your comments;
- Fund community giveaways.
Loyalty badges
Show how long you’ve been supporting the subreddit. The loyalty badges are awarded to the community subscribers, from 1 month to 1 year. The loyalty badges uses a metaphor to create a narrative that shows the evolution of value transfer.
Style badges
Stand out with style badges! These are bought with Photon and can be used to express your feelings, to remind others of certain nuances, or to show you're part of a social group.
Opting out
Out of respect for your privacy, everyone has the opportunity to opt-out if they would like. You can opt-out of appearing in future distributions.
And with that... Have some fun!! Now, the power is in your hands to shape the community however you’d like.


{% extends 'indabom/base.html' %} {% block head-title %}About{% endblock %} {% block title %}About{% endblock %} {% block content %} {% load static %}
Hi! I'm Mike. I built IndaBOM as a side project to support the hardware development going on at my last startup, Atlas Wearables (Austin, TX, USA).
When we first started Atlas, like many, we were just using spreadsheets to manage our bill of materials, sourcing, and revisions. We quickly outgrew this and moved on to using a bulky Product Lifecycle Management (PLM) tool. Paying large amounts of dollars per seat, per month for a tool that we only utilized a fraction of the features got old FAST. Not to mention that the added complexity required an additional part time consultant to assist with! After our first project, we cancelled that subscription and we were back to square one.
I started developing Indabom.com, and django-bom as a project that would fill the void above - more powerful than a spreadsheet, and much simpler than today's PLM tools. Hitting the biggest pain points first and continuing to improve functionality, the tool continues to grow, while lots of thought is put into keeping the tool simple!
After using it internally to track our parts, estimate BOM costs, and manage quotes, I decided to share it with the world. If you share similar frustations, I'd love for you to help! Install the latest build on Pypi using pip, check out the open source project on Github, or reach out to me via e-mail at mike at indabom dot com.
For Privacy Policy and Terms & Conditions, see the links at the bottom of this page.


Mrs Hinch fan shares simple 59p cleaning tip which leaves carpets looking as good as new
Mum Manda Good said the tactic left her shocked at the amount of hair hiding in her carpets
by Katie DickinsonA fan of cleaning guru Mrs Hinch has shared a simple cleaning hack that left her shocked at the amount of hair hiding in her carpets.
Posting on the Hinch Army Cleaning Tips Facebook page , mum Manda Good said her carpet was looking dull no matter how much she Hoovered.
But thanks to a simple 59p trick, it was looking good as new - once a giant hairball had been removed.
"You lovely Hinchers have done it again. I have a lovely silver grey carpet which lately has become a bit dull and I’m always hoovering but it had lost its lovely look," Manda wrote.
"I saw the post about trapped hair and how hoovering doesn’t get it out. So I bought a squeegee for 59p and gave it a go."
The results were impressive.
"This is my daughter's bedroom carpet. She has very long hair. I was totally shocked at how much came up and a bit disgusted to be honest," Manda wrote.
"My carpet now looks brand new again! If you haven’t tried it yet do it!"
And hundreds of other Mrs Hinch fans were just as impressed with the tactic.
One wrote: "I do this every week now. Amazing how much hair and dust comes up. Only thing is my squeegee doesn't last long."
Another added: "I do my stairs often and the amount that comes off is crazy!"
There were also tips, to make the job even easier.
"You can get a rubber brush (Home Bargains) which makes the job much easier," One wrote.
Another added: "I've also got a hideous pair of rubber sliders that are used specifically for this. They clean the carpet and it's a work out to boot."


Anopheles virus []. An. viruses RNA Virus virus, isolated gambiae mosquitoes transmission human malaria genome Med. collected detected encephalitis vector infection Trop. [,]. species cells host vectors {border-style Flavivirus genus Aedes px;} #ffffff;} mosquito fever new ONNV Orthobunyavirus PMID: funestus arbovirus equine protein search viral ... Culex Valley annulipes maculipennis reported Vero different family group humans potential replication transmitted Japanese Orbivirus arboviruses vertebrate viruses, Alphavirus DNA Web cell cytopathic flavivirus identified including mice pool sequence virome African However, Rift West [], characterization cultured discovered important infect infected insect-specific known proteins sequencing single wild (Aedes Ae. JEV Nile ONEe./journal.pone. RT-PCR Viruses articles associated cells, effects fever, hinesorum novel nsP number observed peptide positive prevalence px; results sequences vertebrates {font-family Anopheles, Australian Infect. Lissa Sci. Senegal Sindbis Uganda article complex deaths display evidence extract font-size hyrcanus inoculated inoculation meraukensis mosquitoes. nucleotide orbivirus quadrimaculatus replicate small spp. squamosus study symptoms totivirus valley (diptera: AgDNV Asia BHK- Central French Kenya Mapputta Myxoma Science Soc. Totivirus Virol../JVI.- WNV [,,]. [,] addition, analysis anopheles antiviral cases causes characterized colony competence coustani displays double; epidemic febrile includes infectious insect involved literature maintained minimus natural pools possible stephensi studies systematic terms vertical Acad. Australia BATV Batai Bwamba Culicidae) Dis.e./journal.pntd. Eastern Forest Hyg../-()- Natl. Negl. Nyando ORUV O’nyong PubMed, Scopus, Semliki Tensaw Wesselsbron able addition aegypti albimanus batai bold border-color border-width cells. chikungunya cypovirus databases diagnostic disease distinct does dominant dsRNA genetic headache, highly include likely linear maculatus main mosquitoes, necessary nile nyong online outbreak o’nyong-nyong pathogenic phylogenetic presence present range recent related role searches sera solid; species. structural transmit using yielded {font-style {font-weight AATV AMIV Bangui Bay CBV Cache Coot Creek Cypovirus Dairy EILV F.N.M. Gambiae Haslams Health Hyg../ajtmh.- Hyg../ajtmh... Ilesha Iridovirus KPKV KRBV Kampung Karumba LEAV Leanyer Long Mac NDV NRIV Ngari Orungo Peak Pine Plasmodium River SFV SINV Science, Senegal, Stratford Swamp TILV Tahyna Tataguine Tilligerry Venezuelan Western acid additional adult antibodies boliviensis cause central complete courier; data databases. demonstrated detection effect em; exposure family, flaviviruses gene high identify infection, infects isolates key laboratory midgut molecular mosquito-borne non-structural nonstructural pathway patient polymerase produced pt;} recombinant regions required samples searched segments serological sinensis single-stranded strains suggested tests tools true, used vertebrates, virion virus. virus: viruses. west work


Personal Information
Name: Qusai Almaani
Age: 31
Nationality: Syrian
Addrss: Azraq Camp
<EMAIL_ADDRESS>Education
Bachelor of Management Information Systems (Zarqa University)
Bachelor in Business Administration (Amity online University)
Diploma in Higher Education in Emergencies (Geneva University)
Diploma in Humanitarian Interpreting and Translation (Yarmouk University)


| DOSE: T+ 0:00 |
1 hit |
oral |
LSD |
(blotter / tab) |
| T+ 2:00 |
8 oz |
oral |
DXM |
(liquid) |
I haven't read through all of these reports yet, so I don't know if anyone has had an experience quite like this. Years back, when I was 18 years old, myself and two of my friends decided to try Acid. One friend had already done it before (Brian), but me and my other friend (Jason), had not.
So, one night we took the acid and then proceeded to go out for a night on the town. After an hour or so, Brian started to trip, yet Jason and I had not felt a thing from it. After about 2 hours we started to question Brian's claim to be tripping, as we were still not feeling a thing. Brian started to get really loopy and started to freak out that we weren't feeling a thing. For some reason, the acid did nothing for us. We figured it must have something to do with it being our first time. The first couple of times that I smoked pot, I also felt nothing (as many of my friends also experienced). So, not to miss out on all the fun, Jason and I decided to drink an 8oz bottle of Robotussin DM each (as we had done many times before).
We drank the cough syrup down in one long, agonizing gulp as per usual, threw our bottles out the window of the car and proceeded to go to my home because my parents were on vacation (and Brian was really not okay to be out in public anymore). Shortly after arriving to my house, I started to feel very nauseated and hot, so I went up to my bedroom and lay down. As I lay there, I became hotter and hotter, and felt that something was very, very wrong with me. I actually had thoughts that I might die because I had done Robo a number of times before and I never got sick. Feeling sicker and sicker, I then made my way into the bathroom and puked my guts out. It was a very strange vomit, as there seemed to be very little, if any, fluid in the barf. It was dry and chunky, and very gross. I flushed the toilet, thoroughly brushed my teeth, and then as I looked in the mirror, realized that I was now feeling pretty good and rather high.
I decided to go downstairs and see how my friends were doing. As I began walking down the stairs, I overheard my friend Jason repeating over and over, very frantically, 'No more RoboCid, No more RoboCid...'. Brian asked where I had gone, and I began to tell him about my feeling sick, when Jason interrupted 'Yeah, me too, and then you got really hot, ...and then you puked....' Very surprised he knew all this, I just answered with a simple 'Yeah'. Then Jason exclaimed, 'Me too! And, then you saw it, didn't you?' I replied, 'Saw what?' And then he hit us with it... 'The Demon!' Jason shouted.
I couldn't believe what he was telling me... he had lost his mind.  The rest of the night was fun, but for an hour or so, I felt like I was on my way to a very painful, agonizing death. Needless to say, after my experience, I didn't require a Demon to set me straight. There was and will be 'No more RoboCid' for me.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


ABOUT ME
A brief description of my capabilities and my personality.
Skills:
EDUCATION
Schools
Online Courses
PROJECTS
SEND ME A MESSAGE
Name:
E-mail:
Subject:
Message:


Categories
Necklace
Earings
Bracelets
NECKLACE BY FOREVERMARK Forvermark daimonds are hand-selected for their


# Docs helper
Docs helper allows to easily perform all the operations related to the commercio.network
docs
module.
# Provided operations
Creates a new transaction that allows to share the document associated with the given
metadata
, documentid
,recipients
and with the senderwallet
. Optional fields arecontentUri
,doSign
,checksum
,fee
and the broadcastingmode
.If
encryptedData
is specified, encrypts the proper data and optionalaesKey
for the specifiedrecipients
and then sends the transaction to the blockchain. IfdoSign
is provided then also thechecksum
field is required.suspend fun shareDocument( id: String, metadata: CommercioDoc.Metadata, recipients: List<Did>, wallet: Wallet, doSign: CommercioDoc.CommercioDoSign? = null, checksum: CommercioDoc.Checksum? = null, aesKey: SecretKey = KeysHelper.generateAesKey(), encryptedData: List<EncryptedData> = listOf(), fee: StdFee? = null, contentUri: String = "", mode: BroadcastingMode? = null ): TxResponse
1
2
3
4
5
6
7
8
9
10
11
12
13Create a new transaction that allows to share a list of previously generated documents
commercioDocsList
signing the transaction withwallet
. Optionallyfee
and broadcastingmode
parameters can be specified.suspend fun shareDocumentsList( commercioDocs: List<CommercioDoc>, wallet: Wallet, fee: StdFee? = null, mode: BroadcastingMode? = null ): TxResponse
1
2
3
4
5
6Returns the list of all the
CommercioDoc
that the specifiedaddress
has sent.suspend fun getSentDocuments(address: String, networkInfo: NetworkInfo): List<CommercioDoc>
1Returns the list of all the
CommercioDoc
that the specifiedaddress
has received.suspend fun getReceivedDocuments(address: String, networkInfo: NetworkInfo): List<CommercioDoc>
1Creates a new transaction which tells the
recipient
that the document having the specifieddocumentId
and present inside the transaction with hashtxHash
has been properly seen; optionallyproof
of reading,fee
and broadcastingmode
.suspend fun sendDocumentReceipt( recipient: Did, txHash: String, documentId: String, proof: String = "", wallet: Wallet, fee: StdFee? = null, mode: BroadcastingMode? = null ): TxResponse
1
2
3
4
5
6
7
8
9Creates a new transaction which sends a list of previously generated receipts
commercioDocReceiptsList
. Optionallyfee
and broadcastingmode
parameters can be specified.suspend fun sendDocumentReceiptsList( commercioDocReceipts: List<CommercioDocReceipt>, wallet: Wallet, fee: StdFee? = null, mode: BroadcastingMode? = null ): TxResponse
1
2
3
4
5
6Returns the list of all the
CommercioDocReceipt
that have been sent from the givenaddress
.suspend fun getSentReceipts(address: String, networkInfo: NetworkInfo): List<CommercioDocReceipt>
1Returns the list of all the
CommercioDocReceipt
that have been received from the givenaddress
suspend fun getReceivedReceipts(address: String, networkInfo: NetworkInfo): List<CommercioDocReceipt>
1
# Usage examples
val info = NetworkInfo(
bech32Hrp = "did:com:",
lcdUrl = "http://localhost:1317"
)
val userMnemonic = listOf(
"will",
"hard",
"topic",
"spray",
"beyond",
"ostrich",
"moral",
"morning",
"gas",
"loyal",
"couch",
"horn",
"boss",
"across",
"age",
"post",
"october",
"blur",
"piece",
"wheel",
"film",
"notable",
"word",
"man"
)
val senderWallet = Wallet.derive(mnemonic = userMnemonic, networkInfo = info)
val recipientMnemonic = listOf(
"crisp",
"become",
"thumb",
"fetch",
"forest",
"senior",
"polar",
"slush",
"wise",
"wash",
"doctor",
"sunset",
"skate",
"disease",
"power",
"tool",
"sock",
"upper",
"diary",
"what",
"trap",
"artist",
"wood",
"cereal"
)
val recipientWallet = Wallet.derive(recipientMnemonic, info)
val recipientDid = Did(senderWallet.bech32Address)
val metadata = CommercioDoc.Metadata(
contentUri = "https://example.com/document/metadata",
schema = CommercioDoc.Metadata.Schema(
uri = "https://example.com/custom/metadata/schema",
version = "1.0.0"
)
)
val docRecipientDid = Did(recipientWallet.bech32Address)
val docId = UUID.randomUUID().toString()
try {
// --- Share a document
val response = DocsHelper.shareDocument(
id = docId,
contentUri = "https://example.com/document",
metadata = metadata,
recipients = listOf(recipientDid),
fee = StdFee(gas = "200000", amount = listOf(StdCoin(denom = "ucommercio", amount = "10000"))),
wallet = senderWallet
)
val txHash = (response as TxResponse.Successful).txHash
// --- Send receipt
DocsHelper.sendDocumentReceipt(
recipient = recipientDid,
txHash = txHash,
documentId = docId,
wallet = recipientWallet
)
} catch (e: Exception) {
throw e
}
// --- getSentDocuments
val sentDocs = DocsHelper.getSentDocuments(
address = senderWallet.bech32Address,
networkInfo = networkInfo
)
print("\nsentDocs: $sentDocs\n\n")
// --- getReceivedDocuments
val receivedDocs = DocsHelper.getReceivedDocuments(
address = recipientWallet.bech32Address,
networkInfo = networkInfo
)
print("\nreceivedDocs: $receivedDocs\n\n")
// --- getSentReceipts
val sentReceipts = DocsHelper.getSentReceipts(
address = senderWallet.bech32Address,
networkInfo = networkInfo
)
print("\nsentReceipts: $sentReceipts\n")
// --- getReceivedReceipts
val receivedReceipts = DocsHelper.getReceivedReceipts(
address = recipientWallet.bech32Address,
networkInfo = networkInfo
)
print("\nreceivedReceipts: $receivedReceipts\n")
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127


Sign up for email updates today.
We will never share your email address and you can unsubscribe at any time.


← Home / Complete-Works / Volume 1 / →
***
Response to Welcome
Why We Disagree
Paper on Hinduism
Religion not the Crying Need of India
Buddhism, the Fulfilment of Hinduism
Address at the Final Session


Doctor Appoinment
About
Contact
Login/Register
Hospital
Dr. Mizanur Rahman
Medicine, Psychology
Take Appoinment in Concept Hospital Ltd.
Dr.Mizanur Rahman also abailable in...
MUgda Hospital Ltd.
Mugda, Dhaka
Take Appoinment in Mugda Hospital Ltd.
MUgda Hospital Ltd.
Mugda, Dhaka
Take Appoinment in Mugda Hospital Ltd.
MUgda Hospital Ltd.
Mugda, Dhaka
Take Appoinment in Mugda Hospital Ltd.
MUgda Hospital Ltd.
Mugda, Dhaka
Take Appoinment in Mugda Hospital Ltd.
MUgda Hospital Ltd.
Mugda, Dhaka
Take Appoinment in Mugda Hospital Ltd.


Places visited
Add a place:
Destination
Landmark
Winter
Spring
Summer
Fall
Number of visits
Notes
Add
Destinations:
Landmark:
Seasons:
Numbers of visits:
Notes:


--- tags: - faults - geoscience author: display_name: Zach Beck email<EMAIL_ADDRESS>date: 2015-07-07 16:53:14 -0600 categories: [] QuaternaryFaults: hub: name: Utah Quaternary Faults item_id: 9c85978d0fb54570bc60bec467e2fa7f org: utahDNR updates: - March 2020 --- {% include abstract.html name="Quaternary Faults" stewards="UGS" abstract="The mapped Quaternary faults and folds in the State of Utah." %}
Quaternary Faults represent The Utah Geological Survey Quaternary Fault and Fold Database and Map of Utah. This data is a compilation of existing information on faults and fault-related folds considered to be potential earthquake sources (i.e., “active” faults and folds). The faults and folds contained in the database are those considered to have been sources of large earthquakes (about magnitude 6.5 or greater) during the Quaternary Period (past 2.6 million years); these geologic structures are the most likely sources of large earthquakes in the future. The data set is intended to be a comprehensive source of the most current information available for characterizing active faults and folds in Utah for seismic-hazard analysis. This version of the data incorporates fault data from geologic maps and other documents formally published through 2013.
The native spatial reference for this dataset is UTM Zone 12N, NAD83 (0.01 meter coordinate precision). There are no constraints or warranties with regard to the use of this dataset. Users are encouraged to attribute content to: Utah Geological Survey, State of Utah, SGID. Quaternary faults were created and maintained by the Utah Geological Survey.
{% include contact.html subject=page.title contact=site.data.contacts.faults %}


---
layout: index
---
These social site are known:
{{ site.data.social_sites_db.known_names | inspect }}
{% for name in site.data.social_sites_db.known_names %}
|
{% endfor -%}
Social Links
{% include social-links.html %}
Social Links Verbose
{% include social-links.html labels=true separator=" | " %}


Spacebrew Phone Events Forwarder
Forwards phone motion events to spacebrew, and control the color of your screen.
Movement, Orientation and Color
Spacebrew Connection Status


[page:Path] →
[name]
Defines an arbitrary 2d shape plane using paths with optional holes. It can be used with [page:ExtrudeGeometry],
[page:ShapeGeometry], to get points, or to get triangulated faces.
var heartShape = new THREE.Shape();
heartShape.moveTo( 25, 25 );
heartShape.bezierCurveTo( 25, 25, 20, 0, 0, 0 );
heartShape.bezierCurveTo( 30, 0, 30, 35,30,35 );
heartShape.bezierCurveTo( 30, 55, 10, 77, 25, 95 );
heartShape.bezierCurveTo( 60, 77, 80, 55, 80, 35 );
heartShape.bezierCurveTo( 80, 35, 80, 0, 50, 0 );
heartShape.bezierCurveTo( 35, 0, 25, 25, 25, 25 );
var extrudeSettings = { amount: 8, bevelEnabled: true, bevelSegments: 2, steps: 2, bevelSize: 1, bevelThickness: 1 };
var geometry = new THREE.ExtrudeGeometry( heartShape, extrudeSettings );
var mesh = new THREE.Mesh( geometry, new THREE.MeshPhongMaterial() );
Examples
[example:webgl_geometry_shapes geometry / shapes ]
[example:webgl_geometry_extrude_shapes geometry / extrude / shapes ]
[example:webgl_geometry_extrude_shapes2 geometry / extrude / shapes2 ]
[example:webgl_particles_shapes particles / shapes ]
Constructor
[name]()
Properties
[property:array holes]
An array of [page:Path paths] that define the holes in the shape.
Methods
[method:ShapeGeometry makeGeometry]([page:Object options])
options -- This is passed as the second argument to [page:ShapeGeometry ShapeGeometry]
Convenience method to return ShapeGeometry
[method:Array extractAllPoints]([page:Integer divisions])
divisions -- The number of divisions to create on the shape
Get points of shape and holes (keypoints based on segments parameter)
[method:ExtrudeGeometry extrude]([page:Object options])
options -- This is passed as the second argument to [page:ExtrudeGeometry ExtrudeGeometry]
Convenience method to return ExtrudeGeometry
[method:Object extractPoints]([page:Integer divisions])
divisions -- The number of divisions to create on the shape
Returns an object with a *shape* and *holes* property that each reference an array of [page:Vector2 Vector2s].
[method:Object extractAllSpacedPoints]([page:Integer divisions])
divisions -- The number of divisions to create on the shape
Returns an object with a *shape* and *holes* property that each reference an array of [page:Vector2 Vector2s]. The
points will all be equally spaced along the shape.
[method:Array getPointsHoles]([page:Integer divisions])
divisions -- The number of divisions to create on the shape
Get an array of [page Vector2 Vector2s] that represent the holes in the shape.
[method:Array getSpacedPointsHoles]([page:Integer divisions])
divisions -- The number of divisions to create on the shape
Get an array of equally spaced [page Vector2 Vector2s] that represent the holes in the shape.
Source
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]


BERKSHIRE HATHAWAY INC. 3555 Farman Street Suite 1440 Omaha, NE 68131 Official Home Page
FOR A FREE CAR INSURANCE QUOTE THAT COULD SAVE YOU SUBSTANTIAL MONEY WWW.GEICO.COM OR CALL 1-888-395-6349, 24 HOURS A DAY
Copyright © 1978-2015Berkshire Hathaway Inc.
If you have any comments about our WEB page, you can either write us at the address shown above or e-mail us at<EMAIL_ADDRESS>However, due to the limited number of personnel in our corporate office, we are unable to provide a direct response.


We deliver real business results through a people-centered approach to technology and providing the right expertise according to your needs.
All sorts of medical modelling & delightful solutions , but the real advances made possible by the technology.
The craft of architecture is part of the wave of industries being reshaped by 3D Printing. Many fundamental, simple workflow changes are already being utilized within architecture firms.
Fab Academy is to initiate, mentor, and technically train new students for participation and leadership in the global Fab Lab Network community.
Oil & Gas sector where we can assure training for them for 6 month which will improve the standard of the company to next level.
Want to part of the change, Start the change with us
Get StartedEvery project brings its unique challenges, so we find the right mix of services to make your product shine.
All Rights Reserved 2017 © Dunes


Peity Charts
Peity (sounds like deity) is a jQuery plugin that converts an element's content into a <svg>. Read the Official Peity Documentation for a full list of instructions and other options.
Line charts
5,3,9,6,5,9,7,3,5,2 5,3,2,-1,-3,-2,2,3,5,2 0,-3,-6,-4,-5,-4,-7,-3,-5,-2Bar charts
Pie charts
1/5 226/360 0.52/1.561 1,2,3,2,2Donut chart
1/5 226/360 0.52/1.561 1,2,3,2,2Options
1/7 2/7 3/7 4/7 5/7 6/7 7/7


This is where i would put links to other projects and examples of my skills for reference of my skills. this page in the end will be the longest due to the fact in the end it will be most important. I cannot overfill this page though as it will make me seem like i am trying to hard or overwhem possible employers.


RxCommand
BREAKING CHANGE with V5.0 RxCommand no longer works with Observables but with plain Dart Streams because the latest RxDart version now uses extension methods on Streams instead of Observables:
static RxCommand<TParam, TResult> createSync<TParam, TResult>(Func1<TParam, TResult> func,...
static RxCommand<void, TResult> createSyncNoParam<TResult>(Func<TResult> func,...
static RxCommand<TParam, void> createSyncNoResult<TParam>(Action1<TParam> action,...
static RxCommand<void, void> createSyncNoParamNoResult(Action action,...
static RxCommand<TParam, TResult> createAsync<TParam, TResult>(AsyncFunc1<TParam, TResult> func,...
static RxCommand<void, TResult> createAsyncNoParam<TResult>(AsyncFunc<TResult> func,...
static RxCommand<TParam, void> createAsyncNoResult<TParam>(AsyncAction1<TParam> action,...
static RxCommand<void, void> createAsyncNoParamNoResult(AsyncAction action,...
IMPORTANT: As of V3.0
CommandResult
objects are now emitted on the.results
property and the pure results of the wrapped function on the RxCommand itself. So I switched the two because while working on RxVMS it turned out that I use the pure result much more often. Also the name of.results
matches much better withCommandResult
. If you don't want to change your code you can just stay on 2.06 if you don't need any of V 3.0 features.
You can find a tutorial on how to use RxCommands
in this blog post Making Flutter more Reactive
RxCommand
is an Reactive Extensions (Rx) based abstraction for event handlers. It is based on ReactiveCommand
for the ReactiveUI framework. It makes heavy use of the RxDart package.
PRs are always welcome ;-)
MAYBE BREAKING CHANGE in 2.0.0: Till now the
results
Stream and theRxCommand
itself behaved like aBehaviourSubjects
. This can lead to problems when using with Flutter. From now on the default isPublishSubject
. If you needBehaviourSubject
behaviour, meaning every new listener gets the last received value, you can setemitsLastValueToNewSubscriptions = true
when creatingRxCommand
.
If you don't know Rx think of it as Dart Streams
on steroids. RxCommand
capsules a given handler function that can then be executed by its execute
method or directly assigned to a widget's handler because it's a callable class. The result of this method is then published through its Stream interface. Additionally it offers Streams for it's current execution state, if the command can be executed and for all possibly thrown exceptions during command execution.
A very simple example
final command = RxCommand.createSync<int, String>((myInt) => "$myInt");
command.listen((s) => print(s)); // Setup the listener that now waits for events, not doing anything
// Somwhere else
command.execute(10); // the listener will print "10"
Getting a bit more impressive:
// This command will be executed everytime the text in a TextField changes
final textChangedCommand = RxCommand.createSync((s) => s);
// handler for results
textChangedCommand
.debounce( new Duration(milliseconds: 500)) // Rx magic: make sure we start processing
// only if the user make a short pause typing
.listen( (filterText)
{
updateWeatherCommand.execute( filterText); // I could omit he execute because RxCommand is a callable class but here it
// makes the intention clearer
});
Getting Started
Add to your pubspec.yaml
dependencies to rxdart
and rx_command
.
An RxCommand
is a generic class of type RxCommand<TParam, TRESULT>
where TPARAM
is the type of data that is passed when calling execute
and TResult
denotes the return type of the handler function. To signal that a handler doesn't take a parameter or returns a null
value use void
as type.
Even if you create a RxCommand<void,void>
you will receive a null
value when the wrapped function finishes so you can listen for the successful completion.
An example of the declaration from the included sample App
RxCommand<String,List<WeatherEntry>> updateWeatherCommand;
RxCommand<bool,bool> switchChangedCommand;
updateWeatherCommand
expects a handler that takes a String
as parameter and returns a List<WeatherEntry>
. switchChangedCommand
expects and returns a bool
value
Creating RxCommands
For the different variations of possible handler methods RxCommand offers several factory methods for synchronous and asynchronous handlers. They look like this.
/// Creates a RxCommand for a synchronous handler function with no parameter and no return type
/// `action`: handler function
/// `canExecute` : Stream that can be used to enable/disable the command based on some other state change
/// if omitted the command can be executed always except it's already executing
static RxCommand<void, void> createSyncNoParamNoResult(Action action,[Stream<bool> canExecute])
There are these variants:
static RxCommand<TParam, TResult> createSync<TParam, TResult>(Func1<TParam, TResult> func,...
static RxCommand<void, TResult> createSyncNoParam<TResult>(Func<TResult> func,...
static RxCommand<TParam, void> createSyncNoResult<TParam>(Action1<TParam> action,...
static RxCommand<void, void> createSyncNoParamNoResult(Action action,...
static RxCommand<TParam, TResult> createAsync<TParam, TResult>(AsyncFunc1<TParam, TResult> func,...
static RxCommand<void, TResult> createAsyncNoParam<TResult>(AsyncFunc<TResult> func,...
static RxCommand<TParam, void> createAsyncNoResult<TParam>(AsyncAction1<TParam> action,...
static RxCommand<void, void> createAsyncNoParamNoResult(AsyncAction action,...
Please check the API docs for detailed description of all parameters
createFromStream
Creates a RxCommand from an "one time" Stream. This is handy if used together with a Stream generator function.
provider
: provider function that returns a new Stream
that will be subscribed on the call of execute
canExecute
: Stream that can be used to enable/disable the command based on some other state change
If omitted the command can be executed always except it's already executing
static RxCommand<TParam, TResult> createFromStream<TParam, TResult>(StreamProvider<TParam, TResult> provider, [Stream<bool> canExecute])
You can pass in an additional Stream<bool>
as canExceute
that determines if command can be executed.
Example for canExceute
The sample App contains a Switch
widget that enables/disables the update command. The switch itself is bound to the switchChangedCommand
that's result is then used as canExcecute
of the updateWeatherCommand
:
switchChangedCommand = RxCommand.createSync<bool,bool>((b)=>b);
// We pass the result of switchChangedCommand as canExecute Stream to the upDateWeatherCommand
updateWeatherCommand = RxCommand.createAsync<String,List<WeatherEntry>>(update,switchChangedCommand.results);
As the Update Button
's building is based on a StreamBuilder
that listens on the canExecute
Stream of the updateWeatherCommand
the buttons enabled/disabled state gets automatically updated when the Switch's
state changes
Error handling with RxCommands
By default all exceptions thrown by the wrapped function will be caught and swallowed. If you want to react on the, you can listen on the thrownException
property.
If you want to force RxCommand not to catch Exceptions set throwExceptions=true
.
Using RxCommands in a Flutter App
RxCommand
is typically used in a ViewModel of a Page, which is made accessible to the Widgets via an InheritedWidget
or GetIt
. Its execute
method can then directly be assigned as event handler of the Widgets.
The result
of the command is best used with a StreamBuilder
or inside a StatefulWidget
.
By subscribing (listening) to the isExecuting
property of a RxCommand you can react on any execution state change of the command. E.g. show a spinner while the command is running.
By subscribing to the canExecute
property of a RxCommand you can react on any state change of the executability of the command. Like changing the appearance of a Button.
As RxCommand is a callable class you can assign it directly to handler functions of Flutter widgets like:
new TextField(onChanged: TheViewModel.of(context).textChangedCommand,)
Listening for CommandResults
The original ReactiveCommand
from ReactiveUI separates the state information of the command into four Streams (result, thrownExceptions, isExecuting, canExecute
) this works great in an environment that doesn't rebuild the whole screen on state change. Flutter it's often desirable when working with a StreamBuilder
to have all this information at one place so that you can decide what to display depending on the returned state. Therefore RxCommand
offer the .results
Stream emitting CommandResult
objects:
class CommandResult<T>
{
final T data;
final dynamic error;
final bool isExecuting;
const CommandResult(this.data, this.error, this.isExecuting);
bool get hasData => data != null;
bool get hasError => error != null;
}
isExecuting
will issue a bool
value on each state change. Even if you subscribe to a newly created command it will issue false
. When listening for CommandResult
this normally doesn't make sense, so no initial CommandResult
will be emitted.
If you want to get an initial Result with data==null, error==null, isExceuting==false
pass
emitInitialCommandResult=true
when creating a command.
Accessing the last result
RxCommand.lastResult
gives you access to the last successful result of the commands execution.
If you want to get the last result included in the CommandResult
events while executing or in case of and error you can pass emitInitialCommandResult=true
when creating the command.
If you want to assign an initialValue to .lastResult
e.g. if you use it with a StreamBuilder's
initialData
you can pass it with the initialLastResult
parameter when creating the command.
Disposing subscriptions (listeners)
When subscribing to an Stream with .listen
you should store the returned StreamSubscription
and call .cancel
on it if you want to cancel this subscription to a later point or if the object where the subscription is made is getting destroyed to avoid memory leaks.
RxCommand
has a dispose
function that will cancel all active subscriptions on its Streams. Calling dispose
before a command gets out of scope is a good practise.
Exploring the sample App
The best way to understand how RxCommand
is used is to look at the supplied sample app which is a simple app that queries a REST API for weather data.
The ViewModel
It follow the MVVM design pattern so all business logic is bundled in the WeatherViewModel
class in weather_viewmodel.dart
.
It is made accessible to the Widgets by using an InheritedWidget which is defined in main.dart and returns and instance of WeatherViewModel
when used like TheViewModel.of(context)
The view model publishes two commands
updateWeatherCommand
which makes a call to the weather API and filters the result based on a string that is passed to execute. Its result will be bound to aStreamBuilder
in your View.switchChangedCommand
which will be bound to aSwitch
widget to enable/disable the `updateWeatherCommand.
The View
main.dart
creates the ViewModel and places it at the very base of the app`s widget tree.
homepage.dart
creates a Column
with a
-
TextField
where you can enter a filter text which binds to the ViewModelstextChangedCommand
. -
a middle block which can either be a
ListView
(WeatherListView
) or a busy spinner. It is created by aStreamBuilder
which listens to
TheViewModel.of(context).updateWeatherCommand.isExecuting

 -
A row with the Update
Button
and aSwitch
that toggles if an update should be possible or not by binding toTheViewModel.of(context).switchChangedCommand)
. To change the enabled state of the button the button is build by aStreamBuilder
that listens to theTheViewModel.of(context).updateWeatherCommand.canExecute
listview.dart
implements WeatherListView
which consists again of a StreamBuilder which updates automatically by listening on TheViewModel.of(context).updateWeatherCommand.results
Making live easier with RxCommandListeners
If you want to react on more than one Stream of one command the listening and freeing of multiple of subscriptions makes the code less readable and you have to be careful not to forget to cancel all of them.
RxCommandListener
makes this handling much easier. Its constructor takes a command and direct handler functions for the different state changes:
class RxCommandListener<TParam, TResult> {
final RxCommand<TParam, TResult> command;
// Is called on every emitted value of the command
final void Function(TResult value) onValue;
// Is called when isExceuting changes
final void Function(bool isBusy) onIsBusyChange;
// Is called on exceptions in the wrapped command function
final void Function(dynamic ex) onError;
// Is called when canExecute changes
final void Function(bool state) onCanExecuteChange;
// is called with the vealue of the .results Stream of the command
final void Function(CommandResult<TResult> result) onResult;
// to make the handling of busy states even easier these are called on their respective states
final void Function() onIsBusy;
final void Function() onNotBusy;
// optional you can directly pass in a debounce duration for the values of the command
final Duration debounceDuration;
RxCommandListener(this.command,{
this.onValue,
this.onIsBusyChange,
this.onIsBusy,
this.onNotBusy,
this.onError,
this.onCanExecuteChange,
this.onResult,
this.debounceDuration,}
)
void dispose();
You don't have to pass all handler functions. they all are optional so you can just pass the ones you need. You only have to dispose
the RxCommandListener
in your dispose
function and it will cancel all internally uses subscriptions.
Let's compare the same code with and without RxCommandListener
in some real app code. The selectAndUploadImageCommand
here is used in a chat screen where the user can upload images to the chat. When the command is called an ImagePicker
dialog is shown and after successful selection of an image the image is uploaded. On completion of the upload the command returns the storage location of the image so that a new image chat entry can be created.
_selectImageCommandSubscription = sl
.get<ImageManager>()
.selectAndUploadImageCommand
.listen((imageLocation) async {
if (imageLocation == null) return;
// this calls the execute method of the command
sl.get<EventManager>().createChatEntryCommand(new ChatEntry(
event: widget.event,
isImage: true,
content: imageLocation.downloadUrl,
));
});
_selectImageIsExecutingSubscription = sl
.get<ImageManager>()
.selectAndUploadImageCommand
.isExecuting
.listen((busy) {
if (busy) {
MySpinner.show(context);
} else {
MySpinner.hide();
}
});
_selectImageErrorSubscription = sl
.get<ImageManager>()
.selectAndUploadImageCommand
.thrownExceptions
.listen((ex) => showMessageDialog(context, 'Upload problem',
"We cannot upload your selected image at the moment. Please check your internet connection"));
to
selectImageListener = RxCommandListener(
command: sl.get<ImageManager>().selectAndUploadImageCommand,
onValue: (imageLocation) async {
if (imageLocation == null) return;
sl.get<EventManager>().createChatEntryCommand(new ChatEntry(
event: widget.event,
isImage: true,
content: imageLocation.downloadUrl,
));
},
onIsBusy: () => MySpinner.show(context),
onNotBusy: MySpinner.hide,
onError: (ex) => showMessageDialog(context, 'Upload problem',
"We cannot upload your selected image at the moment. Please check your internet connection"));
As a rule of thumb I would only use an RxCommandListener if I want to listen to more than one Stream.
Mocking RxCommands
When writing UI Tests with Flutter its often better not to work with the real commands in the ViewModel but to use a MockCommand
to have better control over the data a command receives and emits.
For this the MockCommand
class is for. It behaves almost like a normal RxCommand
It's created by
/// Factory constructor that can take an optional Stream to control if the command can be executet
factory MockCommand({Stream<bool> canExecute} )
You don't pass a handler function because this should be controlled from the outside. To control the outcome of the Command execution you can inspect these properties:
/// the last value that was passed when execute or the command directly was called
TParam lastPassedValueToExecute;
/// Number of times execute or the command directly was called
int executionCount = 0;
To simulate a certain data output after calling the command use:
/// to be able to simulate any output of the command when it is called you can here queue the output data for the next exeution call
queueResultsForNextExecuteCall(List<CommandResult<TResult>> values)
To execute the command you can either call the command instance directly or call execute
/// Can either be called directly or by calling the object itself because RxCommands are callable classes
/// Will increase [executionCount] and assign [lastPassedValueToExecute] the value of [param]
/// If you have queued a result with [queueResultsForNextExecuteCall] it will be copies tho the output stream.
/// [isExecuting], [canExceute] and [results] will work as with a real command.
execute([TParam param])
Here an example from the rx_widgets
example App
testWidgets('Tapping update button updates the weather', (tester) async {
final model = new MockModel(); // using mockito
final command = new MockCommand<String,List<WeatherEntry>>();
final widget = new ModelProvider(
model: model,
child: new MaterialApp(home: new HomePage()),
);
// to make the mocked model use the MockCommand instance.
when(model.updateWeatherCommand).thenReturn(command);
// if your App does not only access the command but also calls
// it directly you have to register the call too:
when(model.updateWeatherCommand()).thenAnswer((_)=>command());
command.queueResultsForNextExecuteCall([CommandResult<List<WeatherEntry>>(
[WeatherEntry("London", 10.0, 30.0, "sunny", 12)],null, false)]);
expect(command.results, emitsInOrder([ crm(null, false, false), // default value that will be emited at startup
crm([WeatherEntry("London", 10.0, 30.0, "sunny", 12)], // data
false, false) ]));
await tester.pumpWidget(widget); // Build initial State
await tester.pump(); // Build after Stream delivers value
await tester.tap(find.byKey(AppKeys.updateButtonEnabled));
});
To verify the changing states of the command e.g. to check if linked UI controls are created or in a certain state use:
/// For a more fine grained control to simulate the different states of an `RxCommand`
/// there are these functions
/// [startExecution] will issue a `CommandResult` with
/// data: null
/// error: null
/// isExecuting : true
void startExecution()
/// [endExecutionWithData] will issue a `CommandResult` with
/// data: [data]
/// error: null
/// isExecuting : false
void endExecutionWithData(TResult data)
/// [endExecutionWithData] will issue a `CommandResult` with
/// data: null
/// error: Exeption([message])
/// isExecuting : false
void endExecutionWithError(String message)
/// [endExecutionWithData] will issue a `CommandResult` with
/// data: null
/// error: null
/// isExecuting : false
void endExecutionNoData()
Also an example from rx_widgets
testWidgets('Shows a loading spinner and disables the button while executing
and shows the ListView on data arrival', (tester) async {
final model = new MockModel();
final command = new MockCommand<String,List<WeatherEntry>>();
final widget = new ModelProvider(
model: model,
child: new MaterialApp(home: new HomePage()),
);
// Link MockCommand instance to mocked field in model
when(model.updateWeatherCommand).thenReturn(command);
await tester.pumpWidget(widget);// Build initial State
await tester.pump();
expect(find.byKey(AppKeys.loadingSpinner), findsNothing);
expect(find.byKey(AppKeys.updateButtonDisabled), findsNothing);
expect(find.byKey(AppKeys.updateButtonEnabled), findsOneWidget);
expect(find.byKey(AppKeys.weatherList), findsNothing);
expect(find.byKey(AppKeys.loaderError), findsNothing);
expect(find.byKey(AppKeys.loaderPlaceHolder), findsOneWidget);
command.startExecution();
await tester.pump();
// because there are two streams involded it seems we have to pump
// twice so that both streambuilders can work
await tester.pump();
expect(find.byKey(AppKeys.loadingSpinner), findsOneWidget);
expect(find.byKey(AppKeys.updateButtonDisabled), findsOneWidget);
expect(find.byKey(AppKeys.updateButtonEnabled), findsNothing);
expect(find.byKey(AppKeys.weatherList), findsNothing);
expect(find.byKey(AppKeys.loaderError), findsNothing);
expect(find.byKey(AppKeys.loaderPlaceHolder), findsNothing);
command.endExecutionWithData([new WeatherEntry("London", 10.0, 30.0, "sunny", 12)]);
await tester.pump(); // Build after Stream delivers value
expect(find.byKey(AppKeys.loadingSpinner), findsNothing);
expect(find.byKey(AppKeys.updateButtonDisabled), findsNothing);
expect(find.byKey(AppKeys.updateButtonEnabled), findsOneWidget);
expect(find.byKey(AppKeys.weatherList), findsOneWidget);
expect(find.byKey(AppKeys.loaderError), findsNothing);
expect(find.byKey(AppKeys.loaderPlaceHolder), findsNothing);
});


Gateway
BOT
12-Jul-18 05:57 AM
[dscrdeql] <x2maano> i have a very beauyiful cat and 3 3 of her babeis
[dscrdeql] <x2maano> new born babeis
[dscrdeql] <AndronicusBass-Founder> 33?
[dscrdeql] <x2maano> menu of lunch? @AndronicusBass-Founder
[dscrdeql] <AndronicusBass-Founder> burgers, delicious
[dscrdeql] <x2maano> ymiii
[dscrdeql] <x2maano> for what?
looking good
[dscrdeql] <aFastHero> Commissioned build. Its a dog kennel for two dogs.
[dscrdeql] <aFastHero> Still need to stain the top and do a little touch up paint, but I'm just pumped that its finally all built.  Thorth !!!> Morning
[dscrdeql] <!!! Thorth !!!>
[dscrdeql] <SwimedDragon> No pets for me, I only had dogs for my whole childhood at parents.
[dscrdeql] <aFastHero> Milling all the wood to correct dimensions, cutting all rebar to length, polished and painted all rebar, tongue and groove joinery for the oak planks on top and for the planks that make up the back.
[dscrdeql] <aFastHero> The only thing I didn't do is make the hinges and barrel locks.
[dscrdeql] <aFastHero> and thanks @AndronicusBass-Founder, I am quite proud of it!
[dscrdeql] <x2maano> awsome
[dscrdeql] <x2maano>
[dscrdeql] <x2maano>
[dscrdeql] <Cryptovideos> fanbladdytastic i tell ya?
[dscrdeql] <aFastHero> I've got dogs, cats and a child...pure chaos!
[dscrdeql] <jellysmash> @Thorth morning
[dscrdeql] <!!! Thorth !!!> Morning @jellysmash
[dscrdeql] <!!! Thorth !!!>
[dscrdeql] <slipersty> @aFastHero it looks awsome
[dscrdeql] <CryptoNoob8[BuyTheFuckingMN]> I @aFastHero good job
[dscrdeql] <CryptoNoob8[BuyTheFuckingMN]> Personally I don't like pets
[dscrdeql] <CryptoNoob8[BuyTheFuckingMN]> It takes a lot of effort to care for them
[dscrdeql] <CryptoNoob8[BuyTheFuckingMN]> If you are going away for a few days , you need to manage


Verily
And King jml opened his mouth and spoke to the peoples of the land, and he said, “Lo! There are vendors of chips that are neither salted nor hot, nay, the chips are not even warm. The cooks and merchants who profit from such chips are evil, and ruin marks their way. Therefore I will punish such evildoers and let their own misery fall upon them.  And though the vendors of the chips that were cold and the cooks of the chips that were unsalted were afraid, the people of the land rejoiced, for wisdom was found in the heart of the king’s decree.
Serving them cold is just very very wrong though.


1
Room creation
To create a new room, just press the big "+" (Add) button on the
bottom center, and insert the subject and a brief description of the
room.


Polynomials are a special type of mathematical function, or process for turning one number into another. Polynomials are functions of the form \(f(x)=a_{n}x^{n}+a_{n-1}x^{n-1}+\dots+a_{1}x^{1}+a_{0}\text{:}\) sums of powers of \(x\text{,}\) maybe with constant terms in front. For example, \(f(x)=x+1\text{,}\) \(g(x)=17x^{3}-234x+7\text{,}\) and \(h(x)=-x^{1}42+1\) are all polynomials. The polynomial \(a(x)=x^{2}+2x+3\) takes the input 1 and turns it into the output \(1^{2}+2(1)+3=6\text{.}\) All numbers which make sense to input are called the domain of the function, and the possible sensical outputs you could get are called the range.
in-context


--- layout: post title: How can I set up an editor to work with Git on Windows? date: '2009-07-05T11:57:00.003+01:00' author: Darren Bishop tags: - Git modified_time: '2009-07-05T12:00:40.886+01:00' blogger_id: tag:blogger.com,1999:blog-3826577489563855618.post-6942170621710034785 blogger_orig_url: http://blog.darrenbishop.com/2009/07/how-can-i-set-up-editor-to-work-with.html ---
If you've ever asked yourself this question, checkout my answer on StackOverflow.com
Cheers


Completing the Web Development Immersive couse at General Assmebly has enabled my burning passion for innovation and creativity to be transformed into real-life products through code. I now know that I am ready for the big wide world of web development and am now able to conquer the world... one line of code at a time.
Being exposed to HTML & CSS at young age has allowed me to discover all the possibilities I can achieve. With the skills that I've learnt at General Assembly, I am now ready to set out to be employed as a junior web developer! I wish to land a role that will improve my skill level and allow me to create innovative web apps to solve problems.
Restyle Me is a second hand clothes advertising platform aiming to connect buyers and sellers to find that perfect outfit! To get started, all you have to do is create an account and sign in. Once you have created an account, you can start uploading and sharing your second hand clothes. Once you've uploaded the item, you can search for clothes through categories that are specific to your interest and need, ultimately connecting buyers and sellers!
Visit Restyle MeSydney Sister Boutique is an ecommerce platform specialising in selling women's fashion clothing. Based off my blog, Sydney Sister encompasses many features including helpful category navigation, product information pages and an admin dashboard. Being particulary interested in e-commerce, this shortly became my favourite project. With Stripe, Facebook and Instagram integration, it became the web app that I would love to personally use in the future.
Visit Sydney SisterChild Time Capsule is a web app enabling parents to upload documentation of their childrens special moments and milestones in their lives. Child Time Capsule stores child information in an account made by the parent and allows them to upload photos and descriptions. With built in geolocation, the time, date & location about your childrens special moments can be stored in one safe place without the fear of losing them!
Please feel free to contact me to talk about code or to just say hello!


Last updated: 2021-09-22
Checks: 7 0
Knit directory: myTidyTuesday/
This reproducible R Markdown analysis was created with workflowr (version 1.6.2). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.
Great! Since the R Markdown file has been committed to the Git repository, you know the exact version of the code that produced these results.
Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it’s best to always run the code in an empty environment.
The command set.seed(20210907)
was run prior to running the code in the R Markdown file. Setting a seed ensures that any results that rely on randomness, e.g. subsampling or permutations, are reproducible.
Great job! Recording the operating system, R version, and package versions is critical for reproducibility.
Nice! There were no cached chunks for this analysis, so you can be confident that you successfully produced the results during this run.
Great job! Using relative paths to the files within your workflowr project makes it easier to run your code on other machines.
Great! You are using Git for version control. Tracking code development and connecting the code version to the results is critical for reproducibility.
The results in this page were generated with repository version 3a67e41. See the Past versions tab to see a history of the changes made to the R Markdown and HTML files.
Note that you need to be careful to ensure that all relevant files for the analysis have been committed to Git prior to generating the results (you can use wflow_publish
or wflow_git_commit
). workflowr only checks the R Markdown file, but you know if there are other scripts or data files that it depends on. Below is the status of the Git repository when the results were generated:
Ignored files:
Ignored: .Rhistory
Ignored: .Rproj.user/
Ignored: catboost_info/
Ignored: data/2021-09-08/
Ignored: data/acs_poverty.rds
Ignored: data/fmhpi.rds
Ignored: data/grainstocks.rds
Ignored: data/hike_data.rds
Ignored: data/us_states.rds
Ignored: data/us_states_hexgrid.geojson
Ignored: data/weatherstats_toronto_daily.csv
Untracked files:
Untracked: code/work list batch targets.R
Untracked: figure/
Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.
These are the previous versions of the repository in which changes were made to the R Markdown (analysis/Coffee.Rmd
) and HTML (docs/Coffee.html
) files. If you’ve configured a remote Git repository (see ?wflow_git_remote
), click on the hyperlinks in the table below to view the files as they were in that past version.
| File | Version | Author | Date | Message |
|---|---|---|---|---|
| Rmd | 3a67e41 | opus1993 | 2021-09-22 | migrate to ggdist stat_dots |
coffee <- tidytuesdayR::tt_load("2020-07-07")
Downloading file 1 of 1: `coffee_ratings.csv`
coffee_ratings <- coffee$coffee_ratings %>%
mutate(
coffee_id = row_number(),
country_of_origin = case_when(
stringr::str_detect(country_of_origin, "Tanzania") ~ "Tanzania",
stringr::str_detect(country_of_origin, "Hawaii") ~ "US Hawaii", TRUE ~ country_of_origin
)
) %>%
filter(total_cup_points > 0)
Let’s build a helper function to add sample counts to categorical charts.
withfreq <- function(x) {
tibble(x) %>%
add_count(x) %>%
mutate(combined = glue::glue("{ str_sub(x, end = 18) } ({ n })")) %>%
pull(combined)
}
Cedric Scherer offers great advice on conveying distributions with boxplots and dots here.
coffee_ratings %>%
count(species, sort = TRUE) %>%
knitr::kable()
| species | n |
|---|---|
| Arabica | 1310 |
| Robusta | 28 |
coffee_lumped <- coffee_ratings %>%
filter(!is.na(variety)) %>%
mutate(variety = fct_lump(variety, 8), sort = TRUE)
coffee_lumped %>%
mutate(variety = withfreq(fct_reorder(variety, total_cup_points))) %>%
ggplot(aes(total_cup_points, variety)) +
geom_boxplot(
color = "#d95f0e",
width = 0.1,
outlier.shape = NA
) +
ggdist::stat_dots(
## orientation to the left
side = "top",
## move geom up
justification = -0.1,
## adjust grouping (binning) of observations
binwidth = .125,
color = "#d95f0e"
) +
labs(
title = "Coffee Quality Ratings",
subtitle = "(Count of Samples) in study",
caption = "https://github.com/jldbc/coffee-quality-database",
x = "Total Cup Points",
y = "Coffee Variety"
)
coffee_ratings %>%
filter(!is.na(color)) %>%
count(color, sort = TRUE) %>%
knitr::kable(caption = "Count of Coffee Samples by")
| color | n |
|---|---|
| Green | 869 |
| Bluish-Green | 114 |
| Blue-Green | 85 |
| None | 52 |
coffee_ratings %>%
filter(!is.na(country_of_origin)) %>%
mutate(
country = withfreq(fct_lump(country_of_origin, 12)),
country = fct_reorder(country, total_cup_points)
) %>%
ggplot(aes(total_cup_points, country)) +
geom_boxplot(
color = "#d95f0e",
width = 0.1,
outlier.shape = NA
) +
ggdist::stat_dots(
## orientation to the left
side = "top",
## move geom up
justification = -0.1,
## adjust grouping (binning) of observations
binwidth = .125,
color = "#d95f0e"
) +
labs(
title = "Coffee Quality Ratings by Country of Origin",
subtitle = "(Count of Samples) in study",
caption = "https://github.com/jldbc/coffee-quality-database",
x = "Total Cup Points",
y = NULL
)
coffee_metrics <- coffee_ratings %>%
dplyr::select(
coffee_id, total_cup_points, variety, company,
country_of_origin,
altitude_mean_meters,
aroma:moisture
) %>%
pivot_longer(aroma:cupper_points, names_to = "metric", values_to = "value")
coffee_metrics %>%
mutate(metric = fct_reorder(metric, value)) %>%
ggplot(aes(value, metric)) +
geom_boxplot(
width = .15,
outlier.shape = NA,
color = "#d95f0e"
) +
geom_point(
## draw horizontal lines instead of points
shape = 124,
size = 4,
alpha = .1,
color = "#d95f0e"
) +
scale_x_continuous(limits = c(5, 10.2)) +
labs(
title = "Coffee Quality Ratings Attribute Ranges",
caption = "https://github.com/jldbc/coffee-quality-database",
x = "Score",
y = ""
)
correlations <- coffee_metrics %>%
pairwise_cor(metric, coffee_id, value, sort = TRUE)
correlations %>%
head(50) %>%
graph_from_data_frame() %>%
ggraph() +
geom_edge_link(aes(edge_alpha = correlation), show.legend = FALSE) +
geom_node_point() +
geom_node_text(aes(label = name), repel = TRUE) +
labs(
title = "Coffee Quality",
subtitle = "Network Diagram of Attribute Correlation",
caption = "https://github.com/jldbc/coffee-quality-database",
x = "",
y = ""
)
coffee_metrics %>%
filter(!metric %in% c("sweetness", "clean_cup", "uniformity")) %>%
group_by(metric) %>%
mutate(centered = value - mean(value)) %>%
ungroup() %>%
widely_svd(metric, coffee_id, value) %>%
filter(between(dimension, 1, 6)) %>%
mutate(metric = reorder_within(metric, value, dimension)) %>%
ggplot(aes(value, metric)) +
geom_col(fill = "#d95f0e") +
scale_y_reordered() +
facet_wrap(~dimension, scales = "free_y") +
theme(plot.title.position = "plot") +
labs(
title = "Coffee Quality",
subtitle = "Principal Components of Attributes",
caption = "https://github.com/jldbc/coffee-quality-database",
x = "",
y = ""
)
coffee_ratings %>%
filter(
altitude_mean_meters < 10000,
altitude != 1
) %>%
mutate(altitude_mean_meters = pmin(altitude_mean_meters, 3500)) %>%
ggplot(aes(altitude_mean_meters, total_cup_points)) +
geom_point(color = "#d95f0e", alpha = 0.3) +
geom_smooth(
method = "lm",
formula = "y ~ x"
) +
theme(plot.title.position = "plot") +
labs(
title = "Coffee Quality at Altitude",
caption = "https://github.com/jldbc/coffee-quality-database",
x = "Altitude (meters)",
y = "Total Cup Points"
)
coffee_metrics %>%
filter(altitude_mean_meters < 10000) %>%
mutate(altitude_mean_meters = pmin(altitude_mean_meters, 3000)) %>%
mutate(km = altitude_mean_meters / 1000) %>%
group_by(metric) %>%
summarize(
correlation = cor(altitude_mean_meters, value),
model = list(lm(value ~ km))
) %>%
mutate(tidied = map(model, broom::tidy, conf.int = TRUE)) %>%
unnest(tidied) %>%
filter(term == "km") %>%
ungroup() %>%
mutate(metric = fct_reorder(metric, estimate)) %>%
ggplot(aes(estimate, metric, color = p.value < .05)) +
geom_point() +
geom_errorbarh(aes(xmin = conf.low, xmax = conf.high), height = .1) +
theme(
legend.position = "top",
legend.spacing.x = unit(6, "mm"),
panel.grid.major.y = element_blank()
) +
labs(
title = "Coffee Quality",
y = "Evaluation of coffee",
x = "Each kilometer of altitude contributes\n this much to attribute scores (95% confidence interval)",
caption = "https://github.com/jldbc/coffee-quality-database"
)
coffee_lumped %>%
mutate(country_of_origin = fct_lump_lowfreq(country_of_origin, 8)) %>%
group_by(country_of_origin, variety) %>%
summarise(
score = mean(total_cup_points),
.groups = "drop"
) %>%
ungroup() %>%
filter(!variety %in% c("Other", "Yellow Bourbon")) %>%
mutate(country_of_origin = reorder_within(country_of_origin, score, variety)) %>%
ggplot() +
geom_col(aes(
x = score,
y = country_of_origin,
fill = ggplot2::cut_width(score, 2)
), show.legend = FALSE) +
scale_fill_brewer(type = "seq", palette = "YlOrBr") +
scale_y_reordered() +
labs(
title = "Mean Coffee Quality Total Cup Points",
y = "", x = "Variety",
caption = "#TidyTuesday 2020-07-07 @Jim_Gruman\n https://github.com/jldbc/coffee-quality-database"
) +
facet_wrap(~variety, scales = "free_y")
My Tidytuesday tweet:
tweetrmd::include_tweet("https://twitter.com/jim_gruman/status/1280690395752644608")
#TidyTuesday 📊#dataviz on ☕ Coffee bean ratings by variety and country. Quick take: Ethiopian varieties score very well.


Welcome to the world of Final Fantasy!
Select a Character from below and fight!
Characters!A young and aloof SeeD mercenary, others view him as cold and focused. wields the Gunblade Griever
An ex S.O.L.D.I.E.R and gifted swordsman, he wields the mighty Buster Sword
He is a rising star blitzball player from Zanarkand, one of Yuna's Guardians
Chosen to be a savior by the god Bhunivelze, tasked to save souls before Apocolypse.
Crown Prince and heir to the throne of Lucis, he can wield the power of Lucian Kings
A powerful young mage, she fights with the Returners against the evil Kefka


{% extends "layouts/main_layout.html" %} {% block content %}
GitCube is a rust git service.
I like game Minecraft, so I call the project as GitCube.


404!
Looks like someone's lost.
That page doesn't exist, check to see if it was a typo, or use the navigation to go to a page that hasn't been swallowed by the vortex.
{{ $.Scratch.Add "dark" true }} {{ partial "head" . }}
That page doesn't exist, check to see if it was a typo, or use the navigation to go to a page that hasn't been swallowed by the vortex.


Swimmer dies off Co Antrim coast
A swimmer has died and another has been taken to hospital after getting into difficulty in the sea off the Antrim coast.
The woman died in the incident off a beach at Ballycastle at around 8.30am.
It is understood she was part of a small group of swimmers who take part in early-morning sea swims in the area.
Another woman who got into difficulty has been taken to Causeway Hospital in Coleraine. It is understood she was being treated for the effects of hypothermia.
Police, fire and rescue service, ambulance crews and the air ambulance were all involved in the emergency response.
The Northern Ireland Ambulance Service said an emergency call was received at 8.28am following reports of a number of swimmers in difficulty.
Two ambulance crews, two ambulance officers and a hazardous area response team officer attended the scene.
Two crews from Ballycastle fire station attended. Police officers were also involved in the rescue operation.


Source code for mixmo.loaders.batch_repetition_sampler
"""
Sampler definition for multi-input models
"""
import torch
import random
from mixmo.utils import (
config, torchutils, logger, misc)
LOGGER = logger.get_logger(__name__, level="DEBUG")
[docs]class BatchRepetitionSampler(torch.utils.data.sampler.BatchSampler):
"""
Wraps another sampler to yield a mini-batch of repeated indices.
"""
[docs] def __init__(
self,
sampler,
batch_size,
num_members,
config_batch_sampler,
drop_last=False,
):
torch.utils.data.sampler.BatchSampler.__init__(self, sampler, batch_size, drop_last)
self.num_members = num_members
self._batch_repetitions = config_batch_sampler["batch_repetitions"]
self._proba_input_repetition = config_batch_sampler["proba_input_repetition"]
def __iter__(self):
batch = []
for idx in self.sampler:
for _ in range(self._batch_repetitions):
batch.append(idx)
if len(batch) >= self.batch_size:
yield self.output_format(batch)
batch = []
if len(batch) > 0 and not self.drop_last:
yield self.output_format(batch)
[docs] def output_format(self, std_batch):
"""
Transforms standards batches into batches of sample summaries
"""
# Create M shuffled batches, one for each input
batch_size = len(std_batch)
list_shuffled_index = [
torchutils.randperm_static(batch_size, proba_static=self._proba_input_repetition)
for _ in range(self.num_members)
]
shuffled_batch = [
std_batch[list_shuffled_index[0][count]]
for count in range(batch_size)]
# sample batch seed, shared among samples from the given batch
batch_seed = random.randint(0, config.cfg.RANDOM.MAX_RANDOM)
list_index = [
misc.clean_update(
{
"batch_seed": batch_seed,
"index_" + str(0): shuffled_batch[count]
}, {
"index_" + str(num_member):
shuffled_batch[list_shuffled_index[num_member][count]]
for num_member in range(1, self.num_members)
}
)
for count in range(batch_size)
]
return list_index
def __len__(self):
len_sampler = len(self.sampler) * self._batch_repetitions
if self.drop_last:
return len_sampler // self.batch_size
else:
return (len_sampler + self.batch_size - 1) // self.batch_size


Convert Json Schema to Form for Flutter apps
What is it
Schema_form is a Flutter package based on two other packages that produces forms dynamically interpreting JSON objects:
- dynamic_widget - Which builds forms through JSON interpretation;
- json_schema - Identifying, defining and validating the properties of the object being edited.
Motivation
A major difficulty for any application developer is to ensure that all users keep their applications up to date to ensure the same user experience and to reduce the time required to fix bugs.
The most commonly used alternative to accelerate this process is Code Push which allows the application update without the need for a new deploy in the store. However in Code Push GitHub itself there is a Code Push Support for Flutter request with comment saying that support depends on implementing dynamic update support in Flutter, there is also a reference to Flutter Roadmap saying that support for This type of update is postponed according to the official comment Code Push / Hot Update / out of band updates, which explains the reasons that led to the decision.
One possible solution to this deadlock is to implement a JSON interpreter that enables screen redesign, which can be obtained using dynamic_widget. However dynamic_widget does not support a dynamic form. This package was designed to meet this need.
How this work
Getting Started
- For help over FormSchema usage, view the example;
- For help over class documentation, view the documentation;
- For help getting started with Flutter, view our online documentation;
- For help on editing package code, view the documentation.
Installation
- Add this to your package's pubspec.yaml file:
dependencies:
schema_form: "^1.0.0"
- You can install packages from the command line: with Flutter:
$ flutter packages get
- Import it Now in your Dart code, you can use:
import 'package:schema_form/schema_form.dart';
Usage
JsonSchemaBloc jsonSchemaBloc = JsonSchemaBloc(formContext: context); // Business Logic
SchemaForm schemaForm = SchemaForm(jsonSchemaBloc: jsonSchemaBloc); // Form Widget
// Load files
File layoutSchemaFile = new File("layoutSchema.json"); // JSON screen layout
File dataSchemaFile = new File("dataSchema.json"); // Data Schema
File dataValueFile = new File("dataValue.json"); // Object for editing
// Get content of files
String layoutSchemaContent = layoutSchemaFile.readAsStringSync();
String dataSchemaContent = dataSchemaFile.readAsStringSync();
String dataValueContent = dataValueFile.readAsStringSync();
// Turn content into Map
Map<String, dynamic> layoutSchemaMap = json.decode(layoutSchemaContent);
Map<String, dynamic> dataSchemaMap = json.decode(dataSchemaContent);
Map<String, dynamic> dataValueMap = json.decode(dataValueContent);
// Turn Map into JsonSchema
JsonSchema dataJsonSchema = JsonSchema.createSchema(dataSchemaMap);
// Load to Business Logic
jsonSchemaBloc.add(LoadLayoutSchemaEvent(layout: layoutSchemaMap)); // Layout
jsonSchemaBloc.add(LoadDataSchemaEvent(dataSchema: dataJsonSchema)); // Json Schema
jsonSchemaBloc.add(LoadDataEvent(data: dataValueMap)); // Object in edit
print(jsonSchemaBloc.getFormData()); // Print the object being edited
Next steps
x
Make MVPx
Minimal documentation
Change event binding of click event


library(tauturri)
library(knitr) # kable()
library(dplyr)
library(magrittr)
library(tidyr)
history <- get_plays_by_date(time_range = 365)
history %>%
head %>%
kable()
| date | TV | Movies | Music |
|---|---|---|---|
| 2017-02-23 | 7 | 0 | 0 |
| 2017-02-24 | 11 | 2 | 0 |
| 2017-02-25 | 12 | 2 | 0 |
| 2017-02-26 | 19 | 5 | 0 |
| 2017-02-27 | 19 | 1 | 0 |
| 2017-02-28 | 17 | 0 | 0 |
So far so good.
history %<>%
gather(Type, Plays, -date)
history %>%
head %>%
kable()
| date | Type | Plays |
|---|---|---|
| 2017-02-23 | TV | 7 |
| 2017-02-24 | TV | 11 |
| 2017-02-25 | TV | 12 |
| 2017-02-26 | TV | 19 |
| 2017-02-27 | TV | 19 |
| 2017-02-28 | TV | 17 |
Better.
library(ggplot2)
library(hrbrthemes)
ggplot(data = history, aes(x = date, y = Plays, fill = Type)) +
geom_col() +
scale_fill_brewer(palette = "Set1") +
theme_ipsum() +
theme(legend.position = "top") +
labs(title = "Plex Server Usage by Day",
subtitle = "Last Year of Activity",
y = "# of Plays", x = "Date")
Neat.
history %>%
group_by(date) %>%
mutate(total = sum(Plays),
perc = Plays / total) %>%
ggplot(aes(x = date, y = perc, fill = Type)) +
geom_col(width = 1) +
scale_y_percent() +
scale_fill_brewer(palette = "Set1") +
theme_ipsum() +
theme(legend.position = "top") +
labs(title = "Plex Server Usage by Day and Media Type",
subtitle = "Last Year of Activity",
y = "% of Plays", x = "Date")
#> Warning: Removed 69 rows containing missing values (position_stack).
Oh, I accidentally built an area chart with bars.
Whoops.
history_hours <- get_plays_by_hourofday(time_range = 365) %>%
gather(Type, Plays, -hour) %>%
mutate(hour = hms::hms(hours = hour))
ggplot(data = history_hours, aes(x = hour, y = Plays, fill = Type)) +
geom_col() +
scale_fill_brewer(palette = "Set1") +
theme_ipsum() +
theme(legend.position = "top") +
labs(title = "Plex Server Usage by Time of Day",
subtitle = "Last Year of Activity",
y = "# of Plays", x = "Hour")
history_users <- get_plays_by_top_10_users(time_range = 365) %>%
gather(Type, Plays, -user)
ggplot(data = history_users, aes(x = reorder(user, Plays), y = Plays, fill = Type)) +
geom_col() +
coord_flip() +
scale_x_discrete(labels = sample(words, nrow(history_users))) +
scale_fill_brewer(palette = "Set1") +
theme_ipsum() +
theme(legend.position = "top") +
labs(title = "Plex Server Usage by User",
subtitle = "Last Year of Activity",
y = "# of Plays", x = "User")


• Experience a greater sense of well-being and calm?
• Improve or regain flexibility and coordination?
• Find a sense of balance & stability?
• Improve your posture?
• Relieve pain and tension?
Trying the Feldenkrais Method for Chronic Pain
- The New York Times
A Different Way to Relieve Years of Back Pain
- Washington Post
How Feldenkrais Helped Me Break Up With Yoga
- Huffington Post
Navigating Rapid Change? The Feldenkrais Method Can Help
- Huffington Post
and lots more at Feldenkrais.com
a documentary about the Feldenkrais Method
Testimonials


Several items in your favorites have recently had their price reduced.
we would like to invite you to take advantage of the new low price before it's gone.
You may go to your favorites to check out the great deal and finish your transaction.
Item(s)
Price


Copyright (c) 2022 Alaric Hartsock
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of Torchbox nor the names of its contributors may be used
to endorse or promote products derived from this software without
specific prior written permission.


#1 Troubling Events:
Greg Laurie: ‘This Is No Joke’ About Troubling Signs of the Biblical End Times https://t.co/TlPNRmI5CH
— End Time Headlines (@EndTimeHeadline) September 19, 2017
The Bible says just like in Noah's days, people will be doing their own thing--partying, giving away in marriage and of hard hearts!
Greg Laurie: ‘This Is No Joke’ About Troubling Signs of the Biblical End Times https://t.co/TlPNRmI5CH
— End Time Headlines (@EndTimeHeadline) September 19, 2017
End Times Prophecy Headlines: September 20, 2017 https://t.co/weG2NjQRUq pic.twitter.com/gY34koHg9A
— Jeremiah Jameson (@ETProphecy) September 20, 2017
Today's Headlines Point Towards End Times Scenario, Rabbi Warns https://t.co/Mvd78O1K0H
— HelloChristian (@HelloChristians) August 11, 2017
John Hagee's End Times Warning - https://t.co/ntWKW1sg7W made national headlines a few years ago with his studies... pic.twitter.com/IfkV5VjUSW
— My Christian Daily (@mchristiandaily) July 23, 2017
.@RScaparo #EndTimes Headlines: #Psalm 91's Viper and Lion Are Reemerging
— CharismaMag (@charismamag) June 30, 2017
https://t.co/DcT4VWp1TW
How Today's Headlines Foreshadow the Bible's Prophetic Events https://t.co/ZSrCDmVqgl #headlines #end_times pic.twitter.com/FpxAurQN00
— FaithfulNews (@faithfulnews) April 6, 2017


The method agreement procedure
When running a factor analysis, one often needs to know how many components / latent variables to retain. Fortunately, many methods exist to statistically answer this question. Unfortunately, there is no consensus on which method to use. Therefore, the n_factors()
function, available in the psycho package, performs the method agreement procedure: it runs all the routines and returns the number of factors with the highest consensus.
# devtools::install_github("neuropsychology/psycho.R") # Install the last psycho version if needed
library(tidyverse)
library(psycho)
results <- attitude %>%
psycho::n_factors()
print(results)
## The choice of 1 factor is supported by 5 (out of 9; 55.56%) methods (Optimal Coordinates, Acceleration Factor, Parallel Analysis, Velicer MAP, VSS Complexity 1).
We can have an overview of all values by using the summary
method.
| n.Factors | n.Methods | Eigenvalues | Cum.Variance |
|---|---|---|---|
| 1 | 5 | 3.72 | 0.53 |
| 2 | 3 | 1.14 | 0.69 |
| 3 | 1 | 0.85 | 0.81 |
| 4 | 0 | 0.61 | 0.90 |
| 5 | 0 | 0.32 | 0.95 |
| 6 | 0 | 0.22 | 0.98 |
| 7 | 0 | 0.14 | 1.00 |
And, of course, plot it :)
plot(results)
The plot shows the number of methods (in yellow), the Eigenvalues (red line) and the cumulative proportion of explained variance (blue line).
For more details, we can also extract the final result (the optimal number of factors) for each method:
summary(results)
| Method | n_optimal |
|---|---|
| Optimal Coordinates | 1 |
| Acceleration Factor | 1 |
| Parallel Analysis | 1 |
| Eigenvalues (Kaiser Criterion) | 2 |
| Velicer MAP | 1 |
| BIC | 2 |
| Sample Size Adjusted BIC | 3 |
| VSS Complexity 1 | 1 |
| VSS Complexity 2 | 2 |
Tweaking
We can also provide a correlation matrix, as well as changing the rotation and the factoring method.
df <- psycho::affective
cor_mat <- psycho::correlation(df)
cor_mat <- cor_mat$values$r
results <- cor_mat %>%
psycho::n_factors(rotate = "oblimin", fm = "mle", n=nrow(df))
print(results)
## The choice of 2 factors is supported by 5 (out of 9; 55.56%) methods (Parallel Analysis, Eigenvalues (Kaiser Criterion), BIC, Sample Size Adjusted BIC, VSS Complexity 2).
plot(results)
Credits
This package helped you? Don’t forget to cite the various packages you used :)
You can cite psycho
as follows:
- Makowski, (2018). The psycho Package: an Efficient and Publishing-Oriented Workflow for Psychological Science. Journal of Open Source Software, 3(22), 470. https://doi.org/10.21105/joss.00470
Previous blogposts
- Copy/paste t-tests Directly to Manuscripts
- APA Formatted Bayesian Correlation
- Fancy Plot (with Posterior Samples) for Bayesian Regressions
- How Many Factors to Retain in Factor Analysis
- Beautiful and Powerful Correlation Tables
- Format and Interpret Linear Mixed Models
- How to do Repeated Measures ANOVAs
- Standardize (Z-score) a dataframe
- Compute Signal Detection Theory Indices


News story
Ofqual has published a consultation proposing a new framework describing all of the qualifications we regulate.
Today (25 March) Ofqual has published a consultation proposing a new framework describing all regulated qualifications in England and vocational qualifications in Northern Ireland.
This consultation follows our decision announced last year to withdraw the rules governing the Qualifications and Credit Framework (QCF), which, the evidence showed, often inhibited good qualification design.
We are proposing that in the future all regulated qualifications should be described by a new ‘Framework of Regulated Qualifications’. Under the proposed new approach, qualifications would no longer have to be unitised or credit-bearing, but could be if that was the best way for the qualification to meet its purpose.
Each qualification would be allocated a level to help students, colleges, employers and others to understand its level of demand. Qualifications would also be allocated a size, providing clear information about the typical time it should take to complete the qualification.
Jeremy Benson, Ofqual’s Executive Director for Vocational Qualifications, said: “We look forward to hearing views on our consultation.
The new descriptive framework we’re proposing should make qualifications easier to understand. It’s not like the QCF, which sought to impose a particular view of what qualifications should look like. Our proposals aim to provide more freedom for awarding organisations to develop qualifications that better meet the needs of employers, universities and others.
Removing the QCF rules and introducing a new framework does not mean an end to all QCF qualifications - they can stay so long as they are sufficiently valid. What will matter in future will be whether qualifications can be shown to be good, not whether they are designed to tick particular boxes.
We know frameworks can be used to support a range of other purposes too, and we would also welcome the views from others who might look to use the Framework of Regulated Qualifications.
NOTES


Case Study: Community Transit
Usability is everyting in a website or web app. As web users we often come across sites or apps which for whatever reason do not work. This week I had a run-in with the Community Transit website and wanted to share my user notes.
A little background:
Community Transit operates public transportation within Snohomish County (North of King County). With the influx of people moving to the Greater Seattle Area, the roadways of Snohomish County are often clogged with commuters rushing to the metropolitan areas (Bellevue, Redmond, Seattle, Lynnwood) in the morning and fleeing back home in the evening.
The influx of vehicles has put a great deal of stress on the infrastructure. As of right, there are only two freeways (I-5 and I-40) and a handful of local highways (hwy 9, 2, 99...etc.) to handle the load.In order to combat this traffic, Community Transit has started service of what they call the "Swift Line". These are rapid commuter buses that connect to major transit hubs throughout King and Snohomish County (think Lightrail, but without the hardware) with the goal to make the bus easy and quick enough to take that residents will start to see the bus system as a viable commute option.
The Website
For those of you following along at home, I'm looking at the Community Transit website.
The purpose of this Website is to provide residents and visitors of Snohomish County, Washington information regarding county-wide public transportation.
The Criteria
I have separated my evaluation into 4 areas of Opportunity:
- Design - How easy is the website to read? Are there any color contrast issues or font sizing issues that make it difficult to use the site?
- Content- Is the information provided concise and easily digestible?
- Function -Am I able to easily perform the functions that I want to?
- Creativity - Does this website have "sticking power" am I dawn back to this site because of the content, the images, the design?
Design
The Community Transit website is very clean on first view. What I would expect to be the most pertinent content (Locating bus, Planning a Trip, Route Schedules, and Rider Alerts) are housed in a Blue, Red, Green, and Orange box respectively on the left-hand side of the page.
On the right, additional primary information (Swift, Bus Service, Fares, Vanpool, Jobs, and About) is listed horizontally each with its own drop-down menu. There is an image carousel with hyperlinked images to take you to parts of the page pertaining to the image currently displayed. Below the image there is a spot for recent news, hyperlinked to the news story. The content floats over a clean white background.
The website does well to avoid visibility difficulty. Most of the text is either black/blue text on top of a white background or, if the background is dark, there is bold white text. The one spot that breaks this rule is the orange box for "Rider Alerts" currently the alerts are black or grey on top of orange which is not the easiest thing to read, but it is legible.
Content
The website packs in a lot of information. It's mostly provided in manageable chunks. But the paragraphs become giant walls of text which isn't drawing me into read more. It would be a simple fix to make the reading easier: Simply divide up the more monstrous paragraphs into more manageable content chunks for parsing.
Additionally, the bus schedules themselves do pretty well, there is a bus stop and a time, can't go wrong with that.
My major complaint with the schedules was that
they were harder to find than I anticipated, this is more of a function issue but the schedules/route maps were buried in the site.
Function
This is where this site gets messy, I chose this site to review because last week I spent quite a bit of time on the website trying to see if there was a way for me to make it to and from work via bus. Public transportation in Snohomish County is sparse at best so I wanted to encourage these updates with ridership.
Here's how my introduction to the Community Transit Site went, I was a new user using the website for the first time:
- Arrived at the site, looking for buses in my area. Top left, "Bus Finder". Sounds perfect...It wants a stop number, not my address.
Ok, that won't work; I don't know any stops close to me. - Below the Bus Finder is the Trip Planner, that sounds promising.
Enter in my address to start, ok it auto filled and that's right. Now the end location.
It can't find the address...and the search tool will not include city or zip.
Hmmm, I wonder if I can Google a transit hub close to work to use instead? - This was when I realized that I was using Google to find information specific to what I was looking for on the website. I, as the user had left the
page to find the information I needed.
In the world of websites, this is not good.
There was so much information on the site, but the information I really needed was very hard to find.
Creativity
I am not drawn to this website at all. I am not happy to come back and check updates about public transit in Snohomish County. As a user, I was very frustrated as the user when I tried to use the site.
I can understand why so many people out here are unwilling to use the bus, they do not understand where the bus runs, how often it runs, or even where it goes.
As more and more people move the region and traffic piles up (even more) public transportation is a cheap way to keep cars off the road and keep traffic corridors open to commuters.
The simplistic nature of the Community Transit website hides user issue after user issue. The website seems to be built more to house information and news regarding Community Transit updates and projects rather than using the site to actually locate a bus or plan a trip.
Modest Proposal
For me as the user, the most important thing was finding transit in my area. I was shocked that there wasn't a tool for me to enter my address and search for stops in my immediate vicinity.
The Bus Finder Tool implies that I should be exploring the area on foot and writing down the numbers of bus stops that I see in order to research their service routes later. It's not the most effective system.
The Trip Planner was not effective either, the search function does not allow for city or zip to be entered so if the tool does not have the address right the first time there is no way to enter in an address yourself. In the end, Google was able to find me a route, and I was able to see all of the bus stops in my area by reverse-engineering Google's suggestions.
After I knew what I was looking for, I went back to Community Transit to look at the route maps and schedules. Routes are grouped mainly by service locations (makes sense) but each route is kept separate from the others on separate pages.
From research, I knew that some of the busses overlapped on their route; I was surprised that I was unable to find a system map (or even a local system map) to see where the busses overlapped so that I could research alternative routes.
My biggest critique would be to allow a way for the user to locate the stops in their area easily. The user should not have to go to Google first and then come back armed with information.
Building on the search function, it would be amazing if the search brought up a local-route system page with a local comprehensive map of all routes within walking distance of the user's address. Bonus points if the local system map included annotations at stops serviced by connector busses. Essentially, get the user (bus rider in this case) from home to a bus to work with the shortest time possible.


{include file="common/top" /}
{$content}
{include file="common/daojishi" /}
{include file="common/footer" /}


--- title: Dependency-Check Comparison sitemap: true ---
Identifying risk in supply chains containing third-party and open source components involves identifying known vulnerabilities, component age and "freshness", license terms, project health, chain of custody, and a host of other factors. Component analysis is applicable to software being developed, purchased, or as a result of being embedded in a device (or the device itself). If a vulnerability is possible for a given component (software or hardware) it can and should be analyzed.
One of the most common questions that arise from people familiar with either Dependency-Check or Dependency-Track is the distinction between the two. What's the relationship between them and how they are different?
| Dependency-Track | Dependency-Check | |
|---|---|---|
| Software type | Platform |
Library with multiple implementations:
|
| Approach | Software Bill-of-Materials (SBOM) which can be automatically generated at build-time or obtained from vendors | Scans files on filesystem and extracts evidence with varying degrees of confidence |
| Vulnerability intelligence |
|
|
| Outdated version identification |
|
None |
| Ecosystems supported | Ecosystem agnostic (all ecosystems supported) | 10+ with varying degrees of maturity |
| Reporting | Dynamic intelligence and metrics delivered via REST API or web interface | Per-project statically generated HTML, XML, JSON, and CSV reports |
| License support | Resolves over 500 SPDX license IDs as well as supporting unresolved license names | Unresolved license names as evidence |
| Jenkins plugin | Yes (bidirectional) | Yes (unidirectional) |
| Sonarqube plugin | No | Yes |
| Vulnerability aggregation |
|
|
| Notification support |
|
None |
| Auditing | Per-project and global auditing workflow supporting analysis decisions, comments, and suppressions that are captured and tracked in a per-finding audit log | Suppression file with support for CPE, filename, and regex pattern matching |
| Private vulnerability repository | Yes | No |
| Perspectives |
|
|


Michael is a full stack web developer, and recent graduate from Flatiron School. Flix4Me demonstrates his ability to build a single page application (SPA) utilizing an AngularJS front-end and a Rails API back-end all wrapped together with a custom CSS.
Connect with Michael: on Twitter, LinkedIn, or Github, send him an email to work with him, and check out his blog on Medium!


I’ve been searching for great examples of PHP form entry validation,
and your work above is the easiest to follow for beginners and provides
exceptional, straightforward examples. You’ve been most helpful to me
and I thank you!
(and I can’t wait to check out the rest of your work too)
the codes are quite good but something is missing especially in names field.it is impossible for a name to numbers but this program allow this.
Thanks for your comment.
What I showed was only an example of how validation works.
It would not be difficult to add this functionality yourself. E.g.
I’ve been searching for great examples of PHP form entry validation, and your work above is the easiest to follow for beginners and provides exceptional, straightforward examples. You’ve been most helpful to me and I thank you!
(and I can’t wait to check out the rest of your work too)
hi there
how to move this php bit outsite of the html ?
Great explanation!Tnx a lot!
sir this validation not perfect becaus first name in space is alsop allow… so its not ok… space not allowed
Hi,
This would be easy to address in your validation code:
your work is Easiest way for beginners…thanx