@* * Copyright 2019 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @import uk.gov.hmrc.tariffclassificationfrontend.config.AppConfig @import uk.gov.hmrc.tariffclassificationfrontend.controllers.routes @import uk.gov.hmrc.tariffclassificationfrontend.models.Case @import uk.gov.hmrc.tariffclassificationfrontend.models.request.AuthenticatedRequest @import uk.gov.hmrc.tariffclassificationfrontend.views.html.includes.main @import uk.gov.hmrc.tariffclassificationfrontend.views.html.partials.{assignee, case_heading} @import views.html.helper.{CSRF, form} @(c: Case)(implicit request: AuthenticatedRequest[_], messages: Messages, appConfig: AppConfig) @main(bodyClasses = None, customTitle = Some(messages("page.title.take.ownership"))) { @case_heading(c)
This will add the case to your my cases list
@form(action = routes.AssignCaseController.post(c.reference), 'class -> "form") { @CSRF.formField No, view only } } else { } }


This is a static HTML page
It's hosting the Blazor components in default #app div.
Loading...
An unhandled error has occurred
Reload page


White to play 42
pips White=159 Black=144
(CorrectAnswer= 0/0, ErrorScore= 0)
1. Bar/21 13/11* eq: +0.312 58.10% (G:16.85% B:0.99%) 41.90% (G:14.31% B:0.75%) 2. Bar/23 8/4 eq: +0.186 (-0.126) 55.33% (G:14.86% B:0.58%) 44.67% (G:11.53% B:0.53%) 3. Bar/21 10/8 eq: -0.021 (-0.333) 49.48% (G:11.02% B:0.35%) 50.52% (G:11.62% B:0.39%) 4. Bar/23 10/6 eq: -0.081 (-0.393) 48.12% (G:12.13% B:0.56%) 51.88% (G:14.83% B:0.61%) 5. Bar/21 4/2 eq: -0.146 (-0.458) 46.24% (G:10.00% B:0.48%) 53.76% (G:13.67% B:0.57%)


System Architect Picture "Focus State"
Parent Diagram:
Focus For Further Activity
(OMT Object Model)


Domainname
About
Contacts
We will help you find
your soulmate
scroll
more
other you might like
About Us
other you might like
Contacts
other you might like
© 2017 Domainname
About
Contacts


THE COWBOY WAY A film review by James Berardinelli Copyright 1994 James Berardinelli
Rating (0 to 10): 5.1
Date Released: 6/3/94 Running Length: 1:42 Rated: PG-13 (Language, sexual situations, nudity, violence) Starring: Woody Harrelson, Kiefer Sutherland, Dylan McDermott, Ernie Hudson, Joaquin Martinez, Marg Helgenberger, Cara Buono Director: Gregg Champion Producer: Brian Grazer Screenplay: Bill Wittliff Cinematography: Dean Semler Music: David Newman Released by Universal Pictures
Howdy, pardner. Saddle on up, and join me on a little ride. And, along the way, if you spy a theater showing this new Woody Harrelson/Kiefer Sutherland flick, THE COWBOY WAY, just keep goin'. It ain't worth the bother of stabling the horse.
Well, perhaps that's a little cruel, but this movie really isn't a whole lot better--or fundamentally a whole lot different--from Eddie Murphy's recent BEVERLY HILLS COP III blunder. Both pictures try to mix action and comedy, and end up doing neither well. Perhaps someone this summer will come out with a picture that's both exciting and funny, but it hasn't happened yet.
Pepper (Harrelson) and Sonny (Sutherland) are New Mexico rodeo champs who spend their days roping calves and riding broncos. Despite a friendship that goes back to boyhood days, they hardly ever talk because of a transgression committed by Pepper a year ago. Fate forces conversation, however, when their buddy Nacho (Joaquin Martinez) disappears in New York while on a quest to buy his daughter Teresa (Cara Buono) illegally into the United States. Hopping into Sonny's pickup (rather than riding a couple of horses), the pair heads east for the big city and a little motel called the Waldorf Astoria.
The real enjoyment of any "fish out of water" motion picture comes from watching the lead characters react and adapt to the unusual setting. This is what made CROCODILE DUNDEE and STAR TREK IV: THE VOYAGE HOME such fun experiences. Add violence and traditional bad guys, and you get the DUNDEE sequel, which was, at best, a huge disappointment. THE COWBOY WAY not only has the guns and crooks, but long chase scenes as well.
One of the chief problems with THE COWBOY WAY is that it spends so little effort detailing the characters' reactions to their circumstances and so much time attempting to craft a thriller. There are a lot more punches than punchlines, and the feeble comedy quickly takes a back seat to all sorts of action-based genre staples.
The plot is exceptionally thin (not to mention dumb), and obviously had to be padded out to feature film length. As a result, there are a number of pointless scenes that serve no purpose other than to eat up running time. The entire "relationship" between Pepper and Margarette (Marg Helgenberger) is pointless and distracting.
Woody Harrelson doesn't really act his part. Instead, he struts, thrusting out his chin and exposing his posterior. Kiefer Sutherland is more relaxed and natural, but his laid-back portrayal gives his co-star too much of the spotlight. Dylan McDermott plays the head villain with a typical bad guy attitude that's supposed to make the audience hate him. The only supporting performer worth mentioning is Cara Buono, who makes a convincing damsel in distress. Too bad her role wasn't slightly more meaty.
THE COWBOY WAY is just another in a long line of summer motion pictures that hopefully won't amount to much at the box office or elsewhere. As far as I'm concerned, these guys should ride off into the sunset and forget coming back for anything--especially a sequel.
- James Berardinelli<EMAIL_ADDRESS>.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Google Earth Enterprise Documentation Home | Get started
Download documentation for GEE 5.1.x
The majority of Google Earth Enterprise help content is now maintained in our online documentation, which means you can easily use search to find answers to your questions or browse through our articles. You can also access documentation offline from a Fusion or GEE Server installation:
- In Fusion, click Help > Contents
- In GEE Server, click the Settings icon > Documentation
If you need to access the documentation offline, you can copy or clone the GEE git repo at https://github.com/google/earthenterprise.
The documentation is under the folder earthenterprise/earth_enterprise/docs/landing_page/manual/
.


Gateway
BOT
05-Jun-19 06:48 AM
[telegram] <ergotspore> work withdrawl ??
[telegram] <Sergio> Yes (re @ergotspore: work withdrawl ??)
[telegram] <Yodhao> Komodo team exit scam?
[telegram] <polycryptoblog> No
[telegram] <pmtolk> I’ve been downloading the new wallet for ages. It’s kinda a terrible wallet.
[telegram] <carpet> did team exit scam?
[telegram] <Murasakibara21> loool (re @carpet: did team exit scam?)
[telegram] <pmtolk> Why do I need to download gigs of data for zcash to use kmd wallet?
[telegram] <ergotspore> fear that too (re @carpet: did team exit scam?)
[telegram] <Yodhao> Then how did this happen? (re @polycryptoblog: No)
[telegram] <pmtolk> Has anyone gotten the windows KomodoOceanQT wallet to work?
[telegram] <Yodhao> I think team trying to hack us (re @pmtolk: Why do I need to download gigs of data for zcash to use kmd wallet?)
[telegram] <Yodhao> Don't download anything
[telegram] <Yodhao> I am going to contact SEC
[telegram] <Yodhao> You guys need to learn
[telegram] <polycryptoblog> A vulnerability was found and it was decided that it was urgent enough for funds to be moved.
[telegram] <Yodhao> He is with team (re @Sergio: )
[telegram] <carpet> oh man (re @ergotspore: fear that too )
[telegram] <carpet> it really sucks we are facing this
[telegram] <KammerBrand> never (re @Yodhao: I think team trying to hack us)
[telegram] <pmtolk> The KomodoOceanGUI wallet doesn’t let me use kmd?!!!
[telegram] <pmtolk> How can I send me kmd?
[telegram] <Sergio> Stop fud please (re @Yodhao: He is with team)
[telegram] <KammerBrand> (re @Sergio: Stop fud please)
[telegram] <Yodhao> Come on, when you can't answer, just tell it's fud, what a response (re @Sergio: Stop fud please)
[telegram] <Andy> Cheap kmd incoming
[telegram] <polycryptoblog> If you have already used Agama in the last 2 months with that seed than its "ok" to use it again to move the funds. If you have not used it for more than 4 months then you can leave them just on the seed. We recommend moving all funds (all coins) out
Use Verus version of Agama - https://veruscoin.io/wallet.html
0. Start VRSC Lite mode
1. create new seed which will generate new address which is compatible with KMD and all assetchain. Keed the seed safely backedup (make a note of that address)
2. Send all KMD and assetchains funds to that address, even if Verus wallet doesn't support that coin at the moment. As long as you have the seed safe, you can access your funds later. Use this link to see all your assetchain balance https://dexstats.info/assetviewer.php
Agama webwallet ONLY to send funds out immediately https://www.atomicexplorer.com/wallet/#/
You can also use this guide to send all KMD and assetchains to new address. You don't need to use 2 computers. Just use one offline computer https://support.komodoplatform.com/en/support/solutions/articles/29000026631-sign-transactions-offline-and-broadcast-online-using-agama (re @pmtolk: How can I send me kmd?)
Community driven open source CPU mineable cryptocurrency with 50/50 Proof-of-Work/Proof-of-Stake, zk-SNARK zero-knowledge proof privacy.


The primary purpose of this organization shall be to provide a casual, social atmosphere for Yo-Yoers of all skill levels and yo-yo enthusiasts, as well as a welcoming environment for those who are just learning or interested in learning. Learning to be dexterous with ones hands as well as gain confidence through performances. The club will also serve as a forum for seeking out and planning opportunities for community service. Finally, the organization may plan for performing venues and other events.
We usually meet on Fridays from 3pm to 6pm. Feel free to come and leave anytime during that period. If the weather is nice, we usually meet on Voorhee's mall on College Avenue. Otherwise, we will meet in the International Lounge, Busch Campus Center.
Ever been stuck in a power outage with no source of entertainment because your phone battery died? Yoyo's don't need batteries to provide you with hours of fun, and they conveniently fit in your pockets. Amaze your friends with the latest tricks while building your dexterity!
Nonsense! Like with any activity / sport, it takes some practice and time. Anyone can perform some basic tricks after regular practice. It is no harder than learning to ride a bike or drive a car. Don't give up if you don't learn right away!
Come to our meetings! We will teach you the basics, from proper throwing techniques to performing your first trick! Don't have a yoyo? No problem - we have beginner friendly yoyo's that you can borrow. If you want to get your own, here are some yoyo's that we recommend (not all yoyos are created equal!) You can find a list of tutorials here.


{% extends "base.html" %} {% block body %}
This starter pack gets you going with:
Flask
FlaskSqlAlchemy
FlaskLogin
FlaskMigrate


Located on the tip of Ireland's south west about 10nm north east of the famous Fastnet Rock Lighthouse.


THE AVENGERS (Warner Bros. - 1998) Starring Ralph Fiennes, Uma Thurman, Sean Connery, Patrick Macnee, Jim Broadbent, Fiona Shaw Screenplay by Don Macpherson Produced by Jerry Weintraub Directed by Jeremiah Chechick Running time: 89 minutes
*1/2 (out of four stars) Alternate Rating: D
Note: Some may consider portions of the following text to be spoilers. Be forewarned.
-------------------------------------------------------------
At the end of the day, those reflecting upon the debacle that is THE AVENGERS would do well to take note that warning clouds loomed on the horizon for the project well before Warner Bros. made the contentious decision to abandon preview press screenings and scrapped plans for a gala premiere. This highly-anticipated film rendition of the cult television show was originally slotted for an early June opening, where it would have gone head-to-head against the rival studios' heavy hitters; its eventual demotion to a less potent mid-August opening was an obvious early indication of the studio's lack of confidence with the picture.
And with good reason. This is a joyless exercise of a film, held together by a barely coherent plot and lacking any semblance of excitement, thrills or wit. Remarkable in its banality and brutally uninvolving, THE AVENGERS is a catastrophic mess which immediately invites comparisons to last year's case study in style over substance, Joel Schumacher's much-loathed BATMAN & ROBIN. (Indeed, both films even feature appalling, ridiculous sequences which find central characters dressed up in fuzzy oversized costumes.)
Uma Thurman, who takes on the salacious role of the catsuit-clad, karate-chopping Emma Peel immortalized by Diana Rigg, was the only bright spot in the aforementioned Schumacher disaster, imbuing her Poison Ivy with a dose of sassiness and sly wit that gave audiences something to smile at amidst the cinematic carnage. Unfortunately, the same can't be said here, where she and cohort Ralph Fiennes (our new John Steed, taking over for Patrick Macnee) demonstrate no appreciable chemistry whatsoever, fatally crippling the picture as they volley fizzling repartee back and forth and trade double-entendres with all the enthusiasm of two actors painfully aware that they're on board a sinking ship. At this rate, usually-splendid actor Mr. Fiennes may never make the transition from Arthouse Apollo to mainstream leading man -- his tepid turn here will make as much of an inroad as his commendably seedy performance in the regrettably-neglected Kathyrn Bigelow film STRANGE DAYS.
The duo *look* the part -- and admittedly THE AVENGERS is, more than most, heavily dependent upon style -- but they're no fun to watch, and I found myself growing increasingly distant and annoyed by the lack of spark between the two cheekily ironic characters as they navigated through the picture's caper-esque plot. When not checking my wristwatch or shifting restlessly in my seat, I began to alleviate the boredom by considering how this all might have played out had the filmmakers chose to go instead with that erstwhile EMMA as our Mrs. Peel -- no, not Kate Beckinsale (although the notion now intrigues me), but Gwyneth Paltrow, who was originally in the running for the part and can veritably handle a spot-on English accent. If nothing else, it'd at least be highly entertaining for the incongruous sight of the vaguely twiggish young actress kicking butt.
The story, such as it is, involves the ever-bemused tandem of Steed and Peel combating the malevolent Sir August de Wynter (Sean Connery), an eccentric aristocrat threatening the safety of the nation with his climate-controlling contraption. (They also sip a lot of tea.) Overlooking some goofy cloning nonsense and quirky hijinx involving our protagonists' superiors, it sounds far better than it plays, and is rendered almost indecipherable by blatant post-production tinkering; it's clearly evident that the picture has been cut to shreds. THE AVENGERS was never about gripping drama, and our heroes accordingly never take villainous Sir August very seriously, but given the lack of cohesion in the plot and the lack of menace conveyed by the buffoonish maniac, it's all decidedly uncompelling. Mr. Connery, who's onscreen barely long enough to register an impression, approaches the role like a man fulfilling a contractual obligation, simultaneously chewing the scenery while unable to hide his disinterest.
At least it all looks good. This is a genuinely handsome production, with fine costume design by Anthony Powell and crisply shot by Roger Pratt. In particular, the gleaming production design by Stuart Craig commands attention, adeptly drawing elements both old and new in order to depict this Great Britain. There are a handful of striking visual moments in the film, including an attack by a swarm of giant robotic bees and a nice shot of Steed and Peel finding a way to walk on water, but the film is so unremittingly dull that even these instances fail to stir interest or raise pulse rates. By the time the film's climax had arrived, my interest was not with the sight of Steed and Sir August slugging it out amidst crashing waves and thundering rain, but with the quickest escape route from the theatre.
Not coincidentally, the enticing bits of visual bravura were the shots assembled into the movie's remarkable trailer, a savvy piece of work which ironically is infinitely more appealing that the feature film itself; the first promo which made the rounds in early spring is probably my favourite studio trailer so far this year. It's everything that THE AVENGERS is not -- saucy, clever, engaging, and entertaining. A crushing disappointment, the film is one of the worst outings of the year -- too drearily awful to be savoured as gleefully bad, too polished to overlook its deficiencies. There may be upcoming pictures that are even more lifeless than THE AVENGERS, but I sure hope not.
 - Andrew Sarris
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Faunus: Graph Analytics Engine
http://faunus.thinkaurelius.com
<dependency>
<groupId>com.thinkaurelius.faunus</groupId>
<artifactId>faunus</artifactId>
<version>0.3.0</version>
</dependency>
IdentityMap
to base directory as changed in Pipes 2.3.0FaunusVertex
property value serialization support using Kryo 2.2.1FaunusVertex01
provides history deserialization support for Faunus 0.1.z → Faunus 0.3.z conversionutil.MicroElement
classes into respective FaunusElement
inner classesRecordReader
formatsScriptInputFormat
to support the arbitrary reading of an HDFS file lines into a FaunusVertex
ScriptOutputFormat
to support the arbitrary writing of an HDFS file line from a FaunusVertex
faunus.pipeline
property namespace for properties that are global to the pipelineInputFormat
Configurations
throughout a Faunus job sequence (EmptyConfiguration
)GraphSONUtility
to FaunusGraphSONUtility
to avoid name conflicts with BlueprintsEdgeCopyMapReduce
to support graph transpose for bidirectional edgesFaunusGraph
now implements Configurable
and thus getConf()
instead of getConfiguration()
<dependency>
<groupId>com.thinkaurelius.faunus</groupId>
<artifactId>faunus</artifactId>
<version>0.1.1</version>
</dependency>
OrderMapReduce
semantics updated for number based properties (multiply by path count for efficiency)MemoryMapper
script
-step which allows for arbitrary Gremlin/Groovy script executions on Faunus verticesstep
-step as it was not clearly defined and difficult to use (see script
-step)FAUNUS_HOME
system propertyFaunusCompiler
and FaunusPipeline
Input
- and OutputFormats
MapReduceFormat
which allows an arbitrary number of MapReduce jobs after/before input/outputTokens.F
with the inclusion of ordering in TinkerPop Pipes<dependency>
<groupId>com.thinkaurelius.faunus</groupId>
<artifactId>faunus</artifactId>
<version>0.1.0</version>
</dependency>


labeled
by Christina Chortaria at 2021-04-23 00:08:36.labeled
by Christina Chortaria at 2021-04-23 00:08:58.I updated the location in bibdata-alma-qa and reindexed the record and and both holdings appear in the record https://catalog-alma-qa.princeton.edu/catalog/99112325153506421/
closed
by Christina Chortaria at 2021-04-23 12:00:46.I reindexed them and they have the new remote_storage location.
assigned
by Christina Chortaria at 2021-04-23 12:08:01.closed
by Christina Chortaria at 2021-04-23 12:08:31.labeled
by None at 2021-04-23 13:07:38.Created https://github.com/pulibrary/bibdata/issues/1285 as a followup
referenced
by None at 2021-04-23 13:07:55.merged
by None at 2021-04-23 13:07:55.closed
by None at 2021-04-23 13:07:55.head_ref_deleted
by None at 2021-04-23 13:07:56.deployed
by Trey Pendragon at 2021-04-23 11:47:42.closed
by None at 2021-04-23 13:08:26.labeled
by None at 2021-04-23 14:31:18.assigned
by None at 2021-04-23 14:51:22.Hi, this makes sense to me @christinach
Thanks @kevinreiss
labeled
by Christina Chortaria at 2021-04-23 17:22:04.mentioned
by Kevin Reiss at 2021-04-23 17:22:05.subscribed
by Kevin Reiss at 2021-04-23 17:22:05.mentioned
by None at 2021-04-23 17:22:05.subscribed
by None at 2021-04-23 17:22:05.mentioned
by Christina Chortaria at 2021-04-23 17:45:00.subscribed
by Christina Chortaria at 2021-04-23 17:45:00.mentioned
by Kevin Reiss at 2021-04-23 17:52:03.subscribed
by Kevin Reiss at 2021-04-23 17:52:03.Keep the guard but use the location code not the library. Location code should be a member of one of these arrays: https://github.com/pulibrary/bibdata/blob/41dc462cd2a8d1d1c05daa1b2d13d43bde35f1c0/app/adapters/alma_adapter/alma_item.rb#L145-L155
assigned
by Shaun Ellis at 2021-04-23 17:23:21.assigned
by Shaun Ellis at 2021-04-23 17:23:22.summon search api we are using: http://localhost:4000/bibliographic/1769972/holdings/2032939/availability.json
this is the client class that talks to the api: https://github.com/pulibrary/discoveryutils/blob/main/classes/Summon/Summon.php
labeled
by Kevin Reiss at 2021-04-23 17:21:19.assigned
by Shaun Ellis at 2021-04-23 17:23:22.This is because the first volume is marked private (https://figgy.princeton.edu/catalog/20c031a8-70fc-4d75-a30f-4438034f0e4f)
Changed to open just now
Works! Thank you!
labeled
by Kim Leaman at 2021-04-23 22:51:57.closed
by Kim Leaman at 2021-04-23 23:00:22.assigned
by Kevin McElwee at 2021-04-23 12:50:50.closed
by Kevin McElwee at 2021-04-23 13:37:43.I believe all necessary data has been transfered
closed
by Kevin McElwee at 2021-04-23 20:20:06.How we've incorporated PrincetonUniversityLibrary/dataspace into our workflow obviates this I think (?)
closed
by Kevin McElwee at 2021-04-23 20:26:58.We've largely abandoned this method.
closed
by Kevin McElwee at 2021-04-23 20:28:21.This was fixed 🎉at least as far as I am aware 😄
closed
by Kevin McElwee at 2021-04-23 20:29:43.assigned
by Kevin McElwee at 2021-04-23 20:30:16.Our ownership of the sftp server will obviate this.
closed
by Kevin McElwee at 2021-04-23 20:31:14.Seems like this was taken care of, I will include this gist in dspace-development when I centralize the documentation
closed
by Kevin McElwee at 2021-04-23 20:32:45.assigned
by Kevin McElwee at 2021-04-23 20:34:20.Presumably this is no longer needed? I'll reference this when collecting our documentation
closed
by Kevin McElwee at 2021-04-23 20:40:41.assigned
by Kevin McElwee at 2021-04-23 20:48:06.The integration of Globus obviates this I hope!
closed
by Kevin McElwee at 2021-04-23 20:55:27.This seems to have been addressed since the ticket was created
closed
by Kevin McElwee at 2021-04-23 20:59:45.A meeting with Atmire was met with a shrug, that this is the inevitable consequence of being the admin account email. Atmire recommends an email filter.
closed
by Kevin McElwee at 2021-04-23 21:04:59.It seems like these have ultimately been stored in Atmire's gitlab repo, and then when we want to share it with stakeholders, it's just been placed in PrincetonUniversityLibrary 😕
closed
by Kevin McElwee at 2021-04-23 21:07:26.James, Bess, Kate, and I have access ✅
closed
by Kevin McElwee at 2021-04-23 21:10:00.I have created a google doc that walks our stakeholders through this process: https://docs.google.com/document/d/1FodEsGNwPU_NuMvfZsctlg6yq_dryvIDKJH2TqmrpMo/edit
closed
by Kevin McElwee at 2021-04-23 21:11:02.We have Globus and PRDS now ✅🎉
closed
by Kevin McElwee at 2021-04-23 21:11:48.dspace-operations has been archived.
closed
by Kevin McElwee at 2021-04-23 21:12:55.We've decided to centralize documentation in dspace-development
closed
by Kevin McElwee at 2021-04-23 20:12:24.In the past year, any python scripts have been executed on local environments
closed
by Kevin McElwee at 2021-04-23 20:14:12.Closed by PR #18
closed
by Kevin McElwee at 2021-04-23 20:15:00.Closed by PR #18
closed
by Kevin McElwee at 2021-04-23 20:15:16.labeled
by Kim Leaman at 2021-04-23 17:32:34.This is a feature already (it's the 'two-up' setting), but it does look like it's broken right now for some reason.
none of us could figure out how to work it. editing ticket.
labeled
by Kim Leaman at 2021-04-23 18:06:17.unlabeled
by Kim Leaman at 2021-04-23 18:06:32.renamed
by Kim Leaman at 2021-04-23 18:06:49.@cwulfman , can you look into this? (After PUDL sunsetting)
mentioned
by Cliff Wulfman at 2021-04-23 18:21:32.subscribed
by Cliff Wulfman at 2021-04-23 18:21:32.assigned
by Cliff Wulfman at 2021-04-23 18:26:24.@kelynch , is there anyone who could help me with this one?
I'll get it taken care of.
Thank you so much!!!
Should be done. Can you check and close when you get a chance?
They are all there! thank you, @tpendragon !!
mentioned
by Kate Lynch at 2021-04-23 21:04:37.subscribed
by Kate Lynch at 2021-04-23 21:04:37.closed
by Kim Leaman at 2021-04-23 21:45:59.mentioned
by Trey Pendragon at 2021-04-23 21:45:59.subscribed
by Trey Pendragon at 2021-04-23 21:45:59.convert_to_draft
by James R. Griffin III at 2021-04-23 17:37:40.I looked into this and it isn't going to be feasible. Axa is comfortable running a cap deploy from the command line, and customizing pulbot seems ill advised given its state of deferred maintenance.
assigned
by Bess Sadler at 2021-04-23 17:33:14.closed
by Bess Sadler at 2021-04-23 17:34:06.labeled
by Bess Sadler at 2021-04-23 17:34:16.closed
by Bess Sadler at 2021-04-23 17:34:28.closed
by Bess Sadler at 2021-04-23 17:34:37.closed
by Bess Sadler at 2021-04-23 17:34:45.closed
by Bess Sadler at 2021-04-23 17:35:04.Documented in the openpublishing readme and the DRDS handbook.
closed
by Bess Sadler at 2021-04-23 17:35:18.closed
by Bess Sadler at 2021-04-23 17:35:54.Production is built. Staging needs to be re-built to match dev and prod.
ojs-dev and ojs-prod are both sending email. I've asked Yuan to try things out to ensure the email notifications she's working with are configured as expected.
Reviewed in the alma checkin meeting, waiting on further update on ETAS:
We could modify bibdata to call the holdings/ALL/items endpoint where the holding id is missing, or maybe when the holding id is missing and it's not ETAS.
Note that the end state is that ETAS is not a temp location, regardless.
The items would all have to be grouped by holding id and synthesized into the response.
The fact that we have so many ETAS items means there are millions of items with temporary locations. Without ETAS it might only be reserve items, maybe new book shelves, things that are temporarily in "the Annex".
Alternately, we use the index to store ETAS status.
assigned
by None at 2021-04-23 13:29:39.referenced
by None at 2021-04-23 14:21:34.referenced
by None at 2021-04-23 14:22:35.closed
by Christina Chortaria at 2021-04-23 18:09:02.Coverage remained the same at 96.595% when pulling 8dc5992c4dd999ab6d7cc0334f25168d627f9640 on 2434-cdl-flag into c837ee56a8b0e76a7f765dc60b1f36967202d8b4 on main.
head_ref_force_pushed
by None at 2021-04-23 14:58:22.referenced
by Christina Chortaria at 2021-04-23 18:09:02.merged
by Christina Chortaria at 2021-04-23 18:09:02.closed
by Christina Chortaria at 2021-04-23 18:09:02.head_ref_deleted
by Christina Chortaria at 2021-04-23 18:09:03.referenced
by Christina Chortaria at 2021-04-23 15:24:09.merged
by Christina Chortaria at 2021-04-23 15:24:09.closed
by Christina Chortaria at 2021-04-23 15:24:09.head_ref_deleted
by Christina Chortaria at 2021-04-23 15:24:10.referenced
by None at 2021-04-23 16:58:00.merged
by None at 2021-04-23 16:58:00.closed
by None at 2021-04-23 16:58:00.head_ref_deleted
by None at 2021-04-23 16:58:00.another example, would like the "phystech" to display: https://findingaids.princeton.edu/catalog/AC317_c42486-98902.xml
https://findingaids.princeton.edu/catalog/AC317_c42486-98902
We would also like physloc to display on archival objects, as in AC107-01 through AC107-16: https://findingaids.princeton.edu/catalog/AC107-01_c13
In ASpace, you can see the physloc note "Primary Run." And it is in the xml, just not the display.
But since this is on the archival object, not on the container, would you like a separate ticket?


About:
I am Sophomore at Virginia Tech majoring in Mechanical Engineering. In the past, I have taking on varsity sports while being academically successful, and actively involved in clubs. My objective as of now is to gain experience designing, collaborating, and working hands on as an intern or Co-op while also perusing my mechanical engineering Degree. Finally, my ambition and dream is to help play a role in creating the future technology of this world.


Richard Morris Hospital sees new light
Plans are afoot to re-open Richard Morris Children’s Hospital at the United Bulawayo Hospitals (UBH) with up to US$200 000 required to procure medical equipment and refurbish the hospital that has been closed since 2008.
by Melissa ChekwaThe 44-bed hospital closed at the height of economic problems in 2008 after the managing paediatrician left the country to seek greener pastures.
Operations manager Richard Sithole said they now had a new paediatrician on site while another was set to join the hospital after they complete their studies.
Related Articles
Nurse loses US$20 000 to robbers
Nov 4, 2019 20,111 1
12 months for fake certificate nurse
Jun 11, 2019 27,137 488
Man stabbed in fight with armed robber
May 23, 2019 36,568 11
Freebie-hunting teens raped after binge
Apr 20, 2019 57,106 70
“The hospital is ready to be re-opened anytime from now provided we get the medical equipment. Medical staff is now available, refurbishment of the department has been completed, that is, painting, tiling, plumbing and electrical works,” said Sithole.
He also said gas piping of the department was at 70 percent completion and was likely to be commissioned by the end of the year. The hospital was also installing a new elevator to the three-storey hospital that was likely to be commissioned by the first quarter of 2020.
Sithole said some of the required medical equipment included beds, linen, food stools, wheelchairs, incubators, oxygen tanks, thermometers, drip stands among a full list of more than 80 essentials.
“We have acquired about 15 percent of the items and we are in the process of acquiring the other stuff through procurement and donations,” he said.
The hospital, he said, needed about US$200 000 to buy the essentials in readiness for its re-opening.
Last week Reach A Young Soul (RAYS) Trust donated 50 blankets to the UBH’s Eaton Ward, a small children’s ward at the hospital that was opened following the closure of the children’s hospital in 2008.
“In the meantime we are running a small ward called the Eaton Ward where some children are admitted. Complicated cases are taken to Mpilo Central Hospital where there is a functional children’s hospital,” he said. B-Metro


OfficeUS working with @cw_leong @dominicleong @pentagram @ArupGroup on design and installation of the Office— Storefront NYC (@storefrontnyc) May 15, 2014
OfficeUS working with @cw_leong @dominicleong @pentagram @ArupGroup on design and installation of the Office


--- layout: default permalink: /email-verified/ useContainer: false ---
Your email has been verified and you have been registered. Look out for an email to confirm your attendance for RevolutionUC as we get closer to the event!


+++ title = "first post"
View.
1 = List
2 = Compact
3 = Card
view = 3
Optional featured image (relative to
static/img/
folder).
[header] image = "" caption = ""
+++


| Interface | Description |
|---|---|
| GraphComputer |
The
GraphComputer is responsible for the execution of a VertexProgram and then a set of MapReduce jobs
over the vertices in the Graph . |
| GraphComputer.Features | |
| MapReduce<MK,MV,RK,RV,R> |
A MapReduce is composed of map(), combine(), and reduce() stages.
|
| MapReduce.MapEmitter<K,V> |
The MapEmitter is used to emit key/value pairs from the map() stage of the MapReduce job.
|
| MapReduce.ReduceEmitter<OK,OV> |
The ReduceEmitter is used to emit key/value pairs from the combine() and reduce() stages of the MapReduce job.
|
| Memory |
The Memory of a
GraphComputer is a global data structure where by vertices can communicate information with one another. |
| Memory.Admin |
The Admin interface is used by the
GraphComputer to update the Memory. |
| MessageCombiner<M> |
A MessageCombiner allows two messages in route to the same vertex to be aggregated into a single message.
|
| Messenger<M> |
The
Messenger serves as the routing system for messages between vertices. |
| VertexProgram<M> |
A
VertexProgram represents one component of a distributed graph computation. |
| VertexProgram.Builder | |
| VertexProgram.Features |
| Class | Description |
|---|---|
| ComputerResult |
The result of the
GraphComputer 's computation. |
| GraphComputer.Exceptions | |
| KeyValue<K,V> | |
| MapReduce.NullObject |
A convenience singleton when a single key is needed so that all emitted values converge to the same combiner/reducer.
|
| Memory.Exceptions | |
| MessageScope |
A
MessageScope represents the range of a message. |
| MessageScope.Global |
A Global message is directed at an arbitrary vertex in the graph.
|
| MessageScope.Local<M> |
A Local message is directed to an adjacent (or "memory adjacent") vertex.
|
| MessageScope.Local.ReverseTraversalSupplier |
A helper class that can be used to generate the reverse traversal of the traversal within a
MessageScope.Local . |
| Enum | Description |
|---|---|
| GraphComputer.Isolation | |
| MapReduce.Stage |
MapReduce is composed of three stages: map, combine, and reduce.
|
Copyright © 2013–2014 TinkerPop. All rights reserved.


#include <dialogs.h>
Inheritance diagram for TStaticText::
Public Methods | |
| TStaticText (const TRect &bounds, const char *aText) | |
| ~TStaticText () | |
| virtual void | draw () |
| virtual TPalette& | getPalette () const |
| virtual void | getText (char *s) |
Static Public Methods | |
| TStreamable* | build () |
Static Public Attributes | |
| const char* const | name |
Protected Methods | |
| TStaticText (StreamableInit) | |
| virtual void | write (opstream &os) |
| virtual void* | read (ipstream &is) |
Protected Attributes | |
| const char* | text |
TStaticText objects represent the simplest possible views: they contain fixed text and they ignore all events passed to them. They are generally used as messages or passive labels.
Descendants of TStaticText, such as TLabel or TParamText objects, usually perform more active roles. Use TParamText if you want to show dynamic text also, where dynamic means user-selectable at run-time.
Definition at line 1808 of file dialogs.h.
|
|
Constructor. Creates a TStaticText object of the given size by calling TView::TView(bounds), then sets text data member to newStr(aText). `bounds' is the bounding rectangle of the view. `aText' is a pointer to the string to show.
|
|
|
Disposes of the text string, then calls TView::~TView() to destroy the object.
|
|
|
Each streamable class needs a "builder" to allocate the correct memory for its objects together with the initialized virtual table pointers. This is achieved by calling this constructor with an argument of type StreamableInit. |
|
|
Creates a new TStaticText. Called to create an object in certain stream-reading situations. Reimplemented from TView. Reimplemented in TParamText, and TLabel. |
|
|
Draws the text string inside the view, word wrapped if necessary. A '\n' in the text indicates the beginning of a new line. A line of text is centered in the view if the string begins with 0x03 (Ctrl-C). Reimplemented from TView. Reimplemented in TLabel. |
|
|
Returns a reference to the default palette. Reimplemented from TView. Reimplemented in TLabel. |
|
|
Writes the string at address `s'. Reimplemented in TParamText. |
|
|
Reads from the input stream `is'. Reimplemented from TView. Reimplemented in TParamText, and TLabel. |
|
|
Writes to the output stream `os'. Reimplemented from TView. Reimplemented in TParamText, and TLabel. |
|
|
Undocumented. Reimplemented from TView. Reimplemented in TParamText, and TLabel. |
|
|
A pointer to the (constant) text string to be displayed in the view. |


Basic OpenLayers Map
Shows the basic use of OpenLayers with the OpenStreetmap basemap
Active Controls
- OpenLayers.Control.Navigation
- OpenLayers.Control.PanZoomBar
- OpenLayers.Control.LayerSwitcher
- OpenLayers.Control.Permalink
- OpenLayers.Control.MousePosition
- OpenLayers.Control.OverviewMap


Ship the blue gift to...
Address:
City:
Postal Code:
Ship the red gift to...
Address:
City:
Postal Code:


Firebase Realtime Chat
Pick a room:
log out
Date:
Amount:
Description:
Purchaser:
cartland owes...
npstanford owes...
rcrabb owes...
stromme owes...
Notes:
Send
leave room
Log in with GitHub
Log in with Google
Join Now


This game Pig Dice allows a player to roll a dice with his or her scores adding cumulatively per dice roll. When satisfied with score, a player clicks on the Hold button to give chance to the next player. When a player rolls on one, he or she scores a zero and the next player is given a chance to play! A player who get 100 points first is the winner


ACE gene expression OpenUrl SARS-CoV- tissues human data species CrossRef expressed mammals cats Figure conservation (A) Expression analysis cells coronavirus using COVID- mammalian (B) :.... GTEx high host multiple novel tissues. Nature SARS-CoV-. collected common dogs protein shown RNA-seq Supplementary animals based experiments highly hosts including level new showed transcriptome used various DNA available data. different patients BioRxiv Replicate UniProt bats cell higher humans infection intermediate levels lung murine number panel pangolin pangolins receptor respiratory skin suggested tissue virus Chen Data Download Genome However, MedRxiv Open Science Tabula United analyses bat data-hide-link-title=""> data-icon-position="" datasets examined figure genome highest infection. insights mammals. mice origin pattern potential project proteins reads sequences suggesting susceptible tab tissues, tracing (Accessed ;Expression Abstract Consortium. Mar Muris Note RefSeq Research SARS-CoV SARS-CoV-, Transcriptome Web alignment amino annotations browser close colors. consistent dog dogs, epidermal expression. gene. genomes humans. investigated kidney, labelled likely lungs model obtained patterns pets potentially reported sequencing similar studies study study. tree


Created by Timoteo Ponce
Online course
Weekly progress
Once uploaded, watch it many times
Assignments per week
Writing (English) will be required
Weekly remote-hangout
Final project
Class development
Assignments
Final project (no exams!!)
If you want to go fast, go alone ...
If you want to go far, go together- African Proverb
How do we build Software?
Chaotic
Code and fix
No planning
Short term decisions
Not scalable
Conventions
Procedures
Policies
Define a repeatable process
Systematic/repeatable procedure, similar to a technique
Any conventions and policies the team relies on to successfully deliver systems
Engineering methodologies
Agile methodologies
What gets us into trouble is not what we don't know ...
It's what we know for sure that just ain't so- Mark Twain
We've talked a bit about software development, processes, methods, methodologies and people interactions
But from where we draw these conclusions?
Alistair Cockburn
Do we need yet another software methodology, or can we expected a convergence?
If convergence, what must be the characteristics?
If no convergence, how can project teams deal with new methodologies?
How does the methodology relate to the people on the project?
You may be able to kick people to make them active, but not to make them creative, inventive, and thoughtful- Tom DeMarco
Proven to be wrong
Yes
e.g. aviation, laws, bureaucracy
but such scenarios are not very common...
Use knowledge gathering
combined with reflection
and adaptation
Customer engages in the creation process
Fixed scope instead of fixed price
Requirements validation is a must
Software development is an intellectual creative process
Processes are accepted, not imposed
Organization is defined, not imposed
Managers use measures
Internal metrics are useless, external metrics are better
We need adaptive managers as well
Developers can't know everything
Customers involved can also mean experts-involved
Birth of the business analyst role
Processes change over time
Adaptivity is a must
Change is best done in time-boxes
Regular review/reflect processes lead to adaptations
Doing half of something is, essentially, doing nothing- Jeff Sutherland
Philosophy
Outlines fundamental principles
Created in 2001
Value-oriented methodology
Emphasis on testing and collaboration
Automation as first order tool
Highly iterative framework
Emphasis on inspection and adaptation
Time-boxed approach
Just-enough methodologies
Emphasis on reflective improvement and frequent delivery
Advocates for close communication
Process framework
Emphasis on use-cases and object orientation
Uses modelling as design
is a philosophy
meant as guidance
is a framework
meant to be incomplete
Knowledge comes only, or primarily, from experience- Merrian-Webster
Based on what has occurred
Driven from historical metrics
Inspect project and process
Look for variances
Strike the right balance
Reduce waste, increase value
Introduce changes when needed
Adapt the process to serve the project
Make your pace and progress visual
Encourage openness across the team
Share clear status across team boundaries
Step-by-step guidance
Repeatable from project to project
Definition of key tasks and routines
Non-descriptive
A pattern is a repeatably applicable solution to a problem that arises in a specific context- Christopher Alexander
Each scrum component is a pattern
Each pattern has pre-conditions
Each pattern has expectations
Each pattern is extensible
This is my short list...
Examples
make natural, delicious food and drink that helps people live well and die old- Apron
to enable you to organize and prioritize your projects in a fun, flexible, and rewarding way- Trello
A vision should be
Product owner owns the Vision
Each team member may have a different understanding of "work completed"
Done is define by PO and Team collectively
Done should be objective and testable
Done should target product value, wasted effort should be avoided
Get a Product Owner to take responsibility for the vision of the product, and for the value that emanates from the delivery of that vision
Recurring
Frequent
Fixed-length
A sprint should produce Regular Product increment,
the team meets to plan how to create it during the sprint,
and to define a goal
A short meeting to re-plan the sprint, to let people know about blocking problems that affect the chances to complete the sprint goal
Event to asses the status of the product and learn about end user needs, opportunities and problems
Even the most gifted ones tend to fall into oblivion, a constant review of where we are and what have we done lightens the path for our destiny- Albus Percival Wulfric Brian Dumbledore
An event where the Team asses how it did its work during the Sprint
There's always room for improvement
Is not always directly related to the product
Is always related to increase the value
It's a macro daily scrum


CodeWithUs
A real-time collaborative code editing environment.
Login
Email address
Password
Login
Create an Account
Email address
Password
Signup


As you can see, we don’t have a proper portfolio web page yet, since we’ve been pretty busy
doing what we do best for our clients, namely writing computer vision and deep learning code.
We’re actually working on the portfolio, but it’s not ready yet. However, in the mean time,
you can get a grip of what we’ve done until now by taking a look at our LinkedIn profiles.
Here is Bogdan’s,
and here is Ștefan’s.


I am a Software Developer living in Perth, Western Australia. Eager to work on interesting projects and expand my horizons.
The following are a handful of projects I have worked on - Some as part of my Diploma, some personal for-fun projects.
A virtual reality application built in Unity targeting Android Mobile devices. Built alongside a team of fellow classmates as part of my Diploma of Software Development. Built for the International Centre for Radio Astronomy Research (ICRAR). GLEAMoscopeVR allows the user to experience an immersive outback environment and view the night sky in a variety of wavelengths of energy, as well as observe various points of interest in the sky and receive narrated information about them. Available on the Google Play Store here.
I maintain a personal Discord chat bot for a small (100~ users) Discord server. Originally I ran a fork of another bot, but it ran on an outdated API wrapper. So eventually I decided to write my own. The new bot is still a WIP but completely usable. It is written in Python 3.8. Creating a bot from scratch provided valuable learning experiences in asynchronous programming, as well as interacting with various APIs.
A virtual reality experience created in Unity for the HTC Vive. A short 2 minute experience that involved the player interacting with objects to complete puzzles with an Alice In Wonderland theme. Developed with a team of fellow classmates and demoed at the Supanova Convention in Perth in April 2019.
A simple Pokemon clone RPG built in a few months as a part of my Diploma of Software Development. Mostly focused on the turn-based battle system, with an overworld test area containing some wild encounters and one enemy NPC. A fun project to work on that I'd like to return to and improve one day.
When not working on one project or another, I spend most of my reading, playing games, or watching movies. My favourite genre is Horror - Both high and low quality, as well as Sci-Fi. I have a soft spot for Pokemon and anything made by From Software.
I also try to stay up-to-date with changes in the industry, and am always looking for my next project, personal or otherwise.


Airtable Local Backup¶
Introduction¶
Airtable Local Backup provides a (somewhat) user friendly way to backup data
from Airtable locally. There are a number of useful
functions to generate your own custom backup scripts or you can use the
provided Runner
class and a yaml-style configuration file ADD EXAMPLE
to orchestrate the backup.
Installation¶
For now, clone the repo and python setup.py install
COMING
$ pip install airtable_local_backup
Basic Usage¶
Creating Backups¶
from airtable_local_backup import Runner
run = Runner(path='/path/to/config/file.yaml')
run.backup()
Configuration is discussed more below and you can download an example config file.
Restoring from Backups¶
Not Implemented yet


Servers and other compound proxies using inner proxies to extend their
functionalty via calls on the inner proxies implement this interface. To
provide service-to-service functionality this interface extends
Service.
Author:
Mike Sobolewski
Method Summary
Methods inherited from interface sorcer.core.proxy.Outer


|
Perl Weekly
Issue #91 - 2013-04-22 - YAPC::NA and YAPC::EU are getting closer
latest | archive | by Gabor Szabo
|
|
Hi,
Last week, Yanick included the link to the Pinto fund-raising. A few hours after the Perl Weekly was published, I checked and I saw about 20 new contributions and the project is now 3/4 funded. You are awesome. Thank you!
In light of this success, I included a link to the Crowdtilt page again. Maybe another 20 people will want to contribute helping the campaign to reach its target.
In another note, Let me remind you that both YAPC::NA and YAPC::EU are getting closer. I have been to more than 10 such events and they are great. Not only can you learn a lot from the presentations, but meeting the people who build and maintain perl and a large chunk of CPAN is awesome. I remember at first it was a bit intimidating, but I quickly found out that some of them are actually nice people.
So if you can get to either of those events I'd highly recommend. It's fun, educational, and it is good for your work. (Pick any 2 you'd tell your boss.) Links at the bottom.
See you
|
|
|
|
Sponsors
|
We're Hiring Telecommuters - Grant Street Group
We're a growing software company using open source software/modern Perl practices to build innovative e-payment, auction, and tax collection web applications. We're looking for talented, motivated professionals committed to flawless work and customer service. Email resume<EMAIL_ADDRESS>|
|
Announcements
|
|
|
ack 2.0 has been released
ack is incredibly useful for developers who know they way around the command line. If you don't use it yet, you are wasting your time! It helps you locate code snippets like grep, but focusing on the right files.
|
|
Articles
|
Modularity in Perl - Reasons Why & Best Practice
Blue Cowdawg shows an example how to separate Model, View and Controller in a simple web application with an inventory. The only drawback is that CGI is used in the example while it could have been done with any of the simple web frameworks of Perl.
|
|
Bread::Board is the right tool for this job
As its POD says, 'Bread::Board is an inversion of control framework with a focus on dependency injection and lifecycle management.', but in what cases would you use it? Last week, Thomas Klausner asked around if BB might fit a specific project he has. This time he explains how BB fits in his specific situation.
|
|
Testing
You might have heard that the annual QA Hackathon of the Perl community took place last weekend in Lancaster. Several reports appeared to let the rest of the world (that means us) to know what has been discussed and what has been accomplished. See a few of them.
|
|
|
A New Era
You can now send in test results to the CPAN Testers while using cpanminus. In other news, The CPAN Testers database passed the 30 million reports limit. Impressive!
|
|
|
|
The Annotated Lancaster Consensus
David Golden touched on a couple of issues regarding toolchain and testing: Minimum-supported Perl; Having a 'standard' for specifying pure-perl builds; Several new environment variables for testing contexts were added to make things clearer. Changes to the specifications of the META file. Several other items.
|
|
When Must You Test Your Code?
Ovid continues his thoughts on the balance between the need for 'well tested code' and 'useful code'. In other settings people say 'making more money for the business is the only important thing', but what are the limits? Ovid uses the expressions 'do no harm' and 'mitigate harm' and 'ethical choice'. Where do you stand? Where does the company you work for stands?
|
|
|
Seeing the amount of work done, I wonder if employers of these people could allocate one or two days a month when the employee works on these things. A way to give back to the Open Source Perl community. (OK, I know, some of them are self-employed.)
|
Code
|
Parenthesise function calls
Neil Bowers, who moved to his own blogging engine, disliked some code examples I wrote the day before. He might be right with his criticism. How do you like the following code? printf q{'%s'
}, trim $z, right => 0; Would you prefer parentheses around the parameters of trim?
|
|
Introducing mvr: like mv, but clever
How can you move a bunch of files to a directory, where there are already some files with identical names, *without* overwriting them? For example when you have two pictures both called DSC0001.jpg? Maybe rename the files? Manually? Try mvr!
|
|
Fun
|
|
|
Fund raising
|
Crowd funding Pinto
Pinto makes it easy for you to manage your own private CPAN frozen to specific versions of modules that you have tested you application with. brian d foy is running the campaign on behalf of Jeffrey Ryan Thalhammer, the author of Pinto and Perl::Critic.  Literally.
|
|
Web
|
|
|
|
|
|
|
Videos
|
Getting started with Perl Dancer
New screencast on the basics of Perl Dancer. Setting up your environment on Windows and creating the first 'application' to echo back some text.
|
|
Perl 6
|
NQP on JVM bootstrapped, soon will land in NQP master
Another huge step with Jonathan Worthington. NQP (Not Quite Perl) is basically the core that Rakudo, the Perl 6 compiler is built on. (Minus a few areas where I think it still depends directly on Parrot.) Having NQP on the JVM means a large part of Rakudo can already work on the JVM.
|
|
Weekly collections
|
|
|
|
|
Perl Tutorials
|
Scope of variables in Perl
Beginners need this explanation for sure, but if you have lots of experience in Perl, do you know what's the scope of a variable declared within a package?
|
|
Scalar variables
Automatic string to number conversion in Perl. How to turn the warning into an exception, and how to avoid it in the first place?
|
|
Perl Tutorial in 10 languages
Parts of the Perl Maven Tutorial are now available in 10 different languages: Chinese (twice), French, German, Italian, Korean, Portuguese, Romanian, Russian, and English. I am certainly excited about the impact this might have.
|
|
Events
I usually list the next 3-4 events here. The list of all the events can be found on the web site. If your Perl event is not listed there, please let me know.
|
|
|
|
|
|
|
YAPC::Asia Tokyo
September 19-21, 2013, Keio University Hiyoshi Campus, Tokyo, Japan
|
|
You know, you could get the Perl Weekly right in your mailbox. Every Week. Free of charge!
|


{%extends 'all-Photos/base.html'%} {% block content%} {{block.super}} {%endblock%} {% for image in images %}
{{image.location}}
Posted {{category.pub_date|timesince}} by {{category.category.auth}}


public interface OvernightIndex extends RateIndex, Named
An index represented by this class relates to lending over one night. The rate typically refers to "Today/Tomorrow" but might refer to "Tomorrow/Next".
The index is defined by four dates. The fixing date is the date on which the index is to be observed. The publication date is the date on which the fixed rate is actually published. The effective date is the date on which the implied deposit starts. The maturity date is the date on which the implied deposit ends.
The most common implementations are provided in OvernightIndices
.
All implementations of this interface must be immutable and thread-safe.
| Modifier and Type | Method and Description |
|---|---|
LocalDate |
calculateEffectiveFromFixing(LocalDate fixingDate,
ReferenceData refData)
Calculates the effective date from the fixing date.
|
LocalDate |
calculateFixingFromEffective(LocalDate effectiveDate,
ReferenceData refData)
Calculates the fixing date from the effective date.
|
LocalDate |
calculateMaturityFromEffective(LocalDate effectiveDate,
ReferenceData refData)
Calculates the maturity date from the effective date.
|
LocalDate |
calculateMaturityFromFixing(LocalDate fixingDate,
ReferenceData refData)
Calculates the maturity date from the fixing date.
|
LocalDate |
calculatePublicationFromFixing(LocalDate fixingDate,
ReferenceData refData)
Calculates the publication date from the fixing date.
|
static ExtendedEnum<OvernightIndex> |
extendedEnum()
Gets the extended enum helper.
|
DayCount |
getDayCount()
Gets the day count convention of the index.
|
int |
getEffectiveDateOffset()
Gets the number of days to add to the fixing date to obtain the effective date.
|
HolidayCalendarId |
getFixingCalendar()
Gets the calendar that determines which dates are fixing dates.
|
String |
getName()
Gets the name that uniquely identifies this index.
|
int |
getPublicationDateOffset()
Gets the number of days to add to the fixing date to obtain the publication date.
|
boolean |
isActive()
Gets whether the index is active.
|
static OvernightIndex |
of(String uniqueName)
Obtains an instance from the specified unique name.
|
getCurrency
static OvernightIndex of(String uniqueName)
uniqueName
- the unique nameIllegalArgumentException
- if the name is not knownstatic ExtendedEnum<OvernightIndex> extendedEnum()
This helper allows instances of the index to be looked up. It also provides the complete set of available instances.
boolean isActive()
Over time some indices become inactive and are no longer produced. If this occurs, this method will return false.
DayCount getDayCount()
HolidayCalendarId getFixingCalendar()
The rate will be fixed on each business day in this calendar.
int getPublicationDateOffset()
In most cases, the fixing rate is available on the fixing date. In a few cases, publication of the fixing rate is delayed until the following business day. This property is zero if publication is on the fixing date, or one if it is the next day.
int getEffectiveDateOffset()
In most cases, the settlement date and start of the implied deposit is on the fixing date. In a few cases, the settlement date is the following business day. This property is zero if settlement is on the fixing date, or one if it is the next day. Maturity is always one business day after the settlement date.
LocalDate calculatePublicationFromFixing(LocalDate fixingDate, ReferenceData refData)
The fixing date is the date on which the index is to be observed. The publication date is the date on which the fixed rate is actually published.
No error is thrown if the input date is not a valid fixing date. Instead, the fixing date is moved to the next valid fixing date and then processed.
fixingDate
- the fixing daterefData
- the reference data, used to resolve the holiday calendarLocalDate calculateEffectiveFromFixing(LocalDate fixingDate, ReferenceData refData)
The fixing date is the date on which the index is to be observed. The effective date is the date on which the implied deposit starts.
No error is thrown if the input date is not a valid fixing date. Instead, the fixing date is moved to the next valid fixing date and then processed.
fixingDate
- the fixing daterefData
- the reference data, used to resolve the holiday calendarLocalDate calculateMaturityFromFixing(LocalDate fixingDate, ReferenceData refData)
The fixing date is the date on which the index is to be observed. The maturity date is the date on which the implied deposit ends.
No error is thrown if the input date is not a valid fixing date. Instead, the fixing date is moved to the next valid fixing date and then processed.
fixingDate
- the fixing daterefData
- the reference data, used to resolve the holiday calendarLocalDate calculateFixingFromEffective(LocalDate effectiveDate, ReferenceData refData)
The fixing date is the date on which the index is to be observed. The effective date is the date on which the implied deposit starts.
No error is thrown if the input date is not a valid effective date. Instead, the effective date is moved to the next valid effective date and then processed.
effectiveDate
- the effective daterefData
- the reference data, used to resolve the holiday calendarLocalDate calculateMaturityFromEffective(LocalDate effectiveDate, ReferenceData refData)
The effective date is the date on which the implied deposit starts. The maturity date is the date on which the implied deposit ends.
No error is thrown if the input date is not a valid effective date. Instead, the effective date is moved to the next valid effective date and then processed.
effectiveDate
- the effective daterefData
- the reference data, used to resolve the holiday calendarString getName()
This name is used in serialization and can be parsed using of(String)
.
Copyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at opengamma.github.io/StrataDocs.


TITTY MOUSE and Tatty Mouse both lived in a house, Titty Mouse went a leasing and Tatty Mouse went a leasing,
So they both went a leasing.
Titty Mouse leased an ear of corn, and Tatty Mouse leased an ear of corn.
So they both leased an ear of corn.
Titty Mouse made a pudding and Tatty Mouse made a pudding,
So they both made a pudding.
And Tatty Mouse put her pudding into the pot to boil,
But when Titty went to put hers in, the pot tumbled over, and scalded her to death.
Then Tatty sat down and wept; then a three-legged stool said: 'Tatty, why do you weep?' 'Titty's dead,' said Tatty, 'and so I weep.' 'Then,' said the stool, 'I'll hop,' so the stool hopped.
Then a broom in the corner of the room said: 'Stool, why do you hop?' 'Oh!' said the stool, 'Titty's dead, and Tatty weeps, and so I hop.' 'Then,' said the broom, 'I'll sweep,' so the broom began to sweep.
Then said the door, 'Broom, why do you sweep?' 'Oh!' said the broom, 'Titty's dead, and Tatty weeps, and the stool hops, and so I sweep.' 'Then,' said the door, 'I'll jar,' so the door jarred.
Then said the window, 'Door, why do you jar?' 'Oh!' said the door, 'Titty's dead, and Tatty weeps, and the stool hops, and the broom sweeps, and so I jar.'
Then said the window, 'I'll creak,' so the window creaked.
Now there was an old form outside the house, and when the window creaked, the form said: 'Window, why do you creak?' 'Oh!' said the window, 'Titty's dead, and Tatty weeps, and the stool hops, and the broom sweeps, the door jars, and so I creak.'
'Then,' said the old form, 'I'll run round the house,' then the old form ran round the house. Now there was a fine large walnut-tree growing by the cottage, and the tree said to the form: 'Form, why do you run round the house?' 'Oh!' said the form, 'Titty's dead, and Tatty weeps, and the stool hops, and the broom sweeps, the door jars, and the window creaks, and so I run round the house.'
'Then,' said the walnut-tree, 'I'll shed my leaves', so the walnut-tree shed all its beautiful green leaves. Now there was a little bird perched on one of the boughs of the tree, and when all the leaves fell, it said: 'Walnut-tree, why do you shed your leaves?' 'Oh!' said the tree, 'Titty's dead, and Tatty weeps, the stool hops, and the broom sweeps, the door jars, and the window creaks, the old form runs round the house, and so I shed my leaves.'
'Then,' said the little bird, 'I'll moult all my feathers,' so he moulted all his pretty feathers. Now there was a little girl walking below, carrying a jug of milk for her brothers' and sisters' supper, and when she saw the poor little bird moult all its feathers, she said: 'Little bird, why do you moult all your feathers?' 'Oh!' said the little bird, 'Titty's dead, and Tatty weeps, the stool hops, and the broom sweeps, the door jars, and the window creaks, the old form runs round the house, the walnut-tree sheds its leaves, and so I moult all my feathers.'
'Then,' said the little girl, 'I'll spill the milk,' so she dropt the pitcher and spilt the milk. Now there was an old man just by on the top of a ladder thatching a rick, and when he saw the little girl spill the milk, he said: 'Little girl, what do you mean by spilling the milk?--your little brothers and sisters must go without their supper.' Then said the little girl: 'Titty's dead, Tatty weeps, the stool hops, and the broom sweeps, the door jars, and the window creaks, the old form runs round the house, the walnut-tree sheds all its leaves, the little bird moults all its feathers, and so I spill the milk.'
'Oh!' said the old man, 'then I'll tumble off the ladder and break my neck,' so he tumbled off the ladder and broke his neck; and when the old man broke his neck, the great walnut-tree fell down with a crash, and upset the old form and house, and the house falling knocked the window out, and the window knocked the door down, and the door upset the broom, and the broom upset the stool, and poor little Tatty Mouse was buried beneath the ruins.


Although Mozilla feels almost like a household name at this point, it is a relatively small organization - tiny, actually - compared to the companies that ship similar types of software [1]. We must, however, have the impact of a much larger entity in order to ensure that the internet stays an open platform accessible to all.
Producing consumer software which influences the browser and smartphone OS markets in specific ways is how we make that impact. Shipping that software requires teams of people to design, build and test it, and all the countless other aspects of the release process. We can hire some of these people, but remember: we're relatively tiny. We cannot compete with multi-billion-dollar mega-companies while operating in traditional ways. Mozilla has to be far more than the sum of its paid-employee parts in order to accomplish audaciously ambitious things.
Open source code and open communication allow participation and contribution from people that are not employees. And this is where opportunities lie for both Mozilla and universities.
For universities, undergraduates can earn credit, get real world experience, and ship software to hundreds of millions of people. Graduate researchers can break ground in areas where their findings can be applied to real world problems, and where they can see the impact of their work in the hands of people around the world. And students of any kind can participate before, during and after any involvement that is formally part of their school program.
For Mozilla, we receive contributions that help move our products and projects forward, often in areas that aren't getting enough attention only because we don't have the resources to do so. We get an influx of new ideas and new directions. We gain awesome contributors and can educate tomorrow's technology workers about our mission.
I've been working with a few different programs recently to increase student involvement in the Firefox OS:
- Portland State University: The PSU CS Capstone program, run by Prof. Warren Harrison, has teams of students tackling projects for open source groups. The teams are responsible for all parts of the software life-cycle during the project. In the spring of 2013, a group of five students implemented an example messaging app using Persona and Firebase, documenting the challenges of Web platform development and the Firefox OS development/debugging workflow. This year's group will implement a feature inside Firefox OS itself.
- Facebook Open Academy: This is a program coordinated by Stanford and Facebook, that puts teams from multiple universities together to build something proposed by an existing open source project. The Firefox OS team includes students from Carnegie-Mellon, Purdue, Harvard, Columbia in the US, and Tampere UT in Finland. They're adding a new feature to Firefox OS which allows you to share apps directly between devices using NFC and Bluetooth. With 14 members across five universities, this team is collaborating via Github, Google Groups, IRC and weekly meetings for both the front-end and back-end parts, providing experience with remote working, group coordination and cross-team collaboration.
- University of Michigan: Prof. Z. Morley Mao's mobile research group has started looking at device and network performance in Firefox OS. They've got a stack of phones and SIM cards, and we're working with them to find ways to improve battery life and network efficiency on our devices. They've started a collection of focus areas and related research on the Mozilla wiki. If you're at an academic institution and would like to learn more about how to get your department or your students involved, or if you're a Mozillian who wants to coordinate a project with your alma mater, email me!
- Mozilla has ~1000 employees. According to Wikipedia, Google has ~50,000 employees, Apple ~80,000 and Microsoft ~100,000.


Warped-Time: Demo
Warped-Time is a helper library that provides an equivalent to
(new Date).getTime() with variable progression speed.
Github:
Warped-Time
|
Docs
|
View Source
|
Examples
Drag the time slider ⏪ to watch time progress forwards and backwards.


Coerced types
Coerced types allow Mutable
objects to be set to a value of the subclassed
type. Unlike tracked types, attributes and items of Mutable
objects will not
be converted to coerced types.
Supported coerced types are:
bool
complex
datetime.datetime
float
int
str
types.FunctionType
Examples
We begin with setup as follows.
from sqlalchemy_mutable import Mutable, MutableType, MutableModelBase, Query
from sqlalchemy import create_engine, Column, Integer, String
from sqlalchemy.orm import sessionmaker, scoped_session
from sqlalchemy.ext.declarative import declarative_base
# create a session (standard)
engine = create_engine('sqlite:///:memory:')
session_factory = sessionmaker(bind=engine)
Session = scoped_session(session_factory)
session = Session()
Base = declarative_base()
# subclass `MutableModelBase` when creating database models
# with `MutableType` columns
class MyModel(MutableModelBase, Base):
__tablename__ = 'mymodel'
id = Column(Integer, primary_key=True)
greeting = Column(String)
# initialize a database column with `MutableType`
mutable = Column(MutableType)
# add a query class attribute initialized with a scoped_session
# not necessary for use with Flask-SQLAlchemy
query = Query(Session)
def __init__(self):
# set mutable column to `Mutable` object
self.mutable = Mutable()
# create the database (standard)
Base.metadata.create_all(engine)
String example.
model = MyModel()
model.mutable = 'hello world'
model.mutable
Out:
'hello world'


http://www.dailydot.com/news/pinterest-steve-amazon-spammer-tells-all/
First week of doing this I made around $2,000
--- title: "A pinterest spammer talks" layout: "post" permalink: "/2012/03/pinterest-spammer-talks.html" uuid: "2628996342155043414" guid: "tag:blogger.com,1999:blog-5365176712784435549.post-2628996342155043414" date: "2012-03-28 08:40:00" updated: "2012-03-28 09:19:40" lang: us --- {% raw %}
First week of doing this I made around $2,000


--- layout: archive title: Zulip Chat Archive permalink: /stream/144837-PR-reviews/topic/.23410.20backwards.20reasoning.html ---
I've just made a [WIP]
pull request for the backwards reasoning tactic which has been discussed in <https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/proposal.20for.20.60backwards_reasoning.60>.
It still needs some work (possibly not all of it before merging):
1. Verify that this can be used as a replacement for backwards_reasoning
currently in lean-tidy
, for applications in lean-category-theory
.
2. Combine the back
and elim
attributes into just back
, and back!
, using !
as a parameter.
3. Indexing, to make it fun fast. (It's not slow on small examples, but...?)
4. Refactor, and cleanup, as it's not the nicest code at the moment.
I am going to get on with 1. If anyone is interested in helping with 2/3/4 (@Simon Hudon ? @Reid Barton ?) that would be amazing. :-)
Sure, I'll have a look at 3
Currently the example tests/back.lean
seems to be broken.
Here are the constraints:
You might think we want to apply "progress" lemmas first (because they've been selected as lemmas which "it's always helpful to apply"!). However it's easy to find situations where you really want to apply a local hypothesis with even higher priority. The current hack is to call solve_by_elim
with all the lemmas, and then if that fails, try applying a progress lemma and restart back
. This is horribly inefficient (in particular, it can uselessly call solve_by_elim
over and over again).
Okay, mostly talking to myself here, but I think this is the behaviour I want from back
(and will need to rewrite to actually achieve).
Given lists of lemmas P
and F
(for "progress" and "finishing"), I want to produce a maximal tree of applications, possibly still with metavariables (i.e. remaining subgoals), subject to the condition that no metavariable appears inside an application of a lemma from F
. (It might seem that this means if you use any F
lemma, you have to discharge the original goal, but that is not the case --- a P
lemma might produce multiple subgoals, and then we use F
lemmas to completely discharge some but not all of these.)
Now, in general there are many possible such maximal trees. I want to do a depth first search of the space of possible applications, where at each stage the lemmas as sorted according to their "number of open arguments", where "open arguments" just means an argument that would create a subgoal when the lemma is applied. (This is more or less the same as the number of arguments which could not be made implicit!) This ensures that if it is ever possible to actually close a goal immediately, we will investigate that before applying lemmas that would create a further subgoal. It also means it's possible to use transitivity lemmas (e.g. category.comp
) in back
, but as these typically produce at least 3 new subgoals, they will only be explored "as last resorts".
@Keeley Hoek, do you think computing that "number of open arguments" for a lemma is easy? I was thinking you'd have to inspect each binder in a Pi type, and just check whether the corresponding var
actually occurs in the result.
there is a function that does this in expr
it is used for pretty printing exprs, since nondependent pis look different
Sure
Just to make sure I understand: the number of "open arguments" of each lemma isn't something that can change throughout the iterations, is it?
Seems like an afternoon-doable thing I guess
So with unwinding, what are we meant to do if we never actually fully discharge the goal?
Say I have a list of "terminal" goals in the search, which one do I actually decide the goal state should be?
---perhaps this backtracking could be a pain
By the way, here is another problem I had when writing #where
; since data.list.basic
imports data.nat.basic
, you can't use any code which, say implements sorting lists (as we will want here) which is defined in that file unless you want your tactic to be unusable there.
But, particularly in data.list.basic
, there are a whole bunch of useful functions which are just algorithms, but the proofs which are listed alongside them carry the burden of knowing facts about nats, for example. Is there any scope for separating what is a program/routine and what is a proof about a program?
yes, this is reasonable. For the most part we have gotten away without it because all the defs are in init.data.list.basic
, but we should probably have a file for additional functions on lists added in mathlib
So with unwinding, what are we meant to do if we never actually fully discharge the goal?
Say I have a list of "terminal" goals in the search, which one do I actually decide the goal state should be?
---perhaps this backtracking could be a pain
I'm not really sure what you meant here. (Also, I wasn't trying (too hard) to pressure you into doing any of this, Keeley. I think I will rewrite the main algorithm, but without the "sorting by number of open arguments" part at first.)
Ok sure that's cool
But yeah if we just count non-implicit arguments working out that number is totally not a big deal
What I was trying to say is if we work out some "tree" with some leaves, none of which actually end up closing all of the goals and giving a proof, we're meant to return control back to the user (and not fail), right? If I understood what the tree was right then wouldn't we have to pick a leaf to leave the goal state in? (if so and I don't misunderstood, I was wondering how to pick this leaf)
Oh, I see, you mean what order should the goals be returned in?
The safe option is probably just to backtrack, and don't pick a leaf.
I guess just the order they pop out of apply
in.
No, that's not what he meant.
Ah!
Okay :-) Sorry, two different trees going on here.
My idea was just to never backtrack back pass the successful application of a progress
lemma
So it matters how they get ordered!
What I would like to have in the future is that (if the number of leaves is reasonable), I can just cycle through them interactively, and tell the computer: "Hey, this one looks interesting, let's keep it around." or "Mwahh, this one's going nowhere. We can toss it out."
It may be necessary to give the user a way to specify both progress and finishing lemmas directly.
Ok gotcha
I guess the "maximal trees" were psyching me out
I was wondering if we can actually write something like: back [foo!, bar, baz!]
, and use the exclamation marks to distinguish between the two sorts of lemmas.
yep that's a thing
(like an easy thing I mean, supported functionality even!) :D
I think actually it might be worth swapping the meaning of !
and no-!
, so !
is for decorating the "progress lemmas". As in "this lemma is a really good idea, apply it whenever you can!"
How about :commitment:
for commit
ed xd
We don't really care about commit
s though... only about push
and merge
... but I don't know good emoji's for those either...
Hi @Mario Carneiro, do you recall the name of this function:
Mario Carneiro: there is a function that does this in expr
Mario Carneiro: it is used for pretty printing exprs, since nondependent pis look different
I've had a look but can't identify it.
Recall this is inspecting a lemma, and deciding how many arguments it has that are not fixed by the return type. Hopefully this is the same number as the number of new goals that will be created when we apply
the lemma.
I think maybe there is a little subtlety with dependence here scott which has to be accounted for because of the following situation:
say a big 2-layer Pi binder has type var 0
(nice and simple), but the inner pi binder defining var 0
has type depending itself on var 0
(which now refers to the outer Pi binder)
Then we should observe that both arguments will have to be accounted for, right?
Oof, I'm not sure I follow. Can you give an example?
I've just pushed a major revision of back
. It's more efficient, has better user interface, and entirely subsumes apply_rules
. (And possibly also solve_by_elim
, I'd have to think a bit.)
When making an example I realised my original point was just something that you'd make an implicit arg, but here is a variant.
def my_type (n : ℕ) := Type def my_identity {n : ℕ} (t : my_type n) : Type := t
Imagine applying my_identity
to the goal. The nat n
will be deduced when the goal associated with t
is cleared, but the var associated to n
does not appear in the type and will be considered explicit. I guess changing this is just an improvement to the goal-estimator.
Also super sick tactic
I think I'm happy for apply my_identity
to count as creating two goals. Unfortunately I haven't yet worked out how to do this accounting, and I can see playing with examples that it will be really helpful. You'll be able to tag more ambitious lemmas as [back]
without worrying about them derailing quick and otherwise successful searches.
@Scott Morrison Just reading the docs for back
that you wrote. So in the list hs
there is no distinction between foo
and foo!
?
There is! (Or there should be... docs aren't finished.)
first, in the list you have to write it as !foo
for now, as I couldn't get the parser to accept trailing punctuation in a list.
second, using !foo
will include foo
in the list of lemmas whose successful application qualifies as an overall success, even if we don't end up discharging all subgoals.
@Simon Hudon, do you know this one? How do I tell ahead of time how many goals apply L
will create, if L
is some expr? I want to count how many Pi binders there are, that aren't determined by the result type.
@Scott Morrison This is really cool! I'm looking forward to having this in my toolkit :hammer:
Said another way, if you pretty-printed the type, some arguments would be shown as Pi's and some just as function arrows (because nothing later depends on that argument). I want to know the number that will appear as function arrows.
Mario said that this exists somewhere in expr
, for the sake of pretty-printing, but I haven't been able to find it.
is_arrow
will give you that information for the first pi type. If you want to count the arrows, you can do it like this:
meta def count_arrows : expr -> ℕ | (expr.pi n bi d b) := if b.has_var_idx 0 then count_arrows b else 1 + count_arrows b | _ := 0
You can modify this code to list their types but you'll need to take better care of bound variables.
I really just need the count for my application, so this is perfect.
:+1:
err... while you're here, do you know how to sort lists by the value of a function in Lean?
Please let me know if it works. I haven't used has_var_idx
before and I'd like to make sure I used it properly
Does that really work simon? Like what if b
is another expr.pi
, so that a var 0
bound under this other pi
changes the meaning of var 0
Does has_var_idx
actually account for that? (I guess I should just read its implementation)
@Keeley Hoek I think so. The correct way of implementing it would be that every time you encounter a binder, instead of calling recursively has_var_idx n
you call has_var_idx $ n+1
so that when you use the function, you're actually looking for variables bound exactly where the call originated from.
Actually, according to line 303 of src/library/vm/vm_expr.cpp is seems that expr.has_var_idx _ 0
always returns false?
sure makes sense
From a little test I'm definitely wrong
But I totally don't understand why :D
Oh auto n
is a pointer, all g
@Scott Morrison If you import data.list.sort
, you can choose your sorting algorithm (say merge_sort
) and you have to provide a relation. What you can do if you want to sort according to f
is to use inv_image (<) f
as the relation you're going to sort with.
@Keeley Hoek Thanks for looking into it. I'm reassured :)
Note though that then you can't use back
in the stuff which data.list.sort
imports, which includes tactic.interactive
and algebra.group
. If anyone more confident could come up with some "official" names for an algorithm file and a proof file, I'll de-splice like mario suggested/claimed non-opposition-in-principle above
Is the issue that you're putting back
in tactic.interactive
?
it's not an issue per-se
It's just that if you ever want to prove something with back in any of those files it includes
well
you can't
Oh, this is beautiful. count_arrows
does exactly what I wanted (after I remembered to infer_type
on the lemma .... duh!), and moreover sorting the lemmas by count_arrows
has exactly the desired effect, and back
is no longer distracted when you give it dumb lemmas (e.g. transitivity style lemmas).
whooooooooooooooooooooooooooooooooooo
@Keeley Hoek To reduce the size of the dependency, you can use qsort
which is defined in core
Thanks simon I didn't know about that
Oh, it turns out I need one little tweak to count_arrows
. Since I automatically try applying iff
statements in both directions, I need to add one if the statement ends with an iff
.
how about data.list.defs
?
@Scott Morrison Try
| `(%%a <-> %%b) := 2 + count_arrows a + count_arrows b
as an additional branch
ooh, I'm not sure that's actually the counting I want.
I think 1 + min (count_arrows a) (count_arrows b)
is actually what I need.
In any case, thanks. I see that handling iff
s requires a bit more work, but I'll have to pause for now.
Good luck :) I've been meaning to look more closely at your project but I've been pretty absorbed by something else ... plus three other projects. In any case, don't hesitate to call on me if you need to.
@Scott Morrison Is back going to kill this goal for me?
⊢ X.left ⟶ X.left
I currently have
{ app := λ X, by {tidy, exact 𝟙 _, tidy, exact 𝟙 _, tidy, } },
@Johan Commelin: If you tag category.id
with back
then tidy
will kill this goal.
However this would be a bad idea. Better would be to define an attribute [fyn]
, and tag category.id
, category.comp
, and a few other things with [fyn]
, and then define meta def follow_your_nose : tactic unit := `[back [fyn]]
, and then local attribute [tidy] follow_your_nose
will result in tidy
being able to kill goals like this.
I've now removed apply_rules
, moving its test cases into the test cases for back
.
My todo list is now:
solve_by_elim
should be subsumed by back
; they are very close.back [lemma] using [attr]
instead of back [lemma, attr]
.back using [!attr]
.!
for lemmas, e.g. back [attr!]
instead of the current back [!attr]
?back
, so we can write something like local attribute [back] dvd
, where dvd
is itself an attribute. (Not sure about the best implementation here.)Any suggestions about the implementation of the last two points appreciated.
Okay, back
is getting more awesome. :-) How about this:
theorem infinitude_of_primes'' (N : ℕ) : ∃ p ≥ N, prime p := begin let M := fact N + 1, let p := min_fac M, use p, have pp : prime p, back, -- Goal is `∃ (H : p ≥ N), prime p` split; try { assumption }, -- Goal is `p ≥ N`. by_contradiction h, simp at h, back, end
(That is, back
successfully, and quickly, runs the whole "p | fact N
, and p | M
so p | 1
, but that's nonsense" argument by itself.)
how is back
performance looking at this point?
And if you write back?
there, it prints:
exact prime.not_dvd_one pp ((nat.dvd_add_iff_right (dvd_fact (prime.pos pp) (le_of_lt h)).mpr) (min_fac_dvd M))
nice short proof there
It seems fast to me. :-)
example {a b c d e : nat} (h1 : a ≤ b) (h2 : c ≤ d) (h3 : 0 ≤ e) : a + c * e + a + c + 0 ≤ b + d * e + b + d + e := by back [add_le_add, mul_le_mul_of_nonneg_right]
takes 0.259s, producing the proof add_le_add (add_le_add (add_le_add (add_le_add h1 (mul_le_mul_of_nonneg_right h2 h3)) h1 ) h2) h3
.
The proof above about primes takes 0.189s.
I think the basic performance point here is: Leo made apply
incredibly fast, and so if you don't do anything dumb with it, tactics based on it are fast.
I recall you mentioning that there were some known inefficiencies, are those fixed now?
(And I should say, of course, back
is really just tweaks and improvements on the already awesome solve_by_elim
, by @Simon Hudon).
Yes, the efficiency problems are gone. It's a complete rewrite.
A big todo list item remaining is the decide whether to replace solve_by_elim
with back
. There are two reasons I don't want to do this immediately:
1) I'd have to check that back
really is just as fast in all the applications in mathlib. (I suspect it is.)
2) There's a fair bit of code in back
, and I'd prefer to get some review of it before going to the effort of making replacements. :-)
What does back
do? I know people talk about it but I have no idea what it is supposed to do.
That proof of the infinitude of primes makes me wish for a few things:
1) split
would try assumption
on each propositional goal it produces (or perhaps even back
!)
2) by_contradiction h
would automatically try simp at h
afterwards?
That proof of the infinitude of primes makes me wish for a few things:
1)split
would tryassumption
on each propositional goal it produces (or perhaps evenback
!)
you can write a split'
tactic that does that! :D
3) For a tactic have' p : Q
, which is just have p : Q, back
, for some better name for have'
. :-)
2)
by_contradiction h
would automatically trysimp at h
afterwards?
you can write by_contradiction'
! :D
in the limit, our proofs will be entirely '
s
@Kevin Buzzard, to a first approximation, back
is just solve_by_elim
. It repeatedly `apply's hypotheses against the goal, succeeding if it discharges the goal.
You can also pass it extra lemmas to use. You can also pass it attributes to use (so all lemmas with that attribute are applied). You can (soon) give it "hints", saying, for the rest of this file, always use all the lemmas marked with this attribute.
You can also mark a lemma or hypothesis with !
(as in back [!foo]
, or attribute [back!] foo
), and then back
will act as an "interactive tactic" --- if it manages to apply a !
lemma, it will return successfully even if it didn't complete every resulting subgoal.
import tactic.interactive namespace tactic.interactive open lean.parser tactic interactive meta def split' : tactic unit := `[split; try {assumption}] end tactic.interactive example {p q : Prop} {hp : p} : p ∧ q := by split' example {p q : Prop} {hp : q} : p ∧ q := by split'
It's also clever enough to accept iff
lemmas. (Although the current implementation says: if you apply an iff lemma, never apply it again.)
in the limit, our proofs will be entirely
'
s
https://en.wikipedia.org/wiki/Iota_and_Jot
I vote then
for have, back
can't wait for thus
, hence
and therefore
Actually I don't think you can use then
oh, if then?
Yeah, it's complaining about "invalid expression"
thither
nope, it's fine
namespace tactic.interactive meta def «then» := «have» end tactic.interactive example : true := begin then a : true := trivial, end
you have to quote it since it's keywordish
have
is also defined like this
although it's a bit weird that it shows up purple in the highlighting
@Mario Carneiro how would you convert my split; try {assumption}
to tactic notation?
?
I wrote this:
meta def split' : tactic unit := `[split; try {assumption}]
and I wonder how to write it using ... how do you call it
monads and what not
because once I tactic.split
it's hard to keep track of the newly added goals
I could get the goals before and after and just compare the length
but I don't think that's very safe nor the best way to do it
a straight translation:
namespace tactic meta def split' : tactic unit := (split >> return ()); try assumption end tactic
I have much to learn
the semicolon operator is tactic.seq_focus
you can see what it does for goal management
I see that the unsafe option (actually it's safe, it just seems weird) is used
well technically it is different
I've learnt, thanks
unsafe?
I don't feel very comfortable messing with the goals
you can often just get away with using the built in tactic combinators like and_then
if it suffices
@Scott Morrison So we can now also do the following?
theorem infinitude_of_primes'' (N : ℕ) : ∃ p ≥ N, prime p := by use min_fac (fact N + 1); tidy
Or will tidy
not (yet) try the proof by contradiction? If we want to golf this proof, I suggest we introduce N!
notation for factorials :rolling_on_the_floor_laughing:
One thing to remember is that part of the philosophy of tidy
is that it does no backtracking. So if we wanted to add by_contradiction
to tidy, it would be because we're committing to "when all else fails, actually go ahead and try contradiction (returning to the user the goals produced by by_contradiction
", which I don't think is a good idea.
Right... so we need a bigger hammer (-;
Is it possible to write something like tidy [by_contradiction]
so that tidy
knows it can use that tactic for this proof?
It's a reasonable idea. So far tidy
doesn't take many configuration arguments.
Wouldn't tidy { tactics := [by_contradiction >> return "by_contradiction"] }
work
Oh, hmm, yeah :-)
Wouldn't
tidy { tactics := [by_contradiction >> return "by_contradiction"] }
work
Cool! So the functionality is there. Now we only need to make it a bit more user-friendly. I guess the >> return "by_contradiction"
is needed for the trace output, right? How hard is it to write a function that takes a tactic
and stringifies its name?
Well, Scott, if we use the fancy configurator then we could parse tactic unit
s and tactic strings
at the same time ;)
But there is the dreaded {}
requirement.
Maybe an extra character? tidy
or tidy@{ my_config }
? I suspect this won't be approved :P
Unfortunately, Johan, the only way to obtain the name of a tactic you are passing is to use a parser
, which is some work to set up the most convenient way.
what about tidy with [stuff]
?
Rather than trying to guess the tactic script, you should just have some additional tidy tactics that are enabled explicitly via some tags
@Scott Morrison What is the status of this PR? I got the impression you made quite some nice improvements. Do you have more up your sleeve?
It's a bit rough, but could be made usable with not much effort. However, I'd also like to put in a larger amount of effort, to make it better. :-)
Essentially, at the moment it does a depth-first search of possible uses of apply
(with a simple heuristic to order the branches, and one or two rules for cutting off the search). I'd really like to restructure the core code a bit, to make the type of search configurable, as once you make "too many" rules available to back
the depth first search starts being too dumb.
I'd really like to have it more robust to having "too many" rules, so that it's possible to just set and forget large groups of rules, and still have back
performant enough.
Given back?
produces proof terms that you can copy and paste, it's potentially a good hammer.
I have a question about this PR. How is it related to the core library back_chaining tactic?
And, since @Sebastian Ullrich is here: what is the status of this tactic? What is only a tech demo, or is it meant to be ready for use? I discovered it while reading demo slides (POPL 2017)
I suppose it's just as ready to use as rcases
. Which you people probably have more experience with and opinions about than me.
Is it possible to use custom tags, or does it have to be intro
?
It looks like only two things are tagged with intro
in core+mathlib
but still we could want several sets of lemmas depending on the kind of statement we'd like to prove
That's a great question, Patrick. It looks closely related (and both to solve_by_elim). This one is implemented in C, and does two extra things --- allows you to specify a "simp" tactic to apply at each step, and allows you to specify a "leaf" tactic to apply once you run out of lemmas but haven't closed the goal.
It doesn't seem to give you that much control over which lemmas to use (i.e. just the one attribute [intro])
and back
additionally gives you the idea of "progress" lemmas, i.e. lemmas whose successful application will result in the tactic being considered a success, even if it doesn't finish the proof. I've found this very useful in practice (and as part of tidy
).
(I had no idea this one existed!)
I found it yesterday!
I have a riddle now. Download https://github.com/leanprover/lean/blob/master/library/init/meta/backward.lean It works. Now add import data.multiset
on top. It doesn't work anymore.
backward.lean
is in init
so it will be loaded automatically. data.multiset
will import it.
prelude
means to _not_ load init
Oops, I copied the wrong link. I meant https://github.com/leanprover/presentations/blob/master/20170116_POPL/backchain/builtin.lean
I'm sorry about this confusion
Mario, did you try this little puzzle? Were you aware of back_chaining
?
as I thought, it's a notation ambiguity problem
in_tail
and in_head
break because the ::
is overloaded notation that means multiset.cons
and list.cons
In this case you can fix it by putting a type ascription around a::l
Thanks. Are you sure this notation overloading was a good idea?
no, it's avoided almost everywhere because lean is flaky about it
but in this case ::
is already overloaded in core so there isn't much we can do about it
Sorry, I didn't realize this was in core
@Scott Morrison Any updates with regards to back
? Are there big issues, or just little things that need to be done? I still don't have the time to seriously learn how to write tactics, but I would love to see this one land in mathlib. If you are to busy with real-world maths, then I completely understand (it is eating my time as well).
Last updated: Apr 24 2020 at 19:02 UTC


The Basics
If you are a shopaholic and want to visit Singapore only for your love of shopping, then visit the country between June to August. That’s the best season to visit Singapore for shopping as The Great Singapore Sale is organized during this period.
The duration between July and August is not a very popular time to visit Singapore, therefore giving you an opportunity to crack some of the best flight and hotel deals. If you are a solo traveler, you need not worry about the best time to visit Singapore, as it has a lot in the store every month.
The Musts
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Hainanese Chicken Rice
TIAN TIAN HAINANESE CHICKEN RICE AT MAXWELL
BOON TONG KEE CHICKEN RICE AT BALESTIER
WEE NAM KEE HAINANESE CHICKEN RICE
CHATTERBOX


Surg filler injection complications treatment skin {border-style fillers esthetic px;} #ffffff;} Dermatol Plast dermal facial patient use Reconstr hyaluronic adverse events factors management nodules [], acid late-onset risk vascular Suppl complications. hyaluronidase patients procedures time Table plan px; {font-family anatomy font-size important inflammatory intravascular knowledge physician placement product tissue Clin advisable area aseptic cosmetic double; include increase lead oral practice technique treatment. vital -point Aesthet Complications Cosmet Cosmetic Facial Filler Med areas avoiding border-color border-width cannula careful characteristics consent considered dental history immune infective injectable mandatory. minimally multiple needle optimal previous procedural signs solid; systemic {font-style {font-weight Cohen Cutan DeLorenzi Department H-receptor Investig Product Rahman algorithms barrier bold cases checklist clinical complications, courier; cross-linking delayed depth em; events, events. experienced field following hours hyaluronidase, importance. increased informed loss necrosis potential procedure pt;} reactions reduce role specific sterile treating using work


The winged-helix transcription factor Trident is expressed in actively dividing lymphocytes.
Abstract
We recently identified the winged-helix transcription factor Trident and described its expression pattern in synchronized fibroblasts. We have now studied Trident expression in cell lines, differentiating thymocytes and in lymphocytes derived from peripheral blood. During T cell differentiation, expression peaked in the actively dividing immature single positive cells. In peripheral blood lymphocytes, expression of Trident mRNA was absent, but could be induced upon stimulation with mitogens in vitro. These observations imply a function for Trident in dividing lymphocytes.


Rendering Large Point Clouds in Unity
Bachelor Thesis, Simon Fraiss
simon.nosp@m..fra.nosp@m.iss@g.nosp<EMAIL_ADDRESS>Namespaces:
- CloudData: Containing data structures for storing the cloud data
- Controllers: MonoBehaviour-Scripts for loading PointClouds
- DataStructures: Useful data structures used in the Project
- Eval: Helper classes used during Evaluation
- Loading: The GameObject-Update-System
- ObjectCreation: MeshConfigurations defining how the points should be rendered
Important classes for usage: