Wild Lettuce (L. virosa)
I just recently moved to Colorado and was needing to get a new job, so I was looking for some legal substances to fill the marijuana void. I was not about to jeapordize a good job prospect with a failed drug test. I was looking on the Internet and found a host of legal drugs that I never knew existed. One of the most common was a substance known as lettuce opium, conveniently called legal hydroponic buds by most of the sites. It was relatively cheap for a decent sized bag, so I did some looking around a found a reputable site that looked like it sold some quality product. The pictures of the buds looked great, allmost like real weed. A few days later the stash arrived while I was at home, so I loaded up a bull and smoked it, not really expecting much, but a bit excited nevertheless.
The smoke was a bit harsh, and I had a tough time smoking the whole bull just by myself. I was in my car with Weezer playing in the background just waiting for something, anything to happen. After about 5 minutes, I began to get butter-legs and my body felt very relaxed. I started giggling a lot, kindof like with marjuana, but the laughy feeling passed after just a few minutes. For the next twenty or so minutes I just felt very relaxed, but not much else. Never did I experience anything more than slight giggles and relaxation.
A few days later, not wanting to admit that I had spent 25 dollars on a waste, I thought that maybe one bull wasn't enough. I took a full half of a bag (1/4 oz. approx.) and ground up the buds, and spread them on a slice of pizza. I had a large glass of water at hand. Honestly, it didn't taste that bad, the buds didn't really taste like much of anything. I thought that if this much stuff doesn't cause any effects, the stuff is not worth the money.
It took longer to kick in, but after about 40 minutes the feelings returned. At the time, it was the night of July 4th, I was watching fireworks. The same feelings returned that I had had before. I felt very relaxed and started giggling a lot. But once again, after a few minutes the laughing passed, and I just felt very relaxed. Pretty much the exact same as one smoked bull, and I was a bit surprised, given how much I had eaten.
Overall, I would only reccomend ever buying the stuff if you want something to induce some pretty good relaxation, but then you actually have to put up with the harsh smoke. With lettuce opium, I would not expect any sort of marijuana-like high. Very mild, and in my opinion, save your money for the real stuff.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Npm, Grunt, Git and Webpack, most projects that I developed in the past year used npm and Grunt. The projects outlined in this portfolio are a few examples of my work. Version was done via Git.
Primary skills: HTML5, CSS3, Sass, JavaScript, jQuery and PHP/Mysql.
Code examples can be viewed in the Github link above.
As part of a team of developers and designers worked to develop a pixel perfect HTML5 version and then converted to a WordPress CMS. Implemented custom fonts/icons, flickity slider, jQuery sumo select, Google Maps API, and Flexbox.
Build: HTML5, CSS3, Sass, Javascript, jQuery, PHP, Mysql
Website: Website name
A Magento to Woocommerce migration project. Worked on the import and product mapping of the product database. Integrated payment system and minor front-end development. The project also include time training the clients on the CMS.
Build: HTML5, CSS3, Sass, Javascript, jQuery, PHP, Mysql
Website: Website name
Developed a simple holding page for the client based on the teams design. Integrated flickity slider and a newsletter form with MailChimp.
Build: HTML5, CSS3, flexbox, Sass, Javascript, jQuery
Website: Website name
Using the client's brand guidelines developed their website from an static HTML to a dynamic WordPress CMS. Setup their web hosting and email. Provided monthly Analytics reports.
Build: HTML5, CSS3, Javascript, PHP, Mysql
Website: Website name
Bespoke photography project requiring school staff access to the backend. Access levels for clients required photographer upload access and staff order access. Site setup, web hosting, SSL and payment integration.
Build: HTML5, CSS3, Javascript, PHP, Mysql
Website: Website name
Developed a WordPress site based on the client's requirements. Integrated ecommerce system with site CMS. Projected bespoke coding, email setup and web hosting.
Build: HTML5, CSS3, Javascript, PHP, Mysql
Website: Website name


---
start: 2017-06-07 13:00
edition: 27
participate: "https://www.eventbrite.com/e/internet-privacy-and-security-concerns-tickets-35012296722"
talk: "https://goo.gl/forms/m9aPSXemMLPBj35k1"
subheader: "Internet Privacy and Security Concerns"
subnote: "How internet works and how algorithms alter our behaviour? What is the state of mobile security like? What can we do to protect our data from these breaches and vulnerabilities?"
agenda:
-
time: "6:45 pm - 7:30 pm"
title: "Internet Privacy and Security Concerns"
subtitle: "The session will address the following questions: What’s the origin of Wannacry? Who controls the Internet Infrastructure? Are mobiles secure for communication? How are the latest mobiles designed? Can algorithms control/alter our behaviour? Zero-Day exploits – Are we even aware of them? “I have nothing to hide!!” Really? At the end of the session, we will also be presenting the ways in which we can protect ourselves."
speaker_profile: "By: Chaitanya Muppala is a Project Manager in ThoughtWorks, with strong knowledge in Application Security"
image: "chaitanya.jpg"
-
time: "7:30 pm - 7:45 pm"
title: "Break & Networking"
-
time: "7:45 pm - 8:30 pm"
title: "Continued..."
---


one-line fix
`Prev `__
O
`Next `__
--------------
**one-line fix**: n.
Used (often sarcastically) of a change to a program that is thought to
be trivial or insignificant right up to the moment it crashes the
system. Usually ‘cured’ by another one-line fix. See also `*I didn't
change anything!* <../I/I-didn-t-change-anything-.html>`__
--------------
+---------------------------------------+----------------------------+-----------------------------------+
| `Prev `__ | `Up <../O.html>`__ | `Next `__ |
+---------------------------------------+----------------------------+-----------------------------------+
| one-banana problem | `Home <../index.html>`__ | one-liner wars |
+---------------------------------------+----------------------------+-----------------------------------+


| 1048 | (A) | the woo wakkynnys so thike als woluys thay ferde |
| 1053 | (C) | Sorowe a-waked þer-with . as wolfes þey ferde |
| 1036 | (D) | wo wakyd þer-witħ as woluys þei ferde |
| 1016 | (E) | wo waked þer-with . for as wulues þey feerde |
| (Ex) | ---- no text ---- | |
| 1074 | (L) | wo wakned þycke as wolues þey ferde |
| 988 | (P) | ? ? ?????? ????? ?? wolues þai ferde |
| 1025 | (U) | wo waked there witħ / as wolues thei ferden |
| 114 | (V) | woo waked þicke as wolves þey ferde |


SMC Spring LoadedService Connection Box(Single Phase)
SMC Spring LoadedService Connection Box(Three Phase)
SMC Double Compartment Meter Box
SMC Double CompartmentLTCT Meter Box
SMC LT Distribution Box
63/100/200 KVA with HRC Fuse
LED Head Lamp10W & 30W with Chargeable Battery
Deep Drawn Single Phase Distribution Box
Deep Drawn LT Distribution Box
Deep Drawn LT Distribution Box63 KVA - 315 KVA
SMC Bus Bar Distribution Box
SMC Meter Box & Distribution Box


The backend was done with Node.js and styled using Materialize CSS framework.
It uses sockets for communication in real time.


test-runner
in-progress
duration:
Main tests
Should do that thing we expect
Data
Some data to display here
Should fail as expected
Data
Another thing in-progress
Data


