|
Nazca LinesNazca turn-ons include pottery, weaving, inventing different kinds of paint, irrigation and drawing humongous pictures of monkeys, lizards, llamas, people and dogs in the desert sands. Turn-offs include littering, drought, conquerors and extinction.The Nazca Indians lived in Peru during the first millennium of the Christian Era. The Nazca had a reasonable sophisticated society, with fairly advanced craft skills. They were subsumed after a series of conquests by neighboring tribes, all of whom are now virtually extinct. The Nazca left no great literature. They built no fabulous palaces. They were not hiding weapons of mass destruction. They didn't memorably slaughter any other culture. In short, there is only one reason that the Nazca have been elevated above the level of historical footnote -- the Nazca Lines, gigantic illustrations etched into the ground which can only be viewed from high in the air. The Nazca Lines are a form of art called geoglyphs, which scientists tell us means "giant pictures drawn on the ground." From the ground, the Nazca lines basically look like footpaths. The lines were made by scraping away the dark surface dirt to reveal the lighter colored dirt underneath. For centuries, the lines were seen simply as sacred paths used by the surviving remnants of the Nazca and other Indians in the region. In 1927, a local archaeologist named Mejia Xespe "discovered" the lines for modern audiences. When viewed from the air, he found that the apparent paths didn't really lead anywhere and speculated that they were used for pointless "walking around in circles" ceremonies by the Nazca. A dozen years later, an American historian named Paul Kosok tried to map out one of the Nazca Line sets and discovered that it kind of looked like a bird. He speculated that the lines functioned as a positional calendar, similar to Stonehenge. But as Kosok and his research assistant Maria Reiche (who took over the project in the '40s) continued to map the lines, they discovered more and more pictures. To the astonishment of the scientific community, aerial photography documented that the lines were massive pictures drawn across more than 200 square miles. In all, more than 110 pictures and simple geometric structures have been mapped in the region. About 70 of the Nazca diagrams depicted people or animals, including hummingbirds, pelicans and dogs. There were several reasons why this discovery was astonishing. For one thing, the first millennium C.E. was notoriously short on airplanes, which meant that (in theory) the Nazca could not possibly have viewed the pictures themselves. For another thing, the lines were just scratched into the ground, yet they had endured for several centuries. For another thing, the whole idea was freaky-weird and seemed to demand a freaky-weird explanation. Worried about the freaky-weird cheering section, scientists rushed to present a rational explanation, which we must admit is probably also the correct explanation. With virtually no historical record to work from, they argued the designs were almost certainly religious in their purpose, for the simple reason that no one would go to so much trouble except for religion. While the Nazca themselves couldn't see the pictures, their gods would theoretically have a nice vantage point to enjoy the artwork. In principle, there was no reason that a careful planner couldn't chart out instructions for drawing the actual lines. And the lack of water and wind erosion in the Peruvian desert accounted for the lines' longevity. With all these reasonable arguments nicely articulated, the scientists sat back, clinked their brandy snifters together and fired up some celebratory cigars. Unfortunately, they had failed to account for the powerful human drive to make everything more freaky-weird than it has to be, regardless of whether or not scientists have managed to concoct a sensible explanation. Starting in the 1950s, the lunatic fringe seized hold of the Nazca lines, and they never let go.  The theory continued to gain popular momentum until it was enshrined in the Lunatic Ideas Hall of Fame by Erich von Daniken in his 1968 epic of pseudoscience, Chariots of the Gods. The fallacies behind the "alien landing strip" theory are so extensive that it is impossible to enumerate all of them. However, there are a few which stand out from the crowd:
It's a simple fact that you don't need aliens -- or technology of any kind -- to draw pictures like the Nazca Lines. All you need is a lot of determination and intelligence.  Assuming, for the moment, the Nazca hadn't invented a simple hot air balloon, there remains an intriguing mystery. Exactly why would the Nazca draw massive pictures that they could never view themselves? While the answer is still unknown, there are many rows to hoe before resorting to extraterrestrial intervention -- anything from mental imbalance to religious fervor to illustrating an existential point about the meaninglessness of human endeavor. Or there could simply be no point to the lines at all. If you have to invoke UFOs every time you need to explain seemingly irrational human behavior, you'll end up blaming aliens for everything from Crystal Pepsi to Dan Quayle to Suddenly Susan. You'd think aliens would have better things to do.
|


Forlogs is combination of forums and weblogs
Latest popular video games,multiplayer,single player games are considered
WHAT IS FORLOGS?
We allow anonymous creation and commenting
We keep updating as soon as popular games change in market
HOW ARE WE DIFFERENT YOU ASK?
We dont care how many accounts u make,share content for the community
Complete freedom to post anything except antisocial and off topic
WHAT'S IN IT FOR YOU?
All are welcome built primarily for gamers
Connect with the gaming community all in one spot
WHY JOIN FORLOGS?


choices form
beta
注 册
Brief Statement Or Account Of The Main Points Of Something
Brief Statement Or Account Of The Main Points Of Something
Brief Statement Or Account Of The Main Points Of Something
点击注册意味您了解并同意我们的
服务条款
和
隐私权条款
注 册
已有
choices form
账号？
登 录


How to pass an object into a function
using JavaScript
How to pass an object into a function
using JavaScript
let person = {
first_name: "DeAndre",
last_name: "Boston",
};
How to pass an object into a function
let person = {
first_name: "DeAndre",
last_name: "Boston",
};
let getName = (object) => {
console.log(`My name is ${object.first_name} ${object.last_name}!`)
}
How to pass an object into a function
let person = {
first_name: "DeAndre",
last_name: "Boston",
};
let getName = (object) => {
console.log(`My name is ${object.first_name} ${object.last_name}!`)
}
getName(person)


Getting Started with Git and Github
Important Concepts for Beginners
October 25, 2015
What are the benefits of version control?
Version control has many benefits. It allows for teams of coders to collaborate efficiently. It enables you to ’tinker’ with your code without the fear of breaking it. It allows your code to go back if any unforeseen issues arise. It also helps everyone keep track of the changes, as the code evolves.
How does git help you keep track of changes?
git was designed from its core to be used as a tool for anyone working on a project. As you work, with a few easy commands, you keep track and record of what your code looked like at any given time.
Why use GitHub to store your code?
Storing anything in the cloud has proved quite convenient.  Storing your code on Github allows you access your code from anywhere there is an internet connection. It is also nice to be able to view your team mates work in live time, so you can know where everyone is instantly.
I like real world examples to help me learn. Let's say you are a programmer and your boss just gave you a to-do list of 100 numbered tasks. All the tasks pertain to altering code that the company has developed. You start at 1) fix misspelling here 2) change background color there ... and so on. After each completed task, you diligently save your work as you go. Two weeks later, just before your almost done, the boss comes in and says he changed his mind, he wants everything back the way it was. Going back is now going to take a lot of effort, if only you had made a copy of the code before you started. That's where a commit comes in. Think of a commit as the old school 'save as'. After you finished task 1, you save it as 'task_1_complete', then after the second task is complete, you save as 'task_2_complete'. So a few months goes by, and your boss has changed his mind again. He actually wants to implement tasks 25-50. 'No sweat you say' as you had learned from your previous mistake, and you committed after every task! There is only one problem, 'task_50_complete' has saved ALL tasks 1-50, your boss only wants tasks 25-50 implemented. The 'save as' strategy of committing as you go was undoubtedly better then just saving, but how can we get even more flexible? This is where branching and merging come into play. Lets say when your boss first handed you the list of 100 tasks, you went and made 100 duplicates of your code. You named each duplicate task_1 through task_100 respectively. You now have 100 new branches, or duplicates, or copies. You now go to branch named 'task_1', and finish task 1, and only task one. Then you go to task_2, and continue the process. Now the boss has the flexibility to pick and chose any of the tasks he wishes to implement. All you have to do is merge the ones he likes!
That is an oversimplified version, but hopefully it will help someone get a grasp of some of the terms. A branch is a copy or a duplicate, and a commit is a 'save as'. Please note that a commit doesn't actually save a whole new copy like 'save as' normally would. Nor does making a branch actually duplicate all your code. How git actually works is quite fascinating and ingenious.


Manhole
Manhole is the entrance to the undergroud of the city where hidden power line are located. There are different types of manhole covers that represent either power company or pipe line company.
Chanmyoung Park
Manhole is the entrance to the undergroud of the city where hidden power line are located. There are different types of manhole covers that represent either power company or pipe line company.
Antennas are used to catch signal for wireless devices. There are different forms of antenna depends on whether it is for TV, radio, internet connection and etc.
It is easy to spot markings in bright colour in Wellington street. They are usually for locating under ground utilities.
CCTVs are commonly used on the street or road for the public security purpose, but there are CCTVs used personal security in the place like public car park, store and apartment.


SHIELD FOR MURDER (directors: Edmond O'Brien/Howard W. Koch; screenwriters: from the novel by William P. McGivern/Richard Alan Simmons/John C. Higgins; cinematographer: Gordon Avil; editor: John F. Schreyer; cast: Edmond O'Brien (Barney Nolan), Marla English (Patty Winters), John Agar (Mark Brewster), Emile Meyer (Capt. Gunnarson), Carolyn Jones (Girl At Bar), Claude Akin (Fat Michaels), David Hughes (Ernest Sternmueller), Richard H. Cutting (Manning), Herbert Butterfield (Cabot), Hugh Sanders (Packy Reed); Runtime: 80; United Artists; 1954)
Reviewed by Dennis Schwartz
Barney Nolan has been a tough-guy cop for 16 years rising to a lieutenant detective, but also has a history as a rogue cop. When he gets wind that a bookie is carrying $25,000 for a money bagman, he confronts him in an alley and shoots him in the back and steals the money. When his best friend on the force, Detective Mark Brewster (Agar), investigates, he tells him he accidently shot the bookie because he was running away from the pinch. The cops close ranks behind one of their own in a wall of silence, even though they don't like the embittered Nolan. The only one interested in finding out the truth is a veteran police reporter Cabot. The new captain of detectives, Capt. Gunnarson (Meyer), barks at Nolan for not using his head in the arrest, but refuses to act against him unless there's evidence he did something wrong.
The only one Nolan feels comfortable with is his girlfriend, Patti Winters (Marla), whom he sees right after the shooting incident, where she begins work at a nightclub as a cigarette girl. He disapproves of the job because she's so scantily clad and gets her to quit, as he takes her to see a model home he plans to buy when they soon will get married. He leaves her for a few moments to let the American Dream sink in, as the suburban home is equipped with all the modern conveniences at the time and she relishes sitting in the fancy dining room imagining herself as a hostess at dinner. During those few moments away from her, he goes to the back of the house to bury the money.
Mark becomes suspicious of him when he learns from two private eyes hired by the bagman Packy Reed to look for his missing money. The private eyes get him to see Packy, but Packy can't get the tough cop to fork over the money even as he first sweet talks him and then threatens him.
Warning: spoiler to follow in next paragraph.
When a neighborhood mute (Hughes) signals in the police station he saw how the bookie was shot in the back, Nolan visits his home and kills him. When Mark visits the crime scene, he uncovers a note the victim wrote describing the murder. Faced with arresting his friend or ignoring the evidence, Mark tries to single-handedly arrest Nolan but is overtaken by him. There's now an APB out on Nolan as a killer, and he goes underground to try and escape the country from both the police and Packy.
Trying to get a false passport from his underground contacts, he gets involved in a shootout with Packy's boys at a high school swimming pool and kills them but gets winged in the arm. Meanwhile, Mark gets it out of Patti that he might have stashed the money by the model house, as the cops surround him there and kill him on the lawn while he's clutching the bag of money and dressed in the uniform he wore as a patrolman. This all signals how backward he's gone in a career that turned dreadfully sour.
It was a well-executed, action-packed film noir, co-directed and acted by Edmond O'Brien. It punctures a lot of the idyllic dreams about living in suburbia, as the cop's middle-class goals are made dirty. His downfall is seen as choosing violence over love and greed over a sense of duty. He's a bad cop and a bad person who has hid behind his police shield, which he used to protect him from the law as all the good he might have had in him is wasted.
REVIEWED ON 9/11/2001 GRADE: B
Dennis Schwartz: "Ozus' World Movie Reviews"
http://www.sover.net/~ozus
<EMAIL_ADDRESS>© ALL RIGHTS RESERVED DENNIS SCHWARTZ
========== X-RAMR-ID: 29450 X-Language: en X-RT-SourceID: 873 X-RT-AuthorID: 1315 X-RT-RatingText: B
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


FakeEv - "single particle gun"
-
-
FakeEv.cc
- source code of the CDF AC++ module
Herwig
- Herwig home page
-
HerwigModule.cc
- source code of the CDF AC++ module
-
default version in Run II development: HERWIG 5.9
- The best person to answer questions about HERWIG and CDF interface to it
is Jeremy Lys (lys@fnal.gov).
Isajet
Pythia
Warning : Starting from September'99 CDF is using Pythia 6.129.
Numbering of the decay channels has changed in this version with respect to
Pythia 6.115 used before .
MBR
-
MinBiasModule.cc
- source code of the MBR AC++ module
- Please direct questions about MBR to Anwar Bhatti<EMAIL_ADDRESS>Vecbos
-
TVecbos class - C++ interface to Vecbos
-
VecbosModule.cc
- source code of the CDF AC++ module
- default version in Run II development: Vecbos 3.00
- Please direct questions about VECBOS to George Velev (velev@fnal)
Bgenerator
Last updated on Oct 14 1999 by murat@cdfsga.fnal.gov


--- layout: post title: Janitor of Software Engineering date: 2009-04-21 01:36:58.000000000 -06:00 type: post published: true status: publish categories: [] tags: [] meta: _gcid: '82' _gcuser: Vladimir Gitlevich content_type: blog _bitly_trim: http://dddcommunity.org/?p=64 author: login: Vladimir Gitlevich email<EMAIL_ADDRESS>display_name: Vladimir Gitlevich first_name: Vladimir Gitlevich last_name: '' ---
In the Soviet Union, when it was around, one could frequently see this sign: "Чисто не там, где убирают, а там, где не сорят". Which means something like "The way to have a place clean is not through cleaning it, but through not making it dirty". I always thought it was the janitors who put it up.
Now, I am one of them. That is, I am a rather well-paid janitor (comparatively), and my cleaning work doesn't involve moving much, with the exception of my eyes and fingers. And I do share their sentiment.
I inherited a steaming pile of code. It is old. It is a software equivalent of a 10 years old dumpster, where garbage of various shapes and quality was deposited daily. I am trying to clean it. I think that eventually I will be able to do ....


web3dviewer
web3dviewer is flexible JavaScript component for efficient, convenient and easy presentation of 3D objects using modern web-browser technologies.
The source code is published under the MIT licence.
- Demo 1 - Basic usage. Simple box mesh with inertia.
- Demo 2 - Hinge model (9000 faces). Progressive, noinertia. Test your device performance.
- Demo 3 - Two independent components. Hinge and arm models.
- Demo 4 - Four independent components.
- Demo 5 - One object, two connected components.
- Demo 6 - Three views at once.
- Demo 7 - Hinge model (9000 faces). No progressive. For streaming comparision.
Special greetings for participants of ESCO 2012 conference.
Powered by Three.js & HTML 5, Copyright (c) 2011-2012.


Shadingedit
In order to avoid version conflicts, the dependencies can be shaded and packaged within the client in a single JAR file (sometimes called an "uber JAR" or "fat JAR"). Shading a dependency consists of taking its content (resources files and Java class files) and renaming some of its packages before putting them in the same JAR file as the low-level Java REST client. Shading a JAR can be accomplished by 3rd-party plugins for Gradle and Maven.
Be advised that shading a JAR also has implications. Shading the Commons Logging layer, for instance, means that 3rd-party logging backends need to be shaded as well.
Maven configurationedit
Here is a configuration using the Maven
Shade
plugin. Add the following to your pom.xml
file:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>3.1.0</version> <executions> <execution> <phase>package</phase> <goals><goal>shade</goal></goals> <configuration> <relocations> <relocation> <pattern>org.apache.http</pattern> <shadedPattern>hidden.org.apache.http</shadedPattern> </relocation> <relocation> <pattern>org.apache.logging</pattern> <shadedPattern>hidden.org.apache.logging</shadedPattern> </relocation> <relocation> <pattern>org.apache.commons.codec</pattern> <shadedPattern>hidden.org.apache.commons.codec</shadedPattern> </relocation> <relocation> <pattern>org.apache.commons.logging</pattern> <shadedPattern>hidden.org.apache.commons.logging</shadedPattern> </relocation> </relocations> </configuration> </execution> </executions> </plugin> </plugins> </build>
Gradle configurationedit
Here is a configuration using the Gradle
ShadowJar plugin. Add the following to
your build.gradle
file:
shadowJar { relocate 'org.apache.http', 'hidden.org.apache.http' relocate 'org.apache.logging', 'hidden.org.apache.logging' relocate 'org.apache.commons.codec', 'hidden.org.apache.commons.codec' relocate 'org.apache.commons.logging', 'hidden.org.apache.commons.logging' }


GoGetSSL | CSS-Tricks Hey, Chris here. I'm pulling this sponsored post. It was for a paid SSL service. I'm very much not an SSL expert. I've always relied on my host to install
Vim cryptmethod is not authenticated · Issue #638 · vim/vim When using cryptmethod=blowfish2, the saved ciphertext is not authenticated with a message authentication code ("MAC tag"). Consider saving "Lorem ipsum dolor sit amet, consectetur a...
Spotify Engineering Culture - Part 1 This video is a snapshot of Spotify's approach to software enginering and people management in 2014. It has since come to be known as the


This is the very first article I wrote. I will start with the very first book: “Learning From Data”
Here is an example MathJax inline rendering \( 1/x^{2} \), and here is a block rendering: \[ \frac{1}{n^{2}} \]


This report describes the ISO TC211 codelist catalogs, the codelists they contain, and the values and definitions of the codes.
Please contact Ted Habermann if you have questions or suggestions.
| Entry | Definition |
|---|---|
| bag | finite, unordered collection of related items (objects or values) that may be repeated (ISO 19107:2003) |
| set | unordered collection of related items (objects or values) with no repetition (ISO 19107:2003) |
| sequence | finite, ordered collection of related items (objects or values) that may be repeated (ISO 19107:2003) |
| table | an arrangement of data in which each item may be identified by means of arguments or keys (ISO/IEC 2382-4:1999) |
| matrix | rectangular array of numbers (ISO/TS 19129:2009) |
| coverage | feature that acts as a function to return values from its range for any direct position within its spatial, temporal or spatiotemporal domain (ISO 19123:2005) |
| Entry | Definition |
|---|---|
| directInternal | method of evaluating the quality of a dataset based on inspection of items within the dataset, where all data required is internal to the dataset being evaluated |
| directExternal | method of evaluating the quality of a dataset based on inspection of items within the dataset, where reference data external to the dataset being evaluated is required |
| indirect | method of evaluating the quality of a dataset based on external knowledge |


Choose Carefully!


I'm working on freshening up my portfolio, come back soon to see my updated work! ... in the meantime ...


Favorite Places
These are a few of my favorite places!
Mexico!
Japan!
Norway!
Seattle!
Those are my favorite places!
To check out my favorite things click
here


My notes from Lean Startup Machine
I led a team at Lean Startup Machine Ultimate this weekend in San Francisco. It’s a 3 day workshop for entrepreneurs, focused on getting out of the building to interview customers, with the goal of rapidly validating (or invalidating) your business idea. Teams are known for using customer learnings to pivot their idea as many as 5 or 6 times over the course of the weekend.
“What you’re doing should feel sketchy”
Previous LSM winner Mark Abramson explained that the best way to validate demand for your business idea is to have people pay for it. To do this in a weekend you need to sell your product before the product is actually built.
There are a few different ways to do this, but it often means pitching the customer implying that you have a product built and then actually taking their money. Getting people to hand over money for your product is by far the strongest way to validate that people will actually pay for your product. This can feel pretty deceitful, but obviously you give them the money back afterwards—or actually build and provide them with the service that you promised.
It’s important to face rejection and failure head on
I spend a lot of time working on startup ideas. Often this work includes sharing ideas with friends, doing competitive analysis or creating a business plan. None of these things involve validating that people actually want what I’m working on, which is 100x more difficult and much more important.
It’s easy to stay in the warm cozy bubble of working on my ideas, and sometimes even building the product, giving me the feeling that i’m making progress. It’s much more difficult for me to go out and speak with potential customers to find out their pain points and find out if they’d use my product, because that opens me up to finding out that there’s no demand for it and the idea is a failure.
One of my biggest learnings of the weekend is that it’s incredibly important to face that failure and rejection early. It’s a lot better than pouring time into working on something that nobody wants.
Approaching strangers isn’t so bad
Initially it was very daunting to approach complete strangers in the street and get them talk about their problems then attempting to sell them a product, but it got easier the more I did it. A number of the people we spoke with loved having someone to spill all of their problems to.
A few tips for tackling initial approach anxiety:
- Go out with a group, it helps with confidence. (but approach people individually or in pairs so that you don’t scare them off)
- Set a target of the amount of people you need to speak within the next hour
- Give everyone in your group that target, it creates social pressure as you don’t want to let the group down
Tactical approaches reap benefits
Some tips that worked really well for us this weekend:
- People smoking outside are good chat with as they’re only outside for a few minutes
- Approach people waiting in lines, for the same reason as above
- Approaching people who are on the move doesn’t go well!
- Get yes’s early. Trevor Owen spoke about asking quick, easy questions early on to build rapport quickly and get the interviewee talking to you.
- Opening with a disarming line like “I work for a startup and we’re doing some research on X…” then going immediately into an easy question like “…do you shop for clothing for yourself?” greatly increased our chances of getting a good conversation started.
- Opening with lines like “Can I ask you a few questions about X?” or “Excuse me, do you have a minute for me to ask you a quick question?” generally doesn’t work well with people.
Finding our customers was difficult
We were often looking specifically for single, fashion conscious guys in their 20s or 30s. This meant that we’d have to approach guys and ask early questions to identify if they’re within our target customer segment, which a lot of the time they weren’t. This was pretty frustrating and a common difficulty amongst teams. A number of teams had to pivot purely because they had difficulty reaching their customer. It was important to have an idea where we could reach our customers easily.
Having a narrow customer segment can be good
Initially we started out with a really wide description of our customer, “guys who disliked shopping for clothes”. When interviewing customers about their problems we found their answers to be very scattered and varied, without much of a pattern. This made it difficult for us to come up with a solution. With a tighter customer segment like, “single guys in their 20s who work in a formal environment” it’s easier to find a common problem, then shoot directly at a solution for that problem.
Remote customer interviews for $1 a go
Justin Wilcox from Customer Dev Labs presented on using Amazon Mechanical Turk for Customer Interviews. We tested this ourselves and it took around 30mins of setup work on Amazon to get multiple inbound calls to our cell phones from customers within the segment we wanted to interview. You can also have customers call a Google Voice number if you don’t want to give out your cell, there’s a great call recording option on there too, and it’s free.
Mentor advice is invaluable
Here’s my team preparing with Jason Evanish before we go out to do customer interviews. Incredibly helpful to have someone with so much experience in the field help us out.
Our startup idea was around male fashion and 2 of the mentors in attendance were founders of Fashion Metric, who received angel funding from Mark Cuban in a matter of weeks after winning a prior LSM. They were excited to help us out and give practical advice about our experiments and strategy.
Brainstorming startup ideas is fun!
With just 2 hours until the final deadline our team regrouped in a coffee shop to quickly come up with a pivot that we could go out and pitch people in Union Square. Having a group of entrepreneurial thinkers to collaborate with led to some really great ideas and a lot of fun.


|
Situational Report 57
|
[as of 07 March 2018, 8:00AM] |
|
Situational Report 56
|
[as of 06 March 2018, 8:00AM] |
|
Situational Report 55
|
[as of 05 March 2018, 8:00AM] |
|
Situational Report 54
|
[as of 04 March 2018, 8:00AM] |
|
Situational Report 53
|
[as of 03 March 2018, 8:00AM] |
|
Situational Report 52
|
[as of 02 March 2018, 8:00AM] |
|
Situational Report 51
|
[as of 01 March 2018, 8:00AM] |
|
Situational Report 50
|
[as of 28 February 2018, 8:00AM] |
|
Situational Report 49
|
[as of 27 February 2018, 08:00AM] |
|
Situational Report 48
|
[as of 26 February 2018, 8:00PM] |
|
Situational Report 47
|
[as of 25 February 2018, 8:00AM] |
|
Situational Report 46
|
[as of 24 February 2018, 8:00AM] |
|
Situational Report 45
|
[as of 23 February 2018, 8:00AM] |
|
Situational Report 44
|
[as of 22 February 2018, 8:00AM] |
|
Situational Report 43
|
[as of 21 February 2018, 8:00AM] |
|
Situational Report 42
|
[as of 20 February 2018, 8:00AM] |
|
Situational Report 41
|
[as of 19 February 2018, 8:00AM] |
|
Situational Report 40
|
[as of 18 February 2018, 8:00AM] |
|
Situational Report 39
|
[as of 17 February 2018, 08:00AM] |
|
Situational Report 38
|
[as of 16 February 2018, 8:00PM] |
|
Situational Report 37
|
[as of 15 February 2018, 8:00AM] |
|
Situational Report 36
|
[as of 14 February 2018, 08:00AM] |
|
Situational Report 35
|
[as of 13 February 2018, 8:00PM] |
|
Situational Report 34
|
[as of 12 February 2018, 8:00AM] |
|
Situational Report 33
|
[as of 11 February 2018, 8:00AM] |
|
Situational Report 32
|
[as of 10 February 2018, 8:00AM] |
|
Situational Report 31
|
[as of 09 February 2018, 8:00AM] |
|
Situational Report 30
|
[as of 08 February 2018, 8:00AM] |
|
Situational Report 29
|
[as of 07 February 2018, 8:00AM] |
|
Situational Report 28
|
[as of 06 February 2018, 8:00AM] |
|
Situational Report 27
|
[as of 05 February 2018, 8:00AM] |
|
Situational Report 26
|
[as of 04 February 2018, 08:00AM] |
|
Situational Report 25
|
[as of 03 February 2018, 8:00PM] |
|
Situational Report 24
|
[as of 02 February 2018, 8:00AM] |
|
Situational Report 23
|
[as of 01 February 2018, 8:00AM] |
|
Situational Report 22
|
[as of 31 January 2018, 8:00AM] |
|
Situational Report 21
|
[as of 30 January 2018, 8:00AM] |
|
Situational Report 20
|
[as of 29 January 2018, 8:00PM] |
|
Situational Report 19
|
[as of 28 January 2018, 8:00PM] |
|
Situational Report 18
|
[as of 27 January 2018, 8:00AM] |
|
Situational Report 17
|
[as of 26 January 2018, 8:00AM] |
|
Situational Report 16
|
[as of 25 January 2018, 8:00PM] |
|
Situational Report 15
|
[as of 24 January 2018, 8:00PM] |
|
Situational Report 14
|
[as of 23 January 2018, 8:00AM] |
|
Situational Report 13
|
[as of 22 January 2018, 8:00AM] |
|
Situational Report 12
|
[as of 21 January 2018, 8:00PM] |
|
Situational Report 11
|
[as of 20 January 2018, 8:00PM] |
|
Situational Report 10
|
[as of 19 January 2018, 8:00AM] |
|
Situational Report 09
|
[as of 18 January 2018, 8:00AM] |
|
Situational Report 08
|
[as of 17 January 2018, 8:00AM] |
|
Situational Report 07
|
[as of 16 January 2018, 8:00PM] |
|
Situational Report 06
|
[as of 15 January 2018, 6:00PM] |
|
Situational Report 05
|
[as of 15 January 2018, 8:00AM] |
|
Situational Report 01
|
[as of 13 January 2018, 8:00AM] |


Wildhorse Plains [ad32], plain, in Oleg's Folly, peasants: 118
Last updated Turn #148
Wildhorse Plains [ad32], plain, in Oleg's Folly, peasants: 118
------------------------------------------------------------------------
0: Garrison [hf4k], garrison, Pen, with ten peasants guards Wildhorse
0: Plains [ad32].
14: Sea Lion [hq7s], ship, 2 hulls, 1 rowing port, 6 sails, arrived from
14: Ocean [ac32], owner:
14: Toulouse [h1q], Pen, with eight sailors
15: Toulouse [h1q], Pen, with eight sailors, exited Sea Lion [hq7s].
16: Olegina [o1y], Pen, with 51 peasants, arrived from the east.
17: Toulouse [h1q], Pen, with eight sailors, went east, accompanied by:
17: Olegina [o1y], Pen, with 31 peasants
30: The population grows by one peasant.
Province controlled by Oleg's Refuge [g4z], castle, in Dragonback
Mountains [ae34]
Routes leaving Wildhorse Plains:
North, to Ocean [ac32], Crystal Sea, 2 days
East, mountain, to Dragonback Mountains [ad33], 10 days
Garrison [al1u], garrison, uncontrolled, with ten peasants
South, plain, to Wildhorse Plains [ae32], 7 days
Garrison [gi8o], garrison, uncontrolled, with ten workers
West, plain, to Wildhorse Plains [ad31], 7 days
Garrison [em5s], garrison, uncontrolled, with 11 peasants
Seen here:
Garrison [hf4k], garrison, uncontrolled, with ten peasants
Ships docked at port:
Sea Lion [hq7s], ship, 2 hulls, 1 rowing port, 6 sails


--- layout: post title: "Rie" comments: true ---
Ella Wheeler Wilcox
"Laugh, and the world laughs with you; Weep, and you weep alone."
"Rie, y el mundo reira contigo; Llora, y lloraras solo."


--- layout: post title: 'Good news for me: co-organizing Railsbridge Outreach Workshop for Women #34 is going swimmingly thanks...' date: 2013-11-11 21:02:26.000000000 -08:00 type: post published: true status: publish categories: [] tags: [] meta: google_plus_activity_id: z12ts5ib1trqdbltd234i3fogkmne1adz _edit_last: '1' author: login: admin email<EMAIL_ADDRESS>display_name: admin first_name: Carina C. last_name: Zon ---
Good news for me: co-organizing Railsbridge Outreach Workshop for Women #34 is going swimmingly thanks to +Amy L. & +Tina Lee. We rock as a team. Tina and I are discovering that the Railsbridge community has done a bang-up job of documenting what we need.
Good news for you: that makes two events for April! The frontend intro workshop with HTML/CSS/JavaScript is on 4/21 at +Twilio, then we're giving the backend intro workshop with Ruby on Rails on 4/28 at +Twitter.
Sign up ASAP. Don't be intimidated by the wait list. A lot of people get moved up before the big day.
RailsBridge Workshop for Women #34 - April 27-28, 2012
Friday, April 27th 5:30-8:30pm: Software Install Fest (REQUIRED) Saturday, April 28th 9:30am-4:30pm: Workshop 5pm: After-party for volunteers & attendees **IMPORTANT**Please read to the bottom of ...


|
Halide
12.0.0
|
This class emits C++ code equivalent to a halide Stmt. More...
#include <CodeGen_C.h>
Inherits Halide::Internal::IRPrinter.
Classes | |
| struct | Allocation |
Public Types | |
| enum | OutputKind { CHeader , CPlusPlusHeader , CImplementation , CPlusPlusImplementation , CExternDecl , CPlusPlusExternDecl } |
Public Member Functions | |
| CodeGen_C (std::ostream &dest, const Target &target, OutputKind output_kind=CImplementation, const std::string &include_guard="") | |
| Initialize a C code generator pointing at a particular output stream (e.g. More... | |
| ~CodeGen_C () override | |
| void | compile (const Module &module) |
| Emit the declarations contained in the module as C code. More... | |
| const Target & | get_target () const |
| The target we're generating code for. More... | |
| Public Member Functions inherited from Halide::Internal::IRPrinter | |
| IRPrinter (std::ostream &) | |
| Construct an IRPrinter pointed at a given output stream (e.g. More... | |
| void | print (const Expr &) |
| emit an expression on the output stream More... | |
| void | print_no_parens (const Expr &) |
| Emit an expression on the output stream without enclosing parens. More... | |
| void | print (const Stmt &) |
| emit a statement on the output stream More... | |
| void | print_list (const std::vector< Expr > &exprs) |
| emit a comma delimited list of exprs, without any leading or trailing punctuation. More... | |
| Public Member Functions inherited from Halide::Internal::IRVisitor | |
| IRVisitor ()=default | |
| virtual | ~IRVisitor ()=default |
Static Public Member Functions | |
| static void | test () |
| Static Public Member Functions inherited from Halide::Internal::IRPrinter | |
| static void | test () |
Protected Types | |
| enum class | IntegerSuffixStyle { PlainC = 0 , OpenCL = 1 , HLSL = 2 } |
| enum | AppendSpaceIfNeeded { DoNotAppendSpace , AppendSpace } |
Protected Member Functions | |
| virtual void | compile (const LoweredFunc &func) |
| Emit a declaration. More... | |
| virtual void | compile (const Buffer<> &buffer) |
| std::string | print_expr (const Expr &) |
| Emit an expression as an assignment, then return the id of the resulting var. More... | |
| std::string | print_cast_expr (const Type &, const Expr &) |
| Like print_expr, but cast the Expr to the given Type. More... | |
| void | print_stmt (const Stmt &) |
| Emit a statement. More... | |
| void | create_assertion (const std::string &id_cond, const Expr &message) |
| void | create_assertion (const Expr &cond, const Expr &message) |
| virtual std::string | print_type (Type, AppendSpaceIfNeeded space_option=DoNotAppendSpace) |
| Emit the C name for a halide type. More... | |
| virtual std::string | print_reinterpret (Type, const Expr &) |
| Emit a statement to reinterpret an expression as another type. More... | |
| virtual std::string | print_name (const std::string &) |
| Emit a version of a string that is a valid identifier in C (. More... | |
| virtual void | add_vector_typedefs (const std::set< Type > &vector_types) |
| Add typedefs for vector types. More... | |
| virtual std::string | print_extern_call (const Call *op) |
| Bottleneck to allow customization of calls to generic Extern/PureExtern calls. More... | |
| std::string | print_scalarized_expr (const Expr &e) |
| Convert a vector Expr into a series of scalar Exprs, then reassemble into vector of original type. More... | |
| virtual std::string | print_assignment (Type t, const std::string &rhs) |
| Emit an SSA-style assignment, and set id to the freshly generated name. More... | |
| void | print_heap_free (const std::string &alloc_name) |
| Emit free for the heap allocation. More... | |
| bool | is_header () |
| Return true if only generating an interface, which may be extern "C" or C++. More... | |
| bool | is_extern_decl () |
| Return true if only generating an interface, which may be extern "C" or C++. More... | |
| bool | is_header_or_extern_decl () |
| Return true if only generating an interface, which may be extern "C" or C++. More... | |
| bool | is_c_plus_plus_interface () |
| Return true if generating C++ linkage. More... | |
| void | open_scope () |
| Open a new C scope (i.e. More... | |
| void | close_scope (const std::string &comment) |
| Close a C scope (i.e. More... | |
| void | forward_declare_type_if_needed (const Type &t) |
| If the Type is a handle type, emit a forward-declaration for it if we haven't already. More... | |
| void | set_name_mangling_mode (NameMangling mode) |
| void | visit (const Variable *) override |
| void | visit (const IntImm *) override |
| void | visit (const UIntImm *) override |
| void | visit (const StringImm *) override |
| void | visit (const FloatImm *) override |
| void | visit (const Cast *) override |
| void | visit (const Add *) override |
| void | visit (const Sub *) override |
| void | visit (const Mul *) override |
| void | visit (const Div *) override |
| void | visit (const Mod *) override |
| void | visit (const Max *) override |
| void | visit (const Min *) override |
| void | visit (const EQ *) override |
| void | visit (const NE *) override |
| void | visit (const LT *) override |
| void | visit (const LE *) override |
| void | visit (const GT *) override |
| void | visit (const GE *) override |
| void | visit (const And *) override |
| void | visit (const Or *) override |
| void | visit (const Not *) override |
| void | visit (const Call *) override |
| void | visit (const Select *) override |
| void | visit (const Load *) override |
| void | visit (const Store *) override |
| void | visit (const Let *) override |
| void | visit (const LetStmt *) override |
| void | visit (const AssertStmt *) override |
| void | visit (const ProducerConsumer *) override |
| void | visit (const For *) override |
| void | visit (const Ramp *) override |
| void | visit (const Broadcast *) override |
| void | visit (const Provide *) override |
| void | visit (const Allocate *) override |
| void | visit (const Free *) override |
| void | visit (const Realize *) override |
| void | visit (const IfThenElse *) override |
| void | visit (const Evaluate *) override |
| void | visit (const Shuffle *) override |
| void | visit (const Prefetch *) override |
| void | visit (const Fork *) override |
| void | visit (const Acquire *) override |
| void | visit (const Atomic *) override |
| void | visit_binop (Type t, const Expr &a, const Expr &b, const char *op) |
| void | visit_relop (Type t, const Expr &a, const Expr &b, const char *scalar_op, const char *vector_op) |
| void | visit (const IntImm *) override |
| void | visit (const UIntImm *) override |
| void | visit (const FloatImm *) override |
| void | visit (const StringImm *) override |
| void | visit (const Cast *) override |
| void | visit (const Variable *) override |
| void | visit (const Add *) override |
| void | visit (const Sub *) override |
| void | visit (const Mul *) override |
| void | visit (const Div *) override |
| void | visit (const Mod *) override |
| void | visit (const Min *) override |
| void | visit (const Max *) override |
| void | visit (const EQ *) override |
| void | visit (const NE *) override |
| void | visit (const LT *) override |
| void | visit (const LE *) override |
| void | visit (const GT *) override |
| void | visit (const GE *) override |
| void | visit (const And *) override |
| void | visit (const Or *) override |
| void | visit (const Not *) override |
| void | visit (const Select *) override |
| void | visit (const Load *) override |
| void | visit (const Ramp *) override |
| void | visit (const Broadcast *) override |
| void | visit (const Call *) override |
| void | visit (const Let *) override |
| void | visit (const LetStmt *) override |
| void | visit (const AssertStmt *) override |
| void | visit (const ProducerConsumer *) override |
| void | visit (const For *) override |
| void | visit (const Acquire *) override |
| void | visit (const Store *) override |
| void | visit (const Provide *) override |
| void | visit (const Allocate *) override |
| void | visit (const Free *) override |
| void | visit (const Realize *) override |
| void | visit (const Block *) override |
| void | visit (const Fork *) override |
| void | visit (const IfThenElse *) override |
| void | visit (const Evaluate *) override |
| void | visit (const Shuffle *) override |
| void | visit (const VectorReduce *) override |
| void | visit (const Prefetch *) override |
| void | visit (const Atomic *) override |
| Protected Member Functions inherited from Halide::Internal::IRPrinter | |
| Indentation | get_indent () const |
| void | open () |
| Either emits "(" or "", depending on the value of implicit_parens. More... | |
| void | close () |
| Either emits ")" or "", depending on the value of implicit_parens. More... | |
| void | print_lets (const Let *let) |
| A helper for printing a chain of lets with line breaks. More... | |
| void | visit (const IntImm *) override |
| void | visit (const UIntImm *) override |
| void | visit (const FloatImm *) override |
| void | visit (const StringImm *) override |
| void | visit (const Cast *) override |
| void | visit (const Variable *) override |
| void | visit (const Add *) override |
| void | visit (const Sub *) override |
| void | visit (const Mul *) override |
| void | visit (const Div *) override |
| void | visit (const Mod *) override |
| void | visit (const Min *) override |
| void | visit (const Max *) override |
| void | visit (const EQ *) override |
| void | visit (const NE *) override |
| void | visit (const LT *) override |
| void | visit (const LE *) override |
| void | visit (const GT *) override |
| void | visit (const GE *) override |
| void | visit (const And *) override |
| void | visit (const Or *) override |
| void | visit (const Not *) override |
| void | visit (const Select *) override |
| void | visit (const Load *) override |
| void | visit (const Ramp *) override |
| void | visit (const Broadcast *) override |
| void | visit (const Call *) override |
| void | visit (const Let *) override |
| void | visit (const LetStmt *) override |
| void | visit (const AssertStmt *) override |
| void | visit (const ProducerConsumer *) override |
| void | visit (const For *) override |
| void | visit (const Acquire *) override |
| void | visit (const Store *) override |
| void | visit (const Provide *) override |
| void | visit (const Allocate *) override |
| void | visit (const Free *) override |
| void | visit (const Realize *) override |
| void | visit (const Block *) override |
| void | visit (const Fork *) override |
| void | visit (const IfThenElse *) override |
| void | visit (const Evaluate *) override |
| void | visit (const Shuffle *) override |
| void | visit (const VectorReduce *) override |
| void | visit (const Prefetch *) override |
| void | visit (const Atomic *) override |
Static Protected Member Functions | |
| template<typename T > | |
| static std::string | with_sep (const std::vector< T > &v, const std::string &sep) |
| template<typename T > | |
| static std::string | with_commas (const std::vector< T > &v) |
Protected Attributes | |
| IntegerSuffixStyle | integer_suffix_style = IntegerSuffixStyle::PlainC |
| How to emit 64-bit integer constants. More... | |
| std::string | id |
| An ID for the most recently generated ssa variable. More... | |
| Target | target |
| The target being generated for. More... | |
| OutputKind | output_kind |
| Controls whether this instance is generating declarations or definitions and whether the interface us extern "C" or C++. More... | |
| std::map< std::string, std::string > | cache |
| A cache of generated values in scope. More... | |
| Scope< Allocation > | allocations |
| Track the types of allocations to avoid unnecessary casts. More... | |
| Scope | heap_allocations |
| Track which allocations actually went on the heap. More... | |
| bool | have_user_context |
| True if there is a void * __user_context parameter in the arguments. More... | |
| bool | extern_c_open |
| Track current calling convention scope. More... | |
| bool | uses_gpu_for_loops |
| True if at least one gpu-based for loop is used. More... | |
| std::set< const halide_handle_cplusplus_type * > | forward_declared |
| Track which handle types have been forward-declared already. More... | |
| bool | inside_atomic_mutex_node |
| Are we inside an atomic node that uses mutex locks? This is used for detecting deadlocks from nested atomics. More... | |
| bool | emit_atomic_stores |
| Emit atomic store instructions? More... | |
| bool | using_vector_typedefs |
| true if add_vector_typedefs() has been called. More... | |
| Protected Attributes inherited from Halide::Internal::IRPrinter | |
| std::ostream & | stream |
| The stream on which we're outputting. More... | |
| int | indent = 0 |
| The current indentation level, useful for pretty-printing statements. More... | |
| bool | implicit_parens = false |
| Certain expressions do not need parens around them, e.g. More... | |
| Scope | known_type |
| The symbols whose types can be inferred from values printed already. More... | |
This class emits C++ code equivalent to a halide Stmt.
It's mostly the same as an IRPrinter, but it's wrapped in a function definition, and some things are handled differently to be valid C++.
Definition at line 27 of file CodeGen_C.h.
| Enumerator | |
|---|---|
| CHeader | |
| CPlusPlusHeader | |
| CImplementation | |
| CPlusPlusImplementation | |
| CExternDecl | |
| CPlusPlusExternDecl |
Definition at line 29 of file CodeGen_C.h.
|
strongprotected |
| Enumerator | |
|---|---|
| PlainC | |
| OpenCL | |
| HLSL |
Definition at line 57 of file CodeGen_C.h.
|
protected |
| Enumerator | |
|---|---|
| DoNotAppendSpace | |
| AppendSpace |
Definition at line 98 of file CodeGen_C.h.
| Halide::Internal::CodeGen_C::CodeGen_C | ( | std::ostream & | dest, |
| const Target & | target, | ||
| OutputKind | output_kind = CImplementation , |
||
| const std::string & | include_guard = "" |
||
| ) |
Initialize a C code generator pointing at a particular output stream (e.g.
a file, or std::cout)
|
override |
| void Halide::Internal::CodeGen_C::compile | ( | const Module & | module | ) |
Emit the declarations contained in the module as C code.
|
inline |
|
static |
|
protectedvirtual |
Emit a declaration.
|
protectedvirtual |
|
protected |
Emit an expression as an assignment, then return the id of the resulting var.
|
protected |
Emit a statement.
|
protected |
|
protected |
|
protectedvirtual |
Emit the C name for a halide type.
If space_option is AppendSpace, and there should be a space between the type and the next token, one is appended. (This allows both "int foo" and "Foo *foo" to be formatted correctly. Otherwise the latter is "Foo * foo".)
|
protectedvirtual |
Emit a statement to reinterpret an expression as another type.
|
protectedvirtual |
Emit a version of a string that is a valid identifier in C (.
is replaced with _)
|
protectedvirtual |
|
protectedvirtual |
Bottleneck to allow customization of calls to generic Extern/PureExtern calls.
|
protected |
|
protectedvirtual |
Emit an SSA-style assignment, and set id to the freshly generated name.
Return id.
|
protected |
Emit free for the heap allocation.
|
inlineprotected |
Return true if only generating an interface, which may be extern "C" or C++.
Definition at line 133 of file CodeGen_C.h.
References CHeader, CPlusPlusHeader, and output_kind.
Referenced by is_header_or_extern_decl().
|
inlineprotected |
Return true if only generating an interface, which may be extern "C" or C++.
Definition at line 139 of file CodeGen_C.h.
References CExternDecl, CPlusPlusExternDecl, and output_kind.
Referenced by is_header_or_extern_decl().
|
inlineprotected |
Return true if only generating an interface, which may be extern "C" or C++.
Definition at line 145 of file CodeGen_C.h.
References is_extern_decl(), and is_header().
|
inlineprotected |
Return true if generating C++ linkage.
Definition at line 150 of file CodeGen_C.h.
References CPlusPlusExternDecl, CPlusPlusHeader, CPlusPlusImplementation, and output_kind.
|
protected |
Open a new C scope (i.e.
throw in a brace, increase the indent)
|
protected |
Close a C scope (i.e.
throw in an end brace, decrease the indent)
|
protected |
If the Type is a handle type, emit a forward-declaration for it if we haven't already.
|
protected |
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
overrideprotectedvirtual |
Reimplemented from Halide::Internal::IRVisitor.
|
protected |
|
protected |
|
inlinestaticprotected |
Definition at line 241 of file CodeGen_C.h.
|
inlinestaticprotected |
Definition at line 253 of file CodeGen_C.h.
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
overrideprotected |
|
protected |
How to emit 64-bit integer constants.
Definition at line 64 of file CodeGen_C.h.
|
protected |
An ID for the most recently generated ssa variable.
Definition at line 73 of file CodeGen_C.h.
|
protected |
The target being generated for.
Definition at line 76 of file CodeGen_C.h.
Referenced by get_target().
|
protected |
Controls whether this instance is generating declarations or definitions and whether the interface us extern "C" or C++.
Definition at line 80 of file CodeGen_C.h.
Referenced by is_c_plus_plus_interface(), is_extern_decl(), and is_header().
|
protected |
A cache of generated values in scope.
Definition at line 83 of file CodeGen_C.h.
|
protected |
Track the types of allocations to avoid unnecessary casts.
Definition at line 167 of file CodeGen_C.h.
|
protected |
Track which allocations actually went on the heap.
Definition at line 170 of file CodeGen_C.h.
|
protected |
True if there is a void * __user_context parameter in the arguments.
Definition at line 173 of file CodeGen_C.h.
|
protected |
Track current calling convention scope.
Definition at line 176 of file CodeGen_C.h.
|
protected |
True if at least one gpu-based for loop is used.
Definition at line 179 of file CodeGen_C.h.
|
protected |
Track which handle types have been forward-declared already.
Definition at line 182 of file CodeGen_C.h.
|
protected |
Are we inside an atomic node that uses mutex locks? This is used for detecting deadlocks from nested atomics.
Definition at line 259 of file CodeGen_C.h.
|
protected |
Emit atomic store instructions?
Definition at line 262 of file CodeGen_C.h.
|
protected |
true if add_vector_typedefs() has been called.
Definition at line 265 of file CodeGen_C.h.


Who is doing cool stuff in the community?
Matt Trask • March 2, 2018
Read Time: 3 mins
community open sourceOur community is full of amazing people creating and doing amazing things. I want to start a series where we highlight these people.
Beachcasts
If you haven't seen it yet, Beachcasts is a new streaming series from Adam Culp. If you don't know, Adam doesn't stop. He runs SoFloPHP, the user group for people in South Florida, and also runs one of my favorite conferences: Sunshine PHP. With Beachcasts, Adam takes us through creating something I love, REST APIs, using a few tools that aren't generally at the forefront of the conversation.
Using Zend Expressive and Doctrine ORM, he walks through the steps needed to create a REST API. The best part is he doesn't shy away from a topic that most developers don't skip: Hypermedia. The videos tend to be around 20 minutes, perfect for a lunch break, or something to watch before bed and with Adam's style, its a very approachable way to watch another developer do work.
Astrocasts
Another streaming series which has been around for a while now is Astrocasts. Friend of the blog Beau Simensen started this series a few months ago and its been absolutely fun watching him work through building chat bots and apps with Symfony. As someone who uses Laravel in my spare time, watching other developers work with different frameworks gives me both insight into their flow and also an appreciation for others hard work.
Beau broadcasts a couple of times a week, and loves to engage with people watching via comments. It's an absolutely fun time, I enjoy putting it on while I finish up work, or watch the late night edition (the joys of being an hour behind him). Check it out, because its free knowledge for you to consume!
Nikita Popov
Most of us think Nikita is probably a robot hidden away in the depths of a warehouse. He is an absolute machine who cranks out RFC's for our language and deserves a lot of recognition for his hard work. To help him, JetBrains hired him for the purpose of allowing him to work on the core of PHP full time. Absolutely brilliant stuff on their part and makes me happy to be a paying subscriber to their products.
Of all the things he has done, one of the best things was picking up the work of previous developers and getting typed properties into the core language. With a vote of 70-1, it is one of the things bringing excitement to the release of 7.4 later this year.
Matthieu Napoli
Matthieu Napoli is working on something that is quite intriguing. With the idea of serverless gaining momentum, PHP is not getting as much support as other languages. Matthieu saw this as an opportunity and creted Bref. I haven't completely jumped on the hypetrain of serverless yet, but following Matthieu's work has been really fun. He clearly has found a way to fill a void in our ecosystem and is doing great work. When I do come around to serverless, this will be my first stop. Bref is a fantastic resource from the looks of it, and I can't wait to see what happens with it!
Closing
I hope to continue this type of post every so often. Our community is filled with an amazing amount of talented developers, each deserving of recognition.
Cheers!


Explain a situation where you have had an ethical decision to make. Discuss how you weighed up the values involved in that decision, the decision you made and the consequences of the action you took
As a writer and a poet I perform almost weekly as a one of my main forms of income.  Accessibility (physical, intellectual, financial etc) is something I value and prioritise. I couldn’t continue to perform in spaces that were literally built to exclude a demographic of people, whether that was intentional or not. I also didn’t want to continue participating in artist spaces that didn’t consider the accessibility needs of the Disabled community. I felt it was my responsibility as an able-bodied person to take a stand so I publicly announced I would no longer be accepting gigs that weren’t wheelchair accessible and didn’t have accessible toilets.
I think it’s one thing to tell yourself you’ll commit to something but when you pledge that to a community of people, who watch and hold you to account, it’s a different type of pressure. To tell friends of mine that are wheelchair users that I no longer perform in inaccessible venues puts a lot of emotional pressure to maintain that pledge. It holds me to account. It surprisingly hasn’t impacted a lot of my financial gain from performances but the events I’ve had to turn down have been ‘grassroots’ events. It’s been sad to turn down political and community led events because they’ve lacked the funding to rent out a space that is accessible.
Describe how your culture has influenced your values and identity
Land protection is at the forefront of my values and identity. Being that my lands are currently being occupied by a white-supremacist colonial nation state that has strategically enacted propaganda led genocide, my values and identity is resistant based. My priority is working toward the return of Aboriginal Land into the hands and control of Aboriginal people.
Evaluate your strengths and limitations in terms of your learning and career development
Identify which of your strengths might help you in your learning journey and how they might intersect with learning obstacles.
Being someone who asks questions is a useful skill in overcoming learning obstacles.
Share an example from your experience of where you were trying to work productively with others, but there was resistance or tension. Discuss the strategies you used at that time, how effective they were, and your reflections on what other strategies you would try now, and why.
I once incorrectly promoted a gig and had someone approach me who was upset that they hadn’t been mentioned in the event when they very much were entitled to being listed. It was a very big oversight that I was responsible for and took full responsibility. Even though everything had gone to print and there was nothing I could do to correct what had been done I communicated, apologized, took full responsibility and made sure that in the next round of prints they were mentions as well as across all social media promotions. Taking responsibility didn’t solve the problem but it eased tension. I was disappointed that when I approached my superiors they were very quick to distance themselves from any responsibility and prioritized vocalizing that over problem solving the issue. I think that when you’re working as a team it’s not always important to say who’s at fault as much as it is to find a solution and check in that everyone is feeling on the same page and supported.


{% extends 'base.html' %} {% block content %}
This app calculates a measure of semantic similarity (dot product of the word embeddings) between a target word and a list of "positive" attribute word versus a set of "negative" attribute words. Uses word2vec and the gensim package.
A contrast word can be specified, in which case similarities are calculated with the target - contrast vector.
This was used as part of the method in Gladwin (2022). One of the ideas for future research was to use measures like this to select target words that, hypothetically, either (1) have a strong model-based (i.e., common, population-level) association with one versus the other attribute category to get strong within-subject effects or (2) actually have a weak relative association to allow for more individual variability and hence higher reliability.
Please enter the words as a comma-separated list.


Pictures predict what the Royal babies will look like in 20 years' time
A team of designers have created images of what they could look like when they're older
by Jamie HawkinsConcept images which show how the Royal babies could look in 20 years' time have been released.
As the new generation of the royal family expands, public demand is at its peak. Whether it’s a royal wedding or the birth of a royal baby, the whole nation is at a standstill wanting to know more.
With Meghan Markle giving birth to baby Archie earlier this year, all eyes and ears are on the latest royal babies, especially those closest in line to the throne. But what will the royal babies look like in 20 years’ time? Whose features will they take?
 The images are of Prince George, Princess Charlotte, Prince Louis, Prince Archie and Savannah Phillips.
Savannah Phillips
Age: 30
Savannah has got extremely fair hair like her mother, and is wearing it in a tight bun. Her nose and eyes take after her mother, whilst the mouth is closer to Phillip’s.
Handbag essentials: Hair grips, lip balm and perfume.
Prince George
Age: 27
George has been envisaged with a slicked-to-the-side blonde quiff, with hair beginning to recede, like William’s. With a nose similar to Kate’s, he also has a solid jaw and round, brown eyes.
Grooming essentials: Travel-sized hair wax, mints and spare contact lenses.
 Her slim nose and piercing eyes remain the same, though her jaw is slightly more chiselled
Handbag essentials: Longwear matte lipstick, multi-purpose eight hour crème, waterproof eyeliner and eye serum.
Prince Louis
Age: 22
Louis has got fairer hair like William, with a squarer jaw than his brother, similar to Prince Andrew. He has slightly chubby cheeks and a similar nose shape to William, with eyes similar to Kate.
Grooming essentials: Tweezers, anti-ageing moisturiser and tooth floss.
Prince Archie
Age: 21
The team has imagined that Archie will take Harry’s hair colour but slightly darker, in tight curls. The nose takes after Harry’s, whilst the eyes are more similar to Meghan’s. Archie has freckles and a light beard.
Grooming essentials: Hair spray, sensitive face moisturiser and facial wash.


{% load i18n %}
Most listviews will have a 'filter' tab.
Search the top-right area of the screen for this icon:
.
Press the filter icon once to open the filter 'tab' (area to specify filters), and press it again to close that tab.
The filter tab shows a row of 'selected filters'.
To actually use one of these filters, press it, so that its color changes to
green.
The tab may also contain one or more filters that open up a new row of filters.
These 'expansion' filters can be recognized by the three dots '...' at the end of the filter name.
For example: Collection...
The filters come in a limited number of types:
Augustinus Hipponensis (pseudo)
),
or else use the wildcard *
to indicate what you mean (e.g. author *august*
).
It is also possible to use a #
mark to single out one word or string (e.g. hipponensis#
)
Once all criteria have been set, use the button Search
to start searching.
The results will be provided in one or more pages (depending on how many results there are).
Go to a particular page by simply clicking the page number.
Use the button Clear
to clear the search criteria.
Note that it is still necessary to press Search
in order to get the application to provide the complete listview.


This service status page is generated dynamically using the Github issues API and will be updated every 10 seconds. It can also check the reachability of your APIs from the client computer.
Fascincating? Build your own!


{% load otree_tags staticfiles %}
You will be paired randomly and anonymously with another participant. In this study, one of you will be the Sender and the other Participant is the Receiver. Prior to making a decision, you will learn your role, which will be randomly assigned.
{{ allocation1 }} is the amount of allocation of shared endowment with {{ Constants.players_per_group }} players per group, an endowment of {{ Constants.endowment }}, and an efficiency factor of {{ Constants.multiplier }}.
As the Sender, you will be given {{ Constants.endowment }} to split with the other participant. The Sender will decide how much she or he will retain. Each of endowment share retrieved by the sender will be multiplied by {{Constants.multiplier}}. Then the rest will go to Participant 2. The tabel below exhibit the relative benefit to the Sender and the Receiver in each possible allocation chosen by the sender
| If I keep | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 |
|---|---|---|---|---|---|---|---|---|---|---|
| My own benefit | 20 | 40 | 60 | 80 | 100 | 120 | 140 | 160 | 180 | 200 |
| My Co-Player benefit | 90 | 80 | 70 | 60 | 50 | 40 | 30 | 20 | 10 | 0 |


salmon spawning timing Cedar sockeye River hatchery selection Lake Washington fish Quinn, change Baker model river environmental N/A entry earlier early migration populations reproductive years population Ballard arrival artificial average natural spawned temperature {border-style heritability median phenology px;} #ffffff;} (i.e., Fisheries changes data days flow observed trends Locks River, date estimated estimates AIC Pacific counts number trait wild high marine survival American Oncorhynchus analysis based later returning Canadian climate daily fisheries fitness given lake mean spawn temperatures used water (e.g., Hilborn, dates effect influence life prior (Figure Carlo Monte Table adult conditions estimate freshwater including live models patterns population, potential stream‐life Aquatic Biology, Figure Schindler, Sciences, Washington, available calculated embryos hatcheries lower run time using (Ames, Evolutionary Peterson, September Yes annual best cumulative distribution evolution expected linear management nerka) obtained offspring parameter px; range recent salmon, strength total traits trend values variability year {font-family Applications, Artificial Ecology, Fish Hatchery Kinnison, Quinn Rogers, Seattle, Skagit Society, University abundance advantage age‐ altered arriving breeding conservation delay factors font-size genetic indicate juvenile late mortality multiple pattern processes relative return season sensitivity shift temporal timing, timing. (C) Bentzen, Department Environmental However, John Marine Naish, Puget River. Salmon Seattle Ship Thus, Transactions Walker, Wiley adults case compared comparison consequences diversity double; effects eggs explain explained harvest higher low naturally operations proportion rates response shows study suggest −., (Table Canal Fisheries, Hard, Hendry, Hodgson, Ltd, North Science, Sons, Sound Waples, Wildlife Zoology, border-color border-width break coefficients collected conducted considered covariates differentials egg‐to‐fry enter entering evidence evolutionary fishing generation hatchery, history included increase likely long‐term middle, migratory occur past period plots population. populations, produced reduce reproduction responses resulting series solid; spawning, species specific stream substantially support surface surveys typically upstream warming weir years, {font-style {font-weight (Quinn, Academy Anderson, Break Caudill, Change Conservation Correa, Ecology Fishery Flagg, Heritability Holzapfel, Keefer, Locks, National PSM Prior Proceedings Public Race Report Rocks, Sciences Tillotson, WA, accounting adaptation addition advance advanced affecting areas artificially associated basin bold change. coastal coho combinations combined comparisons completion consistent correlated courier; dashed decades declining determined differential direction discharge distributions em; experienced findings generations habitat highest highly identified inadvertent increased increasing indicated influences initiation integrated lines marks origin output parameters phenology. phenotypic plausible produce production propagation pt;} rapid rate reduced reflecting regimes resilience result review river. salmonid salmonids separate spawning. strategies studies supplementation survey thermal thus, trout unintended variation waters weighted year, years.


{{ partial "header.html" . }} {{ partial "navigation.html" . }}
In these roles, you'll help change culture and practices. You'll need to roll up your sleeves to work on the development, operation, and improvement of complex digital services. As part of this new team, you’d have an opportunity to shape the City’s approach to digital services.
If you don't see a role that's a fit right now, join our mailing list below so we can update you when new positions are posted.
We are committed to equity in our hiring, team culture, and product outcomes and fostering an inclusive work environment. We are building a team that reflects a diverse set of lived experiences and identities. This effort includes considering qualified candidates across a spectrum of races, colors, religions, genders, gender identities, sexual orientations, national origins, genetics, disabilities, ages, or veteran status.
As a team, we strive to be anti-racist. We commit to being inclusive, accessible, and equitable. While we’re imperfect, we are looking for people to help us dismantle white supremacy and all discrimination. If you’re looking for a team where you can make an impact and improve the lives of all San Francisco residents, then we want to hear from you.


{% include head.html %}
{% include sidebar.html %}
{{ site.title }}
Blog
Cases
Courses
Home
⇦ Back to Resources
{{page.title}}
{{ content }}


org.jredis
Enum Command
java.lang.Object
java.lang.Enum<Command>
org.jredis.Command
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Comparable<Command>
public enum Command
- extends java.lang.Enum<Command>
Redis commands, verbatim. Each member of the Command enum maps to a
corresponding (protocol level) command in Redis.
specification Redis 0.0.8
- Since:
- alpha.0
- Version:
- alpha.0, 04/02/09
- Author:
- Joubin Houshyar<EMAIL_ADDRESS>|
Method Summary |
static Command |
valueOf(java.lang.String name)
Returns the enum constant of this type with the specified name. |
static Command[] |
values()
Returns an array containing the constants of this enum type, in
the order they're declared. |
| Methods inherited from class java.lang.Enum |
clone, compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf |
| Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, wait, wait, wait |
AUTH
public static final Command AUTH
PING
public static final Command PING
QUIT
public static final Command QUIT
SET
public static final Command SET
GET
public static final Command GET
MGET
public static final Command MGET
SETNX
public static final Command SETNX
INCR
public static final Command INCR
INCRBY
public static final Command INCRBY
DECR
public static final Command DECR
DECRBY
public static final Command DECRBY
EXISTS
public static final Command EXISTS
DEL
public static final Command DEL
TYPE
public static final Command TYPE
KEYS
public static final Command KEYS
RANDOMKEY
public static final Command RANDOMKEY
RENAME
public static final Command RENAME
RENAMENX
public static final Command RENAMENX
DBSIZE
public static final Command DBSIZE
EXPIRE
public static final Command EXPIRE
RPUSH
public static final Command RPUSH
LPUSH
public static final Command LPUSH
LLEN
public static final Command LLEN
LRANGE
public static final Command LRANGE
LTRIM
public static final Command LTRIM
LINDEX
public static final Command LINDEX
LSET
public static final Command LSET
LREM
public static final Command LREM
LPOP
public static final Command LPOP
RPOP
public static final Command RPOP
SADD
public static final Command SADD
SREM
public static final Command SREM
SCARD
public static final Command SCARD
SISMEMBER
public static final Command SISMEMBER
SINTER
public static final Command SINTER
SINTERSTORE
public static final Command SINTERSTORE
SMEMBERS
public static final Command SMEMBERS
SELECT
public static final Command SELECT
FLUSHDB
public static final Command FLUSHDB
FLUSHALL
public static final Command FLUSHALL
MOVE
public static final Command MOVE
SORT
public static final Command SORT
SAVE
public static final Command SAVE
BGSAVE
public static final Command BGSAVE
LASTSAVE
public static final Command LASTSAVE
SHUTDOWN
public static final Command SHUTDOWN
INFO
public static final Command INFO
code
public final java.lang.String code
- semantic sugar
bytes
public final byte[] bytes
length
public final int length
arg_cnt
public final int arg_cnt
values
public static final Command[] values()
- Returns an array containing the constants of this enum type, in
the order they're declared. This method may be used to iterate
over the constants as follows:
for(Command c : Command.values())
System.out.println(c);
- Returns:
- an array containing the constants of this enum type, in
the order they're declared
valueOf
public static Command valueOf(java.lang.String name)
- Returns the enum constant of this type with the specified name.
The string must match exactly an identifier used to declare an
enum constant in this type. (Extraneous whitespace characters are
not permitted.)
- Parameters:
name
- the name of the enum constant to be returned.
- Returns:
- the enum constant with the specified name
- Throws:
java.lang.IllegalArgumentException
- if this enum type has no constant
with the specified name


FriendsManager
class FriendsManager
Handles operations related to friends information fetching, and adding and deleting friends (including friend requests and searching)
-
Fetches full friends and schedule information from the server and notifies the result via Notification Center.
Notifications
- EHSystemNotification.SystemDidReceiveFriendAndScheduleUpdates in case of success
Declaration
Swift
func fetchUpdatesForFriendsAndFriendSchedules()
-
Deletes a friend. If the operation fails the friend is not deleted.
Declaration
Swift
func deleteFriend(friend: User, completionHandler:(success: Bool, error: ErrorType?)->())
-
Fetches updates for both outgoing and incoming friend requests on the server and notifies the result via Notification Center.
Notifications
- EHSystemNotification.SystemDidReceiveFriendRequestUpdates in case of success
Declaration
Swift
func fetchUpdatesForFriendRequests()
-
Sends a friend request to the username provided and notifies the result via Notification Center.
Notifications
- EHSystemNotification.SystemDidSendFriendRequest in case of success
- EHSystemNotification.SystemDidFailToSendFriendRequest in case of failure
Declaration
Swift
func sendFriendRequestToUser(user: User, completionHandler:(success: Bool, error: ErrorType?)->())
-
Accepts friend request from the username provided and notifies the result via Notification Center.
Notifications
- EHSystemNotification.SystemDidAcceptFriendRequest in case of success
- EHSystemNotification.SystemDidFailToAcceptFriendRequest in case of failure
Declaration
Swift
func acceptFriendRequestFromFriend (requestFriend: User, completionHandler:(success: Bool, error: ErrorType?)->())
-
Performs a search for users based on their name or code
Declaration
Swift
func searchUsersWithText (searchText: String, completionHandler: (results: [User])->())
Parameters
searchText
Text to search
-
Adds friend from their string encoded representation and notifies via Notification Center. The AppUser user is also added as a friend of the friend they are adding, without any approvals from either side.
Notifications
- EHSystemNotification.SystemDidAddFriend in case of success
Declaration
Swift
func addFriendFromStringEncodedFriendRepresentation (encodedFriend: String) throws
-
Adds the AppUser as a friend of the friend they just added by string encoded representation (QR) App user is added as a friend on the server directly (without friends confirmation) Must only be called from
addFriendFromStringEncodedFriendRepresentation:
.Declaration
Swift
private func _addAppUserAsFriendOfStringEncodedAddedFriend ()


A nice and clean front-end boilerplate for projects with multiple html files which supports ES6+ javascript features using gulp and webpack.
View On Github
Submit an issue


This A* has quite a high h weight to keep the path heading towards the destination. It will not find the shortest path but will get to the answer quicker.
Back


A plane figure with three straight sides and three angles.
In geometry, an equilateral triangle is a triangle in which all three sides are equal. In the familiar Euclidean geometry, an equilateral triangle is also equiangular; that is, all three internal angles are also congruent to each other and are each 60°.
A scalene triangle is a triangle that has three unequal sides.
An isosceles triangle has two sides of equal length.[note 1][2] An isosceles triangle also has two angles of the same measure, namely the angles opposite to the two sides of the same length; this fact is the content of the isosceles triangle theorem, which was known by Euclid.


V1.1.0 Release Notes
Release notes for version 1.1.0 of the CDR Standards.
Errata for v1.1.0
Since v1.1.0 was published the following errors have been identified and will be corrected in the next version:
- The
x-cds-subject
header was intended to be removed but was accidentally left in the standards documentation. The statements requiringx-cds-subject
should be ignored. - The statements regarding the use of TLS in the Information Security profile imply that the
authorize
end point should be protected with TLS using a certificate provided by the CDR CA. As theauthorize
end point must be accessed by a public client this end point must use TLS but the data holder is free to use any certificate authority.
High Level Standards
| Change | Description | Link |
|---|---|---|
Content-Type header optionality |
Clarified that the Content-Type header is only mandatory for PUT and POST calls | HTTP Headers Section |
x-fapi-interaction-id description clarification |
A clarification of the description recommended by the CDR Engineering team | HTTP Headers Section |
x-cds-subject header removed |
This header has been removed from the standards based on community consultation | HTTP Headers Section |
Modification of x-cds-User-Agent header |
The x-cds-User-Agent header has been renamed to x-cds-client-headers and clarified to exclude specific types of headers |
HTTP Headers Section |
| Bug fix for rate type | In a previous decision the limitation of the rate type to plus or minus 100% was agreed to be removed. This has not been fixed | Common Field Types Section |
API End Points
| Change | Description | Link |
|---|---|---|
Clarified description of productName |
Clarified that the productName field in the account structure is set by the data holder not the account holder |
BankingAccount Section |
accountName optional for domestic payee |
For some Banks the account name field is not captured for domestic payees so this field has been made optional | BankingDomesticPayeeAccount Section |
| Aggregated transaction clarification | The handling of the sharing of data related to aggregated transactions has been added to the description of the transaction history end point | Get Transactions For Account Section |
| Term deposit maturity instructions as array | The termDeposit field in the account detail structure has been converted into an array | BankingAccountDetail Section |
| International payees with domestic accounts clarification | Description for how to represent international payees that are represented as a domestic account for payment purposes | Get Payee Detail Section |
Corrected description for amount field |
The amount field in scheduled payments had an incorrect description text which has been fixed |
BankingScheduledPaymentSet Section |
| Updates to scheduled payments | Series of amendments to the scheduled payments structure for lastWeekDay | LastWeekday Section |
| Clarification of ISO 8601 usage | Clarification that the recurrence syntax in ISO 8601 will not be used | Various |
| Card art in product end points | Version 2 of Get Products and Get Product Detail has been added to allow for the inclusion of card art fields | Banking APIs Section |
Information Security Profile
| Change | Description | Link |
|---|---|---|
| Normative reference versions | Added specific dates or versions to the normative reference table to avoid ambiguity | Normative References |
| Removed references to Vectors Of Trust | This change was recommended via the maintenance iteration to remove ambiguity from the standards | InfoSec End Points Section & Scopes and Claims Section |
| Clarified id_token non-normative sample | Non-normative id_token has been modified to include the refresh_token_expires_at and sharing_expires_at claims |
Scopes and Claims Section |
| Added CORS support for public end points | Added a CORS section allowing for CORS to be enabled for Get Status, Get Outages, Get Products and Get Product Detail end points | CORS Section |
| Removal of MTLS for specific end points | Removal of the MTLS requirements for
|
InfoSec End Points Section |
Consumer Experience
No Change


My Favorite Places
Backpacking Destinations
The Sawtooth Mountain Range
The Wind River Range
The Beartooth Mountains
Paria River Canyon
King's Canyon
Mt. Whitney
The Wallowas


{{animateStyles()}}initiating sequence
Upload your files
Checking file...
Upload progress:
{{(this.progress / this.parentSize *100).toFixed(1)}} %
0">
File Selected:
{{this.name}}
Change file
Please enter a valid email address
Email is
required
Please enter a valid email address
Email is
required
Send
The below file has been added to IPFS and sent to:
{{this.data.to}}
{{this.name}}
Send another file


3
1 Woe to the city full of blood!
It is all full of lies and stolen property; victims are always in her.
2 But now there is the noise of whips and the sound of rattling wheels,
prancing horses, and bounding chariots.
3 There are attacking horsemen,
flashing swords, glittering spears,
heaps of corpses, great piles of bodies.
There is no end to the bodies; their attackers stumble over them.
4 This is happening because of the lustful actions of the beautiful prostitute, the expert in witchcraft,
who sells nations through her prostitution, and peoples through her acts of witchcraft.
5 "See, I am against you"—this is the declaration of Yahweh of hosts.
Where can I find anyone to comfort you?"
8 Nineveh, are you better than Thebes, that was built on the Nile River, that had water around her,
whose defense was the ocean, whose wall was the sea itself?
9 Ethiopia and Egypt were her strength, and there was no end to it;
Put and Libya were allies to her.
10 Yet Thebes was carried away; she went into captivity;
her young children were dashed in pieces at the head of every street;
her enemies threw lots for her honorable men,
and all her great men were bound in chains.
11 You also will become drunk; you will try to hide,
and you will also look for a refuge from your enemy.
12 All your fortresses will be like fig trees with the earliest ripe figs:
if they are shaken, they fall into the mouth of the eater.
13 See, the people among you are women;
the gates of your land have been opened wide to your enemies;
fire has devoured their bars.
14 Go draw water for the siege; strengthen your fortresses;
go into the clay and tread the mortar;
pick up the molds for the bricks.
15 Fire will devour you there, and the sword will destroy you. It will devour you as young locusts devour everything.
Make yourselves as many as the young locusts, as many as the full-grown locusts.
16 You have multiplied your merchants more than the stars in the heavens; but they are like young locusts: they plunder the land and then fly away.
17 Your princes are as many as the full-grown locusts, and your generals are like swarms of them
that camp in the walls on a cold day.
But when the sun rises they fly away to no one knows where.
18 King of Assyria, your shepherds are asleep; your rulers are resting.
Your people are scattered on the mountains, and there is no one to gather them.
19 No healing is possible for your wounds. Your wounds are severe.
Everyone who hears the news about you will clap their hands in joy over you.
Who has escaped your constant wickedness?


--- layout: post esbma_id: 1695 title: 10: Auto-Zoom date: 2007-07-23 03:05:38 ---
This entry is part 10 of a 12-part series on WPF 3D.
Most CAD-like programs have the ability to automatically zoom a 3D picture so it fits in the window.
You don't want this situation, where the model is too small and most of the window is wasted:
Nor do you want this situation, where the picture is zoomed so far that only a small portion of the model is visible:
So we provide a feature to automatically zoom the view to the right size so that everything just fits in the visible space available.
But the implementation of a feature like this is surprisingly tricky. It is another one of those features which must straddle the boundary between the 3D world and the 2D world. Scaling the model is done with a 3D transform. But the available window space is a 2D area.
The first thing we need is a way to measure the size of the 2D projection. The window is showing a 2D projection of a 3D object. In terms of the 3D coordinate system, we know how big the object is. But how big is the 2D projection we see on our screen?
Unless I am missing something obvious in the WPF 3D APIs, this is surprisingly difficult to get. My approach is to iterate over all the triangles in my scene. For each of the three points in each triangle, I find the 2D projection of that point and grow a bounding rectangle to include it.
But how do I find the 2D projection of a 3D point? This is the part that is a bit trickier than I expected it to be. I naively hoped I might find that the Viewport3D class has a method that would do this for me, something like this:
public Point GetProjectedPoint(Point3D p)
But it doesn't.
As it turns out, the 3D Tools library saves the day again. It contains a MathUtils class which contains a routine called TryWorldToViewportTransform(). This method returns a transformation matrix which converts 3D coordinates ("World") to 2D coordinates ("Viewport"). Reading the code for this method is interesting. It has to jump through a surprising number of hoops to retrieve the matrix we need.
So my implementation of retrieving a 2D bounding box from a Viewport3D looks like this:
public static
Rect Get2DBoundingBox(Viewport3D vp)
{
bool bOK;
Viewport3DVisual vpv =
VisualTreeHelper.GetParent(
vp.Children[0]) as Viewport3DVisual;
Matrix3D m =
MathUtils.TryWorldToViewportTransform(vpv,
out bOK);
bool bFirst = true;
Rect r = new
Rect();
foreach (Visual3D
v3d in vp.Children)
{
if (v3d is
ModelVisual3D)
{
ModelVisual3D mv3d = (ModelVisual3D)v3d;
if (mv3d.Content is GeometryModel3D)
{
GeometryModel3D gm3d =
(GeometryModel3D)
mv3d.Content;
if (gm3d.Geometry is MeshGeometry3D)
{
MeshGeometry3D mg3d =
(MeshGeometry3D)gm3d.Geometry;
foreach (Point3D p3d in
mg3d.Positions)
{
Point3D pb =
m.Transform(p3d);
Point p2d = new Point(pb.X,
pb.Y);
if (bFirst)
{
r = new Rect(p2d, new Size(1, 1));
bFirst = false;
}
else
{
r.Union(p2d);
}
}
}
}
}
}
return r;
}
This code deserves a few remarks:
So this code is more of a hack and will need some serious attention before it can be considered robust as a general purpose solution. Nonetheless, for my situation it is currently working. If I run the code on my app, I can take the resulting Rect and use it to place a partly transparent Rectangle in the Overlay layer, just to prove that it's doing the right thing:
Now that I can calculate a 2D bounding box, I want to calculate the proper zoom so that the model will just fit. Recall from part 9 that on the left side of my window is a zoom slider which is tied to a ScaleTransform3D which is part of the Transform for the Camera on my Viewport3D.
The problem is that the mathematical relationship between the value of that slider and the coordinates of the 2D bounding box is not obvious. I actually ran a loop and calculated a bunch of values so I could graph them in Excel. It's not linear. It looks more geometric, but I was only plotting the zoom value vs. the 2D height. There's probably a way to calculate just the right scale factor, but I haven't found it yet.
When I am facing a tricky problem, sometimes I like to start by just quickly coding the simplest solution that will work. So I put my fingers to the keyboard and typed for a couple minutes. This is what happened:
private bool
TooBig()
{
Rect r = sdwpf.Get2DBoundingBox(vstuff.vp);
if (r.Left < 0)
{
return true;
}
if (r.Right > vstuff.vp.ActualWidth)
{
return true;
}
if (r.Top < 0)
{
return true;
}
if (r.Bottom > vstuff.vp.ActualHeight)
{
return true;
}
return false;
}
void OnClick_Fit(object
sender, RoutedEventArgs args)
{
if (TooBig())
{
while (TooBig())
{
slider_zoom.Value -= 0.1;
}
while (!TooBig())
{
slider_zoom.Value += 0.01;
}
slider_zoom.Value -= 0.01;
}
else
{
while (!TooBig())
{
slider_zoom.Value += 0.1;
}
while (TooBig())
{
slider_zoom.Value -= 0.01;
}
}
}
This rather absurd solution is the first thing that popped into my head. And it works!
Normally when I do something like this, I immediately start looking to replace the implementation with something better. However, today is Sunday. If I put any further thought into this problem it would be sort of like work. So I think I'll just leave it alone for now.  :-)


My name is Ilian Iliev and I am web/mobile developer. I love to work with JavaScript, jQuery, AJAX, HTML, CSS, PHP, Node.js, MySQL, NoSQL.
I graduated from UNWE (University of National and World Economy) with a BS in Marketing. Although my academic background is in Economics, I am currently more interested in web and mobile development. I have 4 years of experience under my belt and I am constantly improving my skills in the field.
For the last two years, I work extensively with Javascript and C# on a cross platform Cordova game app.
Currently, I work for Imperia Online.
Programming
Web Design
User Experiance
Fun
My fun mini web games! I made them while I was learning the basics of web technologies. For other more interesting projects, you can visit my github profile.
You can also see my old blog
You can say hello, using this litle form...or you can find me in any of the social networks below.


< Back
Historic snapshots contain OSM data as it was on a specific date in the osm-qa-tile format.
They are powerful datasets for comparing what OSM looked like at different points in time:
OSM features present in London in 2007 compared to 2019.
Previous research has used historic snapshots taken quarterly (April 1, July 1, October 1, and January 1 of each year). to show changes in object density over time. For example, this comparison of the OSM building density in New York between Q3 and Q4 of 2013.
Historic quarterly snapshots are available for part of 2017 and 2018, but were no longer generated past 2019/01/01. Instead, see the instructions below to generate your own from the full planet history. These files are made available by the University of Colorado Boulder.
| First Quarter | Second Quarter | Third Quarter | Fourth Quarter | |
|---|---|---|---|---|
| 2017 | 2017/10/01, 30.4 GB | 2018/01/01 31.7 GB | ||
| 2018 | 2018/04/01, 30.0 GB | 2018/07/01, 30.1 GB | 2018/10/01, 32.1 GB | 2019/01/01 33.2 GB |
First, create a snapshot of OSM at a specific time from the full planet history using the osmium tool
osmium time-filter --verbose --overwrite -o 2010-Q1.osm.pbf planet-history.osm.pbf 2010-04-01T00:00:00Z
Next, use osmium-export to convert the osm.pbf into GeoJSON. Use the osm-qa-tile.osmiumconfig to ensure that the features match the osm-qa-tiles.
osmium export -c osm-qa-tile.osmiumconfig -f geojsonseq -o features.geojsonseq --progress 2010-Q1.osm.pbf
Finally, use tippecanoe to create the mbtiles file:
tippecanoe -Pf -pf -pk -ps -Z12 -z12 -d20 --no-tile-stats -b0 -l osm -o 2010-Q1-qa-tile.mbtiles features.geojsonseq
The flags ensure the following (from the tippecanoe documentation):
-Z12 -z12 -d20 Only generate zoom 12, with the maximum detail available at that resolution.
-pf -pk -ps Don't limit tiles by size or feature count; don't simplify lines.
-b0 No buffer on the tile edges from which to duplicate next-door features.
--no-tile-statsDon't generate statistics for object attributes (since these are not for rendering).
-l osmName the layer "osm".