"Light Makes Right"
January 6, 1989
Volume 2, Number 1
Compiled by
All contents are copyright (c) 1988,1989, all rights reserved by the individual authors
Archive locations: anonymous FTP at
ftp://ftp-graphics.stanford.edu/pub/Graphics/RTNews/,
wuarchive.wustl.edu:/graphics/graphics/RTNews, and many others.
You may also want to check out the Ray Tracing News issue guide and the ray tracing FAQ.
The other great struggle has been to try to get my new Cornell account to talk with the outside world. DEC's EUNICE operating system has foiled me so far, so this issue is being distributed by Michael Cohen, who's now at the University of Utah. Many thanks, Michael.
Due to the length between issues, my cullings from USENET have accumulated into an enormous amount of material. As such, the condensed version of these will be split between this and the next issue. This issue contains what I felt was the best of the supersampling discussion. If this material is old hat, please write and tell us of your experiences with supersampling: what algorithm do you use? are you satisfied with it? what kind of filtering is used, and what are your subdivision criteria?
This issue is the first one that has a "Volume X, Number Y" in the header. This has been added partly for ease of reference, but also (more importantly) for avoiding dropouts. If you get "Number 1", then "Number 3", you know you've missed something (probably due to email failure). At the end of this issue is a list of all the past issues. If you are missing any, please write and I'll send them on.
back to contents
I can be reached at the U of Calgary. I work days at Jade Simulations International, ph #<PHONE_NUMBER>.
My interests in ray tracing are in multi-process (networks of SUNS, BBN Butterfly, and Transputers) ray tracing, space subdivision, and ray tracing functionally defined iso-surfaces.
I am working on optimistic multi-processor ray tracing and combining adaptive and voxel spatial subdivision techniques. I have implemented a parallel ray tracer on the University of Calgary's BBN Butterfly. My ray tracers handle a variety of object types including polygons, spline surfaces, and functionally defined iso-surfaces. My latest projects are using TimeWarp to speed up multi-processor ray tracing, adding a texture language, frame coherence for ray tracing animation, and developing the ray tracing answer to radiosity.
David Jevans, U of Calgary Computer Science, Calgary AB T2N 1N4 Canada uucp: ...{ubc-cs,utai,alberta}!calgary!jevans
________
# Subrata Dasgupta - raycasting of free-form surfaces, surface representations
# Duke University
# Dept. of Computer Science
# Durham, NC 27706
#<PHONE_NUMBER>
alias subrata_dasgupta<EMAIL_ADDRESS>I am relatively new the field of ray tracing. I am involved in the design of a raycasting system based on the original design by Gershon Kedem and John Ellis [Proc. 1984 Int'l conference on Computer Design]. The original design uses Constructive Solid Geometry for building up a complex object out of simple primitives like cones, cylinders, and spheres. The main drawback of such a system is that representing an object with cubic or higher order surfaces require numerous quadratic primitives and even then is at best an approximation to the original surface.
The raycasting machine uses an array of parallel rays and intersects them with primitives. The applications of such a machine are potentially large like: modeling surfaces for NC machines, calculating volume and moment of inertia, finding fast surface intersections, to name just a few. At present there are 2 working models of the raycasting machine, one of which is in the Dept. of Mechanical Engg. at Cornell. The other one is our experimental m/c which is located at the U. of N. Carolina at Chapel Hill (The operative word in this sentence is "located" :-) ). Although my input may not be very frequent at the beginning I will be an avid reader of the raycasting news. Thanks for inviting me in.
________
From: Darwin G. Thielman<EMAIL_ADDRESS>Subject: Duke ray casting group
# Darwin Thielman - Writing software to control the raycasting machine at Duke
# Duke University
# Computer Science Dept.
# Durham, NC. 27706
#<PHONE_NUMBER> x246
alias darwin_thielman<EMAIL_ADDRESS>At Duke we have designed a system that does ray casting on many primitives in parallel. This is achieved with 2 types of processors, a primitive classifier (PC) and a combine classifier (CC). The PC's solve systems of quadratic equations and the CC's combine these results.
I am the system software person, I am writing micro code for an Adage 3000 machine. The micro code is responsible for controlling the ray casting board and creating images from the output of the board.
In addition the following people also work on the ray casting system at Duke.
Gershon Kedem John Ellis Subrata Dasgupta Jack Briner Ricardo Pantazis Sanjay Vishin
Also at UNC Chapel Hill there is a eng. who is working on the hardware design of the system he is Tom Lyerly.
Since I do not want to attempt to explain what each one of these people is doing (with the possibility of getting it wrong) I will not try. All of the above people will have access to the RTN and if any of them are interested they may respond. Also If anyone want to get a hold of any of them just send me a message and I will forward it to the proper person.
We also have one of our boards at Cornell, there is a group there that is working on solid modeling, and hopes to use our hardware. If you want you can contact Rich Marisa<PHONE_NUMBER> for more information on what they are doing. His mail address is<EMAIL_ADDRESS>Also I have talked to him and if you want to see a demo of our system he would be glad to show it to you.
If you have any questions or comments please feel free to contact me.
Darwin Thielman
________
From: Steven Stadnicki<EMAIL_ADDRESS>Steven Stadnicki - shadowing from reflected light sources, tracing atomic orbitals, massively parallel ray tracing 212 Reynolds Dormitory Clarkson University Potsdam, NY 13676<PHONE_NUMBER><EMAIL_ADDRESS>Right now, I'm working on writing a simple ray tracer to implement my reflected shadowing model (see the E-mail version of RTNews, Nov. 4), and then I'll be trying a few texture models. (Texture mapping on to atoms... the marble P-orbital!)
________
From<EMAIL_ADDRESS>(Mark Reichert x25948) Subject: RT News intro
#
# Mark Reichert - diffuse interreflections
# Work:
# Eastman Kodak Company
# Advanced Systems Group
# Building 69
# Rochester, NY 14650
#<PHONE_NUMBER>
#
# Home:
# 45 Clay Ave.
# Rochester, NY 14613
#<PHONE_NUMBER>
#
I am currently interested in global illumination simulation using ray
tracing with auxiliary data structures for holding illuminance values.
I am also interested in ray tracing from the lights into the environment - maybe just a few bounces, then storing illuminance as above.
What I would really like is a ray tracer (or whatever) that would do a nice job of modeling triangular glass prisms.
alias mark_reichert hpfcrs!hpfcla!hplabs!sun!sunrock!kodak!supra!reichert
back to contents
I obtained the Ray-Tracing News from Panu Rekola, and sent the message below to some people on your distribution list interested in related matters.
I have done research in geometric data structures and algorithms in 1981-84. A practical result was the EXCELL spatial index (like an octree with binary subdivision, together with a directory allowing access by address computation).
My present interests are described below.
Charles Woodward has developed a new and efficient method for ray-tracing parametric surfaces using subdivision for finding the ray/patch intersection.
============================================================================
I am putting together a project proposal with the abstract below. I would be interested in obtaining references to any new work you have done in ray-tracing and hardware, and later in an exchange of ideas. I will send an acknowledgement to any message I get, so if you don't see one something has gone wrong. (Email has often been very unreliable.)
Looking forward to hearing something from you,
Markku Tamminen Helsinki University of Technology Laboratory of Information Processing Science 02150 ESPOO 15, FINLAND Tel: 358-0-4513248 (messages: 4513229, home: 710317) Telex: 125161 HTKK SF Telefax: 358-0-465077 ARPANET<EMAIL_ADDRESS>INTERNET<EMAIL_ADDRESS>BITNET: mit%hutcs.uucp@fingate UUCP: mcvax!hutcs!mit
Multiprocessor visualization of parametric surfaces Project proposal
Markku Tamminen<EMAIL_ADDRESS>Charles Woodward<EMAIL_ADDRESS>Helsinki University of Technology Laboratory of Information Processing Science Otakaari 1 A, SF-02150 Espoo, Finland
ABSTRACT
The proposed research aims at an efficient system architecture and improved algorithms for realistic visualization of complex scenes described by parametric surfaces.
The key components of such a system are a spatial index and a surface patch intersector. For both very efficient uniproces- sor solutions have been developed by the authors at the Hel- sinki University of Technology. However, to obtain sufficient speed, at least the latter should be based on a specialized ar- chitecture.
We propose obtaining a balanced complete system by gradually as- cending what we call a specialization hierarchy. At its bottom are solutions based on multiprocessors or networks of independent computing units (transputers). In this case an important research problem is how to avoid duplicating the data base in the proses- sors. At the top of the hierarchy are specialized processors im- plemented in VLSI.
The research will produce general insight into the possibilities of utilizing concurrency and specialized processors in geometric search and computation.
PREVIOUS WORK
M. Mantyla and M. Tamminen , ``Localized Set Operations for Solid Modeling ,'' Computer Graphics , vol. 17, no. 3, pp. 279-289 , 1983.
M. Tamminen , The EXCELL Method for Efficient Geometric Access to Data , Acta Polytechnica Scandinavica, Ma 34 , 1981.
Markku Tamminen, Olli Karonen , and Martti Mantyla, ``Ray- Casting and Block Model Conversion Using a Spatial Index,'' Computer Aided Design, vol. 16, pp. 203 - 208, 1984.
C. Woodward, ``Skinning Techniques for Interactive B-Spline Surface Interpolation,'' Computer-Aided Design, vol. 20, no. 8, pp. 441-451, 1988.
C. Woodward, ``Ray Tracing Parametric Surfaces By Subdivision in Viewing Plane,'' to Appear in Proc. Theory and Practice of Geometric Modelling, ed. W. Strasser, Springer-Verlag, 1989.
________
[a later message from Markku Tamminen:]
I thought I'd send this summary of responses as feedback, because some answers may not have found their way through the network. I think<EMAIL_ADDRESS>might be the safest address to use for me.
Our project has not yet started - I have just applied for funding with the proposal whose abstract I sent to you. Also, I am a software person, but hope to get somebody hardware-oriented involved in the project. We will be using transputers to start with, but so far I have just made some small experiments with them.
Our ray/patch intersection method is based on subdivision. It is a new method developed by Charles Woodward, and quite a bit more efficient than Whitted's original one. However, it takes 3 ms for a complete ray/patch intersection on a SUN4. Thus, we'd like to develop a specialized processor for this task - the algorithm is well suited for that.
Our spatial index is EXCELL, which I originally published in 1981, and whose 3D application was described in SIGGRAPH'83 by Martti Mantyla and me. I have lately tuned it quite a bit for ray-tracing, and we are very satisfied with its performance. (EXCELL uses octree-like, but binary, subdivision. It has a directory, which is an array providing direct access by address computation, and a data part, which corresponds to the leaf cells of an octree. Binary subdivision leads to fewer leaf-cells than 8-way. There is an overflow criterion that decides when subdivision will be discontinued.)
We have obtained best results when we store in the spatial index for each patch the bounding box of its control points, and further cut it with a "slab" defined by two planes parallel to a "mean normal" of the patch. Using this method we have to perform, on the average, less than 2 complete patch/ray intersection tests.
Our method has not been as efficient as that of subdividing the patches to all the way to triangles. However, as much less storage is required, we consider our technique more suited for distributed architectures.
In the proposed project we want to look both into developing a specialized (co)processor for the ray/patch intersection task and into distributing the whole computation on several processors. I think that the most difficult research problem is the partitioning of the data base in a loosely coupled system. In our case the ray/patch intersection task is so time consuming that it would help (to begin with) to keep the ray/database traversal on the workstation and jost distribute the intersection task to other processors.
Some questions:
Does anybody know of HW work in the ray/patch intersection area; e.g., as a continuation of Pulleyblank & Kapenga's article in CG&A?
Does anybody know of somebody working with transputers in ray-tracing? (We do know of the INMOS ray-tracing demo.)
How enthusiastic are you about the approach of using digital signal processors? What other off-the shelf processors would be specially suited as a basis for a ray-tracing coprocessor?
What would be the specific computation to offload to a coprocessor?
I don't know what more to write now about our project. Below is a short summary of the responses I got:
From<EMAIL_ADDRESS>(George Kyriazis)
Works with pixel machine, and will transport RPI's ray-tracer to it. Main problem: duplication of code and data.
From<EMAIL_ADDRESS>(Jeff Goldsmith)
Has implemented ray-tracer with distributed database on hypercube. Communication between parts of database by RPC. With 128 processors 50% utilization. (Ref: 3rd Hypercube Concurrent Computation Proc.) A proposal to build custom silicon for intersection testing. In this case the rest of the system could reside on a ordinary PC or workstation.
From<EMAIL_ADDRESS>(Gray Lorig)
"Your abstract sounds interesting."
From: Frederik Jansen<EMAIL_ADDRESS>Mike Henderson at Yorktown Heights is working on ray/patch intersection problem (software approach).
From: Mark VandeWettering<EMAIL_ADDRESS>"As to HW implementation, my advice is NOT to take the path that I took, but to implement one simple primitive: a bilinear interpolated triangular patch." "Take a look at AT&T's 12 DSP chip raytracing board." Would like to experiment with implementing an accelerator based on Motorola DSP56001.
From<EMAIL_ADDRESS>(Tim Kay)
"I am interested how fast a *single* general purpose processor can raytrace when it is assisted by a raytracing coprocessor of some sort. there seems to be tremendous potential for adding a small amount of raytracing HW to graphics work stations." "I am quite capable of ray tracing over our TCP/IP network."
From<EMAIL_ADDRESS>"I work on ray-tracing on a MIMD computer like the Hypercube." Partitions scene boundary as suggested by Cleary. To do it well sub-samples image before parallel execution. With 30-40 processors 50% efficiency. Part of work published in Eurographics'88.
From<EMAIL_ADDRESS>(Timothy F. O'Connor)
"Abstract sounds interesting. My main interest is in radiosity approach."
From: Russ Tuck<EMAIL_ADDRESS>"My work is summarized in hardcopy RTnews vol.2, no. 2, June '88, "Interactive SIMD Ray Tracing."
That's it for now. I hope there has been some interest in this multi-feedback. I'll get more meat of my own in the messages when our new work starts.
Thanks to you all! / Markku
back to contents
From<EMAIL_ADDRESS>Subject: Ray Tracing articles.
I would like you to bring this to the attention of the RT news group (if you consider it appropriate).
There are lots of conference proceedings and journals other than SIGGRAPH & CG&A which contain ray tracing articles. At least, here, at our university we don't get all those journals (for example, the Visual Computer) due to budget constraints. It would be nice for someone to post relevant articles on ray tracing so that all of us will be aware of the work going on in ray tracing every where. For instance, I have found several articles in the Visual Computer that were relevant to what I was doing after being pointed at by someone else. If these can be listed by someone who gets these journals, then it would make it easier to get access to these articles.
K.R.Subramanian Dept. of Computer Sciences The University of Texas at Austin Austin, Tx-78712<EMAIL_ADDRESS>{uunet}!cs.utexas.edu!subramn
________
[My two cents: we don't get "Visual Computer" around here, either. I've been helping to keep Paul Heckbert's "Ray Tracing Bibliography" up to date and would like to obtain relevant references (preferably in REFER format) for next year's copy for use in SIGGRAPH course notes. See SIGGRAPH '88 notes from the "Introduction to Ray Tracing" course for the current version to see the state of our reference list. - Eric]
________________________________________
From: "David F. Rogers"<EMAIL_ADDRESS>Subject: Transforming normals
Was skimming the back issues of the RT News and your memo on transforming normals caught my eye. Another way of looking at the problem is to recall that a polygonal volume is made up of planes that divide space into two parts. The columns of the volume matrix are formed from the coefficients of the plane equations. Transforming a volume matrix requires that you premultiply by the inverse of the manipulation matrix. The components of a normal are the first three coefficients of the plane equation. Hence the same idea should apply. (see PECG Sec. 4-3 on Robert's algorithm pp 211-213). Surprising what you can learn from Roberts' algorithm yet most people discount it.
________________________________________
>From<EMAIL_ADDRESS>(Steven Stadnicki,212 Reynolds,2684079,5186432664)
Subject: Some new thoughts on how to do caustics, mirrored reflection, etc.
[source: comp.graphics]
Here's a new idea I came up with to do caustics, etc. by ray tracing: from your point on some surface, shoot out some number (say ~100) in "random" directions (I would probably use a jittered uniform distribution on the sphere). For each light source, keep track of all rays that come within some "distance" (some angle) from the light source. Then, for each of these rays, try getting closer to the light source using some sort of Newton-type iteration method... for example, to do mirrored reflection:
\|/ -o- Light source /|\ | +---+ | M | O | | i | b | | r | j | | r | e | | o | c | | r | t | | ----------------+---+--X-------+
>From point X, shoot out rays in the ~100 "random" directions mentioned above;
say one of them comes within 0.05 radians of the light source. Do some sort of
update procedure on the ray to see if it keeps getting closer to the light
source; if it does, then you have a solution to the "mirrored reflection"
problem, and you can shade X properly. This procedure will work for curved
mirrors as well as planar ones (unlike the previous idea I mentioned), and will
also handle caustics well. It seems obvious to me that there will be bad cases
for the method, and it is certainly computationally expensive, but it looks
like a useful method. Any comments?
Steven Stadnicki Clarkson University<EMAIL_ADDRESS><EMAIL_ADDRESS>________________________________________
>From<EMAIL_ADDRESS>(joe smith)
Organization: Tymnet QSATS, San Jose CA
Subject: Re: Ray Tracing Novice Needs Your Help
[source: comp.graphics]
In article<EMAIL_ADDRESS><EMAIL_ADDRESS>(David Geary) writes:
> What I'd really like is to have the source in C to a *simple*
>ray-tracer - one that I could port to my Amiga without too much
>difficulty.
>~ David Geary, Boeing Aerospace, ~
My standard answer to this question when it comes up is to locate the May/June 1987 issue of Amiga World. It's the one that has the ray-traced robot juggler on the cover. The article "Graphic Scene Simulations" is a great overview of the subject, and it includes the program listing in C. (Well, most of the program. Details such as inputting the coordinates of all the objects are omitted.)
________________________________________
From<EMAIL_ADDRESS>(Mark Reichert x25948) Subject: A call for vectors.....
Imagine a unit sphere centered at the origin.
Imagine a vector, the "reference vector", from the origin to any point on the surface of this sphere.
I would like to create n vectors which will evenly sample the surface of our sphere, within some given angle about that "reference vector".
I need to be able to jitter these vectors in such a way that no two vectors in a given bunch could be the same.
This appears to be a job for spherical coordinates, but I can't seem to find a formula that can treat the surface of a sphere as a "uniform" 2D surface (ie. no bunching up at the poles).
I desire these vectors for generating soft shadows from spherical light sources, and for diffuse illumination guessing.
I have something now which is empirical and slow - neither of which trait I find very desirable.
I will have a need for these vectors often, and seldom will either the angle or the number of vectors needed be the same across consecutive requests.
Can anyone help me?
________________________________________
>From<EMAIL_ADDRESS>(HOOPS Workshop)
Subject: Needing Ray Tracing Research Topic
[source: comp.graphics]
As a System Design Engineeering undergrad at University of Waterloo, I am responsible for preparing a 'workshop' paper each term. I am fascinated with ray tracing graphics, but what I really need is a good application that I can work into a workable research topic that can be completed in 1 or 2 terms.
If anyone in netland can offer any information on an implementation of ray tracing graphics for my workshop please email me.
Thanks in advance folks,
Tracey Bernath System Design Engineering University of Waterloo Waterloo, Ontario, Canada
<EMAIL_ADDRESS>Bitnet<EMAIL_ADDRESS>CSNet<EMAIL_ADDRESS>uucp: {utai,uunet}!watmath!watsnew!hoops
back to contents
_________________________________
>From<EMAIL_ADDRESS>(David Jevans)
[source: comp.graphics]
Summary: blech
In article (5548@thorin.cs.unc.edu<EMAIL_ADDRESS>(Lurch) writes:
> In article<EMAIL_ADDRESS><EMAIL_ADDRESS>(Steve Beats) writes:
> >In article<EMAIL_ADDRESS><EMAIL_ADDRESS>(Scott Bodarky) writes:
> >If you sample the scene using one pixel per ray, you will get
> >pretty severe aliasing at high contrast boundaries. One trick is to sample
> >at twice the vertical and horizontal resolution (yielding 4 rays per pixel)
> >and average the resultant intensities. This is a pretty effective method
> >of anti-aliasing.
> From what I understand, the way to achieve 4 rays per pixel is to sample at
> vertical resolution +1, horizontal resolution +1, and treat each ray as a
> 'corner' of each pixel, and average those values. This is super cheap compared
> to sampling at twice vertical and horizontal.
Blech! Super-sampling, as suggested in the first article, works ok but is very slow and 4 rays/pixel is not enough for high quality images. Simply rendering vres+1 by hres+1 doesn't gain you anything. All you end up doing is blurring the image. This is VERY unpleasant and makes an image look out of focus.
Aliasing is an artifact of regular under-sampling. Most people adaptively super-sample in areas where it is needed (edges, textures, small objects). Super-sampling in a regular pattern often requires more than 16 rays per anti-aliased pixel to get acceptable results. A great improvement comes from filtering your rays instead of simply averaging them. Even better is to fire super-sample rays according to some distribution (eg. Poisson) and then filter them.
Check SIGGRAPH proceedings from about 84 - 87 for relevant articles and pointers to articles. Changing a ray tracer from simple super-sampling to adaptive super-sampling can be done in less time than it takes to render an image, and will save you HUGE amounts of time in the future. Filtering and distributing rays takes more work, but the results are good.
David Jevans, U of Calgary Computer Science, Calgary AB T2N 1N4 Canada uucp: ...{ubc-cs,utai,alberta}!calgary!jevans
________________________________________
>From<EMAIL_ADDRESS>(Alan Wm Paeth)
Subject: Re: raytracing in || (supersampling speedup)
[source: comp.graphics]
In article<EMAIL_ADDRESS><EMAIL_ADDRESS>(Lurch) writes:
>
>From what I understand, the way to achieve 4 rays per pixel is to sample at
>vertical resolution +1, horizontal resolution +1, and treat each ray as a
>'corner' of each pixel, and average those values. This is super cheap compared
>to sampling at twice vertical and horizontal.
This reuses rays, but since the number of parent rays and number of output pixels match, this has to be the same as low-pass filtering the output produced by a raytracer which casts the same number of rays (one per pixel).
The technique used by Sweeney in 1984 (while here at Waterloo) compares the four pixel-corner rays and if they are not in close agreement subdivides the pixel. The recursion terminates either when the rays from the subpixel's corners are in close agreement or when some max depth is reached. The subpixel values are averaged to form the parent pixel intensity (though a more general convolution could be used in gathering up the subpieces).
This approach means that the subpixel averaging takes place adaptively in regions of pixel complexity, as opposed to globally filtering the entire output raster (which the poster's approach does implicitly).
The addition can be quite useful. For instance, a scene of flat shaded polygons renders in virtually the same time as a "one ray per pixel" implementation, with some slight overhead well spent in properly anti-aliasing the polygon edges -- no time is wasted on the solid areas.
/Alan Paeth Computer Graphics Laboratory University of Waterloo
________________________________________
>From<EMAIL_ADDRESS>(Andrew Chung How Woo)
Subject: anti-aliasing
[source: comp.graphics]
With all these discussions about anti-aliasing for ray tracing, I thought I would get into the fun also.
As suggested by many people, adaptive sampling is a good way to start dealing with anti-aliasing (suggested by Whitted). For another quick hack on top of adaptive sampling, you can add jitter (suggested by Cook). The jitter factor can be controlled by the recursive depth of the adaptive sampling. This combination tends to achieve decent quality.
Another method which nobody has mentioned is "stratified sampling". This is also a rather simple method. Basically, the pixel is divided into a N-size grid. You have a random number generator to sample a ray at (x,y) of the grid. Then shoot another ray, making sure that the row x and column y are discarded from further sampling, etc. Repeat this for N rays. Note, however, no sharing of point sampling information is available here.
Andrew Woo
________________________________________
>From<EMAIL_ADDRESS>(Loren Carpenter)
Subject: Re: anti-aliasing
[source: comp.graphics]
[This is in response to Andrew Woo's article - Eric]
Rob Cook did this too. He didn't call it "stratified sampling", though. The idea is suggested by the solutions to the "8 queens problem". You want N sample points, no 2 of which are in the same column, and no 2 of which are in the same row. Then you jitter on top of that....
p.s. You better not use the same pattern for each pixel...
Loren Carpenter ...!{ucbvax,sun}!pixar!loren
________________________________________
[By the way, what kind of adaptive supersampling have people been using? We've had fairly good results with the simple "check four corners" algorithm and box filtering the values generated. We find that for complex scenes an adaptive algorithm (which shoots 5 more rays if the subdivision criteria is met) shoots about 25% more rays overall (a result that Linda Roy also obtained with her ray-tracer). What the subdivision criteria are affects this, of course. We've been using 0.1 as the maximum ratio of R,G, or B channels of the four pixel corners. How have you fared, and what kinds of filtering have you tried? - Eric]
back to contents
During the last week I put myself together and managed to pull out a second version of my ray tracer (the old one was under the subject: "Another simple ray tracer available"). Tis one includes most of the options described in R. Cook's paper on Distributed ray tracing.
Capabilities of the ray tracer are: Gloss (blurred reflection) Translucency (blurred refraction) Penumbras (area light sources) Motion Blur Phong illumination model with one light source Spheres and squares Field of view and arbitrary position of the camera
The ray tracer has been tested on a SUN 3 and SUN 4. I have it available under anonymous ftp on life.pawl.rpi.edu (<IP_ADDRESS>) in the directory pub/ray under the name ray.2.0.shar. There are some older version there if you want to take a look at them. If you can't ftp there send me mail and I'll send you a copy. I also have a version for the AT&T Pixel Machine (for the few that have access to one!).
No speed improvements have been made yet, but I hope I will have Goldsmith's algorithm running on it soon. I know that my file format is not standard, but people can try to write their own routine to read the file. It's pretty easy.
Hope you have fun!
George Kyriazis<EMAIL_ADDRESS><EMAIL_ADDRESS>back to contents
[This was posted to comp.sources.misc. I include some of the documentation so you can get a feel for it. Nothing special, but it might be fun if you have a 3b1 (it's supposed to work on other UNIX systems, too). - Eric]
NAME tracer- run a simple ray tracing procedure
DESCRIPTION Tracer is a program developed originally to study how ray tracing works, and was later modified to the present state to make it more compatible for animated film production.
It is capable of depicting a number of balls (up to 150) and a plane that is covered with a tiling of any bitmapped picture.
PROGRAM NOTES This program generates a file containing a header with x and y sizes, followed by the data in 8-bit greyscale, one pixel to a character, in scanlines. There are two necessary input files: ball data, and a pattern bitmap. The tiling bitmap can be digitized data, it must be in the form of scan lines no longer than 512 bytes followed by newlines.
back to contents
An Internet archive for maps of geographic-scale maps has been set up, starting with data from the United States Geological Survey (USGS) National Cartographic Information Center (NCIC), specifically a map of terrain in USGS Digital Elevation Model (DEM) format.
The archive is on host panarea.usc.edu [<IP_ADDRESS>], in anonymous FTP directory pub/map. Gary Crum<EMAIL_ADDRESS>is maintainer.
The pub/map directory is writable by anonymous ftp. Approximately 50M bytes are available for the map archive as of this writing.
NOTES:
* Files ending in the .Z extension have been compressed with the "compress" program available on comp.sources archives such as j.cc.purdue.edu. They should be transferred using the "binary" mode of ftp to UNIX systems. Send mail to the maintainer to request format changes (e.g., to uuencoded form split into small pieces).
* Some maps, e.g., DEM files from USGS, contain long lines which have been observed to cause problems transferring with some FTP implementations. In particular, a version of the CMU TCP/IP package for VAX/VMS did not support these long lines.
* Source code for UNIX tools that manipulate ANSI labeled tapes and VMS tapes is available as pub/ansitape.tar.Z on the map archive host.
_________________
Index for Map Archive on Internet Host panarea.usc.edu [<IP_ADDRESS>].
version of Mon Nov 14 09:41:10 PST 1988
NOTE: This INDEX is descriptive to only the directory level in many cases.
-rw-r--r-- 1 crum 1090600 May 26 09:33 dem/MAP.N0009338 -rw-r--r-- 1 crum 278140 Nov 11 14:16 dem/MAP.N0009338.Z Digital Elevation Model 7.5 minute quad (see dem/README). Ft. Douglas quadrangle, including part of Salt Lake City, UT. Southeast corner has coordinates 40.75 N 111.75 Wdrwxrwxrwx 2 crum 512 Nov 1 19:23 terrain-old-format/MAP.37N112W drwxrwxrwx 2 crum 512 Nov 1 19:23 terrain-old-format/MAP.37N119W drwxrwxrwx 2 crum 512 Nov 1 19:24 terrain-old-format/MAP.38N119W USGS NCIC terrain maps in "old" format before DEM was introduced. Files in these directories ending in extensions .[a-s] should be concatenated together after transfer.
-rw-rw-rw- 1 45 777251 Nov 11 11:10 world-digitized/world-digitized.tar.Z drwxrwxr-x 7 crum 512 Nov 11 10:56 world-digitized/extracted The "extracted" directory is produced from the tar file. From world-digitized/expanded/doc/read.me : The World Digitized is a collection of more than 100,000 points of latitude and longitude. When connected together, these co-ordinates form outlines of the entire world's coastlands, islands, lakes, and national boundaries in surprising detail.
drwxrwxrwx 2 crum 1024 Nov 12 19:10 dlg/35N86W Digital Line Graph of area with top-left coordinates 35 N 86 W. See dlg/README. From<EMAIL_ADDRESS>(Eric Roskos).
back to contents
[Volume 0, August-December 1987] - Standard Procedural Databases, Spline Surface Intersection, Abnormal Normals
[Volume 1, Number 1,] 1/15/88 - Solid Modelling with Faceted Primitives, What's Wrong [and Right] with Octrees, Top Ten Hit Parade of Computer Graphics Books, Comparison of Efficiency Schemes, Subspaces and Simulated Annealing.
[Volume 1, Number 2,] 2/15/88 - Dore'
[Volume 1, Number 3,] 3/1/88 - {comments on Octrees, Simulated Annealing}, Efficiency Tricks, More Book Recommendations, Octree Bug Alert
[Volume 1, Number 4,] 3/8/88 - Surface Acne, Goldsmith/Salmon Hierarchy Building, {more Efficiency Tricks}, Voxel/Quadric Primitive Overlap Determination
[Volume 1, Number 5,] 3/26/88 - {more on Efficiency, Voxel/Quadric}, Linear Time Voxel Walking for Octrees, more Efficiency Tricks, Puzzle, PECG Correction
[Volume 1, Number 6,] 4/6/88 - {more on Linear Time Voxel Walking}, Thoughts on the Theory of RT Efficiency, Automatic Creation of Object Hierarchies (Goldsmith/Salmon), Image Archive, Espresso Database Archive
[Volume 1, Number 7,] 6/20/88 - RenderMan & Dore', Commercial Ray Tracing Software, Benchmarks
[Volume 1, Number 8,] 9/5/88 - SIGGRAPH '88 RT Roundtable Summary, {more Commercial Software}, Typo in "Intro to RT" Course Notes, Vectorizing Ray-Object Intersections, Teapot Database Archive, Mark VandeWettering's Ray Tracer Archive, DBW Render, George Kyriazis Ray Tracer Archive, Hartman/Heckbert PostScript Ray Tracer (source),
[Volume 1, Number 9,] 9/11/88 - {much more on MTV's Ray Tracer and utilities}, Archive for Ray Tracers and databases (SPD, teapot), Sorting on Shadow Rays for Kay/Kajiya, {more on Vectorizing Ray-Object Intersection}, {more on George Kyriazis' Ray Tracer}, Bitmaps Library
[Volume 1, Number 10,] 10/3/88 - Bitmap Utilities, {more on Kay/Kajiya}, Wood Texture Archive, Screen Bounding Boxes, Efficient Polygon Intersection, Bug in Heckbert Ray Tracer (?), {more on MTV's Ray Tracer and utilities}, Neutral File Format (NFF)
[Volume 1, Number 11,] 11/4/88 - Ray/Triangle Intersection with Barycentric Coordinates, Normal Transformation, {more on Screen Bounding Boxes}, {comments on NFF}, Ray Tracing and Applications, {more on Kay/Kajiya and eye rays}, {more on Wood Textures}, Virtual Lighting, Parallel Ray Tracing, RenderMan, On-Line Computer Graphics References Archive, Current Mailing List
back to contents


BREAST CANCER DETECTION - AI
Select the Method for Detection
BCD Tissue
BCD Mammography
BCD Numeric
© C.K.P.C.E.T AI/ML DEVOPS - 2020-2021


HTTP Tests
Introduction
Laravel provides a very fluent API for making HTTP requests to your application and examining the output. For example, take a look at the test defined below:
<?php
namespace Tests\Feature;
use Tests\TestCase;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
{
/**
* A basic test example.
*
* @return void
*/
public function testBasicTest()
{
$response = $this->get('/');
$response->assertStatus(200);
}
}
The get
method makes a GET
request into the application, while the assertStatus
method asserts that the returned response should have the given HTTP status code. In addition to this simple assertion, Laravel also contains a variety of assertions for inspecting the response headers, content, JSON structure, and more.
Customizing Request Headers
You may use the withHeaders
method to customize the request's headers before it is sent to the application. This allows you to add any custom headers you would like to the request:
<?php
class ExampleTest extends TestCase
{
/**
* A basic functional test example.
*
* @return void
*/
public function testBasicExample()
{
$response = $this->withHeaders([
'X-Header' => 'Value',
])->json('POST', '/user', ['name' => 'Sally']);
$response
->assertStatus(201)
->assertJson([
'created' => true,
]);
}
}
{tip} The CSRF middleware is automatically disabled when running tests.
Session / Authentication
Laravel provides several helpers for working with the session during HTTP testing. First, you may set the session data to a given array using the withSession
method. This is useful for loading the session with data before issuing a request to your application:
<?php
class ExampleTest extends TestCase
{
public function testApplication()
{
$response = $this->withSession(['foo' => 'bar'])
->get('/');
}
}
One common use of the session is for maintaining state for the authenticated user. The actingAs
helper method provides a simple way to authenticate a given user as the current user. For example, we may use a model factory to generate and authenticate a user:
<?php
use App\User;
class ExampleTest extends TestCase
{
public function testApplication()
{
$user = factory(User::class)->create();
$response = $this->actingAs($user)
->withSession(['foo' => 'bar'])
->get('/');
}
}
You may also specify which guard should be used to authenticate the given user by passing the guard name as the second argument to the actingAs
method:
$this->actingAs($user, 'api')
Testing JSON APIs
Laravel also provides several helpers for testing JSON APIs and their responses. For example, the json
, get
, post
, put
, patch
, and delete
methods may be used to issue requests with various HTTP verbs. You may also easily pass data and headers to these methods. To get started, let's write a test to make a POST
request to /user
and assert that the expected data was returned:
<?php
class ExampleTest extends TestCase
{
/**
* A basic functional test example.
*
* @return void
*/
public function testBasicExample()
{
$response = $this->json('POST', '/user', ['name' => 'Sally']);
$response
->assertStatus(201)
->assertJson([
'created' => true,
]);
}
}
{tip} The
assertJson
method converts the response to an array and utilizesPHPUnit::assertArraySubset
to verify that the given array exists within the JSON response returned by the application. So, if there are other properties in the JSON response, this test will still pass as long as the given fragment is present.
Verifying An Exact JSON Match
If you would like to verify that the given array is an exact match for the JSON returned by the application, you should use the assertExactJson
method:
<?php
class ExampleTest extends TestCase
{
/**
* A basic functional test example.
*
* @return void
*/
public function testBasicExample()
{
$response = $this->json('POST', '/user', ['name' => 'Sally']);
$response
->assertStatus(201)
->assertExactJson([
'created' => true,
]);
}
}
Testing File Uploads
The Illuminate\Http\UploadedFile
class provides a fake
method which may be used to generate dummy files or images for testing. This, combined with the Storage
facade's fake
method greatly simplifies the testing of file uploads. For example, you may combine these two features to easily test an avatar upload form:
<?php
namespace Tests\Feature;
use Tests\TestCase;
use Illuminate\Http\UploadedFile;
use Illuminate\Support\Facades\Storage;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ExampleTest extends TestCase
{
public function testAvatarUpload()
{
Storage::fake('avatars');
$file = UploadedFile::fake()->image('avatar.jpg');
$response = $this->json('POST', '/avatar', [
'avatar' => $file,
]);
// Assert the file was stored...
Storage::disk('avatars')->assertExists($file->hashName());
// Assert a file does not exist...
Storage::disk('avatars')->assertMissing('missing.jpg');
}
}
Fake File Customization
When creating files using the fake
method, you may specify the width, height, and size of the image in order to better test your validation rules:
UploadedFile::fake()->image('avatar.jpg', $width, $height)->size(100);
In addition to creating images, you may create files of any other type using the create
method:
UploadedFile::fake()->create('document.pdf', $sizeInKilobytes);
Available Assertions
Response Assertions
Laravel provides a variety of custom assertion methods for your PHPUnit tests. These assertions may be accessed on the response that is returned from the json
, get
, post
, put
, and delete
test methods:
assertCookie assertCookieExpired assertCookieNotExpired assertCookieMissing assertDontSee assertDontSeeText assertExactJson assertForbidden assertHeader assertHeaderMissing assertJson assertJsonCount assertJsonFragment assertJsonMissing assertJsonMissingExact assertJsonMissingValidationErrors assertJsonStructure assertJsonValidationErrors assertLocation assertNotFound assertOk assertPlainCookie assertRedirect assertSee assertSeeInOrder assertSeeText assertSeeTextInOrder assertSessionHas assertSessionHasAll assertSessionHasErrors assertSessionHasErrorsIn assertSessionHasNoErrors assertSessionDoesntHaveErrors assertSessionMissing assertStatus assertSuccessful assertViewHas assertViewHasAll assertViewIs assertViewMissing
assertCookie
Assert that the response contains the given cookie:
$response->assertCookie($cookieName, $value = null);
assertCookieExpired
Assert that the response contains the given cookie and it is expired:
$response->assertCookieExpired($cookieName);
assertCookieNotExpired
Assert that the response contains the given cookie and it is not expired:
$response->assertCookieNotExpired($cookieName);
assertCookieMissing
Assert that the response does not contains the given cookie:
$response->assertCookieMissing($cookieName);
assertDontSee
Assert that the given string is not contained within the response:
$response->assertDontSee($value);
assertDontSeeText
Assert that the given string is not contained within the response text:
$response->assertDontSeeText($value);
assertExactJson
Assert that the response contains an exact match of the given JSON data:
$response->assertExactJson(array $data);
assertForbidden
Assert that the response has a forbidden status code:
$response->assertForbidden();
assertHeader
Assert that the given header is present on the response:
$response->assertHeader($headerName, $value = null);
assertHeaderMissing
Assert that the given header is not present on the response:
$response->assertHeaderMissing($headerName);
assertJson
Assert that the response contains the given JSON data:
$response->assertJson(array $data);
assertJsonCount
Assert that the response JSON has an array with the expected number of items at the given key:
$response->assertJsonCount($count, $key = null);
assertJsonFragment
Assert that the response contains the given JSON fragment:
$response->assertJsonFragment(array $data);
assertJsonMissing
Assert that the response does not contain the given JSON fragment:
$response->assertJsonMissing(array $data);
assertJsonMissingExact
Assert that the response does not contain the exact JSON fragment:
$response->assertJsonMissingExact(array $data);
assertJsonMissingValidationErrors
Assert that the response has no JSON validation errors for the given keys:
$response->assertJsonMissingValidationErrors($keys);
assertJsonStructure
Assert that the response has a given JSON structure:
$response->assertJsonStructure(array $structure);
assertJsonValidationErrors
Assert that the response has the given JSON validation errors for the given keys:
$response->assertJsonValidationErrors($keys);
assertLocation
Assert that the response has the given URI value in the Location
header:
$response->assertLocation($uri);
assertNotFound
Assert that the response has a not found status code:
$response->assertNotFound();
assertOk
Assert that the response has a 200 status code:
$response->assertOk();
assertPlainCookie
Assert that the response contains the given cookie (unencrypted):
$response->assertPlainCookie($cookieName, $value = null);
assertRedirect
Assert that the response is a redirect to a given URI:
$response->assertRedirect($uri);
assertSee
Assert that the given string is contained within the response:
$response->assertSee($value);
assertSeeInOrder
Assert that the given strings are contained in order within the response:
$response->assertSeeInOrder(array $values);
assertSeeText
Assert that the given string is contained within the response text:
$response->assertSeeText($value);
assertSeeTextInOrder
Assert that the given strings are contained in order within the response text:
$response->assertSeeTextInOrder(array $values);
assertSessionHas
Assert that the session contains the given piece of data:
$response->assertSessionHas($key, $value = null);
assertSessionHasAll
Assert that the session has a given list of values:
$response->assertSessionHasAll(array $data);
assertSessionHasErrors
Assert that the session contains an error for the given field:
$response->assertSessionHasErrors(array $keys, $format = null, $errorBag = 'default');
assertSessionHasErrorsIn
Assert that the session has the given errors:
$response->assertSessionHasErrorsIn($errorBag, $keys = [], $format = null);
assertSessionHasNoErrors
Assert that the session has no errors:
$response->assertSessionHasNoErrors();
assertSessionDoesntHaveErrors
Assert that the session has no errors for the given keys:
$response->assertSessionDoesntHaveErrors($keys = [], $format = null, $errorBag = 'default');
assertSessionMissing
Assert that the session does not contain the given key:
$response->assertSessionMissing($key);
assertStatus
Assert that the response has a given code:
$response->assertStatus($code);
assertSuccessful
Assert that the response has a successful status code:
$response->assertSuccessful();
assertViewHas
Assert that the response view was given a piece of data:
$response->assertViewHas($key, $value = null);
assertViewHasAll
Assert that the response view has a given list of data:
$response->assertViewHasAll(array $data);
assertViewIs
Assert that the given view was returned by the route:
$response->assertViewIs($value);
assertViewMissing
Assert that the response view is missing a piece of bound data:
$response->assertViewMissing($key);
Authentication Assertions
Laravel also provides a variety of authentication related assertions for your PHPUnit tests:
| Method | Description |
|---|---|
$this->assertAuthenticated($guard = null); |
Assert that the user is authenticated. |
$this->assertGuest($guard = null); |
Assert that the user is not authenticated. |
$this->assertAuthenticatedAs($user, $guard = null); |
Assert that the given user is authenticated. |
$this->assertCredentials(array $credentials, $guard = null); |
Assert that the given credentials are valid. |
$this->assertInvalidCredentials(array $credentials, $guard = null); |
Assert that the given credentials are invalid. |


Click on the microphone to start dictation
full-caps
semi-caps
spacing
typing
pure dictation
Grammars:


Nuclear 3, 5, 3'-triiodothyronine receptors (T3R) of circulating human lymphocytes in hyper- and hypothyroidism and nonthyroidal diseases.
Abstract
The clinical implications of nuclear T3R alterations of circulating lymphocytes in hyperthyroidism, hypothyroidism and nonthyroidal diseases were investigated. Nuclear T3R in lymphocytes was determined by radio-ligand binding analysis. The results showed that in hyper- and hypothyroid patients the nuclear affinity (Ka) for T3 was similar to that of normal subjects. In hyperthyroidism nuclear T3 maximal binding capacity (MBC) was unaltered, whereas in hypothyroidism the MBC was significantly increased. In the patients with diabetes mellitus, chronic renal failure and hepatic cirrhosis, the nuclear T3R MBC of lymphocytes was about 1.5-1.6 times of the normal controls. It was concluded that there existed hormonal regulation of nuclear T3R, and up-regulation was seen in hypothyroidism and low T3 syndrome.


Lorem Ipsum
I don't know what to say. I've got a degree in genetics, I've studied embroidery via the Royal School of Needlework, I'm pretty sure I've got a certificate of Music Industry studies in a drawer somewhere. Now I'm moving on to web engineering. What can I say, I'm sort of a jack of all trades. (College was like this, I had at least 5 declared majors over my college career. I can't help it. There are so many interesting things out there!) I like making things. And I like funny things. And I hope someday I get to combine the two.


Aristo
chart
Home
Documentation
Examples
Themes
Github
Examples
Basic
— Basic usage of Aristochart.
Big Data
— Example with huge quantities (100,000) of data points.
Negative Axes
— See how negative data is handled.
Fluid Axes
— Fluid axes to better display negative axes


Only suggestion is that when you right click you can choose to open in new tab, which is what I lways do normally, but can't with the upgrade.
BrainFooLong
Administrator
You can, you must only enable the "Delayed Right Click Contextmenu" as described in the FAQ. This "bug" was the reason why this option is available.
Please take the time to read the FAQ, it shows you many hints about the options.


{% extends 'email_template.html' %} {% block content %}
Hello {{ name }},
The Virtual Houston ARTCC has successfully received your visiting request! You will receive an email once a senior staff member has reviewed your visiting request.
Thank you for your interest in visiting Houston and good luck!
If you believe there has been an error, please contact<EMAIL_ADDRESS>or<EMAIL_ADDRESS>immediately!
{% endblock %}


graphing.it
About
Help
Discuss
View options
Range
Grid distance
Resolution
x
y
Functions
add function


want to contact me: run below code in your Chrome console!
const email_address = `xgqfrms$gmail.com`.replace(`\$`, `@`); copy(email_address);
want to contact me: run below code in your Chrome console!
const email_address = `xgqfrms$gmail.com`.replace(`\$`, `@`); copy(email_address);


| Name | {{course.name}} |
| Last Name | {{course.lastName}} |
| Title of the Training Proposal | {{course.title}} |
| Host Name | {{course.hostName}} |
| Host Address | {{course.hostAddress}} |
| Name of the Training Course Coordinator | {{course.coordName}} |
| Title of the Training Course Coordinator | {{course.coordTitle}} |
| Institutional Affiliation of the Training Course Coordinator | {{course.coordAffiliation}} |
| Excpected Commencement Date | {{course.comDate}} |
| Excpected Termination Date | {{course.termDate}} |
| Destination |
{{course.description}}
{{course.organizationTraining}}
| Full Name | Position | Institution | Phone | Fax | Area of Expertise | |
|---|---|---|---|---|---|---|
| {{collaborator.fullName}} | {{collaborator.position}} | {{collaborator.institution}} | {{collaborator.phone}} | {{collaborator.fax}} | {{collaborator.email}} | {{collaborator.area}} |
| Item | Budget |
|---|---|
| {{item.description}} | {{item.budget}} |
{{course.output}}
{{course.trainees}}
{{evaluation.objectivesComment}}
{{evaluation.descriptionComment}}
{{evaluation.collaboratorsComment}}
{{evaluation.traineesComment}}
{{evaluation.budgetComment}}
{{evaluation.finalComment}}
Reviewed by : {{evaluation.name}} {{evaluation.lastName}}
Overall Qualification : {{evaluation.overallQualification}}


MR BADMUS IGWE BRANCH MANAGER GULF BANK PLC ILUPEJU BRANCH LAGOS NIGERIA. ATTN: PRESIDENT/C.E.O I am pleased to get across to you for a very urgent and profitable business proposal, though I don't know you neither have I seen you before but my confidence was reposed on you when the Chief Executive of Lagos State chamber of Commerce and Industry handed me yourcontact for a confidential business. I am the manager of gulf bank Plc (UBA),Ilupeju branch, Lagos Nigeria.The intended business is thus; We had a customer, a Foreign resident in Nigeria, he was a Contractor with one of the Government Parastatals.He has in his Account in my branch the sum of US 15.5 Million (Fifteen Million, Five Hundred Thousand U.SDollars).Unfortunately, the man died three years ago until today non-of his next of kin has come forward to claim the money. Having noticed this, I in collaboration with two other top Officials of the bank have covered up the account all this while. Now we want you (being a foreigner) to be fronted as one of his next of kin and forward your account and other relevant documents to be advised to you by us to attest to the Claim. We will use our positions to get all internal documentations to back up the claims . The whole procedures will last only five working days to get the fund retrieved successfully without trace even now or in future.Your response is only what we are waiting for as we have arranged all necessary things. As soon as this message comes to you kindly get back to me through my personal email<EMAIL_ADDRESS>indicating your interest, then I will furnish you with the whole procedures to ensure that the deal is successfully concluded. For your assistance we have agreed to give you twenty five percent (25%) of the Total sum at the end of the transaction while 65% would be for my colleagues and I and the remaining 10% would be for any form ofexpenses that may be incurred during the course of the transaction which would be given to us when the money is transferred into your account before splitting the balance on the agreed percentage of 65% to 25%. In order to get all the legal documents from the court, kindly send the following information to us immediately. Your full name,telephone,mobile and fax numbers as well as your resident or company address, Bank Name, Bank Address. I await your earliest response. Thanks, Yours Sincerely, MR BADMUS IGWE


Trading Economics provides indicator, calendar, government bonds, equities, and commodity data for 196 countries.
Data is sourced from official, non-third party sources. They provide more than 20 million indicators, which are manually
checked for any errors and inconsistencies. You can find out more about Trading Economics at https://tradingeconomics.com/about-te.aspx


Decorators to wrap functions to make them WSGI applications.
The main decorator wsgify turns a function into a WSGI application (while also allowing normal calling of the method with an instantiated request).
Turns a request-taking, response-returning function into a WSGI app
You can use this like:
@wsgify
def myfunc(req):
return webob.Response('hey there')
With that myfunc will be a WSGI application, callable like app_iter = myfunc(environ, start_response). You can also call it like normal, e.g., resp = myfunc(req). (You can also wrap methods, like def myfunc(self, req).)
If you raise exceptions from webob.exc they will be turned into WSGI responses.
There are also several parameters you can use to customize the decorator. Most notably, you can use a webob.Request subclass, like:
class MyRequest(webob.Request):
@property
def is_local(self):
return self.remote_addr == '<IP_ADDRESS>'
@wsgify(RequestClass=MyRequest)
def myfunc(req):
if req.is_local:
return Response('hi!')
else:
raise webob.exc.HTTPForbidden
Another customization you can add is to add args (positional arguments) or kwargs (of course, keyword arguments). While generally not that useful, you can use this to create multiple WSGI apps from one function, like:
import simplejson
def serve_json(req, json_obj):
return Response(json.dumps(json_obj),
content_type='application/json')
serve_ob1 = wsgify(serve_json, args=(ob1,))
serve_ob2 = wsgify(serve_json, args=(ob2,))
You can return several things from a function:
Also see wsgify.middleware() for a way to make middleware.
You can also subclass this decorator; the most useful things to do in a subclass would be to change RequestClass or override call_func (e.g., to add req.urlvars as keyword arguments to the function).


view all
jumping
floating
jogging
flipping
twirling
falling
yelling
ghosting
sailing
shivering
fading
rocking
hiding
retreating
breaking
swaying
blinking
tumbling


>
This is part of the old website. New website begins at fontforge.github.io
Are you a web developer? Help us migrate this page on Github
Copyright © 2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011 by George Williams.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.


Pull
Issues
MarketPlace
Explore
Action
Another action
Something else here
Overview
Repositories
Projects
Packages
Anurag Tiwari
Getting back on track
Pinned
Customize your pin


Chapter 1 Introduction
1.2 Book structure
This book is organized into six parts.
- Part 1 demonstrates the link between Shiny and the classic web languages like HTML, CSS and JavaScript. We finish by exploring the dependencies behind Shiny (Bootstrap, jQuery, …)
- In part 2, we dive into the
{htmltools}
(Cheng et al. 2020) package, providing functions to create and manipulate HTML tags from R as well as manage web dependencies - Part 3 contains chapters dedicated to the Shiny input system where we highlight some partially hidden features like websockets. This part starts with a JavaScript introduction that might be skipped if necessary!
- Part 4 focuses on the development of a new template for Shiny by demonstrating examples from the
{tablerDash}
(Granjon 2020) package, being a serious refreshment to{shinydashboard}
(Chang and Borges Ribeiro 2018). These, and more may be explored further as part of the RinteRface project. - Part 5 focuses on CSS and SASS, showcasing examples from the R community like
{fresh}
Perrier and Meyer (2020b)], to beautify apps with only few lines of code - Part 6 dives into mobile web development through a practical study involving the
{shinyMobile}
package (Granjon, Perrier, and Rudolf 2020)
1.3 Code structure
This book has a side package containing all the necessary material to run the code without having to reload each previous snippet.
It covers Chapters 9, 10 and the whole Practice section.
There is another good reason for this package: provide a robust method to bundle JavaScript/CSS code along side any shiny app. Indeed, it is quite tempting to proceed as below:
ui <- fluidPage(
tags$script(
"$(function() {
Shiny.addCustomMessageHandler('hello', function(message) { alert(message);
});
});
"
),
actionButton("go", "Send")
)
server <- function(input, output, session) {
observeEvent(input$go, {
session$sendCustomMessage("hello", message = "plop")
})
}
shinyApp(ui, server)
It is fine if the app purpose is a simple demonstration. In our case, since we aim at providing reusable template elements, we need a better approach, that will be described later.
1.4 Preliminary exercices
Before starting with technical details, we propose to play a little game. Among all the images shown, what are the ones corresponding to shiny apps?
References
Chang, Winston, and Barbara Borges Ribeiro. 2018. Shinydashboard: Create Dashboards with ’Shiny’. https://CRAN.R-project.org/package=shinydashboard.
Cheng, Joe, Carson Sievert, Winston Chang, Yihui Xie, and Jeff Allen. 2020. Htmltools: Tools for Html. https://CRAN.R-project.org/package=htmltools.
Granjon, David. 2020. TablerDash: ’Tabler’ Api for ’Shiny’.
Granjon, David, Victor Perrier, and Isabelle Rudolf. 2020. ShinyMobile: Mobile Ready ’Shiny’ Apps with Standalone Capabilities.
Perrier, Victor, and Fanny Meyer. 2020b. Fresh: Create Custom ’Bootstrap’ Themes to Use in ’Shiny’. https://CRAN.R-project.org/package=fresh.


Mesh Generation¶
1D interval domain meshes¶
-
class
FEMpy.Mesh.
Interval1D
(left, right, h, basis_type)[source]¶ Defines a one-dimensional mesh and associated information matrices.
Create a mesh object defined from left to right with step size h. This object provides the information matrices describing the mesh (P and T) as well as the information matrices describing the finite element of type basis_type (Pb and Tb).
Parameters: - left (float) – The left end point of the domain.
- right (float) – The right end point of the domain.
- h (float) – Mesh grid spacing.
- basis_type ({101, ‘linear’, 102, ‘quadratic’}) – Finite element basis type. Can either be called as a integer code or a string identifier to indicate the
type of basis function we are using.
- 101, ‘linear’ : 1-dimensional, linear basis.
- 102, ‘quadratic’ : 1-dimensional, quadratic basis.
-
P
¶ ndarray – Information matrix containing the coordinates of all mesh nodes.
-
T
¶ ndarray – Information matrix containing the global node indices of the mesh nodes of all the mesh elements.
-
Pb
¶ ndarray – Information matrix containing the coordinates of all finite element nodes.
-
Tb
¶ ndarray – Information matrix containing the global node indices of the finite element nodes.
Examples
Automatically generate the boundary nodes.
>>> from FEMpy import Interval1D >>> mesh = Interval1D(0, 1, 1/2, 'linear') >>> mesh.boundary_nodes array([0., 1.])
Get the vertices of the nth element.
>>> from FEMpy import Interval1D >>> mesh = Interval1D(0, 1, 1/4, 'quadratic') >>> mesh.get_vertices(3) array([0.75, 1. ])
Show the number of elements in the interval.
>>> from FEMpy import Interval1D >>> mesh = Interval1D(-1, 3, 1/8, 'quadratic') >>> mesh.num_elements_x 32
-
boundary_nodes
¶ Returns the boundary node coordinates generated from the mesh.
-
get_vertices
(n)[source]¶ Extracts the vertices of the mesh element n.
Parameters: n (int) – Mesh element index. Returns: The vertices of the mesh element En. Return type: ndarray
-
num_elements_x
¶ Returns the number of elements along the domain x-axis.
2D rectangular meshes with triangular elements¶
-
class
FEMpy.Mesh.
TriangularMesh2D
(left, right, bottom, top, h1, h2, basis_type)[source]¶ Defines a two-dimensional mesh with triangular elements and associated information matrices.
Create a mesh object defined on the domain [left, right] x [`bottom, top] with step size h1 in the x-direction and h2 in the y-direction. This object provides the information matrices describing the mesh (P and T) as well as the information matrices describing the finite element of type basis_type (Pb and Tb).
Parameters: - left (float) – The left edge point of the domain.
- right (float) – The right edge point of the domain.
- bottom (float) – The bottom edge point of the domain.
- top (float) – The top edge point of the domain.
- h1 (float) – Mesh grid spacing along x-direction.
- h2 (float) – Mesh grid spacing along y-direction.
- basis_type ({201, ‘linear’, ‘linear2D_tri’, 202, ‘quadratic’, ‘quadratic2D_tri’}) – Finite element basis type. Can either be called as a integer code or a string identifier to indicate the
type of basis function we are using.
- 201, ‘linear’, ‘linear2D_tri : 1-dimensional, linear basis on triangular elements.
- 202, ‘quadratic’, ‘quadratic2D_tri : 1-dimensional, quadratic basis on triangular elements.
-
P
¶ ndarray – Information matrix containing the coordinates of all mesh nodes.
-
T
¶ ndarray – Information matrix containing the global node indices of the mesh nodes of all the mesh elements.
-
Pb
¶ ndarray – Information matrix containing the coordinates of all finite element nodes.
-
Tb
¶ ndarray – Information matrix containing the global node indices of the finite element nodes.
Examples
Automatically generate the boundary nodes and edges.
>>> from FEMpy import TriangularMesh2D >>> mesh = TriangularMesh2D(0, 1, 0, 1, 1/2, 1/2, 'quadratic') >>> mesh.boundary_nodes array([[0. , 0.25, 0.5 , 0.75, 1., 1. , 1. , 1. , 1., 0.75, 0.5, 0.25, 0. , 0. , 0. , 0. ], [0. , 0. , 0. , 0. , 0., 0.25, 0.5, 0.75, 1., 1. , 1. , 1. , 1. , 0.75, 0.5 , 0.25]]) >>> mesh.boundary_edges array([[0. , 0.5, 1. , 1. , 1. , 0.5, 0. , 0. ], [0. , 0. , 0. , 0.5, 1. , 1. , 1. , 0.5]])
Get the number of elements in the x-axis and y-axis.
>>> from FEMpy import TriangularMesh2D >>> mesh = TriangularMesh2D(0, 2, 0, 1, 1/2, 1/2, 'linear') >>> mesh.num_elements_x 4 >>> mesh.num_elements_y 2
-
boundary_edges
¶ Returns the boundary edge coordinates generated from the mesh.
-
num_elements_y
¶ Returns the number of elements along the domain y-axis.


Time-jittered blended marine acquisition on non-uniform spatial grids: examples and results
Author: Haneet Wason<EMAIL_ADDRESS>Date: August, 2015
% COMING SOON!
Author: Haneet Wason<EMAIL_ADDRESS>Date: August, 2015
% COMING SOON!


Many, but not all, C functions return one of the codes
SP_SUCCESS
for success, SP_FAILURE
for failure,
SP_ERROR
if an error condition occurred, or if an uncaught
exception was raised during a call from C to Prolog.
If the value is SP_ERROR
, the macro SP_errno
will return a
value (an integer) describing the error condition.
The function SP_error_message()
returns a pointer to the diagnostic
message corresponding to a specified error number.
See mpg-ref-ove for a description of the conventions observed in the Reference Pages for Prolog predicates. C function Reference Pages differ primarily in the synopsis. Also, the Reference Page for each C function documents its return values.
The following function annotations are used in the Reference Pages:


Returns the smallest possible subset of a set for which the total results of a numeric evaluation are at least a given percentage. Elements in the result set are listed from largest to smallest.
Syntax
TopPercent ( set, percentage, numeric_value_expression )
| Parameter | Description |
|---|---|
|
The set from which to select the top-percentile elements. |
|
percentage |
The percentile. This argument must be a value between 0 and 100. |
numeric_value_expression |
The expression that defines the selection criteria (see MDX Grammar Rules). |
Notes
This function ignores negative and missing values.
Example
The following query selects the top-selling markets that contribute 25% of the total yearly Diet products sales, and displays the quarterly sales for each Diet product.
SELECT CrossJoin( [Product].[Diet].Children, [Year].Children ) ON COLUMNS, TopPercent( [Market].Levels(0).Members, 25, [Product].[Diet] ) ON ROWS FROM Sample.Basic WHERE ([Scenario].[Actual], [Measures].[Sales])
This query returns the grid:
| 100-20 | 200-20 | 300-30 | ||||||||||
| Qtr1 | Qtr2 | Qtr3 | Qtr4 | Qtr1 | Qtr2 | Qtr3 | Qtr4 | Qtr1 | Qtr2 | Qtr3 | Qtr4 | |
| Illinois | 755 | 958 | 1050 | 888 | 1391 | 1520 | 1562 | 1402 | 675 | 755 | 859 | 894 |
| California | 367 | 491 | 506 | 468 | 1658 | 1833 | 1954 | 1706 | 700 | 802 | 880 | 673 |
| Colorado | 700 | 802 | 880 | 673 | 549 | 465 | 412 | 539 | 1006 | 921 | 892 | 991 |


---
layout: default
---
{% if page.category == 'dh now' %}
Category: DH Now
{% elsif page.category == 'dh+lib' %}
Category: dh+lib
{% else %}
Category: {{ page.category | capitalize }}
{% endif %}
{% if page.category == 'dh now' %}
{{ site.categories[page.category] | size }} of my blog posts have been featured on DH Now, "an experimental, edited publication that highlights and distributes informally published digital humanities scholarship and resources from the open web."
{% endif %}
{% if page.category == 'dh+lib' %}
{{ site.categories[page.category] | size }} of my blog posts have been featured on dh+lib Review, a weekly roundup of recommended readings and resources at the intersection of digital humanities and libraries.
{% endif %}
{% for post in site.categories[page.category] %}
{% include archive_post.html %}
{% endfor %}


Red Skull
Red Skull has to eat mosquitoes to live
Red Skull has to eat mosquitoes to live
Eat mosquitoes to get points
Avoid exceeding the screen limits, remain alive!!
Don't crash with Bat Mosquito
Be careful with the Ghost, it changes your gravity
Jump this bomb, it`s not your friend


Set
Get
Autonomous Selection
Gyro Angle
Shooter Angle
Intake
Lift
Ready
Fire
Shooter RPM Multipler
Shooter Angle Adjustment
Gear Detection Angle
Gear Lift Distance
Gear FPS
Shoot FPS


Frosan1450.github.io
A replica of France's Grotte Chauvet and its prehistoric art opens to the public. Shocker Panel 180 USB by CHAUVET. Shocker Panel 180 USB is a high-impact LED strobe light featuring four zones of control. Eye-popping built-in effects and chases pre-programs can be triggere. Shocker Panel 180 USB es una efecto estrobo de LEDs de alta potencia, con cuatro zonas de control independiente. Los alucinantes programas y secuencias de efectos precargados se pueden activar en modo maestro/esclavo, mediante DMX o a distancia con el control opcional IRC-6 (se vende por separado).
Shocker™ Panel 180 USB is a high-impact LED strobe light featuring four zones of control. Eye-popping built-in effects and chases pre-programs can be triggered via master/slave Product Description for the Chauvet Shocker Panel 180 USB. Shocker Panel 180 USB is a high-impact LED strobe light featuring four zones of control. Shocker™ Panel 180 USB User Manual Rev. 1 Page 5 of 19 2. INTRODUCTION Product Overview Bracket Adjustment Knob D Microphone WARNING! DO NOT plug anything other than a D -Fi™ Shocker Panel 180 USB is a high-impact LED strobe light featuring four zones of control. Eye-popping built-in effects and chases pre-programs can be triggered via master/slave, DMX mode or the optional IRC-6 remote (sold separately). Chauvet SHOKER PANEL 180 USB Manuals - manualslib.com. Shocker Panel 180 USB by CHAUVET DJ - Video Dailymotion.
Chauvet Shocker Panel 180 USB - ProAudioStar.
Shocker Panel 180 User Manual Rev. 1 - CHAUVET. Chauvet Shocker Panel 180 USB Handbücher.
Chauvet DJ Shocker Panel 180 USB Strobe Light. Chauvet SHOKER PANEL 180 USB Pdf User Manuals. View online or download Chauvet SHOKER PANEL 180 USB User Manual.


The goal of this Javascript library is to give a simple way to show ARK: Survival Evolved Item Description, with recipe, iamge and stats.
This page act as a Example code of how you can include Item popup into your website.
First of all, you must call the function arkInit() durign the onload event.
Item link with mouse over popup to see the Item information
C4 Charge with Item IDItem hotlink using the Item Name instead of the Item Id
Wooden Wall Hotlink


Lorem Ipsum
When your lorem ipsum needs to be as strong as a Wakanda Warrior.
Number of paragraphs to generate
Generate Text


URL Tracking
Enter URL
Shortened links are automatically copied to the clipboard.
Shorten
URL Configuration
Alias
Event
Channel


Certificate Name
Common name
Change Reference
Certificate Type
Start Date
Expiry Date
Lead Time
Revoked
Revoked
Date Revoked
Certificate File
Submit Button
Submit
Please check the required fields.
Powered by jqueryform.com
Your form has been submitted. Thank You!


--- permalink: /404.html ---
Frequently Asked Question List for TeX
Page not found.
Try searching the main FAQ index.


Open source, from Microsoft with
♥
Featured Repos
Loading project information from Github...
{{project.name}}
{{project.description}}
{{project.stargazers_count}}
stars
{{project.forks}}
forks
All Repos
Loading project information from Github...
{{project.name}}
{{project.description}}
{{project.stargazers_count}}
stars
{{project.forks}}
forks
Other Microsoft GitHub Organizations
{{org.title}}


--- layout: default title: About Vishnu Chebrolu ---
I'm part of SDx Examples team, where we develop and maintain New examples.


Class collections.Cell
All Packages Class Hierarchy This Package Previous Next Index
Class collections.Cell
java.lang.Object
|
+----collections.Cell
- public class Cell
- extends Object
- implements Cloneable
Cell is the base of a bunch of implementation classes
for lists and the like.
The base version just holds an Object as its element value
-
Cell(Object)
- Make a cell with element value v
-
Cell()
- Make A cell with null element value
-
clone()
-
-
element()
- return the element value
-
element(Object)
- set the element value
Cell
public Cell(Object v)
- Make a cell with element value v
Cell
public Cell()
- Make A cell with null element value
element
public final Object element()
- return the element value
element
public final void element(Object v)
- set the element value
clone
protected Object clone() throws CloneNotSupportedException
- Overrides:
- clone in class Object
All Packages Class Hierarchy This Package Previous Next Index


mood.node
-
Declaration
enum
NodeType
: int;The type of node.
-
Declaration
OpeningTag
Indicates that this is an opening tag. i.e.
-
Declaration
Content
Indicates that this is content. i.e. Contains no html tags in it, and just text only.
-
Declaration
ClosingTag
Indicates that this is a closing tag. i.e.
-
-
Declaration
enum
TagType
: int; -
Declaration
enum
AttributeType
: int; -
Declaration
struct
Attribute
; -
Declaration
struct
Node
;Struct that represents a single node
-
Declaration
NodeType
nodeType
;The type of node
-
Declaration
TagType
tagType
;The type of tag (None if not tag)
-
Declaration
Attribute[]
attributes
;Array of
attributes
that the tag has (empty if not tag) -
Declaration
string
content
;Content in the Node. The tag name if a tag, and the
content
if it is TagType.content
-
Declaration
string
original
;Contains
original
content of the node. Helpful for quickly reconstructing the page after parsing.
-


Status: Ready to connect
Help:
1. Make sure Chrome is up to date.
2. Web-bluetooth must be enabled: (In chrome://flags enable "Experimental Extension APIs")
3. Click the connect button above to pair the jacket, then touch the interactive sleeve.
Source -
Google Jacquard Jacket


Laser-Lit Toilet Bowl
Last updated: 6-16-2016
Men have been there. We wake up in the middle of the night needing to use the bathroom (#1). Either we flip the light switch on and get blinded or we get yelled at for missing the toilet bowl. This project aims to solve that problem. See how we used an Arduino, PIR sensor, and laser to add illumination to urination. This tutorial will outline the process I took in order to build such a useful tool for late-night urination. Additionally, I'll outline how this project could have been improved and what caused issues. This cheap project can save you many lectures from the women of your house.


Purpose & Hypothesis
Purpose
What strategy can a computer-simulated mouse use to solve a maze the
fastest (using the fewest number of moves)?
Hypothesis
I think that a computer-simulated mouse that uses a random pattern
will (on average) be able to solve the maze in the fewest numbers of
moves.
Author: Andrew Bridges
Last modified: Wed Aug 21 19:49:27 Central Daylight Time 2002
Copyright © 2001


|
|
In order to use Nemerle in your ASP.NET pages you first need to add following line
<compiler language="n;nemerle;Nemerle" extension=".n" warningLevel="1" compilerOptions=""
type="Nemerle.Compiler.NemerleCodeProvider, Nemerle.Compiler, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=5291d186334f6101" />
in configuration/system.web/compilation
to your machine.config file (tested on mono, where this file can be found in /etc/mono/2.0/, you will need to use XSP2)
You may need to change the version. (Check ncc --version).
Now you can create test.aspx with following content:
<%@ language=Nemerle %>

<form runat=server>

Please enter your name: <asp:textbox id="Name" runat=server/>
<asp:button id="EnterBtn" text="Enter" Onclick="EnterBtn_Click" runat=server/>

<asp:label id="Message" runat=server/>

</form>

And everything should work fine. This scenario was tested with xsp and mod_mono on mono 1.1.6, please let us know how it works on MS.NET +
ISS.
Using a separate file for code is also possible and may be preferable in larger examples. This may be done by creating a file test.n for the code.
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
public class Test : Page
{
protected Message : Label;
protected Name : TextBox;
protected Page_Load(_ : object, _ : EventArgs) : void
{
Message.Text = $"You last accessed this page at: $(DateTime.Now)";
}
protected EnterBtn_Click(_ : object, _ : EventArgs) : void
{
Message.Text = $"Hi $(Name.Text), welcome to ASP.NET!";
}
}
and then removing the script section of test.aspx and replacing the top line with
<%@ language=Nemerle codefile="test.n" inherits="Test" %>
|
|
|


Common FAQ
Q: I keep getting the same results for rolls whenever I run my program, how do I fix this?
A: RL-Dice does not set a seed by default. If you call the dice module without using math.randomseed(os.time() )
in your project, then the dice behaviour will have the same sequence of results every time you run a program.
Q: My program crashes whenever I try to use this module!
A: An error message will result if the dice notation is incorrectly formatted. A user also must not forget to put a positive or negative sign in front of the bonus or reroll! Those are the two most encountered problems. See valid_dice_notation.lua for more details.
Q: Whenever I roll dice with a negative bonus it never returns a result below 1, why does this keep happening?
A: The minimum is set to 1 by default. This can be overriden quite easily with dice:setMin which has detailed examples of its usage in minimum.lua. In many user cases a negative roll would be determinal and possibly cause issues with the program, thus the minimum was set to 1 to avoid problems.
Q: What was the purpose of implementing dice caching?
A: Most of the users for this module will be using a finite set of dice. It makes sense to store these into a cache for faster performance. This comes in handy especially in cases like world generation where optimization would be time critical! Based on benchmark testing, caching results in nearly a 800% performance boost when using dice already initialized. If memory becomes a problem then a user can always put dice:resetCache to good use.


Let’s consider the following IAM role trust policy, which allows the “Test” role from the account ID “216825089941” to assume it.
{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"AWS":"arn:aws:iam::216825089941:role\/Test"},"Action":"sts:AssumeRole"}]}
If we look at the trust relationships tab in the IAM web console, this is what we see:
Now, if we go and delete the “Test” role, then look at the trust relationships page again, we will see something different:
Then, if we hit “Edit trust relationship”, we will see that same value specified as the principal in the trust policy, but if we click “Update Trust Policy”, we will be shown this error message:
So, what happened? We didn’t change the value, but it was changed to an invalid value automatically. This is because when you save the trust policy document of a role, AWS security will find the resource specified in the principal somewhere in AWS to ensure that it exists. If the resource is found, the trust policy will save successfully, but if it is not found, then an error will be thrown, indicating an invalid principal was supplied. When AWS does this on the back-end, it takes the ARN that you supplied (“arn:aws:iam::216825089941:role/Test” for us) and matches it to a unique identifier that correlates to the resource in AWS. Then, when we deleted the “Test” role, AWS was no longer able to match the ARN we specified to an AWS resource, so by default, it will replace the ARN with the unique ID that was associated with that resource originally.


To run tests that use any of the JMockit APIs, use your Java IDE, Ant/Maven script, etc. the way you normally would.
The only additional requirement is that the JVM gets a chance to load the "Java agent" which provides instrumentation
access to JMockit (it's all inside jmockit.jar
).
There are a few different ways to satisfy this requirement, depending on whether JDK 1.5 or 1.6+
is used to run the tests, and which test framework is used (JUnit or TestNG):
jmockit.jar
appears before any JUnit jar in the
classpath. Only JUnit 4.5 or newer is supported (JUnit 3.8 test classes, which extend TestCase
,
are also supported).
mockit.integration.testng.Initializer
listener.
This can be done by passing "-listener mockit.integration.testng.Initializer
" as a test runner
argument in the JVM command line.
When using Maven, the listener can be specified by configuring the maven-surefire-plugin
with a
property of name "listener" and a value containing "mockit.integration.testng.Initializer" (see
this page for more
details).
Another way is to specify the listener in the testng.xml
configuration file:
<listener class-name="mockit.integration.testng.Initializer"/>
.
-javaagent:jmockit.jar
as a JVM initialization parameter.
This can easily be done in the "Run/Debug Configuration" for both Eclipse and IntelliJ IDEA.
(Note that if jmockit.jar
is not in the current working directory when running the tests, you will have
to insert the appropriate absolute or relative path, so that the JVM can locate the jar file.)
When using the <junit>
element in a build.xml
script, it's important to use a separate
JVM instance. For example, something like the following:
<junit fork="yes" forkmode="once" dir="directoryContainingJars">
<!-- If needed (eg, when running on JDK 1.5), uncomment the following JVM argument:
<jvmarg value="-javaagent:jmockit.jar"/> -->
<classpath path="jmockit.jar"/>
<!-- To generate (if desired) a code coverage report: -->
<classpath path="jmockit-coverage-htmlfull.jar"/>
<!-- additional classpath entries, including one for the appropriate junit.jar -->
<batchtest>
<!-- filesets specifying the desired test classes -->
</batchtest>
</junit>
For a complete example, see the "sampleTests"
target in the build.xml
file
found inside the full distribution.
The JMockit artifacts, including a binary jar and a sources jar for releases 0.999.5 and newer, are located in the JMockit SVN repository. Therefore, you will need to add the following repository to your Maven configuration:
<repository>
<id>jmockit-svn</id>
<url>http://jmockit.googlecode.com/svn/maven-repo</url>
<releases><checksumPolicy>ignore</checksumPolicy></releases>
</repository>
For any project containing JMockit tests, add the following dependency to the pom.xml
file:
<dependency>
<groupId>mockit</groupId>
<artifactId>jmockit</artifactId>
<version>0.999.9</version>
<scope>test</scope>
</dependency>
This dependency should come before the junit
dependency, if any.
To run tests with JDK 1.5, you will need to make sure the JVM is started with the -javaagent
initialization parameter. This can be done in the Maven Surefire plug-in as follows:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine>-javaagent:"${settings.localRepository}"/mockit/jmockit/0.999.9/jmockit-0.999.9.jar</argLine>
</configuration>
</plugin>
Note that the above JVM parameter is not required when running tests on a JDK 1.6+ environment which contains a supported implementation of the Attach API (ie, a HotSpot or JRockit JVM on Windows or Linux). Even if you have to deploy production code in a JDK 1.5 environment, consider using JDK 1.6 in your local development environment; with the proper build/IDE configuration, a JDK 1.6 Java compiler (either "javac" or the Eclipse compiler) can safely be used to compile Java 1.5 code while generating Java 1.5-compliant class files.
For information on using JMockit Coverage with Maven, see the relevant section in the JMockit Tutorial.


Query
Every GraphQL schema has a root type for both queries and mutations. The query type defines GraphQL operations that retrieve data from the server.
Connections
PokemonConnection
)
| Argument | Type | Description |
|---|---|---|
after |
String
|
Returns the elements in the list that come after the specified global ID. |
before |
String
|
Returns the elements in the list that come before the specified global ID. |
filter |
PokemonFilter
|
|
first |
Int
|
Returns the first n elements from the list. |
last |
Int
|
Returns the last n elements from the list. |
order |
[String]
|
PokemonFormConnection
)
| Argument | Type | Description |
|---|---|---|
after |
String
|
Returns the elements in the list that come after the specified global ID. |
before |
String
|
Returns the elements in the list that come before the specified global ID. |
filter |
PokemonFormFilter
|
|
first |
Int
|
Returns the first n elements from the list. |
last |
Int
|
Returns the last n elements from the list. |
PokemonSpecyConnection
)
| Argument | Type | Description |
|---|---|---|
after |
String
|
Returns the elements in the list that come after the specified global ID. |
before |
String
|
Returns the elements in the list that come before the specified global ID. |
filter |
PokemonSpecyFilter
|
|
first |
Int
|
Returns the first n elements from the list. |
last |
Int
|
Returns the last n elements from the list. |
Fields
[Ability]
)
Abilities!
[Berry]
)
Berry!
[BerryFirmness]
)
Berry Firmness!
[BerryFlavor]
)
Berry Flavor!
[Characteristic]
)
Characteristics!
[ContestEffect]
)
Contest Effects!
[ContestType]
)
Contest Types!
[EggGroup]
)
Egg groups!
[EncounterConditionValue]
)
Encounter condition values!
[EncounterCondition]
)
Encounter conditions!
[EncounterMethod]
)
Encounter methods!
[EvolutionChain]
)
Evolution chains!
[EvolutionTrigger]
)
Evolution triggers!
[Gender]
)
Genders!
[Generation]
)
Generations!
[GrowthRate]
)
Growth rates!
[ItemFlag]
)
Item attributes!
[ItemCategory]
)
Item categories!
[ItemFlingEffect]
)
Item fling effects!
[ItemPocket]
)
Item pockets!
[Language]
)
Languages!
[LocationArea]
)
Location areas!
[Location]
)
Locations!
[Machine]
)
Machines!
[MoveMetaAilment]
)
Move ailments!
[MoveBattleStyle]
)
Move battle styles!
[MoveMetaCategory]
)
Move categories!
[MoveDamageClass]
)
Move damage classes!
[PokemonMoveMethod]
)
Move learn methods!
[MoveTarget]
)
Move targets!
[Nature]
)
Natures!
[PalParkArea]
)
Pal park areas!
[PokeathlonStat]
)
Pokeathlon stats!
[Pokedex]
)
Pokedexes!
[PokemonColor]
)
Pokemon Colors!
[PokemonHabitat]
)
Pokemon habitats!
[PokemonShape]
)
Pokemon shapes!
[Region]
)
Regions!
[Stat]
)
Stats!
[SuperContestEffect]
)
Super Contest Effects!
[Type]
)
Types!
[VersionGroup]
)
Version groups!
[Version]
)
Versions!


