Sprint 56 review - March 15, 2017
Greetings from FOSSASIA 2017 in Singapore! It’s exciting to see the growth of the open source movement in Asia and I hope to share more about ManageIQ with everyone I meet here. However, since I’m bustling about at this activity-filled event, I’ll have to make this post shorter than usual.
In Sprint 56 we merged 151 pull requests in the main repo, of which 64 are enhancements. The repo with the second highest number of PRs is manageiq-ui-classic with 138. When we look at the big picture across all ManageIQ repos, there’s a steady increase in the total number of PRs sprint-on-sprint. Previously we were getting these kinds of numbers for 3-week Sprints, and now in 2 weeks!
Now that you have the Sprint statistics, I’ll leave you with the Sprint video, slides, and LWIMIQ posts to appreciate the work that went in and the rewards reaped over the past 2 weeks. Enjoy!
- Deletions and Dragons - by Drew Uhlmann
- March-ing ahead with the embedded Ansible integration - by Laura Galis
Sprint 57 review will be on March 29, 2017 @ 7:30 PST/10:30 EST/14:30 GMT (note summer time in parts of the world), in the usual Bluejeans channel. So see you then!
Changelog
Added
- Automate
- Platform
- Add remote servers to rake evm:status_full (#14107)
- Ansible Tower
- Authentication: Ensure user name is set even when common LDAP attributes are missing. (#14142)
- Chargeback: Add tenant scoping for resources of performance reports in RBAC (#14095)
- RBAC: Add RBAC for rss feeds (#14041)
- Reporting: Add archived Container Groups (#13810)
- Providers
- Create a CustomAttribute for VmOrTemplate labels. (#14202)
- Add
has_many
association forphysical_servers
(#14086) - Ansible Tower
- Cloud Providers
- Middleware: Be able to use tls when connecting to Hawkular (#14054)
- Pluggable: Ems event groups - allow provider settings (deeper_merge edition) (#14177)
- Red Hat Virtualization Manager
- REST API
- Add Alert Definitions (MiqAlert) REST API support (#13967)
- Enhance service edit to accept attribute references (#14124)
- Delete service templates via POST (#14112)
- Delete services via POST (#14111)
- Delete templates via POST (#14110)
- Exposing regions as a primary collection /api/regions (#14109)
- Add authentications sub collection to ConfigurationScriptPayload (#14002)
- Improve error handling on destroy action (#14098)
- User Interface (Classic)
Changed
- Automate
- Switched to the latest version of
ansible_tower_client
gem (#14117)
- Switched to the latest version of
- Performance
- Platform
- Allow regex for MiqExpression::Field which contains numbers in associations (#14229)
- Move the call to reload ntp settings to the server only (#14208)
- Ansible Tower: Use http_port extra variables instead of nginx ones (#14204)
- Fix ordering by VMs in NetworkManagers list (#14092)
- Configure apache balancer with up to 10 members at startup (#14007)
- Providers
Fixed
- Automate
- Fix for Service Dialog not saving default value
for drop down or radio button [(#14240)](https://github.com/ManageIQ/manageiq/pull/14240) - Avoid calling $evm.backtrace over DRb to prevent DRb-level mutex locks (#14239)
- Fix for Service Dialog not saving default value
- Platform
- Providers
- User Interface
- Added missing second level menu keys for Storage menu (#14145)


Enumerations
The following enumerations are available globally.
-
This parameter is used to filter specific categories of content that should be searched/returned.
See moreDeclaration
Swift
public enum ContentType : String
-
Declaration
Swift
public enum EVDatabaseType : String
-
Sort direction. Default setting is
See moredw
if parameter is not providedDeclaration
Swift
public enum EVSortDirectionType : String
-
Indicates the application platform that should be authenticated; default: scienceDirect
See moreDeclaration
Swift
public enum PlatformType : String
-
Represents the version of the resource that should be received. Multiple attributes can
be submitted by separating with commas or semicolons.
See moreDeclaration
Swift
public enum ResourceVersionType : String
-
This alias represents the list of elements that will be returned in the response.
The following chart shows the Abstract Retrieval Views.
See moreDeclaration
Swift
public enum SCAbstractRetrievalViewType : String
-
This alias represents the list of elements that will be returned in the response.
The following chart shows the Scopus Search Views.
See moreDeclaration
Swift
public enum SCSearchViewType : String
-
Represents the sort field name and order.  If sort order is not specified (i.e. no + or -) then the order defaults to ascending (ASC).
Up to three fields can be specified, each delimited by a comma. The precedence is determined by their order (i.e. first is primary, second is secondary, and third is tertiary).
+/-{field name}[,+/-{field name}
ex. sort=coverDate,-title
See moreDeclaration
Swift
public enum SCSortType : String
-
This alias represents the list of elements that will be returned in the response.
The following chart shows the Full-Text Entitlement Views.
See moreDeclaration
Swift
public enum SDArticleEntitlementViewType : String
-
This alias represents the list of elements that will be returned in the response.
The following chart shows the Article Retrieval Views.
See moreDeclaration
Swift
public enum SDArticleViewType : String
-
How results should be sorted. Default: relevance.
See moreDeclaration
Swift
public enum SDSortType : String
-
Represents the subject area code associated with the content category desired. Note that these subject code mapping vary based upon the environment in which the request is executed.
The following resource shows all of the available subject classifications.
See moreDeclaration
Swift
public enum SubjectType : String
-
ElsevierKit errors
See moreDeclaration
Swift
public enum ElsevierKitError : Error


|
My Project
|
A class for uniquely labelling and comparing PcodeOps. More...
#include <address.hh>
Public Member Functions | |
| SeqNum (void) | |
| Create an invalid sequence number. | |
| SeqNum (Address::mach_extreme ex) | |
| Create an extremal sequence number. | |
| SeqNum (const Address &a, uintm b) | |
| Create a sequence number with a specific time field. | |
| SeqNum (const SeqNum &op2) | |
| Copy a sequence number. | |
| const Address & | getAddr (void) const |
| Get the address portion of a sequence number. | |
| uintm | getTime (void) const |
| Get the time field of a sequence number. | |
| uintm | getOrder (void) const |
| Get the order field of a sequence number. | |
| void | setOrder (uintm ord) |
| Set the order field of a sequence number. | |
| bool | operator== (const SeqNum &op2) const |
| Compare two sequence numbers for equality. | |
| bool | operator!= (const SeqNum &op2) const |
| Compare two sequence numbers for inequality. | |
| bool | operator< (const SeqNum &op2) const |
| Compare two sequence numbers with their natural order. | |
| void | saveXml (ostream &s) const |
| Save a SeqNum to a stream as an XML tag. | |
Static Public Member Functions | |
| static SeqNum | restoreXml (const Element *el, const AddrSpaceManager *manage) |
| Restore a SeqNum from parsed XML. | |
Friends | |
| ostream & | operator<< (ostream &s, const SeqNum &sq) |
| Write out a SeqNum to a stream. | |
A class for uniquely labelling and comparing PcodeOps.
Different PcodeOps generated by a single machine instruction can only be labelled with a single Address. But PcodeOps must be distinguishable and compared for execution order. A SeqNum extends the address for a PcodeOp to include:


Configuration files format¶
In rectorch, te configuration of the data set pre-processing, and the models’ training/test is performed via .json files.
Data configuration file¶
The data configuration file defines how the data set must be pre-processed. The pre-processing comprehends the reading, clean up, and the partition of the data set. The .json data configuration file must have the following key-value pairs:
data_path
: string representing the path to the data set .csv file;proc_path
: string representing the folder to save the pre-processed files,separator
: string delimiter used in the .csv file;seed
: integer random seed used for both the training/validation/test division as well as for shuffling the data;threshold
: float cut-off value for converting explicit feedback to implicit feedback;u_min
: integer minimum number of items for a user to be kept in the data set;i_min
: integer minimum number of users for an item to be kept in the data set;heldout
: integer heldout size (in number of users) for both the validation and test set;test_prop
: float in the range (0,1) which represents the proportion of items of the test users that are considered as test items (optional, default 0.2);topn
: binary integer value which states if the dataset should be pre-processed for performing top-N recommendation (=1) or rating prediction (optional, by default 0).
This is an example of a valid data configuration file:
{
"data_path": "datasets/ml-100k/u.data",
"proc_path": "datasets/ml-100k/preproc",
"seed": 98765,
"threshold": 3.5,
"separator": "\t",
"u_min": 3,
"i_min": 0,
"heldout": 100,
"test_prop": 0.2,
"topn": 1
}
The example above is a valid configuration for the Movielens 100k dataset where ratings less than 3.5 stars are discarded as well as users with less than 4 ratings. The heldout set has size 100 users (100 for validation set and 100 for the test set). The portion of ratings kept in the testinng part of each users is 20%. Top-N is the task so the remaining positive ratings are set equal to 1.
Model configuration file¶
The model configuration file defines the model and training hyper-parameters. The .json model configuration file must have the following key-value pairs:
model
: dictionary (str
:dict
) with the values of model hyper-parameters. The name of the hyper-parameter must match the signature of the model as inmodels
;train
: dictionary (str
:dict
) with the training parameters such as, number of epochs or the validation metrics. The name of the parameters must match the signature of the model’s training method (seemodels
);test
: dictionary (str
:dict
) with the test parameters. Up to now “metrics” is the only parameters to which a list of strings has to be associated. Metric names must follow the convention as defined inmetrics
;sampler
: dictionary (str
:dict
) with sampler parameters. The name of the parameters must match the signature of the sampler (seesampler
);
{
"model": {
"beta" : 0.2,
"anneal_steps" : 100000,
"learning_rate": 0.001
},
"train": {
"num_epochs": 200,
"verbose": 1,
"best_path": "chkpt_best.pth",
"valid_metric": "ndcg@100"
},
"test":{
"metrics": ["ndcg@100", "ndcg@10", "recall@20", "recall@50"]
},
"sampler": {
"batch_size": 250
}
}


As detailed in Atlas Authorization Model, Apache Atlas supports a pluggable authorization model. Simple authorizer is the default authorizer implementation included in Apache Atlas. Simple authorizer uses policies defined in a JSON file. This document provides details of steps to configure Apache Atlas to use the simple authorizer and details of the JSON file format containing authorization policies.
To configure Apache Atlas to use simple authorizer, include the following properties in application.properties config file:
atlas.authorizer.impl=simple atlas.authorizer.simple.authz.policy.file=/etc/atlas/conf/atlas-simple-authz-policy.json
Please note that if the policy file location specified is not an absolute path, the file will be looked up in following paths:
Simple authorizer uses roles to group permissions, which can then be assigned to users and user-groups. Following examples would help to understand the details of the policy file format:
Following policy file defines 3 roles:
Simple authorizer supports Java reg-ex to specify values for privilege/entity-type/entity-id/classification/typeName/typeCategory.
{ "roles": { "ROLE_ADMIN": { "adminPermissions": [ { "privileges": [ ".*" ] } ], "entityPermissions": [ { "privileges": [ ".*" ], "entityTypes": [ ".*" ], "entityIds": [ ".*" ], "classifications": [ ".*" ] } ], "typePermissions": [ { "privileges": [ ".*" ], "typeCategories": [ ".*" ], "typeNames": [ ".*" ] } ] }, "PROD_READ_ONLY" : { "entityPermissions": [ { "privileges": [ "entity-read", "entity-read-classification" ], "entityTypes": [ ".*" ], "entityIds": [ ".*@prod" ], "classifications": [ ".*" ] } } "TEST_ALL_ACCESS" : { "entityPermissions": [ { "privileges": [ ".*" ], "entityTypes": [ ".*" ], "entityIds": [ ".*@test" ], "classifications": [ ".*" ] } } }, "userRoles": { ... }, "groupRoles": { ... } }
Roles defined above can be assigned (granted) to users as shown below:
{ "roles": { ... }, "userRoles": { "admin": [ "ROLE_ADMIN" ], "steward": [ "DATA_STEWARD" ], "user1": [ "PROD_READ_ONLY" ], "user2": [ "TEST_ALL_ACCESS" ], "user3": [ "PROD_READ_ONLY", "TEST_ALL_ACCESS" ], }, "groupRoles": { ... } }
Roles can be assigned (granted) to user-groups as shown below. An user can belong to multiple groups; roles assigned to all groups the user belongs to will be used to authorize the access.
{ "roles": { ... }, "userRoles": { ... }, "groupRoles": { "admins": [ "ROLE_ADMIN" ], "dataStewards": [ "DATA_STEWARD" ], "testUsers": [ "TEST_ALL_ACCESS" ], "prodReadUsers": [ "PROD_READ_ONLY" ] } }


Pirate (ARRR) is a cryptocurrency that solves the issue of financial privacy on the blockchain through forced anonymous transactions. Protect your wallet and transactions with Pirate’s completely anonymous network. With forced private transactions, your privacy cannot be compromised by another users’ activity on the network. If you wish to learn more, please join the official Pirate Discord at https://pirate.black/discord/ or message FishyGuts#5085, who will be happy to help out.
100 messages
Before 05-Dec-19 12:00 AM
FishyGuts14-Oct-18 01:46 PM
Currently I have apps out at 3 exchanges... one of which has taken 1/2 payment and they say they can do this. It would be about 2 weeks from today.
3
ComputerGenie 👴👴👴14-Oct-18 01:46 PM
We can pretty much guarantee that these people are downloading for pirate.
That is just in and of itself
one of which has taken 1/2 payment and they say they can do this. It would be about 2 weeks from today.
In 2 words:
Feken awesome!
FishyGuts14-Oct-18 01:47 PM
I can appreciate the excitement and motivation people have. I am here to support and discuss any ideas you may have no matter how big or small.
Keep in mind the chain isn’t even 2 months old yet. You all have done a fantastic job to date. Let’s keep up the positive mentality and keep bringing new people in.
Yes @ComputerGenie 👴👴👴 an exchange will be fantastic. As mentioned I only need one more to get on CMC and to be honest, we may have a connection to get on sooner.
1
ComputerGenie 👴👴👴14-Oct-18 01:48 PM
payment return if they can't make it happen?
FishyGuts14-Oct-18 01:48 PM
Yes
ComputerGenie 👴👴👴14-Oct-18 01:48 PM
sweet
FishyGuts14-Oct-18 01:48 PM
In theory. Haha
As you mentioned @ComputerGenie 👴👴👴 the AML issue is internal. Zaddr don’t affect their tracking of buy and sell books.
We’ve got a good community and a strong foundation being built. CryptoBridge seemed interested except that they don’t have ZEC support but said they would contact when it was added.
Other influencers and people I speak with are impressed which what’s been done by James and the team so far.
Vosk video coming next week. I’ll be doing a CryptoRich interview.
Then we Attack the info campaign-dissecting all other privacy coins and showing why we are superior.(edited)
I see a lot of eagerness and desire to be bigger and better.
We will be. It takes time.
“The pacific wasn’t sailed in a day.”
1
Working on a voyage map (road map) as well as a destination ledger (things we’ve accomplished).
A white paper would be pretty simple yes? I will find time for that this week unless someone is confident and has the skill to do that. I would greatly appreciate it.
To me.... our biggest hurdle... with a privacy coin used for payments.... is to get the avenue of use laid out. This means the shop plugin currently under development.... Once we have exchange and price support, the our doors open up for this. We can also start pushing our coin to more info sites as well with this like CMC coingecko livecoinwatch ... then in the future mobile wallet will enable further P2P spending.
1
It is tough to sustain a continually increasing price on a new coin who’s functionality is complete but the avenue of remittance is not. The onboarding of new pirates and James fantastic referral plan will alleviate much of the lull until we get the above completed.
I really appreciate everyone’s desire to participate and throw ideas out.
Do not hesitate to DM me to discuss them. My gangplank is always down.
ComputerGenie 👴👴👴14-Oct-18 01:59 PM
It is tough to sustain a continually increasing price on a new coin who’s functionality is complete but the avenue of remittance is not.
That's quite true, and a good part of why I asked about pricing earlier (to gauge just how far of a divide there is between where I think it should be and where others do)
FishyGuts14-Oct-18 02:24 PM
One more thing about articles and editorials.... @Seko has been great and is taking charge of the medium layouts, submissions and reviews. Send him a DM with your medium handle if yo want to be added as an Author.
We spiff KMD or ARRR for well written original content.
We also need a Chinese or Mandarin translation. (1/7 of the world population speaks mandarin)
Thank you Seko
!kmdtip @Seko 7.77
1
KMD TipBotBOT14-Oct-18 02:25 PM
TipBot
@FishyGuts (FishyGuts#5085)
You tipped @Seko7.77 KMD
Seko14-Oct-18 02:27 PM
!kmdtip balance
KMD TipBotBOT14-Oct-18 02:27 PM
TipBot
Please use #tip-bot to talk to TipBot.
Seko14-Oct-18 02:35 PM
We need a writer, translator and mod from Russia, too.(edited)
dukeleto14-Oct-18 02:41 PM
@FishyGuts i have a bit of hard-learned advice about Then we Attack the info campaign-dissecting all other privacy coins and showing why we are superior.
@FishyGuts best to show off how awesome pirate is, without shit-talking other specific coins, which just causes all kinds of bad juju
ComputerGenie 👴👴👴14-Oct-18 02:43 PM
@dukeleto He's done a really good job at staying factual and not anything that, imo, could be viewed as "shit-talking"
dukeleto14-Oct-18 02:44 PM
@FishyGuts I am guilty of shit talking about other coins, and it caused a lot of unnecessary drama that benefited nobody but the trolls. I learned my lesson. Best to describe as precisely as you can, why your tech is better, leave the shit talking for other places
@ComputerGenie 👴👴👴 agreed, it was only a bit of future advice
1
i have seen nothing but awesome marketing about ARRR so far
also, it's easy to get pulled into the muck and mire with shitcoin zealots
metrics about how many more shielded xtns ARRR has, than any other ZEC-related chain, is golden
it's been something I wanted to build for a while now. It's not easy to, at a glance, look at which ZEC-fork chains have more shielded xtns that others, this week or last month or any time period
real hard data, that would make ARRR look like a golden child
i don't know what the pirate equivalent of a golden child is
ComputerGenie 👴👴👴14-Oct-18 02:49 PM
gilded wenchlette?

@CowboyCrypto @YORK780 @devilscompiler recently said that getting privacy development in crypto right is akin to practicing medicine.
Do it wrong and people get hurt.
$ZEC for privacy is like puttin some ‘tussin on it.
$ARRR is like John Hopkins Medical Center.
Since these are new waters, I do appreciate every piece of advice @dukeleto as well as any criticism and praise @ComputerGenie 👴👴👴
Everyone here has been killer and I have the utmost respect when you guys want to discuss ways to do it better.
Im new to the crypto scene compared to most of you so I’ll try to never pretend like I know better. I’m always learning.
ComputerGenie 👴👴👴14-Oct-18 02:52 PM
Given that you're moving ftl, I can't see too much that could be "better"
Just do you the way you've been you and I think it will come up roses
FishyGuts14-Oct-18 02:53 PM
I love the hard data approach. We just layout why our pieces to the puzzle are better.
I picture an infographic displaying privacy as a puzzle.
Pirate is a 4 piece puzzle... and other coins are puzzles with pieces missing.
Just one example.
Maybe a privacy treasure map... I dunno.
dukeleto14-Oct-18 02:55 PM
@FishyGuts yup, some hard data and shiny graphics go a long way
Zchain: Zcash Block Explorer, Analytics Platform & API. Browse and search blocks, transactions, accounts, statistics and more.
dukeleto14-Oct-18 03:06 PM
there it is!!!
FishyGuts14-Oct-18 03:06 PM
That little red bit is their "ocean" of privacy.
dukeleto14-Oct-18 03:06 PM
at first, we can just compare ZEC, KMD and ARRR
FishyGuts14-Oct-18 03:06 PM
Our would encompass the whole circlt with a little island at the top.
dukeleto14-Oct-18 03:06 PM
and add other coins in later
FishyGuts14-Oct-18 03:06 PM
WIth a single palm tree and a treasure chest on it
I'll do something fun with it.
passcombo.com 🏴☠🏴14-Oct-18 03:08 PM
@FishyGuts I think you are doing a decent job, just I believe there could be few guys who could take care of some threads on different forums. I could take care of one, but good if this is not random chaos, but synced action.
FishyGuts14-Oct-18 03:08 PM
I concur 1,000%
Thank you. I am trying hard and spending lots of time on this,.'
passcombo.com 🏴☠🏴14-Oct-18 03:08 PM
I agree with @dukeleto might be better to just persistently invite other coins funs, jut to try ours, "just to check"
FishyGuts14-Oct-18 03:08 PM
If you have any other people who would be good ambassadors... lets start a chat channel.
passcombo.com 🏴☠🏴14-Oct-18 03:08 PM
and not cricicize
FishyGuts14-Oct-18 03:09 PM
The translators and I are all in one channel we use to comm.


labeled
by None at 2020-11-09 20:25:09.assigned
by None at 2020-11-09 20:25:09.labeled
by None at 2020-11-09 20:26:26.assigned
by None at 2020-11-09 20:26:26.Given that the catalog is the canonical metadata source, the recommendation for this case is to use the bib id as figgy's sourcemetadataidentifier, and put the viewer link into the finding aid's dao when the object is ready in figgy.
closed
by None at 2020-11-09 16:09:12.referenced
by Trey Pendragon at 2020-11-09 17:41:05.merged
by Trey Pendragon at 2020-11-09 17:41:05.closed
by Trey Pendragon at 2020-11-09 17:41:05.head_ref_deleted
by Trey Pendragon at 2020-11-09 17:41:06.labeled
by None at 2020-11-09 17:41:41.labeled
by None at 2020-11-09 17:41:41.assigned
by Cliff Wulfman at 2020-11-09 17:42:43.labeled
by Trey Pendragon at 2020-11-09 17:58:31.@kelea99 Can we close this issue?
yup. closed @tpendragon
mentioned
by Kim Leaman at 2020-11-09 17:59:06.subscribed
by Kim Leaman at 2020-11-09 17:59:06.closed
by Kim Leaman at 2020-11-09 18:00:26.mentioned
by Trey Pendragon at 2020-11-09 18:00:26.subscribed
by Trey Pendragon at 2020-11-09 18:00:26.review_requested
by Cliff Wulfman at 2020-11-09 17:12:40.referenced
by Trey Pendragon at 2020-11-09 17:57:18.closed
by None at 2020-11-09 19:09:52.referenced
by None at 2020-11-09 19:09:52.merged
by None at 2020-11-09 19:09:52.closed
by None at 2020-11-09 19:09:53.head_ref_deleted
by None at 2020-11-09 19:09:54.closed
by None at 2020-11-09 20:05:39.head_ref_force_pushed
by Trey Pendragon at 2020-11-09 19:20:37.referenced
by None at 2020-11-09 20:05:39.merged
by None at 2020-11-09 20:05:39.closed
by None at 2020-11-09 20:05:39.head_ref_deleted
by None at 2020-11-09 20:05:40.review_requested
by Cliff Wulfman at 2020-11-09 19:58:07.review_requested
by Cliff Wulfman at 2020-11-09 19:58:27.referenced
by Esmé Cowles at 2020-11-09 22:48:26.merged
by Esmé Cowles at 2020-11-09 22:48:26.closed
by Esmé Cowles at 2020-11-09 22:48:27.head_ref_deleted
by Esmé Cowles at 2020-11-09 22:48:28.(assuming you were provided with the bib_id) Using the bibdata UI, reindex the record so that they can find it in the online catalog. Update the user that the record is in the online catalog and can find it by doing a keyword search. Depending on the day of the week check the schedule for the call number and let the user know when they will be able to find it using the call number browse.
Find when the bib_id was last updated in voyager? If the user has not provided you with the bibid and you have access to DBeaver or a different oracle client, use a query to get the bibid:
SELECT bib_mfhd.bib_id
FROM mfhd_master
JOIN bib_mfhd
ON mfhd_master.mfhd_id = bib_mfhd.mfhd_id
WHERE mfhd_master.display_call_no = 'DVD 11432';
.
If you don't have access to an oracle client to query voyager, ask @mzelesky .
Use the bibid to get the updateddate for this record in voyager. SELECT * FROM BIB_MASTER WHERE BIB_ID='12140426';
this record was updated in voyager : 2020-10-20 17:05:04
Use the bib_id to reindex the record (step 1).
Check the https://bibdata.princeton.edu/events.json page and based on the record's updated timestamp find which dump type: 'Changed Records' was included it. This bibid was included in https://bibdata.princeton.edu/dumps/22307.json with a timestamp"start":"2020-10-21T02:37:28.066Z"
. The reason it didn't get indexed is probably because of the unordered events page issue which was resolved on Oct 27th, 2020. https://github.com/pulibrary/marcliberation/pull/876.
assigned
by Christina Chortaria at 2020-11-09 19:08:58.mentioned
by None at 2020-11-09 19:33:15.subscribed
by None at 2020-11-09 19:33:15.closed
by Christina Chortaria at 2020-11-09 19:33:43.added_to_project
by Christina Chortaria at 2020-11-09 16:12:58.catalog-qa uses the figgy-staging rabbitmq catalog-alma-qa uses the figgy-staging rabbitmq catalog-staging uses the figgy-staging rabbitmq catalog (production) uses the figgy (production) rabbitmq. With the workaround in the previous comment plus how the boxes are set in ansible there is no danger messages from figgy production to be pushed to a catalog box other than the production one.
However we should create a new queue for catalog-alma-qa. https://github.com/pulibrary/orangelight/issues/2319 queue name: catalogalmaqa, catalogalmaqa-error, catalogalmaqa-retry. The consumers in the queue would be lib-orange-alma-qa1 and lib-orange-alma-qa2.
added_to_project
by Christina Chortaria at 2020-11-09 16:12:38.closed
by None at 2020-11-09 16:03:07.close in favor of #853
closed
by None at 2020-11-09 16:07:00.moved_columns_in_project
by None at 2020-11-09 16:07:00.Did someone ask to show volume metadata? I have a fuzzy memory of purposefully only showing the parent
@tpendragon I don't really understand your question -- I think we are on the same page. I updated the title to hopefully clarify.
Oh, sorry, I read the ticket content wrong.
renamed
by None at 2020-11-09 17:20:51.mentioned
by Trey Pendragon at 2020-11-09 17:21:31.subscribed
by Trey Pendragon at 2020-11-09 17:21:31.reopened
by None at 2020-11-09 15:59:43.renamed
by None at 2020-11-09 16:00:26.renamed
by None at 2020-11-09 16:00:40.mentioned
by Trey Pendragon at 2020-11-09 19:56:47.subscribed
by Trey Pendragon at 2020-11-09 19:56:47.renamed
by None at 2020-11-09 19:58:42.closed
by Kevin Reiss at 2020-11-09 17:18:03.referenced
by Kevin Reiss at 2020-11-09 17:18:03.merged
by Kevin Reiss at 2020-11-09 17:18:03.closed
by Kevin Reiss at 2020-11-09 17:18:03.head_ref_deleted
by Kevin Reiss at 2020-11-09 17:18:04.renamed
by Kate Lynch at 2020-11-09 18:39:32.closed
by Eliot Jordan at 2020-11-09 20:47:47.@hackartisan Ahh, yeah, that's a good point out. I think it's a little different here because we do want the "mss" code unless it's ReCAP. I dunno how best to resolve those two things, any suggestions?
@tpendragon sorry yeah I don't have a good sense of exactly what's going on in either place. maybe something worth writing an issue for? Should we try to put both in yaml files and call them 2 different things so at least the configuration is symmetrical?
mentioned
by None at 2020-11-09 18:51:42.subscribed
by None at 2020-11-09 18:51:42.referenced
by Eliot Jordan at 2020-11-09 20:47:47.merged
by Eliot Jordan at 2020-11-09 20:47:47.closed
by Eliot Jordan at 2020-11-09 20:47:47.head_ref_deleted
by Eliot Jordan at 2020-11-09 20:47:48.mentioned
by Trey Pendragon at 2020-11-09 21:06:17.subscribed
by Trey Pendragon at 2020-11-09 21:06:17.This is very cool, great work!
head_ref_force_pushed
by Eliot Jordan at 2020-11-09 20:28:40.ready_for_review
by Eliot Jordan at 2020-11-09 20:30:09.referenced
by Trey Pendragon at 2020-11-09 21:22:36.merged
by Trey Pendragon at 2020-11-09 21:22:36.closed
by Trey Pendragon at 2020-11-09 21:22:36.head_ref_deleted
by Trey Pendragon at 2020-11-09 21:22:37.renamed
by Trey Pendragon at 2020-11-09 21:37:11.closed
by Eliot Jordan at 2020-11-09 21:43:00.review_requested
by Eliot Jordan at 2020-11-09 21:38:40.referenced
by Eliot Jordan at 2020-11-09 21:43:00.merged
by Eliot Jordan at 2020-11-09 21:43:00.closed
by Eliot Jordan at 2020-11-09 21:43:00.head_ref_deleted
by Eliot Jordan at 2020-11-09 21:43:01.referenced
by Trey Pendragon at 2020-11-09 19:37:48.referenced
by Trey Pendragon at 2020-11-09 21:53:36.closed
by Christina Chortaria at 2020-11-09 22:04:51.@tpendragon you need to rebase
@christinach Thanks for the ping. Done.
mentioned
by Trey Pendragon at 2020-11-09 21:45:22.subscribed
by Trey Pendragon at 2020-11-09 21:45:22.head_ref_force_pushed
by Trey Pendragon at 2020-11-09 21:53:36.mentioned
by Christina Chortaria at 2020-11-09 21:53:44.subscribed
by Christina Chortaria at 2020-11-09 21:53:44.referenced
by Christina Chortaria at 2020-11-09 22:04:51.merged
by Christina Chortaria at 2020-11-09 22:04:51.closed
by Christina Chortaria at 2020-11-09 22:04:51.head_ref_deleted
by Christina Chortaria at 2020-11-09 22:04:52.closed
by Christina Chortaria at 2020-11-09 22:25:31.referenced
by Christina Chortaria at 2020-11-09 22:25:30.merged
by Christina Chortaria at 2020-11-09 22:25:30.closed
by Christina Chortaria at 2020-11-09 22:25:31.head_ref_deleted
by Christina Chortaria at 2020-11-09 22:25:32.referenced
by Christina Chortaria at 2020-11-09 22:26:55.merged
by Christina Chortaria at 2020-11-09 22:26:55.closed
by Christina Chortaria at 2020-11-09 22:26:56.head_ref_deleted
by Christina Chortaria at 2020-11-09 22:26:56.@eliotjordan there seems to be an accessibility violation. https://app.circleci.com/pipelines/github/pulibrary/pulfalight/916/workflows/8bb1221f-fee1-4191-9486-3ee8e7739c0b/jobs/2391/parallel-runs/0/steps/0-110
head_ref_force_pushed
by Eliot Jordan at 2020-11-09 21:55:35.deployed
by Trey Pendragon at 2020-11-09 21:57:16.mentioned
by Eliot Jordan at 2020-11-09 22:06:30.subscribed
by Eliot Jordan at 2020-11-09 22:06:30.referenced
by Christina Chortaria at 2020-11-09 22:42:48.merged
by Christina Chortaria at 2020-11-09 22:42:49.closed
by Christina Chortaria at 2020-11-09 22:42:49.head_ref_deleted
by Christina Chortaria at 2020-11-09 22:42:50.closed
by Eliot Jordan at 2020-11-09 22:46:16.Closed by #430
closed
by Eliot Jordan at 2020-11-09 22:48:38.closed
by Eliot Jordan at 2020-11-09 22:49:08.closed
by Eliot Jordan at 2020-11-09 22:52:10.assigned
by Eliot Jordan at 2020-11-09 22:52:56.I'm going to move this to blocked until we know exactly what to do here. We can add more information to the EAD if necessary, but some examples I looked at in asqa
don't seem to have the collection marked as restricted even if there's an access restriction note.
Closed as duplicate of #429
closed
by Trey Pendragon at 2020-11-09 23:12:51.Blocked similar to #285
assigned
by Trey Pendragon at 2020-11-09 23:26:14.head_ref_force_pushed
by Trey Pendragon at 2020-11-10 00:33:09.


Create new, random Keychains for use with BitGo. Keychains are BitGo's term for BIP32 compatible Hierarchical, Deterministic Wallets.
This tool runs entirely in your browser. The tool is monitoring all mouse movements to collect random entropy, and you can also contribute your own randomness into the text box below. No key data is exchanged with BitGo servers (or any servers) by using this tool. Do not use this tool on the same machine where you create your BitGo wallet.{{ xpub }}
{{ xprv }}
{{ address }}


A Friendly Neighbourhood Cat In The UK Keeps Bringing Pink Flowers to This Woman’s Garden
by Roxanne TaiTap to listen to this article instead: 🔊 Listen to Post
Any cat slave would know that if a cat brings you anything, whether it’s a dead cockroach or a lizard, it means the cat sees you as an important hooman and you should definitely appreciate it.
But this woman from the United Kingdom is one lucky person because a cat brings her PINK FLOWERS, instead of dead insects or animals. However, she didn’t know it was a cat doing it because she always thought it was the wind that blew the flowers to her doorstep.
Although this adorable incident occurred in 2018, it is currently making rounds on social media again. Rosie (the human) had been noticing these flowers since early Spring last year until one of her housemates told her that she saw Willow (the neighbourhood cat) with a pink flower in her mouth.
Rosie couldn’t hold her excitement to film Willow when she saw the cat coming over to her house as she was cooking.
“I was so excited that I went to film it because she’s so cute and I’d never seen a cat ever bring back anything but dead animals before.”
Here’s the sweet video of Willow (uploaded by Love Meow) being welcomed into Rosie’s garden:
According to Love Meow, Willow is loved by the neighbours and nobody could resist feeding and spoiling her. Rosie and her housemates would even save up cardboard boxes for Willow to chill in when she paid them a visit every day. They’d also offer Willow yummy treats and cat food when their friendly four-legged friend arrives at their doorstep.
Not only that, but Willow would also cuddle up onto their couch and blanket and claim them as her own. Look how fluffly and comfortable she is at the neighbour’s!
Our hearts are swooned by this cute ball of fluff, and we’re also jealous that this cat actually brings flowers as gifts! Let admin sigh in envy as she buries the dead mouse a stray cat left for her.
Also read: Cute Cat Steals the Limelight at M’sian Press Conference by Playing with Microphone Wires


Football: A disgrace, says South Africa great about weakened Olympics side
JOHANNESBURG: South Africa football legend Neil Tovey says a club-versus-country tug of war over the team that will compete in an Olympic Games qualifying tournament from this weekend is a "disgrace".
Egypt will host the Nov 8-22 competition for under-23 footballers in Cairo that also involves South Africa, Cameroon, Ghana, the Ivory Coast, Mali, Nigeria and Zambia.
The top three finishers qualify for the 2020 Tokyo Olympics Games, hoping to emulate gold medallists Nigeria (1996) and Cameroon (2000).
Each country is permitted a 21-man squad, but when the South Africans arrived in Cairo this week they had just 12 players.
A FIFA international window spans Nov 11 to 19 and top-flight clubs in the republic are refusing to release outside of those dates any players chosen for Egypt.
"It is a disgrace. It is downright diabolical that they cannot have the best players," said Tovey, who captained South Africa to the 1996 Africa Cup of Nations title.
The 57-year-old is the South African Football Association (Safa) technical director.
"This is a sad state of affairs - begging clubs for players. The squad was changed six or seven times in 10 days before the final announcement.
"It has been an absolute nightmare for weeks, trying to put it together. Clubs must stop being selfish in their approach."
South Africa is one of a few African countries where football is not controlled exclusively by the national association.
There is a separate body that governs top-level club football and flexes its muscles occasionally by clashing with Safa over issues that include player availability.
South Africa are in Group B with Nigeria, the Ivory Coast and Zambia and unless the clubs relent, will have a full squad only for the second match against the Ivorians.
HIGHLY-RATED ZAMBA
By then they could be in a win-or-bust situation as their first match this Saturday is against highly-rated Zambia, many of whose players won the 2017 African youth championship.
Consistent Zambian scorer Fashion Sakala plays for Oostende in Belgium and his teammates include Red Bull Salzburg pair Patson Daka and Enock Mwepu.
Nigeria must do without Samuel Chukwueze of Villarreal and Victor Osimhen of Lille, who have been called up by the senior side for Africa Cup of Nations qualifiers.
But former Arsenal midfielder Kelechi Nwakali, now with Spanish second-tier side Huesca, says "we will hold our own provided we combine our talents for the betterment of the team".
He lauded Turkey-based captain and midfielder Azubuike Okechukwu, saying his "courage and commitment are great examples to the rest of us".
Egypt have had trouble-free preparations under former senior national coach Shawky Gharib for Group A matches against Mali, Cameroon and Ghana, winning six warm-up games and drawing one.
After the senior side flopped as 2019 Cup of Nations hosts, suffering a shock last-16 loss to South Africa, there is huge pressure on the Olympics squad to atone by qualifying for Japan.
"This is the best Olympics squad Egypt has ever had," boasts Gharib. "All the players feature regularly in the domestic league and are experienced."
Cameroon have also been tug of war victims, but not to the same extent as South Africa. French Ligue 1 outfit Nice refused to release forward Ignatius Ganago.


About the only thing you can be sure of when you’re designing web pages with
basic HTML is that you have two fonts to work with:
a proportional font, and a
fixed-width font. The problem is that you don’t know specifically which ones or at
Abdiwali
Age : 22
About the only thing you can be sure of when you’re designing web pages with
basic HTML is that you have two fonts to work with:
a proportional font, and a
fixed-width font. The problem is that you don’t know specifically which ones or at
Aisha
Age : 22


We're sorry but <%%= VUE_APP_PROJECT_NAME %> doesn't work properly without JavaScript enabled. Please enable it to continue.


Christian Lentzkow
Education
Waterloo Career Center
The Waterloo Career Center is a building located at centeral middle school
for Highschoolers to take college courses for free. Its a good way to learn what
you're good at when you're at a young age.
I Attended Waterloo Career Center
I have completed Intro to Programming Logic (2019-2020)
Currently, I am taking Intro to Web Development at the Career Center.(2020)
High School
Attended West High School
Attended Waterloo Career Center
Completed Intro to Programming Logic
(College Class)
Middle School
Hoover Middle School
Elementry School
Orange Elementry School


protected interface ArtemisAddress
| hostAndPort |
abstract val hostAndPort: <ERROR CLASS> |
| queueName |
abstract val queueName: <ERROR CLASS> |
| NetworkMapAddress |
data class NetworkMapAddress : SingleMessageRecipient, ArtemisAddress |
| NodeAddress |
data class NodeAddress : SingleMessageRecipient, ArtemisAddress This is the class used to implement SingleMessageRecipient, for now. Note that in future this class may change or evolve and code that relies upon it being a simple host/port may not function correctly. For instance it may contain onion routing data. |


Elephant walking on wet road.
White horse on white sand.
White bird flying over the sea during daytime.
Two gray butterflies on yellow flowers.
Brown short coated dog on gray rock during daytime.
Brown deer lying on pink and white textile.
Cat's eyes.
Owl at the night sky.
Crow at the night castle.
Train rail in the middle of green grass field.
Green trees on brown rock formation on lake during daytime.
Gray asphalt road near green grass field and mountains during daytime.
Brown wooden house on lake near mountain under blue sky during day.
Silhouette of tree near body of water during beautiful sunset.
Brown and green mountains under blue sky during daytime.
Mountain ararat of Armenia.
Snow covered trees during daytime.
Green grass field under white clouds and blue sky during daytime.
White lighthouse on top of gray concrete dock during daytime.
Body of water near mountain during daytime.
Body of water under cloudy sky during daytime.
Brown concrete building during night time.
Brown spiral staircase with black round hole.


An intro to SaltStack
Software to automate [and document] the management and configuration of any infrastructure or application.
About Me
Nick Vissari
Security Guy & DevSecOps Enthusiast
Sysadmins have to configure systems
We spend hours upon hours reading the friendly manuals, watching youtube videos, reading quickstarts and tutorials.
A lot of what we owe our expertise to is the ability to google better than the next person.
So we end up with the responsibility to maintain and configure infrastructure.
Keeping track of things is hard
Which system is doing what.
What do we patch when.
Which stuff in on prem and what's in the cloud.
How do I join my linux systems to our windows domain again?
How do we keep track of all the things?
Documentation to the rescue!
Word docs
Text files
Uber 1337 h4x0r shell scripts
Talking to yourself on slack
Bookmarks to stack overflow answers
Here's a list of effective methods of documenting.
Shout out to my org mode folks?
I have used them all, you may have your preferred method.
But then we are still left with some problems.
Documentation can drift as the system evolves over time.
Where do we put all this documentation so it's accessible to the team?
How do we make the time to document what we are changing?
How do we keep track of changes to documentation and what that means to systems that are on the old way of doing things vs the new way?
Personally, I hate documentation for the sake of documentation.
You can't document well if you don't know your audience.
Ideally the audience of my documentation is future me, and I don't know what future me is going to forget.

So how can I keep all this documentation in a way that future me will thank past me and not think I'm an idiot.
Infrastructure as code!
& track it all with git
wikipedia.org/wiki/Infrastructure_as_code
We can write our infrastructure as code and store everything in git.
Using git we can keep track of what changed when and by creating descriptive comments for ourselves.
Just by looking at the source code we can and answer, the who, what, where, how, why behind every infrastructure change.
And we aren't documenting for the sake of documentation.
We are describing, in code, the actual system level changes that will modify our configuration.
Saltstack is a client server technology that, by default, runs as root/SYSTEM on the client.
you can use it to:
- run commands
- install software
- update software
- get information about systems
- store information about systems
- and declare all of this in code as "granular" as you like
Get used to the salt puns, there are more to come.
Notice the minions are calling into the master.
One of the minions is in the "cloud".
So what does a configuration change look like in saltstack.
SaltStack enables us to deploy configurations to servers and document the configuration.
What do we need, xyz installed.
How are we installing it, package manager or script.
We need to ensure it's installed or not, the "state" of the installation.
Where are we installing xyz.
- Maybe specific servers A and C but not B.
- Or all servers that have a specific attribute like an IP address of 10.200.something.
Then deploy our state.
- This is where you would leave a helpful git comment for future you.
- Git log will show us when, why, and who.

Install curl on all three and I'm going to install vim on the master since it's my editor of choice.
Install the salt using the bootstrap script.
Install salt minions
salt-talk/lab$ vagrant ssh minion1
$ sudo apt install curl
$ curl -L https://bootstrap.saltstack.com -o install_salt.sh
$ sudo sh install_salt.sh -P
There's some magic happening in the background, the hostname "salt" resolves to the master.
I do not need to specify the salt master but there is a parameter to do that if you want to name salt something else or run salt over the internet.
Accept the keys
The minions will accept the master's key by default. If you recreate the master without the a backup of the master's key, the clients won't talk to the master anymore and you'll have to redeploy.
Now on the master we have to accept the minion's keys, there is mutual authentication occurring here but this exchange is susceptible to MITM so this should be done on a trusted network.
And if you are running on the internet you don't want to just accept all clients. I plan on putting together some material on evil minions. We'll talk about that later.
Test connectivity
Run commands using cmd.run
Commands executed like this in saltstack happen in parallel.
All machines connected to the salt master will independently run the command and return in whatever order they finish.
Errors are fun
And you'll be warned about minions that error.
At this point we have an extremely powerful tool. One console with a constant root shell to everything connected to it.
You might be tempted to stop here and that would be perfectly understandable but let's see what else we can do.
Grains
Saltstack collects grains, bits of information about a host
You can get grains one at a time.
You can set grains and use them later. Grains are great for describing system roles or describing a system's makeup
Targeting minions
'server*' = server1 server2 server3 server-fred
'server?' = server1 server2 server3
'server[1,3]' = server1 server3
'server[1-3]' = server1 server2 server3
-L 'server1,server2'
-G 'role:worker' = whoever has the grain role=worker
-S '<IP_ADDRESS>/16' = whoever is in the subnet
Without any switches, the default targeting uses shell style globbing.
It's customary to surround the target with single quotes so the command doesn't conflict with your shell.
We can also use lists, grains, subnets and many other methods for targeting.
Compound matchers
-C 'G@role:worker and
G@os_family:debian and
not *fred'
You can combine as many as you like in a compound matcher with boolean logic that supports parenthesis.
A state is two things in one, first a check to ensure the system has whatever you want it to have, second is whatever is required to take the system from it's current state to the state you want it to be in.
S aL t S tate file
xyz.sls
xyz:
pkg.installed
or
xyz:
cmd.script:
- source: salt://xyz-installed.sh
Here we have two different state files that demonstrate the same thing.
The first one is using saltstack's builtin abstraction to the OSes package manager. On debian that's apt, if this was centos it would be yum.
The second state file is more appropriate to use if the thing you want installed is not in the package manager.
Since we are working on script and naming things it's a good idea at this point to start tracking changes.
This is were git comes in.
Keep track of what you do
cd /srv
git config --global user.name "John Doe"
git config --global user.email<EMAIL_ADDRESS>git init
This isn't a talk on how to use git. We are just going to use what we need and if we screw it up, that's ok.
We'll delete it all and just start over with a fresh copy.
By default salt states are stored in the salt file server at /srv/salt. Let's initialize /srv/ and keep track of our new states.
/srv/salt/screenfetch/installed.sls
screenfetch:
pkg.installed
For our first state file we'll do something simple. We'll use the OSes builtin package manager to deploy screenfetch.
Test it
...
Now we can test our state file be deploying it to one minion.
It works, commit it!
Ok we have a working state file, what do we do with it?
Now we can describe where this state gets deployed.
/srv/salt/top.sls
base:
'minion?':
- screenfetch.installed
The top.sls file is a special significance. You can think of it like main. All minions will look to the top.sls file when applying state. In salt world they call this the highstate.
I guess they ran out of puns. Or perhaps "seasoning" the systems was too much.
Now we deploy using state.apply to set however many minions we want to set their highstate.
...
Notice one of the minions failed hard. The reason there is that we called the state.apply and that minion doesn't have any states to apply.
You should always be able to call state.apply to get your systems in the appropriate state without fear of causing significant disruption.
/srv/salt/go/installed.sh
#!/bin/bash
# Download and extract go
if [ ! -f "/usr/local/go/bin/go" ]
then
cd /root
wget -q https://dl.google.com/go/go1.14.linux-amd64.tar.gz
tar -C /usr/local -xzf /root/go1.14.linux-amd64.tar.gz
rm /root/go1.14.linux-amd64.tar.gz
fi
# Add go bin path to global profile
if ! grep /usr/local/go/bin /etc/profile >/dev/null
then
echo export PATH=\$PATH:/usr/local/go/bin >> /etc/profile
fi
Here's another more complicated example. Installing the latest version of go. The version in package manager
differs from the latest version. Notice this script is separated into two parts. The first part downloads and
extracts go. The second adds the go bin path to the profile. If we were to run this script twice what would
happen the second time?
/srv/salt/go/installed.sls
go:
cmd.script:
- source: salt://go/installed.sh
Now we create a state file that will execute the script from the salt file server.
Here's what it looks like when we run this state a second time. Notice the state is "changed" but we know
nothing happened.
/srv/salt/top.sls
base:
'minion?':
- screenfetch.installed
'salt':
- go.installed
Now we update our top file to describe where go will be installed.
/srv/salt/netdata/installed.sh
#!/bin/bash
if [ ! -f "/usr/sbin/netdata" ]
then
bash <(curl -Ss https://my-netdata.io/kickstart.sh)
fi
Let's collect some telemetry using netdata. The kickstart script for netdata will complain about a bunch
missing packages and fail. So we have to include some dependencies.
/srv/salt/netdata/deps.sls
autoconf:
pkg.installed
autoconf-archive:
pkg.installed
autogen:
pkg.installed
automake:
pkg.installed
cmake:
pkg.installed
gcc:
pkg.installed
git:
pkg.installed
libjudy-dev:
pkg.installed
liblz4-dev:
pkg.installed
libmnl-dev:
pkg.installed
libssl-dev:
pkg.installed
libuv1-dev:
pkg.installed
make:
pkg.installed
pkg-config:
pkg.installed
uuid-dev:
pkg.installed
zlib1g-dev:
pkg.installed
We can make a file that defines all the dependencies and ensure it's applied before we attempt to install netdata.
/srv/salt/netdata/installed.sls
include:
- netdata.deps
netdata:
cmd.script:
- source: salt://netdata/installed.sh
Now we have a state file that includes another state file. These states are blocking and will execute in order.
/srv/salt/top.sls
base:
'minion?':
- screenfetch.installed
'salt':
- go.installed
'G@role:worker':
- netdata.installed
Finally we update the top.sls file to describe where netdata will be installed. Now when we run state.apply
nothing will happen since we are targeting systems with the grain role=worker.
/srv/pillar/top.sls
base:
'*':
- users
/srv/pillar/users.sls
users:
nick: 30001
tim: 30002
jen: 30003
Pillars are tree-like structures of data defined on the Salt Master and passed through to minions.
They allow confidential, targeted data to be securely sent only to the relevant minion.
Think of what happens if a minion went evil. If you had to distribute secrets, you wouldn't want all minions knowing all secrets. If you put your secrets in a state file, that's what you are doing. All minions have access to all data in the salt file server. Not so with pillar data.
Here's an example that shows distributing a list of users and their ids to all minions.
/srv/salt/users/init.sls
{% for user, uid in pillar.get('users', {}).items() %}
{{user}}:
user.present:
- uid: {{uid}}
{% endfor %}
becomes
nick:
user.present:
- uid: 30001
tim:
user.present:
- uid: 30002
jen:
user.present:
- uid: 30003
Now we can create a state file that leverages the pillar. This looks a lot different that others we've seen.
This is using a templating language called nijna. Between the curly braces is a little python and when this expands it makes more sense.
Summary
/srv/salt - what is deployed, how
/srv/salt/top.sls - where are states deployed
Git - who did what when
/srv/pillar - kinda secret store for data, great for complicated jinja stuff
/srv/pillar/top.sls - where the data goes
Should you keep pillar data in source control?
Why shouldn't you use grains to target minions with pillar data?
Extra bits
docs.saltstack.com
python, yaml, jinja are our friends
salt-ssh - clientless salt
salt mine - dynamic data from minions for minions
salt runners - convenient programs for the master
Salt mine useful for exchanging data between minions, wireguard public keys.
Salt runner could be used to interface with a drac or send messages to slack.
Thanks
Go forth and DevOps!
...and have fun!


The second line might look really complicated, but this is just the way your calculator was programmed to write numbers in scientific notation. The product of 315,246 and 134,512,361 is too big to fit all of it on the calculator screen in one line. So, the calculator programmers decided to represent that product using scientific notation. 4.240448376E13 means the same thing as \(4.240448376 * 10^{13}\text{.}\)
in-context


Bissell
Participants
Mail
Outstanding
Donations
Add Mail
Add Participant
Add Donation
Add Account
Stats
Account
Logout
First Name:
Last Name:
Phone Number:
Email:
Picture:
Notification Method:
None
E-mail
Phone
Both


Helping Pollinators
About Pollination
What is pollination?
Pollination is the process of transferring the male reproductive organ flower to female stigma. To help them, use different mixture of plants on your garden/yard that will attract a variety of pollinators.
Who are the pollinators?
A pollinator is an animal that transfer flower to flower reproductive organ. As they visit a flower they receive a nectar and pollen. The pollinating animals are bats, bees, beetles, birds, butterflies, moths, wasps and other unusual pollinators.
Why are pollinators important to us?
- These pollinators help pollinate over 75% of our flowering plants
- In United States, pollinated crops by honey bees produces more than $15 billion yearly.
- Foods and crops that are pollinated includes: almonds, apples, blueberries, chocolate, coffee, grapes, melons, peaches, pumpkins, vanilla, soybeans, strawberries.
- Pollinators support healthy ecosystems that clean the air, stabilize soils and it prevents erosion that holds the soil.
- Helping pollinators is essential to biodiversity as pollination is responsible for providing us a variety of foods.
Threats to pollinators and why we need to save them
Bees and other pollinators are slowly decreasing fo the reason that
Saving the bees
Why bees are dying? The main reasons of dying bees are pesticide use, parasite, habitat loss and climate change. Researchers estimate that one-third of honey bees in United States have been disappeared. Many bees died due to pesticide as it makes their immune system weak. However, reducing the use of pesticides or using a special pesticides for them might help the bees against varrea mites which is a known parasite that cause the loss of many bee colonies. Temperature change is also one of the major cause of habitat loss as bees failed to live in cold weather .
Why we need to save bees?Bees are one of the most important type of pollinators. They provide almost hundred of specific foods, they're most likely fruits and some vegetables. They also produce honey which is a sweet food substance that is ingredients to some foods that we eat.
"If the bees disappear, we’ll all be stung" This quote is from David suzuki who is known for criticizing governments for their inactivity to protect the environment. It basically means without bees, we would not be able to survive for long.
Saving the monarch butterflies
Why is Monarch butterflies in danger? The Monarch butterflies are now considered endangered species as it's population keeps decreasing. For the reason they're decrease includes, wildfires, pesticides and climate changes. Monarchs can't survive without milkweed plant as they only lay their eggs and caterpillars only eat milkweed plant. Some people cut down these milkweed plant so they can build housing, streets and buildings. In recent years there have been a lot of wildfires that have destroyed a lot of milkweed. Humans cut milkweed down in their own yards because it doesn’t smell very good or they think it is a weed. Too much use of Pesticides use could kill monarch butterflies. Most importantly is the Climate change gave negative impacts to monarch populations .
Why we need save monarch butterflies? They provide us foods by pollinating the flowers and crops so we need to save them.
Creating Habitat for Monarch butterflies
We can help these Monarchs by providing them a habitat to live, milkweed plants and careful use of pesticides.
- Use your backyard for Monarch Waystation. Monarch Waystation can be maintain in any location as long as monarchs has a shelter to live. Monarchs Waystation is a place to provide necessaries for monarchs such as, food, shelter and their reproduction. By joining thousands of people who have created these monarch habitats, you are contributing to conservations
- Grow milkweed plants. Monarch butterflies only lay their eggs on milkweed plant because it's the only food that caterpillars eat. Milkweed seeds are available on Gardener's supply company, you can also buy it on Amazon.
- Grow nectar-rich plants for monarch butterflies. They need to sip this nectar to produce successive pollination and sustain their migration. The nectar plants that they need includes, Sunflower plants, zinnia flowers and spider milkweeds.
- Use pesticides with care. Always make sure you know what's or who's casuing a damage on plants before using a pesticide.
- Finish their habitat. Complete their habitat by putting a mud puddling which where butterflies drink and plant trees where butterflies can rest during night.
Things you can do to help pollinators
We need the help of pollinators! To help them we can do this 7 things at home to support the pollinators. These are the ways to save this poor bees, monarch butterflies and other pollinators.
What can you do to help pollinators?
- Plant different mixtures of flowers that blooms at different times of the year for summer, spring and fall.
- Plant a variety of flowers based in color, shapes and sizes. It's important to plant a varieties of flower as it attracts different types of pollinators.
- Avoid or Reduce pesticide use since pesticide gives negative impacts to pollinators. But if you still want to use pesticides to avoid pest problem just use it during night when pollinators aren't active. Don't ever use strong pesticide as it's considered toxic to bees and other pollinators.
- Allow caterpillars to eat some leaves since they're the larvae stage of butterflies. If you want them to damage all your plants just separate the plants for pollinators and for caterpillar.
- Plant native plants. This plants was known for being adapted to your local season and climate, soil and pollinators. Native plants provide enough nectar or pollen for pollinators.
- Provide shelter for pollinators as it gives support to pollinators. Also they need shelters so they can be from predators. Their shelters can be a dead tree trunk, dry bare ground, or man made houses for bees. But different pollinators has it's own nesting sites. Bees can use dead tree trunks or man made beehouse. Butterflies lay their eggs on some specific plants so their caterpillar can eat the leaves.
- Provide water for pollinators in order to survive. Honey bees needed water especially when it's very hot weather so that they maintain the temperature.


bit.ly/divingintoknockout
@intelligibabble tech.pro/leland
Forked Presentation Framework built by Ryan Niemeyer


DOWNLOADS
Worksheets can be used as part of self study, with individual coaching, or ala carte. Premium content and client login is listed at the bottom of this page.
Worksheets can be used as part of self study, with individual coaching, or ala carte. Premium content and client login is listed at the bottom of this page.
This worksheet explores SMART goal setting and helps to break down one large goal into smaller tasks you can add to your day.
Download
What did the world do before Candy Crush? So many things. Explore our coping skills list, amassed over many decades of research and feedback, there is something for everyone.
Download
Our Dream Collage asks us to define our dreams in each of the eight pillars of wellness: physical, spiritual, family, financial, menal, career, and social.
Download
We have created a blank format of our most popular daily journal. It is designed to make you more productive and motivated on the path to success with a focus on being present and celebrating where you are today.
Download


To Do
Add To dos
Activities
Do house chores
X
Attend church event
X
Do assignments
X
Go for groceries
X


Methods
Public Instance methods
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/session_management.rb, line 45 45: def session(*args) 46: ActiveSupport::Deprecation.warn( 47: "Disabling sessions for a single controller has been deprecated. " + 48: "Sessions are now lazy loaded. So if you don't access them, " + 49: "consider them off. You can still modify the session cookie " + 50: "options with request.session_options.", caller) 51: end
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/session_management.rb, line 33 33: def session=(options = {}) 34: self.session_store = nil if options.delete(:disabled) 35: session_options.merge!(options) 36: end
Returns the hash used to configure the session. Example use:
ActionController::Base.session_options[:secure] = true # session only available over HTTPS
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/session_management.rb, line 41 41: def session_options 42: @session_options ||= {} 43: end
Returns the session store class currently used.
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/session_management.rb, line 25 25: def session_store 26: if defined? @@session_store 27: @@session_store 28: else 29: Session::CookieStore 30: end 31: end
Set the session store to be used for keeping the session data between requests. By default, sessions are stored in browser cookies (:cookie_store), but you can also specify one of the other included stores (:active_record_store, :mem_cache_store, or your own custom class.
[ show source ]
# File vendor/rails/actionpack/lib/action_controller/session_management.rb, line 14 14: def session_store=(store) 15: if store == :active_record_store 16: self.session_store = ActiveRecord::SessionStore 17: else 18: @@session_store = store.is_a?(Symbol) ? 19: Session.const_get(store.to_s.camelize) : 20: store 21: end 22: end


Time to make that pay check stretch a little further.
The IPO discounts scheme is available to all IPO staff. Employees will be able to buy from a wide range of high street vendors, department stores and retails brands. This is provided through an online portal by Xexec which is accessible from work or at home.
The scheme is free to all IPO staff. Discounts include everything from theatre tickets through to holidays, gifts, shopping and home services. You will need to register using your staff number (SE number) which can be found on Etarmis® or on your payslip.
Further guidance and Terms and conditions that you may want to familiarise yourself with can be found on Circle.
The online portal can be found below:


This subpart prescribes policies and procedures to implement Executive Order 13496, dated January 30, 2009 (74 FR 6107, February 4, 2009).
As used in this subpart—
“Secretary” means the Secretary of Labor, U.S. Department of Labor.
“United States” means the 50 States, the District of Columbia, Puerto Rico, the Commonwealth of the Northern Mariana Islands, American Samoa, Guam, the U.S. Virgin Islands, and Wake Island.
(a) Executive Order 13496 requires contractors to post a notice informing employees of their rights under Federal labor laws.
(b) The Secretary has determined that the notice must contain employee rights under the National Labor Relations Act (Act), 29 U.S.C. 151 et seq. The Act encourages collective bargaining, and protects the exercise by employees of their freedom to associate, to self-organize, and to designate representatives of their own choosing for the purpose of negotiating the terms and conditions of their employment or other mutual aid or protection.
(a) The requirements of this subpart do not apply to—
(1) Contracts under the simplified acquisition threshold;
(2) Subcontracts of $10,000 or less; and
(3) Contracts or subcontracts for work performed exclusively outside the United States.
(b) Exemptions granted by the Secretary.
(1) If the Secretary finds that the requirements of the Executive Order impair the ability of the Government to procure goods and services on an economical and efficient basis or if special circumstances require an exemption in order to serve the national interest, the Secretary may exempt a contracting department or agency, or groups of departments or agencies, from the requirements of any or all of the provisions of this Executive Order with respect to a particular contract or subcontract, or any class of contracts or subcontracts, including the requirement to include the clause at 52.222-40, or parts of that clause, in contracts.
(2) Requests for exemptions may be submitted in accordance with Department of Labor regulations at 29 CFR 471.3.
(a) The Secretary may conduct compliance evaluations or investigate complaints of any contractor or subcontractor to determine if any of the requirements of the clause at 52.222-40 have been violated.
(b) Contracting departments and agencies shall cooperate with the Secretary and provide such information and assistance as the Secretary may require in the performance of the Secretary’s functions.
(c) If the Secretary determines that there has been a violation, the Secretary may take such actions as set forth in 29 CFR 471.14.
(d) The Secretary may not terminate or suspend a contract or suspend or debar a contractor if the agency head has provided written objections, which must include a statement of reasons for the objection and a finding that the contractor’s performance is essential to the agency’s mission, and continues to object to the imposition of such sanctions and penalties. Procedures for enforcement by the Secretary are set out in 29 CFR 471.10 through 29 CFR 471.16.
(a) Insert the clause at 52.222-40, Notification of Employee Rights under the National Labor Relations Act, in all solicitations and contracts, including acquisitions for commercial items and commercially available off-the-shelf items, except acquisitions—
(1) Under the simplified acquisition threshold. For indefinite-quantity contracts, include the clause only if the value of orders in any calendar year of the contract is expected to exceed the simplified acquisition threshold;
(2) For work performed exclusively outside the United States; or
(3) Covered (in their entirety) by an exemption granted by the Secretary.
(b) A contracting agency may modify the clause at 52.222-40, if necessary, to reflect an exemption granted by the Secretary (see 22.1603(b)).


HOW TO EFFECTIVELY USE THIS PROGRAM
The Thinking Into Results Program guides you through a powerful 12 lesson process for creating your new, desired results. Each lesson builds upon the previous lesson. It is important to periodically review the program in its entirety for constant reinforcement of the ideas. It is through the repetition of the lessons that you will experience permanent changes.
Please download your complete Thinking Into Results Program Participant’s Guide above.
This Participant’s Guide is designed to be downloaded to your computer or mobile device and read on your device. In the event you are unable to view the Participant Guide on your device or prefer to have a physical copy in hand, and you have not already requested one you may contact your Certified Thinking Into Results consultant. This option is for consultant clients only.


sensors module¶
Defines the sensor classes.
Description¶
Defines the base and end user classes for various sensors.
Sensor (base class)
TempSensor
Libraries/Modules¶
- random standard library (https://docs.python.org/3/library/random.html)
Access to randint function.
Notes¶
Comments are Sphinx (reStructuredText) compatible.
TODO¶
None.
Author(s)¶
Created by John Woolsey on 05/27/2020.
Modified by John Woolsey on 07/02/2020.
Copyright (c) 2020 Woolsey Workshop. All rights reserved.
Members¶
-
class
Sensor
(name)¶ Bases:
object
The sensor base class.
Defines the base class utilized by all sensors.
-
__init__
(name)¶ The Sensor base class initializer.
- Parameters
name – The name of the sensor.
- Returns
An instance of the Sensor class initialized with the specified name.
-
__str__
()¶ Retrieves the sensor’s description.
- Returns
A description of the sensor.
-
name
¶ The name of the sensor.
-
value
¶ The value of the sensor.
-
-
class
TempSensor
(name, unit='F')¶ Bases:
sensors.Sensor
The temperature sensor class.
Provides access to the connected temperature sensor.
Supported units are “F” (Fahrenheit), “C” (Celsius), and “K” (Kelvin) with “F” being the default unit.
-
__init__
(name, unit='F')¶ The TempSensor class initializer.
- Parameters
name – The name of the temperature sensor.
unit – The unit of the temperature sensor, defaults to “F”.
- Returns
An instance of the TempSensor class initialized with the specified name and unit.
-
__str__
()¶ Retrieves the temperature sensor’s description.
- Returns
A description of the temperature sensor.
-
set_unit
(unit)¶ Sets the temperature unit.
- Parameters
unit – The temperature unit (“F”, “C”, or “K”), defaults to “F” if a valid unit is not provided.
-
unit
¶ The temperature unit.
-


RBI Officer Grade B Result 2019: Phase I Scores Declared at rbi.org.in
Candidates must note that the RBI Officer Grade B Phase-II online examination will be conducted on December 1, 2019.
RBI Officer Grade B Phase I Result 2019: The Reserve Bank of India (RBI) has announced the result of Phase-I of RBI Officer Grade B online examination on its official website. Candidates who appeared for the exam can check their scores by visiting rbi.org.in.
Candidates must note that the RBI Officer Grade B Phase-II online examination will be conducted on December 1, 2019. Those who qualify the Phase-I test will be eligible to appear for the Phase-II examination, which will be conducted in two shifts.
Follow the steps to check your RBI Officer Grade B Phase I Result 2019:
Step 1: Visit the official website of RBI, i.e., rbi.org.in.
Step 2: Go to the result page. Click on the link for RBI Grade B Result 2019.
Step 3: A PDF file will open with names of all shortlisted candidates.
Step 4: Download the document and take a print out for future reference.
The shortlisted candidates are eligible for Phase-II examination which will be a descriptive type test. Candidates who are shortlisted after the Phase-II exam in December will be called for the final interview round.
For breaking news and live news updates, like us on Facebook or follow us on Twitter and Instagram. Read more on Exams & Results Latest News on India.com.
Story Timeline
- 19 Nov 2019 RBI Officer Grade B Result 2019: Phase I Scores Declared at rbi.org.in
- 11 Nov 2019 RBI Grade B Officers Phase I Exam 2019: Check Expected Cutoff Marks Here
- 19 Sep 2019 Finance Ministry Receives Nearly 100 Applications For RBI Deputy Governor Post
- 22 Aug 2018 RBI to Conduct Another Exam For Grade B Officers at Certain Centres Owing to Kerala Floods
Comments - Join the Discussion


≡
⌘ G9 Log Reader
✘
-
:
❖
❖
❖
User
Admin
Logs Date:
Session Timeout: 15:00
⦿
⦿
⦿
⦿
⦿
⦿
:
01:30
01:30
✘
✘
✘
X
X
X
X
X
➤
➤
Loading
{LOADING}
{...}
⫷ Powered By G9™ - 2019 ⫸
⫷ ㏒-APP-V:
⫸


RuneScape patch updates farming and herblore elements, notes here
by Aran SuddiA new patch has been released for RuneScape by Jagex that is focused on improving farming and the game’s herblore as well as a number of other changes and fixes. These changes apply both to the PC version of RuneScape as well as mobile. On mobile specifically, Clan Citadel minigames have been improved with the interface made easier to use, and the interface should no longer lock when using spells from the spellbook.
The full list of changes can be found below.
RuneScape patch December 9th
Farming and Herblore
- Corrected the naming of the diseased Jadinko when it appears inside a Ranch out of Time pen.
- Players may once again give their animals to Baby Shakes so that they may be devoured in exchange for beans.
- The Castle Wars tickets obtained from farming requests are now added directly to your currency pouch. An option to add the previously defective castle wars tickets to your currency pouch has been added.
- Weapon Poison potions will no longer instantly run out when used in conjunction with Lantadyme Incense sticks.
- Tweaked the bean sale values across the board for all the new Ranch out of Time animals.
Yak Track
- Monkfish now counts towards the cooking task on the Yak Track.
- Yak Track marker is now correctly aligned with prize number 25.
- Updated the Arcane Blood Mage Robe Bottoms override to fix an issue with a floating gem. This is now fixed to the outfit as intended.
- The Dark Fire and Flame swords have been graphically updated.
- Yak Track progression fix – Zogre Bones now count toward progression.
- Yak Track tasks will now no longer scale down when a member swaps into a free-to-play world.
Combat
- Elite Dungeon Teletabs are now able to be used while in combat.
- Slaughter is now correctly cleared when using an ability or item that clears debuffs of this sort.
- Changed the warning message at the Edgeville artefact to reflect the updated combat level recommendation for King Black Dragon.
General
- Players with more than one Erethdor’s Grimoire have had their extra Grimoires turned in to unlock tokens and will have their Torn Pages refunded.
- Players with insufficient inventory space can speak to Merethiel at the Lost Grove to re-obtain the token and pages.
- A letter from Eluned can now be picked up from Iswyn after being destroyed if the player has done the relevant quest.
- Dr Harlow now consistently refers to Vampyres instead of Vampires.
- Removed a section of Kaqemeex’s voiced dialogue near the start of the Druidic Ritual quest, that referred to the slayer master removed from Taverley.
- Fixed an issue where Implings could be found flying through the vine walls seen around Falador.
- Celebration Lamp animation no longer plays infinitely.
- The favorite button now has a proper description in the Slayer log.
- Invasion NPCs the player has engaged with in The Heart of Gielinor no longer award XP & loot etc after the player has disengaged, preventing situations like closing bank interfaces long after leaving the dungeon.
- 3% bonus is removed from the Perfect plus potion tooltip.
- Made it easier to imbue rings at Soul Wars.
- Wakizashi added to the chat filter. The k should no longer be blocked.
- Zanik is now called Zanik when imbuing rings.
- The ability to imbue rings through the Soul Wars shop has been added.
- Extra Parasols that the player does not require, are no longer lost when making a Black Parasol.
- Player will now be informed if using a mosquito card in Dungeoneering, that will have no effect due to other boosts that are already present.
- The Tale of the Muspah now has its item requirements correctly recorded.
- Updated the Java client removal messaging.
- All clan Vexillums Flags in the inventory will now all get destroyed.
- Lamps are now being used after using the ‘Use all’ feature and then deselecting the options.
- Trimmed Masterwork armour now gives a degrade warning when unprotected in a gravestone.
- Weapon poison can be applied in the bank interface.
- Chick-axe now appears on the axes filter in wardrobe.
- Players who have already frozen TH categories will no longer use their Hearts of Ice during promotions that have the ‘categories’ button disabled.
- Checking your kills left from an enchanted gem and grim gem now displays the text in an infobox, instead of only sending the feedback to game messages.
Mobile
- Improvements have been made to the Clan Citadel resource minigames interface, including increased sizing of the panels and text to better fit the space on mobile.
- Fixed an issue that was causing certain prayer abilities to display the incorrect prayer when added to the action bar on mobile.
- Using spells from the spells book will no longer lock the interface from being used on mobile.
- Fixed an issue where some spells and abilities would not activate from the mobile action bar.
- Fixed an issue that was affecting “Tap-through chat boxes” setting on mobile. The setting was not being applied correctly meaning users could tap-through when the setting was disabled, this was incorrect behaviour.
- Run button is now redrawn after hiding the minimap and then re-logging on mobile.
Textual
- Typo has been corrected when trying to harvest crop you don’t have the level for.
- Typo has been fixed, runied now spells ruined.
- Typo when speaking with Azzanadra during temple at senntisten quest has been corrected.
- Fixed a typo involving adding items to the Tool belt.
- Corrected a typo the in Ranch farmers market.
Graphics
- Icons are now the standard 36×32 in the Runecrafting Guild Rewards interface.
- Fixed an issue with the Goebie mask stretching.
- Ozan now holds his bow in the correct hand for his combat animation while fighting Lady Keli’s minions on the shores of Draynor during the Stolen Hearts quest.
- Ozan in the Burthorpe troll cave no longer uses the Shadow Ozan bow model.
- Adjusted the soil in the Falador tree patch so that it looks consistently level.
Source: RuneScape official site


In case of any changes please contact NRAI
Current route params: {{$route.params.nraiID | json}}
Current route params: {{nraiID | json}}
Current route params: {{message | json}}


<
Cal Hacks 4.0
I'm a director at Cal Hacks, the
largest hackathon in the world! One of my main roles is as graphic
designer — logos, branding, marketing, you name it. Over the
past year, I created the branding for Cal Hacks 4.0 under the general
guidance of a California road trip theme.
Cal Hacks 4.0 was an event marketed to tens of thousands of
people, and we ultimately ended up hosting 2000 people at the
California Memorial Stadium. Badges, shirts, wristbands, banners,
posters, maps, flyers, Snapchat filters, countdowns, decals, and
more were all part of the
agenda — below is a compilation of some of the finals products!


Felix Sater, a Russian-born and Mafia-linked businessman, contributed the maximum allowed to Donald Trump’s campaign during summer 2016 and claimed to take secret meetings in Trump Tower. A campaign spokesperson said at the time that they were unaware of Sater’s donations, but later reimbursed him when “Sater gave the campaign $5,520 in three donations in July, according to the campaign’s August FEC filing. Because the maximum allowed individual contribution is $5400, the campaign refunded the $120 difference.”
Source: Politico


Alexandra Tutino
atutino<EMAIL_ADDRESS>1489422
Assignment 1
direct link
live host
Points Attempted
- Assignment 1:(REQUIRED) Have an HTML page with a
- Assignment 1:(REQUIRED) Clicked points are displayed on the canvas.
- Assignment 1:(REQUIRED) Detect mouse clicks (left and right) and echo them to debugging console.
- Assignment 1:(REQUIRED) When the user right clicks, hide the rubber band line, block further user input, and print a list.
- of the clicked points (in the order they were clicked) to the console.
- -since line is not able to be drawn yet, that part of the requirement is not there. However, we are able to print a
- list of clicked points.
- Assignment 1:(EXTRA) Implement a simple game with drawing lines. Explain your game in your submission.
- The goal of the game is to find the Origin. To do this, you need to click at (0,0). If you click the origin, a message
- stating "You Won" pops up in the console after the points are displayed.
Notes to Grader
Do you have any suggested material to help with this? I have been to sections and I have not found them very helpful. I am struggling a bit with this class, and I would like to do well. I probably need extra materials, and I am looking into getting a tutor. I'm not sure where else to go to improve myself however.


--- layout: default title: Aditya Singhal ---
I'm an undergraduate student interested in Computer Vision & Machine Learning. Read more about my life...


Real Zaragoza are desperate to land Riqui Puig in the winter transfer window
After being told 'no' by Barça and Riqui in the summer, Victor Fernandez wants the youngster to join his side for the remainder of the season
by Sport ENReal Zaragoza have made a new attempt to land Riqui Puig. The club are desperate to add the talented youngster to their ranks and is someone the coach, Victor Fernandez, has personally asked for. Everyone at Zaragoza wants to make this deal happen.
Currently in LaLiga 2, pushing for promotion to the first division, Zaragoza are drawing up names of players who could strengthen their squad in January. Riqui is at the top of their list.
The interest from Zaragoza isn't exactly new either. They tried to sign Riqui on loan in August but both Barça and the player turned it down. As everybody knows, Riqui's dream is to play for the first team but after seeing his chances limited this year, he's now more open to a temporary solution.