%! from splunk.appserver.mrsparkle.lib import times %> <% # # generate a JSON literal of all of the time ranges that have been specified # in time.conf # timeRanges = times.getTimeRanges(namespace=APP['id']) menuItems = [] ''' Although times.conf has a submenu hierarchy, the values come out as a flat list. The hierarchy is then built here. In that list among the regular top-level items, there will be a) stubs for the submenus themselves, within the regular items, marked with is_sub_menu = True and label=foo. b) the children of those submenus , marked with sub_menu = foo. We will not append those children into the main menuItems array, but rather keep them in a dict by sub_menu name. Then in a second pass we will attach the children appropriately. ''' subMenuContents = {} for t in timeRanges: if 'is_sub_menu' in t: item = { "is_sub_menu" : True, "label" : _(t['label']), "rawLabel" : t['label'], "order": t['order'] } menuItems.append(item) continue item = { "label" : _(t['label']), "rawLabel": t['label'], "attrs" : {}, "style": "timeRangePreset", "order": t['order'] } # if defined, add in earliest/latest identifiers # the resurrection logic depends on the absence/presence of start and end keys # TODO: convert start/end to earliest/latest for k in ('earliest_time', 'latest_time'): if t[k]: item['attrs'][k] = t[k] subMenuName = t.get('sub_menu', False) if (subMenuName) : #subMenuName = _(subMenuName) if (subMenuName not in subMenuContents) : subMenuContents[subMenuName] = [] subMenuContents[subMenuName].append(item) else : menuItems.append(item) ''' Now we go through and attach the children for each of the sub_menus, which we've been keeping off to the side in the subMenuContents dict until now. ''' for i in range(len(menuItems)): if "is_sub_menu" in menuItems[i]: subMenuLabel = menuItems[i]["rawLabel"] # If this isnt true it'll have been caught by the runtime check in times.py # we check here only to prevent the exception. if subMenuLabel in subMenuContents: menuItems[i]["items"] = subMenuContents[subMenuLabel] # This was just a marker for us to do this rearranging. # Now that we are done we delete the marker. del menuItems[i]["is_sub_menu"] jsonOutput = jsonify(menuItems) %> <%page args="module"/> <%namespace name="lib" file="//lib.html" import="*"/> <%call expr="lib.add_script_block()"> Splunk.Module.loadParams.${module['id']}.timeRangeJson = ${jsonOutput}; %call> % if 'label' in module: ${_(module.get('label', ' '))|h} % endif ${_('Dropdown')}


Jans blog
yeah
[archives]
[tags]
Blogroll
Pelican
Python.org
Jinja2
You can modify those links in your config file
Social
You can add links in your config file
Another social link
Jans blog
[archive]
2020
May
First post


20-year-old driver arrested after allegedly trying to bait Clearwater officer to race
by WFTS Digital StaffCLEARWATER, Fla. — A 20-year-old driver was arrested after police said he baited the officer to race him.
In an affidavit, police said 20-year-old Connor Michael Proleika was found driving eastbound on Courtney Campbell.
PINELLAS NEWS | The latest headlines from Pinellas County
He was trying to bait a Clearwater police officer to race him. Proleika revved his engine and took off reaching speeds of 124 mph.
Police said he disregarded the safety of other drivers.
The officer did make contact with Proleika and was told that he was just trying to go fast. He also said he didn't know that he was trying to race a police officer.
Proleika was later arrested.


Owen Hughes: Ph.D Pre-candidate
Atmospheric Science and Scientific Computing
University of Michigan
Department of Climate and Space Sciences and Engineering
Email: {first two letters of first name}{last<EMAIL_ADDRESS>Education:
- B.S. in Applied Mathematics, University of Michigan (2022)
- Ph.D. in Climate Science, University of Michigan (in progress)
Research Interests:
- Intermediate-complexity test cases for Atmospheric General Circulation Models
- Dynamics of the deep atmosphere; impact of the non-traditional Coriolis terms.
- High-resolution climate modeling in CESM and E3SM
- Uncertainty Quantification in Earth System Models
Outreach:
Mathematics is often permitted to be a gatekeeping class which separates "STEM" people from "non-STEM" people. The notion of a "math person" is a deeply counterproductive one: what passes for mathematical aptitude is better understood as a reflection to the educational, socio-political, and economic advantages someone has had. I am working to develop multi-media educational tools to allow students from diverse backgrounds and mathematical experience to explore the importance of applied mathematics. I want to explore how weather and climate models can be used to show how mathematical principles govern things that personally affect students.
A Topographically-triggered Baroclinic Wave Test Case:
Atmospheric models benefit from idealized tests that assess their accuracy in simplified configurations. We developed a new test with artificial mountains for models on a spherical earth. The mountains trigger the development of planetary-scale Rossby and small-scale inertia-gravity waves. These can be analyzed in dry or moist environments with a simple rainfall mechanism. We intercompare four dynamical cores from atmospheric models. This sheds light on the pros and cons of the model designs and the impact of mountains on the flow. The manuscript is available here.
Deep Atmosphere HOMME:
The dynamical core in Atmospheric General Circulation Models makes a series of simplifying assumptions in order to efficiently model fluid flow on a global scale. Historically, models AGCMs have had horizontal grid spacings larger than 50km and model tops in the upper stratosphere. As a result, their dynamical cores made two (then reasonable) assumptions: 1) that the strength of gravity is spatially constant in the atmosphere and 2) neglecting certain terms of the Coriolis force, in order to maintain energy conservation. I am currently working on a project in the HOMME dynamical core to add a so-called deep-atmosphere configuration, which removes these two assumptions.
Learning Latent Stochastic Models from Nonstationary Data
In my undergraduate degree I was fortunate to work in computational neuroscience at Cold Spring Harbor Laboratory under the inimitable Professor Tatiana Engel. I augmented a variational framework for learning non-parametric latent stochastic models of neuronal population dynamics from non-stationary data. The work got published here!


Cincy squares off against Alabama A&M
by EndPlayCINCINNATI - Alabama A&M (0-2) vs. Cincinnati (1-1)
Fifth Third Arena, Cincinnati; Thursday, 7 p.m. EST
BOTTOM LINE: Cincinnati hosts Alabama A&M in an early season matchup. Both teams last saw action on Monday. Cincinnati won at home over Drake 81-59, while Alabama A&M fell 74-52 at UAB.
SAVVY SENIORS: Cincinnati's Jarron Cumberland, Chris McNeal and Jaevin Cumberland have combined to account for 48 percent of all Bearcats scoring this season.JUMPING FOR JARRON: Jarron Cumberland has connected on 33.3 percent of the nine 3-pointers he's attempted. He's also converted 55.6 percent of his foul shots this season.
DID YOU KNOW: Alabama A&M has scored 59 points while allowing 90 points over its last five games. Cincinnati has averaged 68.5 points and given up only 61.5 over its last five.
___
For more AP college basketball coverage: https://apnews.com/Collegebasketball and http://twitter.com/AP_Top25
___
This was generated by Automated Insights, http://www.automatedinsights.com/ap, using data from STATS LLC, https://www.stats.com


--- layout: tweet ---
Great system diagram? Or greatest system diagram?
11/5/2016, 6:04:24 PM
Favs: 5
Retweets: 0


{% extends "base.html" %} {% block body %}
| Clear Management Item for the Current Operation | |
Payloads, Callbacks, Tasks, Responses, Files, Screencaptures, Keylogs |
|
Callbacks, Tasks, Responses, Files, Screencaptures, Keylogs |
|
Screencaptures |
|
Downloads, Screencaptures |
|
Uploads |
|
Keylogs |
|
Credentials |
|
Tasks, Responses |
|
Responses |


When you apply the [fdkDisabled]
directive to the element it will be effectively disabled. It will
have class .is-disabled
, as well as attributes disabled
and
aria-disabled
.
This directive is also provided via injection token fdkDisabled
through the DI tree, but also, most
importantly you can add fdkDisabledProvider
to your providers list and gain always available
watcher on disabled state, whether or not you apply [fdkDisabled]
to your component.


4K video, 26 minutes.
A guided tour of Saxo Bank’s Copenhagen headquarters reveals the wealth, both symbolic and literal, of artworks and other exhibits acquired by the firm to furnish their offices while inspiring and motivating its employees. It is a prime example of a corporate art collection, a powerful tool to embody and project the values of a company, both internally and to the outside world: art is deployed to contaminate the world of finance with its ambitious ideas, and vice-versa.
Scroll to bottom for video


The primary purpose of an iterator is to allow a user to process every element of a container while isolating the user from the internal structure of the container. This allows the container to store elements in any manner it wishes while allowing the user to treat it as if it were a simple sequence or list. An iterator class is usually designed in tight coordination with the corresponding container class. Usually, the container provides the methods for creating iterators.
Introduced in the Java JDK 1.2 release, the java.util.Iterator
interface allows the iteration of container classes.
The J2SE 5.0 release of Java introduced the java.lang.Iterable
interface to support an enhanced for (foreach) loop for iterating over collections and arrays.
Iterable defines the iterator() method that returns an Iterator.
As you can see in the Javadoc, there are many classes implementing Iterable especially Collections, which is quite useful when you have a Collection of any kind that you want to iterate over kudos to Joh for that one.
When you get an Iterator from your Collection that you want to iterate over, this are the available operations:
| Modifier and Type | Method and Description |
|---|---|
| default void | forEachRemaining(Consumer<? super E> action) Performs the given action for each remaining element until all elements have been processed or the action throws an exception. |
| boolean | hasNext() Returns true if the iteration has more elements. |
| E | next() Returns the next element in the iteration. |
| default void | remove() Removes from the underlying collection the last element returned by this iterator (optional operation). |
Now that we've covered the basics let's do it with a simple ArrayList
import java.util.ArrayList; import java.util.Iterator; public class ExempleIterationOverArrayList { public static void main(String args[]) { ArrayListlist = new ArrayList () ; list.add("this"); list.add("is"); list.add("a"); list.add("simple"); list.add("test"); Iterator listIterator = list.iterator(); while (listIterator.hasNext()) { System.out.print(listIterator.next()+" "); } } }
And that's it ! izipizi
This will print "this is a simple test "
But an you can see there are two method we didn't use yet so let's try the remove()
import java.util.ArrayList; import java.util.Iterator; public class ExempleIterationOverAndRemovalFromArrayList { public static void main(String args[]) { ArrayListlist = new ArrayList () ; list.add("this"); list.add("is"); list.add("a"); list.add("simple"); list.add("test"); Iterator listIterator = list.iterator(); while (listIterator.hasNext()) { if("simple".equals(listIterator.next())) listIterator.remove(); } Iterator secondListIterator = list.iterator(); while (secondListIterator.hasNext()) { System.out.print(secondListIterator.next()+" "); } } }
This will print "this is a test "
Calling remove() did remove the element from the list.
Now that we've seen how to use the basic methods of an Iterator, let's use the method introduced in Java 8
forEachRemaining(Consumer<? super E> action) : this method takes a Consumer wich represents an action that has to be performed for each remaining element, until all elements have been processed or the action throws an exception.
A Consumer interface represents an operation that accepts a single input argument and returns no result. Pretty much a lambda (more on that ot the next post).
Here goes nothing :
import java.util.ArrayList; import java.util.Iterator; public class ExempleIterationWithLambdaExprOnArrayList { public static void main(String args[]) { ArrayListlist = new ArrayList () ; list.add("this"); list.add("is"); list.add("a"); list.add("lambda"); list.add("bitch"); list.iterator().forEachRemaining(e -> System.out.print(e+" ")); } }
This will print "this is a lambda bitch "


Dallas Buyers Club
Jul 22, 2013 Selena Gomez is turning 21! The singer, actress, and all-around style setter is no stranger to hitting the red carpet (as far as we're concerned, SELENA GOMEZ FASHION STYLE, your best source for. pics and news about Selena Gomez on Tumblr Follow us for more pics :)


Synergy crashing
-
monnsunina
Been using Synergy for years, love it.  Unfortunately I don't have a clue.
I've tried deleting it entirely, upgrading, downgrading. Synergy launches on startup, so the only recent relevant thread doesn't do the trick. Currently using freshly installed (not upgraded) 3.5a2. Here's the crash log with the relevant thread crash, any help at all on this would be greatly appreciated. Thanks!
Process: Synergy [3084] Path: /Users/~/Library/PreferencePanes/Synergy.prefPane/Contents/Resources/Synergy.app/Contents/MacOS/Synergy Identifier: org.wincent.Synergy Version: Synergy version 3.5a2 (release) (3.5a2 (release)) Code Type: PPC (Native) Parent Process: launchd [120]
Date/Time: 2007-12-20 15:42:15.971 -0800 OS Version: Mac OS X 10.5.1 (9B18) Report Version: 6
Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000041820018 Crashed Thread: 0
Thread 0 Crashed: 0 libobjc.A.dylib 0xfffeff40 objc_msgSend_rtp + 64 1 org.wincent.Synergy 0x00010700 start + 56136 2 org.wincent.Synergy 0x0000c590 start + 39384 3 com.apple.Foundation 0x91dc069c _nsnote_callback + 196 4 com.apple.CoreFoundation 0x955e1524 __CFXNotificationHandleMessage + 356 5 com.apple.CoreFoundation 0x955e16b0 __CFXNotificationReceiveFromServer + 188 6 com.apple.CoreFoundation 0x955dc808 __CFMachPortPerform + 180 7 com.apple.CoreFoundation 0x955fe908 CFRunLoopRunSpecific + 2504 8 com.apple.HIToolbox 0x9014dab4 RunCurrentEventLoopInMode + 264 9 com.apple.HIToolbox 0x9014d8d8 ReceiveNextEventCommon + 412 10 com.apple.HIToolbox 0x9014d718 BlockUntilNextEventMatchingListInMode + 84 11 com.apple.AppKit 0x9228c7a0 _DPSNextEvent + 580 12 com.apple.AppKit 0x9228c1f0 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 112 13 com.apple.AppKit 0x92285eac -[NSApplication run] + 736 14 com.apple.AppKit 0x9225692c NSApplicationMain + 440 15 org.wincent.Synergy 0x00002bf8 start + 64
....thread 1, 2, & 3 didn't crash...
Thread 0 crashed with PPC Thread State 32:
srr0: 0xfffeff40 srr1: 0x0000f030 dar: 0x41820018 dsisr: 0x00200000 r0: 0x92c30278 r1: 0xbfffd860 r2: 0x41820018 r3: 0x05301a30 r4: 0x0002cfa8 r5: 0x000003e8 r6: 0xffffffff r7: 0x0400078c r8: 0x67ce6700 r9: 0x00000a8c r10: 0x91c9297c r11: 0xf0200a98 r12: 0xa04f88e8 r13: 0x0003882c r14: 0x0003880c r15: 0x000387fc r16: 0x0003a234 r17: 0x0003ac6c r18: 0x66666667 r19: 0xa098d424 r20: 0xa09885c4 r21: 0x00000011 r22: 0x00000009 r23: 0xa098c724 r24: 0xa09885c4 r25: 0x05324720 r26: 0x000388ec r27: 0x05310d10 r28: 0x91d1d07c r29: 0x0003a494 r30: 0x0003a218 r31: 0x05301a30 cr: 0x44042422 xer: 0x00000000 lr: 0x00010718 ctr: 0x95cad094
vrsave: 0x00000000
-
Greg Hurrell
Originally Posted By: monnsuninaBeen using Synergy for years, love it.  Unfortunately I don't have a clue.
I've tried deleting it entirely, upgrading, downgrading. Synergy launches on startup, so the only recent relevant thread doesn't do the trick. Currently using freshly installed (not upgraded) 3.5a2. Here's the crash log with the relevant thread crash, any help at all on this would be greatly appreciated. Thanks!
I'd recommend switching to 3.2, which is the last stable release and is basically 100% compatible with Leopard. The issues with the 3.5 alpha release are being tracked here:
https://wincent.com/a/support/bugs/show_bug.cgi?id=613
I am getting very close to releasing a new alpha, and there have been [em]lots[/em] of changes, so we'll see if the stability is improved.
-
nickt
Sorry Wincent, but 3.2 is doing the same thing!!
I am also getting the same behaviour as the original poster. Tried the betas, and now using 3.2, and it's behaving the same.
All since Leopard.
-
Greg Hurrell
I believe you must be seeing a different issue, then. Can you send me the crash log(s)? My email is<EMAIL_ADDRESS>-
nickt
sorry to show my ignorance, but how do I find that info?
-
Greg Hurrell
Look inside your home folder in the Library/Logs/CrashReporter/ subfolder. You should see files with names like "Synergy_2008-01-08-165147_cuzco.crash", one for each crash. As you can see, they contain the process name, the date/timestamp, and the host name (yours will be different).
Reply
This topic is now closed.


JavaScript vs Ruby
Friday, October 31st, 2014
For this week's technical blog, I decided to write about something we are learning and to explain the differences between Ruby and JavaScript. Having spent a few weeks with Ruby and this week learning JavaScript, I have a basic understanding of the similarities and differences. Both languages in general are of higher level and are relatively forgiving. Javascript is used by the browser and is known by it's compatibiliity to run on any machine. Another difference has to do with syntax, such as using semi colons for end of lines. Syntax of functions in JS are very different than Ruby. Both languages are very forgiving. As an example below, the differences between how one would print to the console are shown.
Ruby:
def mymethod
  puts "hi"
end
JavaScript:
function myfunction() {
  console.log("hi");
}
As you can see the syntax is different. As for Objects, they are available in both languages but with different syntax. Properties can be modified as similar between the two. Both languages can also be object oriented meaning objects and variables can be limited in scope. Those are some of the differences between JavaScript and Ruby.


|
|
|
|
|
|
|
|
|
|
|
|
|
|
The best way to learn about using CHAI 3D is to explore the various examples provided with the framework. Each example is labeled by a unique name and a two digit number that indicates its relative level of complexity. For instance, the foundations of CHAI 3D are mostly covered in examples 01-30, while the more advanced topics including rigid and deformable dynamic
|
|
simulations are presented in examples 40‘s and higher. Screenshots are illustrated here bellow for each example with a short description of the functionalities they introduce. More detailed information about the technical aspects can be directly found in the source code.
|
|
|
|
|
|
|
|
|
|
|
|
name: 01 - devices |
|
|
|
The best way to learn about using CHAI 3D is to explore the various examples provided with the framework. Each example is labeled by a unique name and a two digit number that indicates its relative level of complexity. For instance, the foundations of CHAI 3D are mostly covered in examples 01-30, while the more advanced topics including rigid and deformable dynamic simulations are presented in examples 40‘s and higher. Screenshots are illustrated here bellow for each example with a short description of the functionalities they introduce. More detailed information about the technical aspects can be directly found in the source code.
|
|
|
|
|
|
|
|
|
|
name: 10 - oring |
|
|
|
Extending our first example, 10-oring introduces generic object by rendering a virtual torus. (cShapeTorus). The haptic device is interfaced to the simulation via a virtual tool (cGeneric3ofPointer) which computes the interactions between the haptic device and the objects located in the environment. A surface effect is added to the torus to generate a force response when the operator encounters the object with the device. A simple physical behavior is programmed in the Haptics Thread to rotate the torus when external forces are applied onto it. A spherical texture map is used to produce a metallic reflection on the environment.
|
|
|
|
|
|
|
|
|
|
name: 11 - effects |
|
|
|
This example explores in more depth the possibilities offered by combining various haptic effects together. Surface, viscosity, friction, stick’n slip, and magnetic properties are programmed onto 4 spheres for comparison. This example is a great starting point for understanding how potential fields can be effectively combined together to haptically render different material properties or tactile conditions.
|
|
|
|
|
|
|
|
|
|
name: 12 - polygons |
|
|
|
Introducing some the of the more advanced techniques in computer haptics, this example demonstrates the finger-proxy force rendering algorithm that is used to compute force interactions between a sphere (proxy) and a virtual mesh object composed of triangles (cMesh). In this program, a simple routine creates a circular fan of individual triangles and defines a color for each of them. This example can easily be extended to build more sophisticated objects. The collision detection between the tool and the object is managed by the collision detector, or more specifically in this example, by an aligned bounding box tree structure (AABB).
|
|
|
|
|
|
|
|
|
|
name: 20 - map |
|
|
|
From a 2D bitmap image, this example generates a height map by converting each colored pixel into a height value. The height map is then converted into an array of triangles to produce a virtual mesh. The original bitmap image is then clamped onto the surface as a 2D texture. By operating the haptic device and by engaging the user switch, the operator can freely rotate the camera and navigate around the object. By touching the surface of the map and by simultaneously engaging the user switch, the operator can locally modify the topology of the map. A virtual magnetic line is also used to guide the operator along a vertical segment during the modeling process.
|
|
|
|
|
|
|
|
|
|
name: 21 - object |
|
|
|
To display more complex mesh models, this example demonstrates the use of the mesh file loader which currently supports file formats of types .3ds (3D Studio MAX) and .obj (Alias Wavefront). As a scene may become more complicated with larger objects (populated with more triangles), further computation is required during the collision detection phase which can lead to degraded haptic rendering performance issues. Designing effective collision detectors to handle complex mesh models is a fundamental and challenging task for programming high-quality haptic simulated scenes. CHAI 3D currently supports spherical and aligned bounding box collision detection trees.
|
|
|
|
|
|
|
|
|
|
name: 22 - chrome |
|
|
|
Very similar to example 21, this application illustrate the use of spherical mapping to create more sophisticated graphical effects. In the Haptics Thread a simple force model is used to slowly re-orientate the virtual face back to its original configuration. Notice the larger diameter of the cursor which can be adjusted to typically model tools of different sizes (radius). The current force rendering model uses Ruspini’s finger-proxy approach (Stanford University).
|
|
|
|
|
|
|
|
|
|
name: 23 - tooth |
|
|
|
In this example we demonstrate how to command a 3D mesh model of a drill with a haptic device. By enabling the user switch, the operator can translate or rotate the tooth according to the movement of his/her hand. If the haptic device only holds 3 degrees-of-freedom (translation only) then the tool is automatically oriented to remain near perpendicular to the tooth’s surface. This example also demonstrates some of the transparency rendering functionalities offered by the graphics engines.
|
|
|
|
|
|
|
|
|
|
name: 24 - turntable |
|
|
|
This example explores the combination of sounds and haptics via the audio BASS library. Two meshes are used to model a turntable and a vinyl record which can freely spin around its vertical axis. Stiffness, friction (static and dynamic) and inertia properties can be adjusted to finely tune the haptic feeling when spinning the plate. An mp3 audio soundtrack is loaded and synchronized with the motion of the record player.
|
|
|
|
|
|
|
|
|
|
name: 25 - cubic |
|
|
|
Similar to the 12-polygon demo, this example projects onto a cube an image texture generated directly from the virtual camera viewport. Friction properties are also enabled to allow the operator to grasp the object to rotate it. This demo can easily be extended to further explore video texturing techniques or other applications that require bitmap editing.
|
|
|
|
|
|
|
|
|
|
name: 40 - ODE - cubes |
|
|
|
This example illustrates the use of the Open Dynamics Engine (ODE) module included with CHAI 3D. Three cubes are created and physical properties are defined for each of them. All physical interactions are computed by the ODE system within the Haptics Thread. CHAI 3D force rendering models are used to compute the interaction forces between the cursor tool and the objects; the resulting forces are then transferred to the ODE engine to update the dynamic configuration of each object in real time. Gravity can be either enabled or disabled by pressing the respective keyboard commands (see keyboard options in the console).
|
|
|
|
|
|
|
|
|
|
name: 41 - ODE - pool |
|
|
|
Similar to the previous example, the 41-ODE-pool application models three solid spheres by also binding some texture properties onto each of them. The operator can manipulate and pick each ball individually by simultaneously touching it and enabling the user switch. On each presented ODE demo, four transparent vertical walls are used to contain the objects within the physical workspace of the haptic device. Gravity can be either enabled or disabled by pressing the respective keyboard commands (see keyboard options in the console).
|
|
|
|
|
|
|
|
|
|
name: 42 - ODE - mesh |
|
|
|
This example introduces some of the more sophisticated features of ODE such as the tri-mesh collision detection where impacts are computed between individual triangles composing the object meshes. Each ODE object can be grasped by simultaneously touching its surface and enabling the user switch of the haptic device. Notice in this example that the two vertical shafts are defined as two ODE objects with their static property enabled. Gravity can be either enabled or disabled by pressing the respective keyboard commands (see keyboard options in the console).
|
|
|
|
|
|
|
|
|
|
name: 50 - GEL - membrane |
|
|
|
Using the GEL dynamics engine (Stanford University), this example introduces an new approach to simulate the dynamic behavior of complex deformable objects. The GEL model uses a skeleton technique where filling spheres are inserted inside the mesh object and connected together using elastic links to model properties such as mass, inertia, elongation, flexion and torsion. Each vertex (triangles point) composing the mesh is then attached to the nearest sphere or link. As the skeleton deforms, the shape of the mesh is updated at every simulation cycle.
|
|
|
|
|
|
|
|
|
|
name: 51 - GEL - cell |
|
|
|
An artistic view of a cell. This example further illustrates the concept of real time deformation or a complex structure. By further refining the underlying skeleton models it is possible to create multi-body scenes. Collision detection between different objects can be effectively estimated by computing the collision between their skeletons.
|
|
|
|
|
|
|
|
|
|
name: 52 - GEL - ducky |
|
|
|
Another example illustrating the use of the GEL framework where a skeleton model of a virtual duck is generated. The water is modeled by using an array of GEL springs and mass nodes with a double layer of semi-transparent texture mapping to create the illusion of translucent waves.


RECOMMENDATIONS
MovieLens helps you find movies you will like. Rate movies to build a custom taste profile, then MovieLens recommends other movies for you to watch.
RICH DATA
Learn more about movies with rich data, images, and trailers. Browse movies by community-applied tags, or apply your own tags. Explore the database with expressive search tools.
MORE NINJA
Find movies that are similar to the ones you like. Tune the matching algorithm so that the results are "less violent", "more realistic", or "more ninja".


bspc monitor --reset-desktops 1 2- Focus the given desktop:
bspc desktop --focus number- Close the windows rooted at the selected node:
bspc node --close- Send the selected node to the given desktop:
bspc node --to-desktop number- Toggle full screen mode for the selected node:
bspc node --state ~fullscreen


Last updated: July 2019
These Terms of Service ("Terms") govern your access to and use of our services, including our various websites and applications, and our other covered services that link to these Terms (collectively, the “Services”), and any information, text, graphics, photos, videos or other materials uploaded, downloaded or appearing on the Services (collectively referred to as “Content”). Your access to and use of the Services are conditioned on your acceptance of and compliance with these Terms. By accessing or using the Services you agree to be bound by these Terms. If you do not agree to be bound by all of these Terms, including the mandatory arbitration provision and class action waiver in Section 11, do not access or use the Services.You may not post discriminatory, unlawful, infringing, hateful or pornographic photos or other Content via the Services.
You must not defame, stalk, bully, abuse, harass, threaten, impersonate or intimidate people or entities and you must not post private or confidential information via the Services, including, without limitation, your or any other person's credit card information, social security or alternate national identity numbers, non-public phone numbers or non-public email addresses.
You are solely responsible for your use of the Services, for any Content you post to the Services, and for any consequences thereof. Most Content you submit, post, or display through the Services is public by default and will be able to be viewed by other users. You should only provide Content that you are comfortable sharing with others under these Terms.
You are solely responsible for any activity that occurs through your account and accept all risks of unauthorized access. You also must maintain the security of your account and promptly notify us if you discover or suspect that someone has accessed your account without your permission. You agree you will not sell, transfer, license or assign your account, followers, username, or any account rights. With the exception of people or commercial or non-commercial entities that are expressly authorized to create accounts on behalf of their employers or clients, you agree that you will not create an account for anyone other than yourself.
You may use the Services only if you can form a binding contract with Groovy Dev and are not a person barred from receiving services under the laws of the United States or other applicable jurisdiction. If you are accepting these Terms and using the Services on behalf of a company, organization, government, or other legal entity, you represent and warrant that you are authorized to do so. You may use the Services only in compliance with these Terms and all applicable local, state, national, and international laws, rules and regulations.
The Services that Groovy Dev provides are always evolving and the form and nature of the Services that Groovy Dev provides may change from time to time without prior notice to you. If we make a change to these terms that, in our sole discretion, is material, we will notify you in the relevant application. In addition, Groovy Dev may stop (permanently or temporarily) providing the Services (or any features within the Services) to you or to users generally and may not be able to provide you with prior notice. We also retain the right to create limits on use and storage at our sole discretion at any time without prior notice to you.
Any information that you or other users provide to Groovy Dev is subject to our Privacy Policy, which governs our collection and use of your information. You understand that through your use of the Services you consent to the collection and use (as set forth in the Privacy Policy) of this information, including the transfer of this information to the United States for storage, processing and use by Groovy Dev. As part of providing you the Services, we may need to provide you with certain communications, such as service announcements and administrative messages. These communications are considered part of the Services and your account, which you may not be able to opt-out from receiving.
All Content, whether publicly posted or privately transmitted (for example, customer support emails), is the sole responsibility of the person who originated such Content. Although we have no obligation to screen or monitor the Content posted to the Services, we may delete or remove such Content at any time and for any reason. Any use of or reliance on any Content or materials posted via the Services or obtained by you through the Services is at your own risk.
We do not endorse, support, represent or guarantee the completeness, truthfulness, accuracy, or reliability of any Content or communications posted via the Services or endorse any opinions expressed via the Services. You understand that by using the Services, you may be exposed to Content that might be offensive, harmful, inaccurate or otherwise inappropriate, or in some cases, postings that have been mislabeled or are otherwise deceptive. Under no circumstances will Groovy Dev be liable in any way for any Content, including, but not limited to, any errors or omissions in any Content, or any loss or damage of any kind incurred as a result of the use of any Content posted, emailed, transmitted or otherwise made available via the Services or broadcast elsewhere.
You retain your rights to any Content you submit, post or display on or through the Services. By submitting, posting or displaying Content on or through the Services, you grant us a worldwide, perpetual, irrevocable, non-exclusive, royalty-free, and fully paid license (with the right to sublicense) to use, copy, reproduce, process, adapt, modify, publish, transmit, display and distribute such Content in any and all media or distribution methods (now known or later developed).
You agree that this license includes the right for Mikail Izev Apps to provide, promote, and improve the Services and to make Content submitted to or through the Services available to other companies, organizations or individuals who partner with Groovy Dev for the syndication, broadcast, distribution or publication of such Content on other media and services, subject to our terms and conditions for such Content use.
Such additional uses by Groovy Dev, or other companies, organizations or individuals who partner with Groovy Dev, may be made with no compensation paid to you with respect to the Content that you submit, post, transmit or otherwise make available through the Services.
We may modify or adapt your Content in order to transmit, display or distribute it over computer networks and in various media and/or make changes to your Content as are necessary to conform and adapt that Content to any requirements or limitations of any networks, devices, services or media.
Groovy Dev gives you a personal, worldwide, royalty-free, non-assignable and non-exclusive license to use the software that is provided to you by Groovy Dev as part of the Services. This license is for the sole purpose of enabling you to use and enjoy the benefit of the Services as provided by Groovy Dev, in the manner permitted by these Terms.
All right, title, and interest in and to the Services (excluding Content provided by users) are and will remain the exclusive property of Groovy Dev and its licensors. The Services are protected by copyright, trademark, and other laws of both the United States and foreign countries. Nothing in the Terms gives you a right to use the Groovy Dev name or any of the Groovy Dev trademarks, logos, domain names, and other distinctive brand features.
Any questions, comments, suggestions, ideas, original or creative materials or other information you submit about Groovy Dev or the Services (collectively, "Feedback") is non-confidential and will become the sole property of Groovy Dev. We will own exclusive rights, including, without limitation, all intellectual property rights, in and to Feedback and will be entitled to the unrestricted use and dissemination of Feedback for any purpose, commercial or otherwise, without acknowledgment or compensation to you.
Please review the Groovy Dev Rules (which are part of these Terms) to better understand what is prohibited on the Groovy Dev Services.
We reserve the right at all times (but will not have an obligation) to remove or refuse to distribute any Content on the Services, to suspend or terminate users, and to reclaim usernames without liability to you.
We also reserve the right to access, read, preserve, and disclose any information as we reasonably believe is necessary to: satisfy any applicable law, regulation, legal process or governmental request; enforce the Terms, including investigation of potential violations hereof; detect, prevent, or otherwise address fraud, security or technical issues; respond to user support requests; or protect the rights, property or safety of Groovy Dev, its users and the public.
You may not do any of the following while accessing or using the Services: access, tamper with, or use non-public areas of the Services, Groovy Dev’ computer systems, or the technical delivery systems of Groovy Dev’ providers; probe, scan, or test the vulnerability of any system or network or breach or circumvent any security or authentication measures; access or search or attempt to access or search the Services by any means (automated or otherwise) other than through our currently available, published interfaces that are provided by Groovy Dev (and only pursuant to the applicable terms and conditions), unless you have been specifically allowed to do so in a separate agreement with Groovy Dev (NOTE: crawling the Services is permissible if done in accordance with the provisions of the robots.txt file, however, scraping the Services without the prior consent of Groovy Dev is expressly prohibited); forge any TCP/IP packet header or any part of the header information in any email or posting, or in any way use the Services to send altered, deceptive or false source-identifying information; interfere with, or disrupt, (or attempt to do so), the access of any user, host or network, including, without limitation, sending a virus, overloading, flooding, spamming, mail-bombing the Services, or by scripting the creation of Content in such a manner as to interfere with or create an undue burden on the Services; use or attempt to use another user’s account without authorization from that user and Groovy Dev; attempt to circumvent any techniques we employ to filter Content.
Groovy Dev respects the intellectual property rights of others and expects users of the Services to do the same.
We have a policy of limiting access to the Service and terminating the accounts of users who infringe the intellectual property rights of others. If you believe that anything on the Services infringes any copyright that you own or control, you may notify Groovy Dev’ Designated Agent as follows:
Use report function in app and submit your message, We will review and process as soon as possible.
Please see 17 U.S.C. §512(c)(3) for the requirements of a proper notification. Also, please note that if you knowingly misrepresent that any activity or material on the Services is infringing, you may be liable to Groovy Dev for certain costs and damages.
The Terms will continue to apply until terminated by either you or Groovy Dev as follows.
You may end your legal agreement with Groovy Dev at any time for any or no reason by deactivating your accounts and discontinuing your use of the Services. You do not need to specifically inform Groovy Dev when you stop using the Services. If you stop using the Services without deactivating your accounts, your accounts may be deactivated due to prolonged inactivity.
We may suspend or terminate your accounts or cease providing you with all or part of the Services at any timefor any or no reason, including, but not limited to, if we reasonably believe: (i) you have violated these Terms or the Groovy Dev Rules, (ii) you create risk or possible legal exposure for us; or (iii) our provision of the Services to you is no longer commercially viable. We will make reasonable efforts to notify you the next time you attempt to access your account.
In all such cases, the Terms shall terminate, including, without limitation, your license to use the Services, except that the following sections shall continue to apply: 3, 4, 6, 7, 8, 10, 11 and 12.
Nothing in this section shall affect Groovy Dev’ rights to change, limit or stop the provision of the Services without prior notice, as provided above.
Please read this section carefully since it limits the liability of Groovy Dev and its parents, subsidiaries, affiliates, related companies, officers, directors, employees, agents, representatives, partners, and licensors (collectively, the "Groovy Dev Entities"). Each of the subsections below only applies up to the maximum extent permitted under applicable law. Some jurisdictions do not allow the disclaimer of implied warranties or the limitation of liability in contracts, and as a result the contents of this section may not apply to you. Nothing in this section is intended to limit any rights you may have which may not be lawfully limited.
We do not control, endorse or take responsibility for any third-party content available on or linked to by our Services, including Content posted by our users.
Your access to and use of the Services or any Content are at your own risk. You understand and agree that the Services are provided to you on an "AS IS" and "AS AVAILABLE" basis. Without limiting the foregoing, to the maximum extent permitted under applicable law, THE Groovy Dev ENTITIES DISCLAIM ALL WARRANTIES AND CONDITIONS, WHETHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT.
The Groovy Dev Entities make no warranty or representation and disclaim all responsibility and liability for: (i) the completeness, accuracy, availability, timeliness, security or reliability of the Services or any Content; (ii) any harm to your computer system, loss of data, or other harm that results from your access to or use of the Services or any Content; (iii) the deletion of, or the failure to store or to transmit, any Content and other communications maintained by the Services; and (iv) whether the Services will meet your requirements or be available on an uninterrupted, secure, or error-free basis. No advice or information, whether oral or written, obtained from the Groovy Dev Entities or through the Services, will create any warranty or representation not expressly made herein.

IN NO EVENT SHALL THE AGGREGATE LIABILITY OF THE Groovy Dev ENTITIES EXCEED THE AMOUNT YOU PAID Groovy Dev, IF ANY, IN THE PAST SIX MONTHS FOR THE SERVICES GIVING RISE TO THE CLAIM.

Except for any dispute arising out of or related to a violation of Section 7 or the Groovy Dev Rules, or disputes in which either party seeks to bring an individual action in small claims court, if the dispute meets the requirements to be heard in small claims court, or seeks injunctive or other equitable relief for the alleged unlawful use of intellectual property, you and Groovy Dev waive your rights to a jury trial and to have any dispute arising out of or related to these Terms or the Services resolved in court. Instead, all disputes arising out of or relating to these Terms or the Services will be resolved through confidential binding arbitration held in San Mateo County, California before and in accordance with the Streamlined Arbitration Rules and Procedures ("Rules") of the Judicial Arbitration and Mediation Services ("JAMS"), which are available on the JAMS website and hereby incorporated by reference. You either acknowledge and agree that you have read and understand the rules of JAMS or waive your opportunity to read the rules of JAMS and any claim that the rules of JAMS are unfair or should not apply for any reason.
You and Groovy Dev agree that any dispute arising out of or related to these Terms or the Services is personal to you and Groovy Dev and that any dispute will be resolved solely through individual arbitration and will not be brought as a class arbitration, class action or any other type of representative proceeding.
You and Groovy Dev agree that these Terms affect interstate commerce and that the enforceability of this Section 11 will be substantively and procedurally governed by the Federal Arbitration Act, 9 U.S.C. § 1, et seq. (the "FAA"), to the maximum extent permitted by applicable law. As limited by the FAA, these Terms and the JAMS Rules, the arbitrator will have exclusive authority to make all procedural and substantive decisions regarding any dispute and to grant any remedy that would otherwise be available in court; provided, however, that the arbitrator does not have the authority to conduct a class arbitration or a representative action, which is prohibited by these Terms. The arbitrator may only conduct an individual arbitration and may not consolidate more than one individual’s claims, preside over any type of class or representative proceeding or preside over any proceeding involving more than one individual. You and Groovy Dev agree that for any arbitration you initiate, you will pay the filing fee and Company will pay the remaining JAMS fees and costs. For any arbitration initiated by Groovy Dev , Groovy Dev will pay all JAMS fees and costs. You and Groovy Dev agree that the state or federal courts of the State of California and the United States sitting in San Mateo County, California have exclusive jurisdiction over any appeals and the enforcement of an arbitration award.
Any claim you may have arising out of or related to these Terms or the Services must be filed within one year after such claim arose; otherwise, your claim is permanently barred, which means that you and Groovy Dev will not have the right to assert the claim.
You have the right to opt out of binding arbitration within thirty (30) days of the date you first accepted the terms of this Section 11 by emailing us at legal [at] ticktockapps [dot] com. In order to be effective, the opt out notice must include your full name and clearly indicate your intent to opt out of binding arbitration. By opting out of binding arbitration, you are agreeing to resolve Disputes in accordance with Section 12.


|
cds
2.3.1
|
C++11 Atomic library support. More...
C++11 Atomic library support.
libcds
can use the following implementations of the atomics:
<atomic>
. This is used by defaultboost.atomic
for boost 1.54 and above. To use it you should define CDS_USE_BOOST_ATOMIC
for your compiler invocation, for example, for gcc specify -DCDS_USE_BOOST_ATOMIC
in command linelibcds
implementation of atomic operation according to C++11 standard as specified in N3242, p.29. libcds
implementation is not the full standard compliant, it provides only C++ part of standard, for example, libcds
has no static initialization of the atomic variables and some other C features. However, that imlementation is enough for the library purposes. Supported architecture: x86, amd64, ia64 (Itanium) 64bit, 64bit Sparc. To use libcds
atomic you should define CDS_USE_LIBCDS_ATOMIC
in the compiler command line (-DCDS_USE_LIBCDS_ATOMIC
for gcc/clang).
libcds
doesn't use native libc++
<atomic>
due some problems. Instead, libcds
atomic is used by default, or you can try to use boost.atomic
.The library defines atomics
alias for atomic namespace:
namespace atomics = std
for STLnamespace atomics = boost
for boost.atomic
namespace atomics = cds::cxx11_atomic
for library-provided atomic implementation


THREE.REVISION
THREE.MOUSE.LEFT THREE.MOUSE.MIDDLE THREE.MOUSE.RIGHT
[link:https://github.com/mrdoob/three.js/blob/master/src/constants.js src/constants.js]


Home
Discussion
Motivational
Resources
(current)
Join
Log In
×
Have an Account?
Login
Create Account
Login
Username
Password
Login
Username
First Name
Last Name
Email
Address
Create Account


Delegate AccessTools.FieldRef<T, F>
A readable/assignable reference delegate to an instance field of a class or static field (NOT an instance field of a struct)
Namespace: HarmonyLib
Assembly: 0Harmony.dll
Syntax
public delegate ref F FieldRef<in T, F>(T instance = null);
Parameters
| Type | Name | Description |
|---|---|---|
| T | instance | The runtime instance to access the field (ignored and can be omitted for static fields) |
Returns
| Type | Description |
|---|---|
| F | A readable/assignable reference to the field |
Type Parameters
| Name | Description |
|---|---|
| T | An arbitrary type if the field is static; otherwise the class that defines the field, or a parent class (including System.Object), implemented interface, or derived class of this type |
| F | The type of the field; or if the field's type is a reference type (a class or interface, NOT a struct or other value type), a type that System.Type.IsAssignableFrom(System.Type) that type; or if the field's type is an enum type, either that type or the underlying integral type of that enum type |
Remarks
This delegate cannot be used for instance fields of structs, since a struct instance passed to the delegate would be passed by value and thus would be a copy that only exists within the delegate's invocation. This is fine for a readonly reference, but makes assignment futile. Use AccessTools.StructFieldRef<T, F> instead.
Note that T
is not required to be the field's declaring type. It can be a parent class (including System.Object),
implemented interface, or a derived class of the field's declaring type ("instanceOfT is FieldDeclaringType
" must be possible).
Specifically, F
must be System.Type.IsAssignableFrom(System.Type) OR to the field's declaring type.
Technically, this allows Nullable
, although Nullable
is only relevant for structs, and since only static fields of structs
are allowed for this delegate, and the instance passed to such a delegate is ignored, this hardly matters.
Similarly, F
is not required to be the field's field type, unless that type is a non-enum value type.
It can be a parent class (including object
) or implemented interface of the field's field type. It cannot be a derived class.
This variance is not allowed for value types, since that would require boxing/unboxing, which is not allowed for ref values.
Special case for enum types: F
can also be the underlying integral type of the enum type.
Specifically, for reference types, F
must be System.Type.IsAssignableFrom(System.Type)
the field's field type; for non-enum value types, F
must be exactly the field's field type; for enum types,
F
must be either the field's field type or the underyling integral type of that field type.
This delegate supports static fields, even those defined in structs, for legacy reasons.
For such static fields, T
is effectively ignored.
Consider using AccessTools.FieldRef<F> (and StaticFieldRefAccess
methods that return it) instead for static fields.


ÁVision Build Log
Tool Versions:
IDE-Version: Ž╠Vision V<IP_ADDRESS> Copyright (C) 2019 ARM Ltd and ARM Germany GmbH. All rights reserved. License Information: ╚ą1 Administrator, 1, LIC=58545-GPWJY-YVS1Y-I3K3G-T65JA-2UQDJ Tool Versions: Toolchain: MDK-ARM Plus Version: <IP_ADDRESS> Toolchain Path: C:\Keil_v5\ARM\ARMCC\Bin C Compiler: Armcc.exe V5.06 update 6 (build 750) Assembler: Armasm.exe V5.06 update 6 (build 750) Linker/Locator: ArmLink.exe V5.06 update 6 (build 750) Library Manager: ArmAr.exe V5.06 update 6 (build 750) Hex Converter: FromElf.exe V5.06 update 6 (build 750) CPU DLL: SARMCM3.DLL V<IP_ADDRESS> Dialog DLL: DARMSTM.DLL V<IP_ADDRESS> Target DLL: CMSIS_AGDI.dll V<IP_ADDRESS> Dialog DLL: TARMSTM.DLL V<IP_ADDRESS>Project:
H:\myfile\wireless_jtag\STM32F103C8T6_CMSIS-DAP_SWO-master\myprj\20200514\STM32F103C8T6_CMSIS-DAP_SWO-master-testB\STM32F103C8T6_CMSIS-DAP_SWO-master\STM32F103C8T6DAP.uvproj Project File Date: 05/24/2020Output:
*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin' Rebuild target 'STM32F103-BLUEPILL' assembling startup_stm32f10x_md.s... compiling system_stm32f10x.c... User\system_stm32f10x.c(102): warning: #1215-D: #warning directive: "Use STM32F103Cx (72 MHz)" #warning "Use STM32F103Cx (72 MHz)" User\system_stm32f10x.c: 1 warning, 0 errors compiling main.c... User\main.c(24): warning: #1215-D: #warning directive: "BLUEPILL board: using SWD/TMS-PB9, SWC/TCK-PB8, TDO-PB7, nRESET-PB6, TDI-PB5" #warning "BLUEPILL board: using SWD/TMS-PB9, SWC/TCK-PB8, TDO-PB7, nRESET-PB6, TDI-PB5" User\main.c(34): warning: #1215-D: #warning directive: "SWD mode + JTAG mode" #warning "SWD mode + JTAG mode" User\main.c: 2 warnings, 0 errors compiling DAP.c... compiling JTAG_DP.c... compiling SW_DP.c... compiling SWO.c... compiling misc.c... compiling stm32f10x_flash.c... compiling stm32f10x_gpio.c... compiling stm32f10x_rcc.c... compiling DMA_STM32F10x.c... compiling GPIO_STM32F10x.c... compiling usb_config.c... compiling USART_STM32F10x.c... Driver\STM32F10x_ARM_Driver\USART_STM32F10x.h(42): warning: #1215-D: #warning directive: "Use PB7 as SWO port." #warning "Use PB7 as SWO port." Driver\STM32F10x_ARM_Driver\USART_STM32F10x.c: 1 warning, 0 errors compiling usbd_STM32F103.c... compiling usbd_user_hid.c... USB\data.h(16): warning: #1-D: last line of file ends without a newline #endif USB\call_usart2.h(7): warning: #1-D: last line of file ends without a newline #endif USB\usbd_user_hid.c(284): warning: #177-D: variable "free_data" was declared but never referenced uint8_t free_data=0xfc; USB\usbd_user_hid.c: 3 warnings, 0 errors compiling usbd_user_cdc_acm.c... USB\call_usart2.h(7): warning: #1-D: last line of file ends without a newline #endif USB\data.h(16): warning: #1-D: last line of file ends without a newline #endif USB\usbd_user_cdc_acm.c(184): warning: #177-D: variable "cnt" was declared but never referenced int32_t cnt; USB\usbd_user_cdc_acm.c(91): warning: #177-D: variable "uart_tx_buf" was declared but never referenced static uint8_t uart_tx_buf[UART_BUFFER_SIZE]; USB\usbd_user_cdc_acm.c: 4 warnings, 0 errors linking... Program Size: Code=26108 RO-data=1112 RW-data=268 ZI-data=15932 FromELF: creating hex file... ".\build\F103-DAP-SWO-CDC-BLUEPILL-SWD_PB8PB9.axf" - 0 Error(s), 11 Warning(s). Build Time Elapsed: 00:00:05


Create Account
First Name
*
Surname
*
Create Username
*
Email
*
Create Password
*
Confirm Password
*
Select Country
*
India
Usa
Uk
Norway
China
Netherlands
Canada
Germany
Belgium
Switzerland
Denmark
Phone No
*
Sign Up
Already have an account?
Log in
By clicking "Sign up" you agree to our
Terms of Service.


Search the World using Bing Maps API!
Enter details into one of the following Search Criteria and click "Search":
Option 1:
Find something specific (eg. Pizza, Schools, etc.) in a Location
Search for:
Where:
Option 2:
Search for a location or address
Option 3:
Find Coffee Shops in a location
Find Coffee Shops in:


THE BROTHERS A film review by Steve Rhodes Copyright 2001 Steve Rhodes RATING (0 TO ****): **
Gary Hardwick, the writer of the awful TRIPPIN' from two years ago, is back with his second film, THE BROTHERS, which he writes and directs. Although it is infinitely better than his first attempt, it isn't much of a movie.
The story concerns four lifelong black friends who have always had a problem with women in general and commitment in particular. As the movie starts, their shared belief is that black women come with unwanted kids and too much blubber. "It's like they're giving out government cheese sandwiches with babies," one of them remarks. Women who have all of the sex that they want are derided as "'hos," while guys doing the same earn major bragging rights. Terry White (Shemar Moore), the buffest of our group of four, is attacked in his office by a temp who starts stripping and throwing herself at him, pinning him to the wall. Sure.
Lawyer Brian Palmer (Bill Bellamy), who makes the mistake of dating a white woman who knows karate, gets the least screen time. The real star of the film and the best looking one of the bunch is Jackson Smith, played by Morris Chestnut. Jackson's divorced parents, played by Jenifer Lewis and Clifton Powell, also get to tell their story.
The seeming odd man out is Derrick West (D.L. Hughley), who is the only married man in the group. It turns out that he only married his wife, Sheila (Tamala Jones), because she got pregnant and insisted on marriage, or so he claims. He and his wife end up separating because of his firmly held belief that getting oral sex is his right as a husband.
The movie, which the director says that he likes to think of as REFUSING TO EXHALE, gives the guys great looking women to spurn. They, of course, will end up realizing what they are missing. Jackson, for example, starts, stops and then starts again dating a woman called Denise Johnson (Gabrielle Union) who possesses jaw-dropping beauty. Eventually Jackson will remark to one of his buddies, "This world is filled with amazin' women waiting for brothers like us who have got it together." A nice platitude. The movie rarely rises much above that level.
THE BROTHERS runs 1:40. It is rated R for strong sexual content and language and would be acceptable for older teenagers.
Web: http://www.InternetReviews.com Email<EMAIL_ADDRESS>Want free reviews and weekly movie and video recommendations via Email? Just send me a letter with the word "subscribe" in the subject line.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


--- layout: page title: About PHP North East permalink: /about-php-north-east/ ---
PHP North East (PHPNE) is a PHP User Group covering the North East of England, UK.
We meet every third Tuesday of the month in Newcastle, at around 6pm. Our meetings usually consist of an informal presentation on the varying subjects surrounding PHP, then we make our way to a local bar for further discussions and socialising.
Attendance to our User Group meetings will always be free, and everyone is welcome.
If you would like to get involved, you’re more than welcome to come along to a meeting and/or participate in discussions in our Google Group.


Form
Frame: Form
Method link inside frame
Break-out of frame with method link inside frame
Method link inside frame targeting another frame
Stream link inside frame
Stream link inside frame with confirmation
Method link outside frame
Stream link outside frame


Friends
Cute Kittens
Strange “Stuff”
Automatic Fails
Videos
Cute Kittens
Strange “Stuff”
Automatic Fails
Strange “Stuff”
Cute Kittens
Strange “Stuff”
Galleries
Automatic Fails
Robots
Cute Kittens
Strange “Stuff”
Automatic Fails


 Count to three. Exhale.
Sometimes it’s hard to let people go. However, sometimes we are left with no other choice. The reasons are plenty. From old flames to drifting apart friends – holding onto someone who has already let go of you is self-destructive. It only hurts you, no one else. It prevents you from moving on and being happy again. It stops you from healing.
Letting go of someone who has let go of you doesn’t make you weak. It simply means you’re choosing yourself. It means that you’re choosing your own sanity over someone who stopped caring about you.  And it’s okay.
Letting go is hard, no matter how things have ended. But it has to be done. And you do it by moving on.  You learn to open up to people again because you remember that not everyone will let go of you. You develop a new hobby – not as a distraction but as a way to grow. You work on yourself so that you can become the best version of yourself. Because you’re strong but you want to be even stronger.
 You don’t focus on how better it would be if they were in it. Instead, you appreciate the people that are still in your life and will never leave. You appreciate your own life and everything that you have accomplished. Since all that doesn’t disappear simply because someone has let you go.
As you move on, you won’t even notice that you’ve let them go. It will take time – it’s a process, but it will happen. You will learn how to live without them, and after a while, you won’t even remember how it felt when they were in your life. You don’t have to forget them, or never miss them – you just have to let them go. And it’s a strength that you know is within you.
Letting someone go means rediscovering yourself all over again. And there’s nothing more powerful in life than that.
Related
70 Inspirational Quotes About Letting Go And Moving On
When It Comes Down To It, I Will Still Choose Forgiveness Every Time
About the author
Writer. Photographer. Dreamer. Follow Natalie on Instagram or read more articles from Natalie on Thought Catalog.
Learn more about Thought Catalog and our writers on our about page.
Breaking Up Healing Heartbreak Letting Go Moving On
- 0


This test demonstrates loading content from an external source by adding a "source" setting defined as a function. No tab panels exist in the base markup, but the markup is generated the first time each tab is activated. On subsequent activations, the existing tab markup is used instead of making a new AJAX call.


--- layout: archive title: Zulip Chat Archive permalink: /stream/113488-general/topic/3.2E4.2C.20elan.2C.20and.20mathlib.html ---
I just installed elan
. Succesfully it seems. I then ran mkdir ~/mess/leantest
and inside that directory, I ran elan toolchain install nightly
. This provided me with a leanpkg
command, and I ran leanpkg add https://github.com/leanprover/mathlib
. After cloning from github, it complained cannot find revision lean-3.4.0 in repository _target/deps/mathlib
. I guess this is somehow expected, because mathlib is not 3.4.0 ready. Right?
So which permutation of command should I run, to get the most up to date version of lean + mathlib on my box?
do you have a leanpkg.toml
file? What is in it?
You're probably using Lean stable, which is installed by elan by default - see lean -v
or elan show
What do I need to do to make this work?
Is it just adding a tag with the name lean-3.4.0
?
elan show installed toolchains -------------------- stable-x86_64-unknown-linux-gnu nightly-x86_64-unknown-linux-gnu active toolchain ---------------- stable-x86_64-unknown-linux-gnu (default) Lean (version 3.4.0, commit 4be96eaaaf71, Release)
I do not have a .toml
file
Should I write this myself?
leanpkg init <package name>
will create it for you. You can use leanpkg +nightly init ...
to set the Lean version to a nightly, but I'm not sure there is any point in encouraging users to use nightlies any more. @Mario Carneiro What do you think?
Ok, I see
Is there a concensus?
Not yet I think. Right now, stable
and nightly
are functionally the same Lean version.
Assuming lean is completely frozen now, I guess we can move to building against 3.4.0, but I expect some occasional bugfixes will come along, and then I will want to go back to nightlies
I hope that, now that 3.4 is out, there is a stable way to get everything working together
And then we document this, so that users know which 5 commands to run in a fresh directory to get a lean project up and running
For now, though, you want to make sure that your lean version is nightly-2018-04-06 since that's what mathlib master is using
Ok, and how should I make sure I get that nightly, using elan
@Mario Carneiro Yeah, I guess a tag should work. Not sure if force-updating it will work too :) .
(Because it seems using elan
is wise)
I am not the elan guru in this conversation :)
leanpkg +nightly-2018-04-06 init mypackage
@Mario Carneiro When do you expect mathlib to use 3.4? (No pressure...)
Probably tomorrow or the day after, when I get a chance to sit down and look at the changes
@Sebastian Ullrich But to have a leanpkg
command, I already need to first run an elan
command, right?
Because elan
provides me with a leanpkg
No, you just need to have elan installed
It's the same as elan run nightly-2018-04-06 leanpkg init mypackage
, if you like that better :)
Ok, so I empty my leantest directory
And I get
$ elan run nightly-2018-04-06 leanpkg init leantest error: toolchain 'nightly-2018-04-06-x86_64-unknown-linux-gnu' is not installed
Oops, I was hoping this worked... then you need to run elan toolchain install nightly-2018-04-06
first
Ok, I'll try that
My first goal now, is to write a 10-line readme, that will explain how to start a fresh project.
Including VScode integration, I hope
@Sebastian Ullrich That worked. And now I also ran elan run nightly-2018-04-06 leanpkg init leantest
Should the next step be leanpkg add https://github.com/leanprover/mathlib
?
Yes
is there a way to get the version number from mathlib?
You mean the lean_version
?
yes
Ok, that worked. I assume now I should run leanpkg build
. Right?
The mathlib elan setup doesn't say anything about lean versions
@Johan Commelin If you get that 10 line startup script working, pr it to the mathlib readme
@Johan Commelin That should work, but not do much. Lean only builds the part of the dependencies you actually import in your src
directory
Ok, so there is no need to run leanpkg build
right now?
Then I won't do it
@Mario Carneiro Ok, I'll do that. Once I've got it working (^;
I was surprised you were able to run leanpkg add
before initializing the package. I guess you got a "failed to open file 'leanpkg.toml'" only at the very end? Pretty much a bug in leanpkg, oh well.
@Sebastian Ullrich I love breaking things. Hehe
Right, so I did not run leanpkg build
. Only fired up VScode
It says No Lean file active
in the Lean messages, after I opened a .lean
file
Clicking anywhere in the file usually fixes this for me.
Ok, that works. Never had to do that...
@Mario Carneiro Not sure what you're trying to achieve. The Travis build will select the correct version from lean_version
automatically.
well, I'm mildly surprised that the default setup gave the wrong version of lean for mathlib
I want a short command or script to give to a newbie that wants the latest version of mathlib and a compatible version of lean
I'd prefer that the script not contain the literal string nightly-2018-04-06
since that ages
@Sebastian Ullrich But I need to tell VScode to use the correct version of lean, right? So I edit the settings, to point it to ~/.elan/toolchains/nightly-2018-04-06-x86_64-unknown-linux-gnu/bin/lean
, is that correct?
@Johan Commelin I've only tested emacs so far, but specifying ~/.elan/bin/lean
should work
Lean: Unable to start the Lean server process: Error: spawn ~/.elan/bin/lean ENOENT The lean.executablePath may be incorrect, make sure it is a valid Lean executable
Alas, it is still complaining
put .exe
at the end?
On Linux?
Maybe it doesn't like the ~
Yes, I'm on linux
Ok, that seems to have done it. I expanded the ~
to my homedir
Nice, good to know
Ok, I'm now try to compile Kevin's result that Spec(R) is quasi-compact
If that works, then I'll write the little readme
Also, is there a way to tell lean not to use all my CPU threads?
mkdir leantest/ cd leantest/ elan run nightly-2018-04-06 leanpkg init leantest elan toolchain install nightly-2018-04-06 elan run nightly-2018-04-06 leanpkg init leantest ls ls -a leanpkg add https://github.com/leanprover/mathlib leanpkg add https://github.com/kbuzzard/lean-stacks-project ls elan show # Change VScode settings to point to "/home/<user>/.elan/bin/lean"
That is my current bash history
So, I'll clean it up, and write a bit of details. But I thought I would log it here as well
@Mario Carneiro So, this looks like a chicken and egg problem - when selecting the Lean version for creating the package, we don't know what dependencies the user will install yet. Well, it doesn't really matter what version to use for creating the package, so we could suggest to the user to change their Lean version after the fact when adding mathlib. I'm planning to do the same on leanpkg upgrade
; we can also discuss this at https://github.com/Kha/elan/issues/5
O.o.....
Lean: Server has stopped due to signal SIGSEGV
That doesn't sound good...
Johan -- one possibility is that you just get everything working in the old way, and just wait until mathlib is running with 3.4.
The reason this might be useful is that what we will ultimately really need
is a clear and concise set of instructions
on how to get Lean 3.4 and mathlib running.
And at the minute mathlib doesn't work with Lean 3.4, and elan still has teething troubles
in other words, I guess what I'm saying is that I am waiting until mathlib works with Lean 3.4 before I start thinking about writing down some succinct explanation of how to use elan
and for me there is no hurry because I have a set-up that works without elan
OTOH I'm sure Sebastian is appreciating your comments on elan.
As for the segv
you do occasionally get these, although they are quite rare
a good way of getting them is to compile a project, thus getting a bunch of .olean files, and then changing the version of Lean you're using
so the first thing you need to do is to rule this out
and the second big question is whether you can reliably reproduce the segfault
and if you can, then you get an achievement
and you're allowed to post an issue to the lean repo
I've had a couple recently but I couldn't reproduce them, annoyingly
(the moment I get one, I hit ctrl-Z to go back a bit, ctrl-shift-P Lean:restart to restart Lean, and then try typing exactly the same keys again)
I am really really looking forwards to the stability of 3.4 + mathlib, but until then I have plenty to do :-)
Just to be clear, any issues happening _after_ Lean was started successfully should not be elan's fault :)
So find . -name *.olean
finds nothing. Which means the first option is ruled out. I guess. Now I will start the backtracking.
The .olean version mismatch problem has been fixed for quite some time
Can Lean segfault if it runs out of memory? I opened a file from Kevin's lean-stacks-project and I had not compiled anything before. I only have 4GB in my rusty Thinkpad (no swap). So I think that Lean maybe ran out of memory.
There have been many ways for Lean to segfault so far, but that one would be new :)
So, should I run leanpkg build
or something similar? Ought that work?
Worth a try, at least then you know it's easily reproducible
$ leanpkg build configuring leantest 0.1 mathlib: trying to update _target/deps/mathlib to revision 7d1ab388bb097db5d631d11892e8f110e1f2e9cd > git checkout --detach 7d1ab388bb097db5d631d11892e8f110e1f2e9cd # in directory _target/deps/mathlib HEAD is now at 7d1ab38 feat(list/basic,...): minor modifications & additions lean-stacks-project: trying to update _target/deps/lean-stacks-project to revision a2204862a0c20c4ea4f98d5685c1a51a3b0279d3 > git checkout --detach a2204862a0c20c4ea4f98d5685c1a51a3b0279d3 # in directory _target/deps/lean-stacks-project HEAD is now at a220486 Merge branch 'master' of github.com:kbuzzard/lean-stacks-project > lean --make src
This completed immediately...
Doesn't do any compiling at all
Is your segfaulting file saved in the src
directory?
No, the src/
dir is empty
You should save your Lean files in src
, as described in https://leanprover.github.io/reference/using_lean.html#directory-layout
Sorry, I'm completely confused. As you can see from my log above, I only ran leanpkg add
to add mathlib and lean-stacks-project. Both are added to _target/deps/
. The leave src/
empty. What am I doing wrong?
Here's how you're supposed to run the stacks project.
First, clone the stacks project.
Then make it into a lean package with some leanpkg command which I forgot
then build it
Here's how you're supposed to make a new project with the stacks project as a dependency
First make a directory for your new project
Ok, I see. I thought you had to leanpkg add
it
then use leanpkg add to add the stacks project
I think I've got it straight.
Aha, I hope this helps...
On behalf of the community I apologise for the lack of docs and the general difficulty of finding the docs you need
we are working on this problem
What happens in practice is that Sebastian does a really good job of writing all these package managers
and then he explains how things work here
and everyone learns
and then either stuff doesn't get written, or stuff gets written but in some place you might not expect, or stuff doesn't get written and then the older stuff is written but out of date and wrong.
Right, I'll try to figure out the command to turn the clone into a lean package
Yes we are working on it. I really for big improvements in the next few weeks
To make matters worse, and by "worse" I mean "better", we now have elan, which is something else
@Kevin Buzzard Could it be that you mean leanpkg configure
to download the dependencies?
Mathlib goes 3.4, elan matures, TPIL and refman get updated and everything will become much easier
and the most comprehensive docs on elan are obtained by searching for elan here :-)
"Mathlib goes 3.4" -- here's hoping!
Presumably you noticed the rather terrifying-looking stumbling block
One thing I love about Lean is that we are free to add various type annotations everywhere if we get confused
and I get confused a lot
@Johan Commelin line 16 of an old commit
That was when mathlib was called library_dev
When the docs moved into the reference manual, some of those old docs got lost
Ok, thanks!
You seem to be right -- the "creating new packages" docs survived but the "working on existing packages" para got lost.
Whoohoo, now leanpkg build
is actually doing something!
I would go and have a cup of tea
I would also recommend maximising your console window and using ctrl-(minus key) to minimise your font size
that way successful compilation of a file whose full path is more than 80 characters doesn't result in your terminal being filled with garbage
I see... I'm already running fullscreen. I'm about to get a computer account at the department, and I'm going to ask for a second screen on my desk.
[and note the message I sent you yesterday about certain files which have errors in as they are WIPs; I know it's a bit unprofessional but I develop on more than one machine and github is just a convenient way to store my half-written files]
Running VScode on a 12" Thinkpad is horrible
I am absolutely serious when I say
that I run VS Code on a laptop with a medium size screen
and the fact that it was horrible
@Kevin Buzzard Yes, I saw that message. No problem. I think branches could help you there. You can push WIP branches to github as well.
actually made me bite the bullet and start wearing glasses
and now I have glasses (for reading)
I can just minimise the font to quite small :-)
I am not good at branches yet.
but I am getting there.
I never needed them before because Kenny and Chris work on localised code and don't care if other stuff doesn't compile
and nobody else has ever paid any attention to the project :-)
We are nearly done though.
and nobody else has ever paid any attention to the project :-)
I'm sorry for being curious
I should just wait a couple of days (-;
I just this morning pushed a version of tah01HR which contains a concrete endgame
i.e. "we need to prove this lemma and that lemma and then just glue everything together"
I think I am right when I say that mathlib compiles with the nightly of 6th April
and the project should work with that
So far the compile is doing its job perfectly (-;
You don't have to guess here, it's right there: https://github.com/leanprover/mathlib/blob/master/leanpkg.toml#L4
aah, another undocumented gem ;-)
@Patrick Massot Yes, now I only need to convince my laptop of that (-;
Did you put that same line in your own project leanpkg.toml
?
if he cloned my project then it should be there
Atm I just cloned the lean-stacks-project repo, which has its own toml
So the system does actually work
what does which leanpkg
tells you?
it's just that we need to document it better
And elan
parsed it, and made me use the right version of leanpkg
and lean
:tada:
$ which leanpkg /home/jmc/.elan/bin/leanpkg
ok, it's all fine
also, make sure you never ever define a leanpath variable in VScode
this only leads to confusion
I set it to /home/jmc/.elan/bin/lean
You shouldn't
So what should I do?
You should simply launch VScode from a terminal where the shell path variable is set correctly (ie which lean
points to .elan/bin/lean
)
which will happen if you have source $HOME/.elan/env
in your initialization file (.profile
or .bashrc
or...)
Ok, that makes sense
I'll do that from now on
ha ha, I use leanpath all the time; it points to a symlink :-)
Johan -- I haven't used elan at all yet but I just changed the README in lean-stacks-project to explain what I think you just did.
Feel free to submit a PR explaining elan. I have not even attempted to find out whether elan has docs; I have other things to worry about currently :-)
If my compile succeeds, then the first thing I will do is write some small docs and PR them.
Let me try something (we'll see if we can PR later). Instruction for a first time user of Lean under linux:
git
and curl
are installed, using your distrib package managercurl https://raw.githubusercontent.com/Kha/elan/master/elan-init.sh -sSf | sh
and type enter when a question is asked. Then add source .elan/env
to your shell initialization script, say ~/.bashrc
, and source it in the current terminal (or relaunch a new terminal).nightly-2018-04-06
. Then run elan toolchain install nightly-2018-04-06
.elan run nightly-2018-04-06 leanpkg new my_playground
. This will create a my_playground
directory with a lean project layout. leanpkg add leanprover/mathlib
this will download mathlib and put it inside my_playground/_target/deps
,my_playground/src
, launch VScode, go to and play with Lean by opening the file, typing Ctrl-shift-enter
to open Lean message windows, and type, say #check 1
to see the resultimport group_theory.subgroup
and then #check is_subgroup
. But this will use uncompiled version of mathlib, which is very inefficient. If you run leanpkg build
from inside my_playground
then it will compile only files which are dependencies of mathlib group_theory/subgroup.lean
.my_playground/_target/deps/mathlib
, type lean --make
and go get some coffee.That being said, we really need mathlib nightlies (ie. precompiled mathlib)
It makes no sense that curious potential users have to wait for mathlib to compile
@Patrick Massot I think that is a very good start
I would also like a small section on how to work on an existing project, like lean-stacks-project
You can copy that from my README
except that it should be updated to use elan
In elan, when downloading Lean and its library, would it be possible to add a leanpkg.toml
file at the root of library
. That would make it easier to browse with emacs.
What parts of browsing would that change?
When I open init/meta/tactic.lean
in emacs, it tries to start a lean server and fails and M-.
won't help
me go to a definition
Oh, it looks like we forgot to include library/leanpkg.path
in the releases. I'll fix it for the future.
Can leanpkg.path
specify the version of lean
to launch when editing the files?
Ah, you are right. I guess injecting a leanpkg.toml
file could indeed be the best solution.
Last updated: Apr 24 2020 at 19:02 UTC


Astrocut
A Python package for making astronomical cutouts.
Installation
Documentation
Astrocut provides tools for making cutouts from sets of astronomical images with shared footprints. It is under active development.
Three main areas of functionality are included:
- Solving the specific problem of creating image cutouts from sectors of Transiting Exoplanet Survey Satellite (TESS) full-frame images.
- General FITS file cutouts incuding from single images and sets of images with the shared WCS/pixel scale.
- Cutout post-processing functionality, including centering cutouts along a path (for moving targets) and combining cutouts.
GitHub Repository


Upgrades
The upgrades below are available to add to your wash individually if the wash level you chose doesn't already include it.
$5
Carnauba Wax
$4
Triple Foam Protectant
$3
Vision Clear
$3
Tire Shine
$3
Bug Buster
Wheels + Protect + Shine
Everything included in Wheels + Protect, plus:
$17
$45/mo unlimited
Buy an Unlimited FastPass
Wheels + Protect
Everything included in Wheels, plus:
$14
$35/mo unlimited
Buy an Unlimited FastPass