Maintenance Tracker App is an application that provides users with the ability to reach out to operations or repairs department regarding repair or maintenance requests and monitor the status of their request.
Username
Password


Click Count: {{ count }} 🔄
Native Click
Click
Double Click
Hold
Press
Release
Once
Throttle
Debounce
Arguments
Disabled
Supported Combos
⚠ Unsupported Combos


November 10
The Spirit itself [Himself] bears witness with our spirit. Romans 8:16
Do you ever have trouble hearing from God? Do you find yourself caught in confusing circumstances needing guidance, and yet even after praying and reading the Word--you're still not sure what God wants you to do? I've had that experience. I knew His written Word and acting on it changed my life. But I was uncertain when I had to make decisions about things the Word didn't specifically address. Things like whether to move to one city or another, for example. What held me back was my ability to know that I was doing the right thing. You see, God's written Word and the inward witness are two different things. They never contradict each other, but they're both a vital part of our walk with God.
God expected Israel, for example, to obey His written Word. But He also said to them, "Obey my voice" (Jer. 7:23) because He wanted them to know His will in specific situations. That's what happened when Israel invaded Jericho. They heard God's voice. Where else do you think they would have gotten that strange battle plan? It wasn't written in the law of Moses. And certainly, no human being would suggest a seven-day march around a city as the most effective form of invasion!
But exactly how, you may wonder, does God speak to us? Does He just shout down at us from heaven? Not usually! Romans 8 says the Holy Spirit bears witness with our spirit. That means that God's directions come from inside, not outside, of you.
At times when you hear His guidance, you may even wonder, "Was that me, Lord, or was that You?" That's because God doesn't normally inject thoughts directly into your mind from the outside. Instead, He speaks to your spirit, and your spirit translates it into a thought. Tune in today to that inward witness, to that quiet knowing, that urging, prompting and leading arising within you.
 It is you! It is your spirit being influenced by the Spirit of God! After you're born again, your spirit is a safe guide because you are born of God's Spirit. You have His nature.