public class StoredCollections
extends java.lang.Object
This class consists exclusively of static methods that operate on or return stored collections and maps, jointly called containers. It contains methods for changing certain properties of a container. Because container properties are immutable, these methods always return a new container instance. This allows stored container instances to be used safely by multiple threads. Creating the new container instance is not expensive and creates only two new objects.
When a container is created with a particular property, all containers and iterators derived from that container will inherit the property. For example, if a read-uncommitted Map is created then calls to its subMap(), values(), entrySet(), and keySet() methods will create read-uncommitted containers also.
Method names beginning with "configured" create a new container with a
specified CursorConfig
from a given stored container. This allows
configuring a container for read-committed isolation, read-uncommitted
isolation, or any other property supported by CursorConfig
.
All operations performed with the resulting container will be performed with
the specified cursor configuration.
| Modifier and Type | Method and Description |
|---|---|
static <E> java.util.Collection<E> |
configuredCollection(java.util.Collection<E> storedCollection,
CursorConfig config)
Creates a configured collection from a given stored collection.
|
static <E> java.util.List<E> |
configuredList(java.util.List<E> storedList,
CursorConfig config)
Creates a configured list from a given stored list.
|
static <K,V> java.util.Map<K,V> |
configuredMap(java.util.Map<K,V> storedMap,
CursorConfig config)
Creates a configured map from a given stored map.
|
static <E> java.util.Set<E> |
configuredSet(java.util.Set<E> storedSet,
CursorConfig config)
Creates a configured set from a given stored set.
|
static <K,V> java.util.SortedMap<K,V> |
configuredSortedMap(java.util.SortedMap<K,V> storedSortedMap,
CursorConfig config)
Creates a configured sorted map from a given stored sorted map.
|
static <E> java.util.SortedSet<E> |
configuredSortedSet(java.util.SortedSet<E> storedSortedSet,
CursorConfig config)
Creates a configured sorted set from a given stored sorted set.
|
static <E> java.util.Iterator<E> |
iterator(java.util.Iterator<E> iter)
Clones an iterator preserving its current position.
|
public static <E> java.util.Collection<E> configuredCollection(java.util.Collection<E> storedCollection, CursorConfig config)
E
- the element class.storedCollection
- the base collection.config
- is the cursor configuration to be used for all operations
performed via the new collection instance; null may be specified to use
the default configuration.java.lang.ClassCastException
- if the given container is not a
StoredContainer.public static <E> java.util.List<E> configuredList(java.util.List<E> storedList, CursorConfig config)
Note that this method may not be called in the JE product, since the StoredList class is not supported.
E
- the element class.storedList
- the base list.config
- is the cursor configuration to be used for all operations
performed via the new list instance; null may be specified to use the
default configuration.java.lang.ClassCastException
- if the given container is not a
StoredContainer.public static <K,V> java.util.Map<K,V> configuredMap(java.util.Map<K,V> storedMap, CursorConfig config)
K
- the key class.V
- the value class.storedMap
- the base map.config
- is the cursor configuration to be used for all operations
performed via the new map instance; null may be specified to use the
default configuration.java.lang.ClassCastException
- if the given container is not a
StoredContainer.public static <E> java.util.Set<E> configuredSet(java.util.Set<E> storedSet, CursorConfig config)
E
- the element class.storedSet
- the base set.config
- is the cursor configuration to be used for all operations
performed via the new set instance; null may be specified to use the
default configuration.java.lang.ClassCastException
- if the given container is not a
StoredContainer.public static <K,V> java.util.SortedMap<K,V> configuredSortedMap(java.util.SortedMap<K,V> storedSortedMap, CursorConfig config)
K
- the key class.V
- the value class.storedSortedMap
- the base map.config
- is the cursor configuration to be used for all operations
performed via the new map instance; null may be specified to use the
default configuration.java.lang.ClassCastException
- if the given container is not a
StoredContainer.public static <E> java.util.SortedSet<E> configuredSortedSet(java.util.SortedSet<E> storedSortedSet, CursorConfig config)
E
- the element class.storedSortedSet
- the base set.config
- is the cursor configuration to be used for all operations
performed via the new set instance; null may be specified to use the
default configuration.java.lang.ClassCastException
- if the given container is not a
StoredContainer.public static <E> java.util.Iterator<E> iterator(java.util.Iterator<E> iter)
E
- the element class.iter
- an iterator to clone.Iterator
having the same position as the given
iterator.java.lang.ClassCastException
- if the given iterator was not obtained via a
StoredCollection
method.Copyright (c) 1996, 2016 Oracle and/or its affiliates. All rights reserved.


About me
I'm a full stack web developer and Linux systems administrator residing in Minneapolis, MN.
My journey as a web developer started with building a simple WordPress website for my landscaping services business, giving me a solid foundation in HTML, CSS, and managed hosting with cPanel.
As my skills evolved, so to did my passion for web development. After months of self-paced learning, I was able to get a grasp of cloud computing fundamentals, and began publishing tutorials and offering free support to other WordPress developers getting started in the cloud.
As I became increasingly comfortable with Linux systems administration, I began offering paid services for individuals and small business looking to move their applications to the cloud. This growing passion for web development led me to enroll in the full stack web development program at the University of Minnesota, where I was able to build my skills with Javascript, databases, and essential web development frameworks.
Having recently graduated from the full-stack web development program, I am currently seeking a full-time position as a Full-Stack Developer in a collaborative, immersive environment.


Issue: EXTENSIONS-POSITIONReferences: Chapter 1, Working draft of standard
Category: Clarification
Related Issues: CONFORMANCE-POSITION, IF-BODY, ERROR-TERMINOLOGY, EXTRA-SYNTAX,
EXTRA-OPTIONAL-KEYWORD-ARGUMENTS, UNSPECIFIED-DATATYPES,
MACRO-AS-FUNCTION, UNSOLCITED-MESSAGES, EXTRA-RETURN-VALUES
Edit history: 12-DEC-88, Version 1 by Chapman
20-DEC-88, Version 2 by Chapman
9-JAN-89, Version 3 by Chapman
10-JAN-89, Version 4 by Chapman
2-FEB-89, Version 5 by Chapman
24-FEB-89, Version 6 by Chapman (added RPG's comment)
10-MAR-89, Version 7 by Chapman (added discussion)
Problem Description:
What is the definition of a language extension?
What effect does a language extension have on a conforming program?
What obligation does an implementation have to warn the user that an
extension is being used?
Presumably the only thing that defining it as an extension can mean from
CL's point of view is `initially defining' it as an extension. Whether
an implementation permits redefinition of an extension is between that
implementation and its users and beyond the scope of Common Lisp. For
example, it is common practice to redefine some kinds of system functions
in Genera -- to extend the system in interesting ways, to fix bugs, etc.
Proposal (EXTENSIONS-POSITION:DOCUMENTATION)
The standard document should define a language extension to be
any implementation-supplied tool that isn't explicitly defined
in the standard. This includes facilities added to tools defined
in the standard.
The standard document should levy the following requirement on a
conforming implementation's documentation:
The documentation that accompanies a conforming implementation should clearly
state which parts of the implementation are extensions.
If the standard says that "the results are unspecified", and an
implementation specifies the results, this an extension in the
sense that if the correct behavior of a program depends on the results,
only implementations with the same extension will execute the program
correctly.
In places where the standard says that "an implementation may be extended",
this implies that a conforming, but probably non-portable, program can
be written using the implementation's extension.
Proposal (EXTENSIONS-POSITION:DISABLE)
Same as EXTENSIONS-POSITION:DOCUMENTATION except that
an implementation is required to have a way to disable its extensions, so
that a programmer can be told when he is using a feature that might
affect his program's portability.
Rationale:
The standard should contain information about language extensions
since most implementations have extended the language.
Current Practice:
CLtL allows any extension, provided that it doesn't alter the behavior
of a program that only uses what is specified in CLtL. In particular,
any situation that "is an error" (either explicitly or implicitly) is a
potential area for extension.
Adoption Cost:
Vendors will have to improve their documentation
to list all their extensions. Vendors will have to go through their
implementation and determine what is or isn't an extension.
Benefits:
This definition will provide a basis for proper understanding of
the error terminology used in the standard. The implementation
documentation requirement will aid the user in producing portable code.
Conversion Cost:
None.
Aesthetics:
None.
Discussion:
Masinter says:
It seems to be a constraint on "documentation" rather than "implementation"
if you turn the accidental behavior of (CAR T) into a "feature" of your
implementation. We might want to disallow such an extension as "conforming
to the standard". An implementation which had such an extension might
conform, even if the extension did not conform.
RPG says:
I favor remaining mute on this topic in the standard.
Moon says:
"I favor EXTENSIONS-POSITION:DOCUMENTATION.
I oppose EXTENSIONS-POSITION:DISABLE because it mandates a
particular development environment feature, but Common Lisp
has avoided saying anything about development environments
since that is an area of extreme controversy.
Gabriel's position of standing mute would be okay with me."


|
Ports-And-Adapters / Hexagonal Architecture
The main aim of this architecture is to decouple the application's core logic from the services it uses. This allows different services to be "plugged in", and it allows the application to be run without these services. The core logic, or business logic, of an application consists of the algorithms that are essential to its purpose. They implement the use cases that are the heart of the application. When you change them, you change the essence of the application. The services are not essential. They can be replaced without changing the purpose of the application. Examples: database access and other types of storage, user interface components, e-mail and other communication components, hardware devices. In a strict sense of this architecture even the application's framework is a set of services. The core logic of an application should not depend on these services in this architecture (so that it becomes "framework agnosic"). Advantages of this architecture:
An overview of Ports-And-Adapters:
The number of ports depends on the application. The shown number of 6 ports nicely matches the name of the architecture. But the point of the architecture's name is not that the number six matters, but that the core logic is at the center. A realistic number of ports is about 2 to 4. A port is an entry point, provided by the core logic. It defines a set of functions. Primary ports are the main API of the application. They are called by the primary adapters that form the user side of the application. Examples of primary ports are functions that allow you to change objects, attributes, and relations in the core logic. Secondary ports are the interfaces for the secondary adapters. They are called by the core logic. An example of a secondary port is an interface to store single objects. This interface simply specifies that an object be created, retrieved, updated, and deleted. It tells you nothing about the way the object is stored. An adapter is a bridge between the application and the service that is needed by the application. It fits a specific port. A primary adapter is a piece of code between the user and the core logic. One adapter could be a unit test function for the core logic. Another could be a controller-like function that interacts both with the graphical user interface and the core logic. The primary adapter calls the API functions of the core logic. A secondary adapter is an implementation of the secondary port (which is an interface). For instance, it can be a small class that converts application storage requests to a given database, and return the results of the database in a format requested by the secondary port. It can also be a mock database object needed to unit tests certain parts of the core logic. The core logic calls the functions of the secondary adapter. Where does it come from?Alistair Cockburn invented it in 2005. It is a response to the desired to create thoroughly testable applications. As Cockburn says: "Allow an application to equally be driven by users, programs, automated test or batch scripts, and to be developed and tested in isolation from its eventual run-time devices and databases." When should you use it?If 100% unit-test code coverage is important to your application. Also, if you want to be able to switch your storage mechanism, or any other type of third-party code. The architecture is especially useful for long-lasting applications that need to keep up with changing requirements. How does it work?The application can be used by different types of users. Each of these can create their own variant of the application, by plugging in custom adapters.
Common implementation techniquesCheck Alistair Cockburn's article and Matteo Vaccari's blog for some code examples.
Some details:
Links
|


Themes for use with Shiny. Includes several Bootstrap themes from <http://bootswatch.com/>, which are packaged for use with Shiny applications.
| Version: | 1.1.2 |
| Depends: | R (≥ 3.0.0) |
| Imports: | shiny (≥ 0.11) |
| Published: | 2018-11-06 |
| Author: | Winston Chang [aut, cre], RStudio [cph], Thomas Park [ctb, cph] (Bootswatch themes), Lukasz Dziedzic [ctb, cph] (Lato font), Nathan Willis [ctb, cph] (News Cycle font), Google Corporation [ctb, cph] (Open Sans and Roboto fonts), Matt McInerney [ctb, cph] (Raleway font), Adobe Systems Incorporated [ctb, cph] (Source Sans Pro font), Canonical Ltd [ctb, cph] (Ubuntu font) |
| Maintainer: | Winston Chang <winston at rstudio.com> |
| License: | GPL-3 | file LICENSE |
| URL: | http://rstudio.github.io/shinythemes/ |
| NeedsCompilation: | no |
| Materials: | README NEWS |
| CRAN checks: | shinythemes results |
| Reference manual: | shinythemes.pdf |
| Package source: | shinythemes_1.1.2.tar.gz |
| Windows binaries: | r-devel: shinythemes_1.1.2.zip, r-release: shinythemes_1.1.2.zip, r-oldrel: shinythemes_1.1.2.zip |
| OS X binaries: | r-release: shinythemes_1.1.2.tgz, r-oldrel: shinythemes_1.1.2.tgz |
| Old sources: | shinythemes archive |
| Reverse depends: | kgc, multichull, stmgui |
| Reverse imports: | ArchaeoPhases, bibliometrix, CNVScope, cocktailApp, Eagle, gridsampler, lime, memapp, PKconverter, projector, qqvases, santaR, shinystan, skpr, SpNetPrep, teachingApps, wallace, wppExplorer, xROI |
| Reverse suggests: | ahp, BCEA, beanz, blorr, descriptr, idem, ImportExport, inferr, mirtCAT, olsrr, polmineR, RDML, rfm, signalHsmm, vistributions, weco, zscorer |
Please use the canonical form https://CRAN.R-project.org/package=shinythemes to link to this page.


Credits
Original Logo by Joshua Bell Modified by Mike Warriner Source code is on Github Syntax Highlighting by CodeMirror.


The game uses Angular and Clarity Design System. Icons are from Clarity and https://game-icons.net list of used package.
You can contact me on Discord, Kongregate, Reddit (i'm Verbus) or Github. For
bug reporting opening an issue on Github is optimal.
If you want to make a donation to support the development you can use PayPal.


Click here to place a new order
This is an order for the following tier(s):
No Tier
The following rings have been removed:
The following other items have been added:
DISPLAY CASE BLACK/GRAY
THE KNOT - 1YR FREE
The following custom items have been added:
test
asdf
Your sub-total is:
$468
New Partner
Date: 2015-01-26
Store Name: test
Last Name: asdf345
First Name: sdfa
Address: asdf
Phone: sadf
e-mail: asdf
How Ship: asdf
Terms: asdf
Notes: asdf
Sales Rep: Charles Nielson
Sales Rep e-mail<EMAIL_ADDRESS>Your shipping costs are $20
Order Total: $488


Across: 2. Worthy of the French portion (9) 8. Send back girl guide (3) 10. Bob gets nine and two-thirds (3) 11. Angry dog tears into dangerous waters! (5 8) 14. Stony fighter (5) 15. Boy gets a sovereign for sound system (5) 16. Gem of a girl! (5) 19. Sullen doctor got up (6) 20. Sees pictures one thousand times (6) 21. High-born blonde travels without Penny (5) 22. Old Egyptian policeman had spasm... (6) 23. ...He abused lager and died (6) 24. He would get trimmed privet, maybe (5) 27. Their place in Kent? (5) 29. He comes back into bar with writer (5) 30. Marrakesh scene has no end of animal acts (5 8) 32. Coach gets in in seconds (3) 33. Ask about Jamaican music (3) 34. Suffocated second parent with teddy? (9) Down: 1. Coat pulled back out of river (3) 3. Toilet leans badly! (5) 4. Remove duty (6) 5. Truly awful livery! (6) 6. Requirements of dense characters (5) 7. Most of this may be that man’s (3) 9. Inspectors rip open doctor’s instructions! (13) 10. Anger hot press secretaries (13) 12. Accepted most may be hurt! (9) 13. Parking payment involves team leader (9) 16. Pew in mountain church? (5) 17. Mad sailor shot out! (5) 18. For example, blag about subject (5) 25. Draw out from Felicity endlessly (6) 26. Move heartless fellow at speed (6) 28. Good to sing about nonsense (5) 29. Sweet smell gets award (5) 30. Sounds like part of the whole (3) 31. Risky Bible study left up in the air? (3)


title = "home" url = "/" layout = "base" description = "index and start page" is_hidden = 0 == function onTest() { $this['result'] = input('value1') + input('value2'); $this['val1'] = input('value1'); $this['val2'] = input('value2'); // this works !!!! } function onDownload() { //debug_to_console("ON DOWNLOAD DEBUG!!!"); //echo "MY DOWNLOAD"; //return Redirect::to('http://google.com'); //$this->dwnldres ='Hello world 1!'; //$this->page['dwnldres'] = 'Hello world 2!'; // From a backend controller or widget //$this->vars['dwnldres'] = 'Hello world 3!'; // Get the file object (many ways to do this, it is a normal relation) $file = $this->getPath("themes/parish/assets/images/priest.jpg"); //$item->featured_images()->first(); dd($file); // If the file is public, this will return the direct location //echo $file->getPath(); // If the file is private, you will need to return the contents via a script // This will include the necessary header to download the file echo $file->output(); } == {% framework %}


React Lazy Content Demo
See the code of this demo on the
project page
.
This commit message is only fetched after the page loads and this component is visible, i.e., the user scrolled up to this point, thanks to the
jquery.lazyContent
plugin:


Introduction
This page will be update with new material as the workshop concept is developed.
Currently we have 3 different resources in the page.
- A debug tool that lets you view a live stream of the data comming from you sensor module.
- Some graphs from our Grafana server.
- And finally som widgets for showing the energy consumption in realtime.
Be sure to check back!


A senior level application developer with extensive experience in the mainframe, client-server, web, and mobile computing environments. His career spans over thirty (30) years in IT with over seventeen (17) years in the mainframe environment and over thirteen (13) years in the web and mobile environments.
Body of work reflects exceptional abilities in systems architecture, systems design and analysis, project management, coding, testing and implementation with skills on a superior level of technical expertise and extensive knowledge of logical and physical computing environments
HTML5, CSS3, JavaScript, Ajax, jQuery, Twitter Bootstrap, Apache UserGrid, Apache Cassandra, Intel XDK App Framework, Apache Cordova, PHP, PERL, MySQL, Shell Scripting, Apache Server, WHM/cPanel, CentOS Linux, Ubuntu Linux, Canvas, Web SQL, NoSQL, GPS, Geo Location, API integrations, RESTful APIs
IBM/3090, IBM/zOS, MVS/TSO, COBOL II, APS/COBOL, CICS, DB2, IMS DB/DC, IMS MQ-Series, VSAM, GSAM, CLISTS, PROCS, JCL, JES2, ENDEVOR, Change Man, Borke JES Manager, QMF, EasyTrieve Plus, NDM, ZEKE, CA-7, FileAid, AbendAid, PANVALET, Workbench for DB2, Quick Test Pro, RC/SECURE for DB2, FileAid for DB2, FileAid for IMS, Xpediter, Dumpmaster, HP Quality Center, Mobius, JHS Job History System
- GlobalSpotz Corporate - GlobalSpotz, Inc.
- FoodieSpotz - A GlobalSpotz Fabric Network - FoodieSpotz
- BakerySpotz - A GlobalSpotz Fabric Network - BakerySpotz
- BarSpotz - A GlobalSpotz Fabric Network - BarSpotz
- BBQSpotz - A GlobalSpotz Fabric Network - BBQSpotz
- BeerSpotz - A GlobalSpotz Fabric Network - BeerSpotz
- BreakfastSpotz - A GlobalSpotz Fabric Network - BreakfastSpotz
- BrunchSpotz - A GlobalSpotz Fabric Network - BrunchSpotz
- BurgerSpotz - A GlobalSpotz Fabric Network - BurgerSpotz
- CafeSpotz - A GlobalSpotz Fabric Network - CafeSpotz
- CoffeeSpotz - A GlobalSpotz Fabric Network - CoffeeSpotz
- DiningSpotz - A GlobalSpotz Fabric Network - DiningSpotz
- DinnerSpotz - A GlobalSpotz Fabric Network - DinnerSpotz
- DrinkSpotz - A GlobalSpotz Fabric Network - DrinkSpotz
- JuiceSpotz - A GlobalSpotz Fabric Network - JuiceSpotz
- LiveSpotz - A GlobalSpotz Fabric Network - LiveSpotz
- LunchSpotz - A GlobalSpotz Fabric Network - LunchSpotz
- PizzeriaSpotz - A GlobalSpotz Fabric Network - PizzeriaSpotz
- SeafoodSpotz - A GlobalSpotz Fabric Network - SeafoodSpotz
- SushiSpotz - A GlobalSpotz Fabric Network - SushiSpotz
- WineSpotz - A GlobalSpotz Fabric Network - WineSpotz
• Currently under development -
- ResumeMobi - ResumeMobi
- i-Rideshare - i-RideShare
- MyWalkiTalki - MyWalkiTalki
- StikIt2Them - StikIt2Them
- FoodieSpotz - in development for GlobalSpotz, Inc.
- MyWalkiTalki - in development
- ResumeMobi - in development
- i-Rideshare - in development
- Stik It 2 Them - in development
- Map My Day - (no longer in publication)
- Hybrid native mobile app UI/UX design and development
- Hybrid mobile JavaScript frameworks (Intel App Framework, PhoneGap, Bootstrap)
- HTML5, CSS3, JavaScript, Ajax and 3rd party API integration experience
- Responsive Web Design and UI/UX framework development experience
- Apple iOS Human Interface Guidelines development experience
- Rapid prototyping using Intel XDK Mobile IDE, NetBeans IDE, Eclipse IDE
- Integration of 3rd party e-Commerce platforms and Payment Gateways
- Registered Apple iOS Developer and Google Play for Android Developer
- Worldwide App Store publishing experience on iTunes and Google Play
- Development and implementation of 'invoice-based business operating model'
- Development and implementation of 'cloud-based mobile centric system architecture'
- Development and implementation of 'contextual affinity fabric networks' for food and drink industry
- Development and implementation of Patron Rewards Program for restaurant owners and consumers
- Development and implementation of FourSquare API restaurant locations
- Development and implementation of 'crowd-driven dynamic mobile web app creation' for restaurants
- Dynamic sub-domain creation
- Dynamic email account creation
- Dynamic server-side user directory creation
- Dynamic social networking meta data for Facebook, Twitter and Google
- Development and implementation of 'transactional business processes' relative to 'fabric networks'
- End-User Automatic SignUp in Patron Rewards Program
- End-User Item Level Online Ordering
- End-User Business Level and Item Level Rating
- End-User Business Level and Item Level Social Sharing
- End-User Booking of Reservations
- Development of 'user-driven transactional emails' for all user interactions listed above
- Development and implementation of mobile and web UI/UX user interfaces
- Development and implementation of graphic design for marketing materials including:
- Business cards
- Brochures
- Flyers
- Development and deployment of Hybrid Native Mobile Apps on iTunes and Google Play
- Linux server administration using WHM/cPanel under CentOS 6.x
- Development and implementation of asychronous 3rd party RESTful API's including:
- Apigee BaaS
- Google Maps
- Google Places
- Twilio Telephony
- MailGun HTTP Email
- Hybrid native mobile app UI/UX design and development
- Hybrid mobile JavaScript frameworks (Intel App Framework, PhoneGap, Sencha)
- HTML5, CSS3, JavaScript, Ajax and 3rd party API integration experience
- Responsive Web Design UI development experience (YUI, jQuery frameworks)
- Apple iOS Human Interface Guidelines development experience
- Rapid prototyping using Intel XDK Mobile IDE, NetBeans IDE, Eclipse IDE
- Integration of 3rd party e-Commerce platforms and Payment Gateways
- Apple iOS Developer and Google Play for Android Developer accounts
- Worldwide App Store publishing experience on iTunes and Google Play
- Development and maintenance of batch and online programs
- Debit Card Conversions from Wachovia to Wells Fargo
- Automation of Business Process Testing for production
- QA file and data validations for Debit Card Conversions
- CICS online Medical Claims processing adjudication subsystems
- Primary SME for TriCare Subsystem 07 Provider Pricing subsystem
- Primary SME for Commercial Systems Online Subsystem 06
- Enhancements to web-based customer service/order entry system
- Process Improvement Winner - April 2006 for scheduled release process model
- Y2K conversion correspondence coordinator with outside 3rd parties and vendors
- Cost reductions by eliminating 300+ obsolete weekly and monthly management reports
- SME designation in various critical path and non-critical path application subsystems
- Development of QA, End-to-End, Prod Support and Training testing environments
- Created the Field Office Directory Information System
- Conversion of distributed applications to OS/390 mainframe applications
- Development of Internet websites using various HTML/SGML authoring tools
- JavaScript, Java 1.0 and CGI Scripting languages (PHP, Perl, bash)
- TCP/IP and dialup network configurations
- VAR/VAD reseller
- Systems Integrator
- Database Administrator
- Sales and installation of systems hardware, software and LAN networks
- Custom built personal computers
- Specialized programming for system and database integrations
- Computer Operations (nightly batch jobstreams, system IPL's and backup/restore procedures)
- Programming using GAMMA 4GL for development of COBOL/CICS applications
- Worked with batch edit procedures for correction of online data
- Setup the JCL necessary for development and production
- Coordinated file creation and allocations with Systems Group
- Created nationally distributed PC software for showing energy savings using AFG's Low-E glass
Major - Management Information Science
Minor - Accounting
Graduated 1987
GPA - 4.0
President of DPMA Student Chapter - Northeast State Technical Community College
President, Alpha Kappa Phi - National Honor Society
Who's Who in American Junior Colleges - 1987
Data Processing Management Association, East Tennessee Chapter - #125
Offices held:
Boy Scouts of America - Eagle Scout - 1966


Macros may be thought of as "parametrized super instructions". Macros are sequences of tokens that have a name. If that name is used in the source file, the macro is "expanded", that is, it is replaced by the tokens that were specified when the macro was defined.
In it's simplest form, a macro does not have parameters. Here's an example:
.macro asr ; Arithmetic shift right
cmp #$80 ; Put bit 7 into carry
ror ; Rotate right with carry
.endmacro
The macro above consists of two real instructions, that are inserted into the code, whenever the macro is expanded. Macro expansion is simply done by using the name, like this:
lda $2010
asr
sta $2010
When using macro parameters, macros can be even more useful:
.macro inc16 addr
clc
lda addr
adc #$01
sta addr
lda addr+1
adc #$00
sta addr+1
.endmacro
When calling the macro, you may give a parameter, and each occurrence of the name "addr" in the macro definition will be replaced by the given parameter. So
inc16 $1000
will be expanded to
clc
lda $1000
adc #$01
sta $1000
lda $1000+1
adc #$00
sta $1000+1
A macro may have more than one parameter, in this case, the parameters are separated by commas. You are free to give less parameters than the macro actually takes in the definition. You may also leave intermediate parameters empty. Empty parameters are replaced by empty space (that is, they are removed when the macro is expanded). If you have a look at our macro definition above, you will see, that replacing the "addr" parameter by nothing will lead to wrong code in most lines. To help you, writing macros with a variable parameter list, there are some control commands:
.IFBLANK
tests the rest of the line and
returns true, if there are any tokens on the remainder of the line. Since
empty parameters are replaced by nothing, this may be used to test if a given
parameter is empty.
.IFNBLANK
tests the
opposite.
Look at this example:
.macro ldaxy a, x, y
.ifnblank a
lda #a
.endif
.ifnblank x
ldx #x
.endif
.ifnblank y
ldy #y
.endif
.endmacro
This macro may be called as follows:
ldaxy 1, 2, 3 ; Load all three registers
ldaxy 1, , 3 ; Load only a and y
ldaxy , , 3 ; Load y only
There's another helper command for determining, which macro parameters are
valid:
.PARAMCOUNT
This command is
replaced by the parameter count given, including intermediate empty macro
parameters:
ldaxy 1 ; .PARAMCOUNT = 1
ldaxy 1,,3 ; .PARAMCOUNT = 3
ldaxy 1,2 ; .PARAMCOUNT = 2
ldaxy 1, ; .PARAMCOUNT = 2
ldaxy 1,2,3 ; .PARAMCOUNT = 3
Macro parameters may optionally be enclosed into curly braces. This allows the inclusion of tokens that would otherwise terminate the parameter (the comma in case of a macro parameter).
.macro foo arg1, arg2
...
.endmacro
foo ($00,x) ; Two parameters passed
foo {($00,x)} ; One parameter passed
In the first case, the macro is called with two parameters: '($00
'
and 'x)'. The comma is not passed to the macro, since it is part of the
calling sequence, not the parameters.
In the second case, '($00,x)' is passed to the macro, this time including the comma.
Sometimes it is nice to write a macro that acts differently depending on the
type of the argument supplied. An example would be a macro that loads a 16 bit
value from either an immediate operand, or from memory. The
.MATCH
and
.XMATCH
functions will allow you to do exactly this:
.macro ldax arg
.if (.match (.left (1, {arg}), #))
; immediate mode
lda #<(.right (.tcount ({arg})-1, {arg}))
ldx #>(.right (.tcount ({arg})-1, {arg}))
.else
; assume absolute or zero page
lda arg
ldx 1+(arg)
.endif
.endmacro
Using the
.MATCH
function, the macro is able to
check if its argument begins with a hash mark.  Please note how the curly braces are used to enclose parameters to
pseudo functions handling token lists. This is necessary, because the token
lists may include commas or parens, which would be treated by the assembler
as end-of-list.
The macro can be used as
foo: .word $5678
...
ldax #$1234 ; X=$12, A=$34
...
ldax foo ; X=$56, A=$78
Macros may be used recursively:
.macro push r1, r2, r3
lda r1
pha
.if .paramcount > 1
push r2, r3
.endif
.endmacro
There's also a special macro to help writing recursive macros:
.EXITMACRO
This command will stop macro expansion
immediately:
.macro push r1, r2, r3, r4, r5, r6, r7
.ifblank r1
; First parameter is empty
.exitmacro
.else
lda r1
pha
.endif
push r2, r3, r4, r5, r6, r7
.endmacro
When expanding this macro, the expansion will push all given parameters until an empty one is encountered. The macro may be called like this:
push $20, $21, $32 ; Push 3 ZP locations
push $21 ; Push one ZP location
Now, with recursive macros,
.IFBLANK
and
.PARAMCOUNT
, what else do you need?
Have a look at the inc16 macro above. Here is it again:
.macro inc16 addr
clc
lda addr
adc #$01
sta addr
lda addr+1
adc #$00
sta addr+1
.endmacro
If you have a closer look at the code, you will notice, that it could be written more efficiently, like this:
.macro inc16 addr
inc addr
bne Skip
inc addr+1
Skip:
.endmacro
But imagine what happens, if you use this macro twice? Since the label "Skip" has the same name both times, you get a "duplicate symbol" error. Without a way to circumvent this problem, macros are not as useful, as they could be. One solution is, to start a new lexical block inside the macro:
.macro inc16 addr
.proc
inc addr
bne Skip
inc addr+1
Skip:
.endproc
.endmacro
Now the label is local to the block and not visible outside. However,
sometimes you want a label inside the macro to be visible outside. To make
that possible, there's a new command that's only usable inside a macro
definition:
.LOCAL
. .LOCAL
declares one
or more symbols as local to the macro expansion. The names of local variables
are replaced by a unique name in each separate macro expansion. So we could
also solve the problem above by using .LOCAL
:
.macro inc16 addr
.local Skip ; Make Skip a local symbol
clc
lda addr
adc #$01
sta addr
bcc Skip
inc addr+1
Skip: ; Not visible outside
.endmacro
Starting with version 2.5 of the assembler, there is a second macro type
available: C style macros using the .DEFINE
directive. These macros are
similar to the classic macro type described above, but behaviour is sometimes
different:
.DEFINE
may not
span more than a line. You may use line continuation (see
.LINECONT
) to spread the definition over
more than one line for increased readability, but the macro itself
may not contain an end-of-line token.
.DEFINE
share
the name space with classic macros, but they are detected and replaced
at the scanner level. While classic macros may be used in every place,
where a mnemonic or other directive is allowed,
.DEFINE
style macros are allowed anywhere in a line. So
they are more versatile in some situations.
.DEFINE
style macros may take
parameters. While classic macros may have empty parameters, this is
not true for
.DEFINE
style macros.
For this macro type, the number of actual parameters must match
exactly the number of formal parameters.
To make this possible, formal parameters are enclosed in braces when
defining the macro. If there are no parameters, the empty braces may
be omitted.
.DEFINE
style macros may not
contain end-of-line tokens, there are things that cannot be done. They
may not contain several processor instructions for example. So, while
some things may be done with both macro types, each type has special
usages. The types complement each other.
Let's look at a few examples to make the advantages and disadvantages clear.
To emulate assemblers that use "EQU
" instead of "=
" you may use the
following .DEFINE
:
.define EQU =
foo EQU $1234 ; This is accepted now
You may use the directive to define string constants used elsewhere:
; Define the version number
.define VERSION "12.3a"
; ... and use it
.asciiz VERSION
Macros with parameters may also be useful:
.define DEBUG(message) .out message
DEBUG "Assembling include file #3"
Note that, while formal parameters have to be placed in braces, this is not true for the actual parameters. Beware: Since the assembler cannot detect the end of one parameter, only the first token is used. If you don't like that, use classic macros instead:
.macro message
.out message
.endmacro
(This is an example where a problem can be solved with both macro types).
When using the
-t option, characters are translated
into the target character set of the specific machine. However, this happens
as late as possible. This means that strings are translated if they are part
of a
.BYTE
or
.ASCIIZ
command. Characters are translated as soon as they are
used as part of an expression.
This behaviour is very intuitive outside of macros but may be confusing when doing more complex macros. If you compare characters against numeric values, be sure to take the translation into account.


DevOpsDays Austin is in its fifth year! Every year has been bigger than the last - more DevOps luminaries, great talks, fun attendees, and general awesomeness. And this year is no exception. In fact, the event is moving to the ultimate "everything's bigger in Texas" venue, the Darrell K. Royal - Texas Memorial Stadium on the University of Texas campus. We're adding a third content track and a hackathon (see below) to make sure there's an intense amount of things for the developers of DevOps to do! And so that DevOpsDays isn't just a one-time-a-year event, we are inviting all the local technical user groups (also see below) and giving them space to present something uniquely from their area or just connect with more people.
At DevOpsDays, the mornings are for keynotes and presentations, panels, and lightning talks from experienced DevOps practitioners from here in Austin as well as leading minds from around the world. Then the afternoons are run as openspaces, where we talk about what YOU want to talk about! And in the evenings, you can bet there will be some great fun events.
Please consider having your company sponsor DevOpsDays Austin. Sponsorships get you great exposure and help us provide all the food, drink, giveaways, shirts, and fun events we can to the attendees and speakers of the DevOps world. You get some free tickets and a booth to interact with the conference goers. And this year, sponsors can even get luxury box suites, or the ultimate branding opportunity, their name up on the stadium's "Godzillatron!"
We are shaking things up with a new venue, and that means more possibilities! Not only will we open the program up to 3 tracks, we want to provide local user groups with an opportunity to engage with many people in the local tech community.
We will have a suite dedicated just for User Groups to publicize their existence and mingle/present with attendees of Devopsdays Austin! For more information about having your favorite user group be involved, contact Katelyn at<EMAIL_ADDRESS>We are pleased to announce a new addition to DevOpsDays Austin 2016: a hackathon. Join developers, ops engineers and others from around the country to show off your mad tech skills while earning bragging rights and lots of sweet prizes (think $$$$). Hackathon participation is limited, so indicate interest when registering for DevOpsDays and receive updates from the hackathon organizers.
Hacking will start after lunch on Day 1 and we'll have final presentations during the afternoon of Day 2. Final presentations will consist of a 3 minute demo from each team and winners will get announced after that.
Contact Joe and Revanth for more hackathon details by emailing<EMAIL_ADDRESS>The conference facilities at Darrell K. Royal–Texas Memorial Stadium offer large rooms for the keynotes and the ability to have multiple concurrent tracks. Additionally, breakout sessions can be more isolated and will have better noise control that previous years at the Marchesa.
Enter the stadium at gate 16 (north entrance). Registration will be at the entrance of gate 16.
Need a place to stay? Take a look at:
Hampton Inn & Suites Austin @ The University/Capitol
1701 Lavaca Street
Austin, Texas, 78701
512-499-8881
Manor Garage
2017 Robert Dedman Dr, Austin, TX 78712
$18/day, $15 for 4-8 hours (see more rates)
San Jacinto Garage
2401 San Jacinto Blvd, Austin, TX 78705
$18/day, $15 for 4-8 hours (see more rates)
For more parking garage options on the UT campus, click here.
Or, register directly from our Eventbrite page:
Austin hosts one of the leading annual DevOpsDays events, now in its fifth year. With 500+ attendees in 2015, it was one of the best attended DevOpsDays events ever. Sponsoring DevOpsDays connects your company to local technical and business minds who influence decisions in security, monitoring, operations, engineering, quality, and product development. DevOpsDays Austin offers the following sponsorship packages for 2016, held May 2-3 in the Texas Memorial Stadium on the University of Texas campus. For more questions on sponsorships, please email us at<EMAIL_ADDRESS>DevOpsDays Austin is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, sexual orientation, disability, physical appearance, body size, race, or religion. We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue, including talks. Conference participants violating these rules may be sanctioned or expelled from the conference without a refund at the discretion of the conference organizers.
 Participants asked to stop any harassing behavior are expected to comply immediately.
Exhibitors in the expo hall, sponsor or vendor booths, or similar activities are also subject to the anti-harassment policy. In particular, exhibitors should not use sexualized images, activities, or other material. Booth staff (including volunteers) should not use sexualized clothing/uniforms/costumes, or otherwise create a sexualized environment.
If a participant engages in harassing behavior, the conference organizers may take any action they deem appropriate, including warning the offender or expulsion from the conference with no refund.
If you are being harassed, notice that someone else is being harassed, or have any other concerns, please contact a member of conference staff immediately.
Conference staff can be identified by distinct staff t-shirts. Conference staff will be happy to help participants contact hotel/venue security or local law enforcement, provide escorts, or otherwise assist those experiencing harassment to feel safe for the duration of the conference. We value your attendance.
We expect participants to adhere to the code of conduct at all conference venues and conference-related social events.
I. I am an attendee at devopsdays, learning from and sharing with other devopsdays attendees in an effort to better myself and my industry. I co-create the experience with fellow attendees. I am prepared to give my energy, presence and sensitivity to creating the best possible experience for myself and others.
II. I am coming to devopsdays to interact with people. I understand that imagery and language which is suggestive or derogatory will offend and make people uncomfortable. I also understand that people may have boundaries and sensibilities different from my own. I will accept without question when informed that something is offensive or unacceptable in the context of the devopsdays event.
III. I will never intentionally harass or offend another attendee regardless of gender, sexual orientation, disability, appearance, size, race or religion and will not abide another attendee being harassed or offended. If I am aware that anyone is uncomfortable or unsafe, I will notify those giving offense and the devopsdays event organizers.
IV.  If I feel safe, at my discretion, I will inform those giving offense of the specific actions with the hope that the other party is well-intentioned and ignorant, but I am under no obligation to do so.
V. I understand that people are different and I attempt to be forgiving of others actions at the level of their sincere intent, but my priority is protecting my safety and the safety of others. I will act without hesitation or reservation until there are no question of the safety of all parties.
VI. I trust the devopsdays organizers and attendees will co-create the best possible experience for everyone involved, as I will. I believe devopsdays is about empowering people and I will not forget I am empowered to create a safe and nurturing environment. If I or any other attendee violates this aspect of the event, I expect the conference organizers to protect the attendees by direct action, including expelling those in violation and contacting the proper authorities.


{#
The UL below is generated here because I'm using a
build process with a template engine. In the original
code from the codepen, this UL is generated by Javascript.
I've changed this because it makes more sense to me to generate
it here rather than in the client but in cases where there
is no development build process (or no template language)
it might make more sense to have the Javascript generate
this list.
#}
{% for tab in tabs %}
{{tab.title}}
{{tab.content | safe}}
{% endfor %}
{% include '_content.html' %}


THE VIRTUAL HARVESTER project
by Johann van der Schijff
As stated in the conclusion of the abstract for my SIGGRAPH 97 Art & Design Sketches presentation entitled, THE VIRTUAL HARVESTER project: "... I am interested in how projects like these can be used to generate 'media events', giving rise to popular awareness of the use of the world wide web and it's capacity as an inexpensive distribution network. This communication medium has enormous potential to implement and affect development programs around the world."
I would find it very interesting to hear from people working within the information technology field of the United States, as well as people attending the SIGGRAPH 97 conference, how they see their work contributing to development & education in the "developing world", especially Africa. Should their work aim to contribute to development & education in Africa at all? If yes, how do they see it practically implemented ? Maybe one can set up a discussion whereby a brainstorming session can be held to address this question.
The comic strip series BENZA & BETTY, drawn by my friend Jacques Coetzer for the Agriculture Research Council (ARC) in South Africa, can be used as catalyst for such discussion. The project aims to facilitate practical agriculture-related information to developing communities in Sub Saharan Africa.
GREEN DISH is a proposal to set-up a network of people involved in the implementation of digital media & information technology in the developing world. Researching its social, economic & cultural context and executing art & design projects. GREEN DISH rejects any form of social apartheid - both inside and outside cyberspace.


|
SystemC
2.3.3
Accellera SystemC proof-of-concept library
|
#include <sysc/utils/sc_list.h>
Public Member Functions | |
| sc_plist_iter (sc_plist< T > *l, bool from_tail=false) | |
| sc_plist_iter (sc_plist< T > &l, bool from_tail=false) | |
| ~sc_plist_iter () | |
| void | reset (sc_plist< T > *l, bool from_tail=false) |
| void | reset (sc_plist< T > &l, bool from_tail=false) |
| T | operator* () const |
| T | get () const |
| void | set (T d) |
| Public Member Functions inherited from sc_core::sc_plist_base_iter | |
| sc_plist_base_iter (sc_plist_base *l, bool from_tail=false) | |
| ~sc_plist_base_iter () | |
| void | reset (sc_plist_base *l, bool from_tail=false) |
| bool | empty () const |
| void | operator++ (int) |
| void | operator-- (int) |
| void * | get () const |
| void | set (void *d) |
| void | remove () |
| void | remove (int direction) |
| void | set_handle (handle_t h) |
| handle_t | get_handle () const |
Additional Inherited Members | |
| Public Types inherited from sc_core::sc_plist_base_iter | |
| typedef sc_plist_elem * | handle_t |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |


James Seppi | @hydrologee
MaptimeATX - June 10, 2015
Presentation at MaptimeATX
Viewable at maptimeatx.github.io/intro-to-turf
Source code at github.com/MaptimeATX/intro-to-turf/
JavaScript library for geospatial analysis
Runs in web browsers, or in Node.js
Open Source, MIT-licensed
Collection of small modules
Aggregation, Measurement, Transformation, Interpolation, Classification, Joins, Types, and Helpers
turf-area
turf-buffer
turf-distance
turf-intersect, turf-union, turf-merge
turf-aggregate, turf-along, turf-average, turf-bbox-polygon, turf-bearing, turf-bezier, turf-center, turf-centroid, turf-combine, turf-concave, turf-convex, turf-count, turf-destination, turf-deviation, turf-envelope, turf-erase, turf-explode, turf-extent, turf-featurecollection, turf-filter, turf-flip, turf-hex-grid, turf-inside, turf-isolines, turf-jenks, turf-kinks, turf-line-distance, turf-line-slice, turf-linestring, turf-max, turf-median, turf-midpoint, turf-min, turf-nearest, turf-planepoint, turf-point, turf-point-grid, turf-point-on-line, turf-point-on-surface, turf-polygon, turf-quantile, turf-random, turf-reclass, turf-remove, turf-sample, turf-simplify, turf-size, turf-square, turf-square-grid, turf-sum, turf-tag, turf-tin, turf-triangle-grid, turf-variance, turf-within
Uses GeoJSON for all data in and out
Geographic coordinates (WGS-84) only
This means you must first reproject and transform other data formats to GeoJSON to use it in Turf
Standard format for geospatial data on the web
Point, LineString, Polygon, MultiPoint, MultiLineString, MultiPolygon, GeometryCollection
Feature, FeatureCollection (store properties with geometries)
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [-97.74306, 30.26715]
},
"properties": {
"name": "Austin",
"population": 885400
}
}
GitHub renders it: github.com/tnris/tx.geojson
In Node:
npm install turf
//or npm install turf-buffer
var turf = require('turf');
//or var buffer = require('turf-buffer');
On your web page
<script src="//api.tiles.mapbox.com/mapbox.js/plugins/turf/v2.0.0/turf.min.js">
</script>
<script>
var bufferedPoint = turf.buffer(myPoint, 5, 'miles');
</script>
Word of Warning: Having too many points or complex features will make rendering or non-responsive
For larger datasets or complex analysis, it is better to do analysis on back-end
var austin = turf.point([-97.743061, 30.267153]); //GeoJSON point
var buffered = turf.buffer(austin, 15, 'miles');
result = turf.featurecollection([austin, buffered])
var austin = turf.point([-97.743061, 30.267153]); //GeoJSON point
var atxBuffer = turf.buffer(austin, 15, 'miles');
var roundrock = turf.point([-97.678896, 30.508255]);
var rrBuffer = turf.buffer(roundrock, 15, 'miles');
result = turf.union(atxBuffer.features[0], rrBuffer.features[0]);
var austin = turf.point([-97.743061, 30.267153]); //GeoJSON point
var atxBuffer = turf.buffer(austin, 15, 'miles');
var roundrock = turf.point([-97.678896, 30.508255]);
var rrBuffer = turf.buffer(roundrock, 15, 'miles');
result = turf.intersect(atxBuffer.features[0], rrBuffer.features[0]);
//City of Austin Historical Landmarks
// from https://data.austintexas.gov/Geodata/Historical-Landmarks-Map/6k54-2nnj
display = landmarks.type;
display = 'Num Points: ' + landmarks.features.length;
result = landmarks;
Download the Historical Landmarks GeoJSON at maptimeatx.github.io/intro-to-turf/data/landmarks.geojson
var bbox = turf.extent(landmarks);
var grid = turf.squareGrid(bbox, 0.5, 'miles');
var counted = turf.count(grid, landmarks, 'pointCount');
result = counted;
var bbox = turf.extent(landmarks);
var grid = turf.hexGrid(bbox, 0.5, 'miles');
var counted = turf.count(grid, landmarks, 'pointCount');
result = counted;
Documentation is a top priority for the Turf project
Built directly from the source code
57,988 tornadoes analyzed over 3,221 counties (in Node)
Open Source, developed in the open on GitHub: github.com/turfjs
Still more work to be done: docs to improve, code to write, bugs to discover, tests to write
Check out the issues: github.com/turfjs/turf/issues
jsfiddle.net/jseppi/grwh8kmx/4/
Pair up with some (new) friends. Try to have a JavaScript person in each group.
Work together. Ask questions. You can do it!
Austin Historic Landmarks
Austin City Council Districts
Don't Peak!


public class HGSubgraph extends java.lang.Object implements HyperNode, HGHandleHolder, HGGraphHolder
A HyperNode
that encapsulates a set of atoms from the global
HyperGraph
database. A subgraph can be thought of as a hyper-edge
in the standard set-theoretic formulation of hypergraphs.
| Modifier and Type | Field and Description |
|---|---|
protected HyperGraph |
graph |
protected HGHandle |
thisHandle |
| Constructor and Description |
|---|
HGSubgraph() |
| Modifier and Type | Method and Description |
|---|---|
HGHandle |
add(HGHandle atom)
Add an existing atom to this
HyperNode . |
HGHandle |
add(java.lang.Object atom,
HGHandle type,
int flags)
Add to global graph and mark as member of this subgraph.
|
long |
count(HGQueryCondition condition) |
void |
define(HGHandle handle,
HGHandle type,
java.lang.Object instance,
int flags)
Define in global graph and mark as member of this subgraph.
|
<T> HGSearchResult<T> |
find(HGQueryCondition condition) |
java.util.List<HGHandle> |
findAll(HGQueryCondition condition) |
<T> T |
findOne(HGQueryCondition condition) |
<T> T |
get(HGHandle handle) |
<T> java.util.List<T> |
getAll(HGQueryCondition condition) |
HGHandle |
getAtomHandle()
Return the HyperGraphDB atom handle of this object.
|
HyperGraph |
getHyperGraph() |
IncidenceSet |
getIncidenceSet(HGHandle handle)
Return incidence set where each element is a member of this
HGSubgraph . |
static HGIndex<HGPersistentHandle,HGPersistentHandle> |
getIndex(HyperGraph atGraph)
DO NOT USE: internal method, implementation dependent, may disappear at any time.
|
<T> T |
getOne(HGQueryCondition condition) |
static HGIndex<HGPersistentHandle,HGPersistentHandle> |
getReverseIndex(HyperGraph atGraph)
DO NOT USE: internal method, implementation dependent, may disappear at any time.
|
HGHandle |
getType(HGHandle handle) |
boolean |
isMember(HGHandle atom) |
boolean |
remove(HGHandle handle)
Removes an atom from this scope.
|
boolean |
removeGlobally(HGHandle handle)
Removes the atom globally from the database as well as from the nested graph.
|
boolean |
removeGlobally(HGHandle handle,
boolean keepIncidentLinks)
Removes the atom globally from the database as well as from the nested graph.
|
boolean |
replace(HGHandle handle,
java.lang.Object newValue,
HGHandle newType)
Performs the replace in the global database as this only deals with
an atom's value.
|
void |
setAtomHandle(HGHandle handle)
Set the HyperGraphDB atom handle of this object - used normally only
by the
HyperGraph instance holding this atom. |
void |
setHyperGraph(HyperGraph graph)
During load time, set the
HyperGraph
instance to which this atom belongs. |
protected HyperGraph graph
protected HGHandle thisHandle
public static HGIndex<HGPersistentHandle,HGPersistentHandle> getReverseIndex(HyperGraph atGraph)
public static HGIndex<HGPersistentHandle,HGPersistentHandle> getIndex(HyperGraph atGraph)
public boolean isMember(HGHandle atom)
public HGHandle add(HGHandle atom)
Add an existing atom to this HyperNode
. The atom may be a member
multiple nodes at a time.
atom
- atom
parameter.public HGHandle add(java.lang.Object atom, HGHandle type, int flags)
public long count(HGQueryCondition condition)
public void define(HGHandle handle, HGHandle type, java.lang.Object instance, int flags)
public <T> HGSearchResult<T> find(HGQueryCondition condition)
public <T> T findOne(HGQueryCondition condition)
public <T> T getOne(HGQueryCondition condition)
public java.util.List<HGHandle> findAll(HGQueryCondition condition)
public <T> java.util.List<T> getAll(HGQueryCondition condition)
public IncidenceSet getIncidenceSet(HGHandle handle)
HGSubgraph
.
The atom itself whose incidence set is returned doesn't have to be a member of the
subgraph!getIncidenceSet
in interface HyperNode
public boolean removeGlobally(HGHandle handle)
handle
- The atom to remove.HyperGraph.remove
.public boolean removeGlobally(HGHandle handle, boolean keepIncidentLinks)
handle
- The atom to remove.keepIncidentLinks
- - whether to also remove links pointing to the removed
atom. This parameter applies recursively to the links removed.HyperGraph.remove
.public boolean remove(HGHandle handle)
HyperGraph
database. If you wish to delete it globally,
use HyperGraph.remove
.public boolean replace(HGHandle handle, java.lang.Object newValue, HGHandle newType)
public HGHandle getAtomHandle()
HGHandleHolder
getAtomHandle
in interface HGHandleHolder
public void setAtomHandle(HGHandle handle)
HGHandleHolder
Set the HyperGraphDB atom handle of this object - used normally only
by the HyperGraph
instance holding this atom.
setAtomHandle
in interface HGHandleHolder
handle
- The atom handle.public void setHyperGraph(HyperGraph graph)
HGGraphHolder
During load time, set the HyperGraph
instance to which this atom belongs.
setHyperGraph
in interface HGGraphHolder
public HyperGraph getHyperGraph()


{% load static %}
Deliveree
Welcome to Delieveree
{% csrf_token %}
Submit
×
Your Deliveree Order
Your form has been submitted, please wait for confirmation


--- layout: default ---
You may create seeds/fixtures using YAML and JSON files — along Ruby files. Following are some examples of valid, workable and applicable seed/fixture files in both YAML and JSON syntax. If you need to work with associations, Ruby Seeds would be a good starting point; YAML and JSON Seeds don't handle Model associations by now.
[ { "environment": [ "test", "development" ], "user": [ { "full_name": "Richard Feynman", "profession": "Theoretical physicist", "username": "rfeynman", "password": "271828" } ] }, { "currency": [ { "abbr": "USD", "name": "United States dollar" }, { "abbr": "BRL", "name": "Brazilian real" } ] } ]
- environment: - :test - "development" user: - full_name: "Richard Feynman" profession: "Theoretical physicist" username: "rfeynman" password: "271828" - currency: - abbr: 'USD' name: 'United States dollar' - abbr: 'BRL' name: 'Brazilian real'
By default, the Model class will be inferred by the Seed descriptor. If you need to override the default name and point to the proper Model class, you can do as following:
{ "environment": "test", "model": { "class": "User", "entries": [ { "full_name": "Richard Feynman", "profession": "Theoretical physicist", "username": "rfeynman", "password": "271828" } ] } }
environment: "test" model: class: "User" entries: - full_name: "Richard Feynman" profession: "Theoretical physicist" username: "rfeynman" password: "271828"
Wildcard Seeds are also available through YAML & JSON files.
{ "user": { "full_name": "Richard Feynman", "profession": "Theoretical physicist", "username": "rfeynman", "password": "271828" } }
user: full_name: "Richard Feynman" profession: "Theoretical physicist" username: "rfeynman" password: "271828"
Seeds in Ruby could be defined as following:
Sequel.seed(:development, :test) do # Applies only to "development" and "test" environments def run User.create \ full_name: "Richard Feynman", profession: "Theoretical physicist", username: "rfeynman", password: "271828" end end
Sequel.seed do # Wildcard Seed; applies to every environment def run [ ['USD', 'United States dollar'], ['BRL', 'Brazilian real'] ].each do |abbr, name| Currency.create abbr: abbr, name: name end end end
In order to apply the seed/fixture files, you just need to load sequel
and the sequel-seed
extension, along with any constant (Class, Module etc.) used in a (Ruby) Seed file.
The sequel-seed
gem assumes that each environment has its own database; thus, each Sequel::Seed
environment is associated with a different database instance. Following are the steps to
apply a collection of seed/fixture files (all placed in one directory):
0. Set the environment (optional — if omitted, it will fulfil wildcard Seeds only)
Sequel::Seed.setup(:development)
1. Load the extension
require 'sequel' require 'sequel/extensions/seed' Sequel.extension :seed
2. Apply the seeds/fixtures
DB = Sequel.connect(...) Sequel::Seeder.apply(DB, "/path/to/seeds")


[§346-142] Definitions. As used in this part:
"Alien" means any person not a citizen or national of the United States but who is allowed, under federal law, to reside in the United States.
"Homeland" means the country in which a person was born.
"Naturalized citizen" means a person who was not born in the United States, but who has the rights and privileges of a citizen bestowed upon the person by law.
"Qualified person" means an alien or naturalized citizen of the United States who:
(1) Is a resident of the State of Hawaii;
(2) Is sixty years of age or older;
(3) Is eligible to receive or receives financial assistance under this chapter on the date of the application for transportation assistance under this part.
"Transportation assistance" means the amount determined by the director under section 346-145. [L 1980, c 276, pt of §2]
Revision Note
Pursuant to §23G-15:
(1) Numeric designations deleted and punctuation changed; and
(2) In the definition of "qualified person", paragraphs redesignated and in paragraph (3), "and" deleted.