Scripture Reading: Joshua 6:1-20


By<EMAIL_ADDRESS>released under the MIT License.
Tahoe is a filesystem that performs encryption and then erasure coding on your data. To see a demo of how this works, paste some text into the next box and walk through the steps.
This demo runs completely in your browser and doesn't do any actual data processing. It just makes up random data that looks about right.
| No shares yet |


This game is a part of Packt Publishing's Docker for Developers book sample code, and all code and assets are MIT Licensed.
I'd like to thank my children Parker, Oliver, Norah, and Declan for providing game design inspiration and critiques, and my wife Patricia for supporting this effort.
Copyright © 2020 Richard Bullington-McGuire
Copyright © 2020 Packt Publishing
🐳
| Cost | Item | Description |
|---|---|---|
| 200 SQ$ | Script | click ships 2x |
| 400 SQ$ | Composer | Auto ship 4x every 8 seconds |
| 800 SQ$ | Host | click ships 8x |
| 1,600 SQ$ | Engine | auto ship 16x every second |
| 32,000 SQ$ | Cluster | click ships 32x |
| 64,000 SQ$ | Orchestrator | auto ships 64x every second |
| 128,000 SQ$ | Multi-Cloud | click ships 128x |


public static final class R.id
extends java.lang.Object
| Constructor and Description |
|---|
R.id() |
public static final int about_app
public static final int about_speech_kit
public static final int action0
public static final int action_add_phrase
public static final int action_bar
public static final int action_bar_activity_content
public static final int action_bar_container
public static final int action_bar_root
public static final int action_bar_spinner
public static final int action_bar_subtitle
public static final int action_bar_title
public static final int action_change_orientation
public static final int action_context_bar
public static final int action_copy_message
public static final int action_delete_conversation
public static final int action_delete_message
public static final int action_delete_phrase
public static final int action_divider
public static final int action_edit_phrase
public static final int action_fullscreen_message
public static final int action_info
public static final int action_menu_divider
public static final int action_menu_presenter
public static final int action_mode_bar
public static final int action_mode_bar_stub
public static final int action_mode_close_button
public static final int action_pin_conversation
public static final int action_pin_message
public static final int action_quick_responses
public static final int action_send
public static final int action_unpin_conversation
public static final int action_unpin_message
public static final int activity_chooser_view_content
public static final int alertTitle
public static final int always
public static final int answer
public static final int bar_conatiner
public static final int beginning
public static final int bottom
public static final int bubble
public static final int build
public static final int buttonPanel
public static final int cancel_action
public static final int cancel_button
public static final int center
public static final int center_horizontal
public static final int center_vertical
public static final int checkbox
public static final int chronometer
public static final int clip_horizontal
public static final int clip_vertical
public static final int collapseActionView
public static final int comment
public static final int container
public static final int content
public static final int contentPanel
public static final int content_container
public static final int conversations_loader
public static final int copyright
public static final int custom
public static final int customPanel
public static final int decor_content_parent
public static final int default_activity_button
public static final int description
public static final int design_menu_item_action_area
public static final int design_menu_item_action_area_stub
public static final int design_menu_item_text
public static final int design_navigation_view
public static final int device_info
public static final int disableHome
public static final int divider
public static final int drawer
public static final int edit_query
public static final int empty
public static final int end
public static final int end_padder
public static final int enterAlways
public static final int enterAlwaysCollapsed
public static final int exitUntilCollapsed
public static final int exit_fullscreen
public static final int expand_activities_button
public static final int expanded_menu
public static final int feedback
public static final int fill
public static final int fill_horizontal
public static final int fill_vertical
public static final int fixed
public static final int fragment_content
public static final int fragment_title
public static final int fragment_title_container
public static final int home
public static final int homeAsUp
public static final int icon
public static final int ifRoom
public static final int image
public static final int info
public static final int item_touch_helper_previous_elevation
public static final int language_button
public static final int language_icon
public static final int language_title
public static final int layout_icon_image
public static final int left
public static final int license_agreement
public static final int line1
public static final int line3
public static final int list
public static final int listMode
public static final int list_item
public static final int main_btn
public static final int main_button_container
public static final int media_actions
public static final int menu
public static final int message
public static final int message_loader
public static final int messages_loader
public static final int microphone_bar
public static final int microphone_bar_button
public static final int microphone_bar_message
public static final int microphone_bar_progress
public static final int middle
public static final int mini
public static final int more
public static final int multiply
public static final int name
public static final int navigation_header_container
public static final int negative
public static final int never
public static final int none
public static final int normal
public static final int other_apps
public static final int other_yandex_apps
public static final int parallax
public static final int parentPanel
public static final int phrase
public static final int pin
public static final int pinned
public static final int positive
public static final int progress_bar
public static final int progress_circular
public static final int progress_horizontal
public static final int quick_responses_loader
public static final int radio
public static final int recycler
public static final int result_list
public static final int right
public static final int root_view
public static final int screen
public static final int scroll
public static final int scrollIndicatorDown
public static final int scrollIndicatorUp
public static final int scrollView
public static final int scrollable
public static final int search_badge
public static final int search_bar
public static final int search_button
public static final int search_close_btn
public static final int search_edit_frame
public static final int search_go_btn
public static final int search_mag_icon
public static final int search_plate
public static final int search_src_text
public static final int search_voice_btn
public static final int select_dialog_listview
public static final int share_app
public static final int shortcut
public static final int showCustom
public static final int showHome
public static final int showTitle
public static final int slide_next
public static final int slide_prev
public static final int snackbar_action
public static final int snackbar_text
public static final int snap
public static final int spacer
public static final int speak
public static final int speaker
public static final int speaker_progress
public static final int speech_mic_back
public static final int speech_progress
public static final int speech_titles
public static final int split_action_bar
public static final int src_atop
public static final int src_in
public static final int src_over
public static final int start
public static final int start_conversation
public static final int starting_phrases_loader
public static final int status_bar_latest_event_content
public static final int submit_area
public static final int subtitle
public static final int tabMode
public static final int text
public static final int text2
public static final int textSpacerNoButtons
public static final int thread_analytics_loader
public static final int time
public static final int title
public static final int title_template
public static final int toolbar
public static final int top
public static final int topPanel
public static final int type_message_view
public static final int typed_messages_loader
public static final int up
public static final int useLogo
public static final int version
public static final int view_offset_helper
public static final int view_pager
public static final int vocalization_voice_switch
public static final int withText
public static final int wrap_content
public static final int yandex_app
public static final int yandex_app_icon
public static final int yandex_app_name
public static final int yandex_apps_container


Skylar Pagenkopf
Project Portfolio
I am a 4th year at UCSD studying Computer Science.
Projects
Scheduling Application (for CSE 112)
here
Cufflinks
My Yahoo! applications
here


| Empty Square |
Box | Player | Monster | Wall |
Welcome to Warehouse Wars, a Nensi and Swetha original!  To kill them you will have to trap the monsters with boxes so they cannot move. You will have 500 seconds to do so or you will die. The monsters can move and eat you as well so be careful!! Let the games begin!
I am not a robot| |
Legend
ControlsScore
Monsters
|