Upgrading Instructions
Upgrading requires replacing a few files, and sometimes updating your configuration. You can upgrade from a previous version of DMZ or the original DataMapper.
Upgrading from a previous version of DMZ
All versions
- Overwrite application/libraries/datamapper.php.
- Copy any new extensions in application/datamapper that you would like to use.
Some extensions may require additional views, libraries, helpers, or other items to function correctly. Please check the extensions you plan on using.
- If you are using the Production Cache, please clear it, or even disable it until you have tested the new version.
Then look below for additional, specific changes for each version.
You can determine which version of DMZ you are using by looking at the top of application/libraries/datamapper.php
From 1.6.1 to 1.6.2
- Bugfix release, no changes necessary.
From 1.6.0 to 1.6.1
- If you used the example application/config/datamapper.php configuration file, change the value of $db_params from NULL to ''.
From 1.5.4 to 1.6.0
-
Due to the new DB mapping, you may experience errors with custom code that expected $this->db to be shared across models.
If you don't need subqueries or include_related_count, then you can set $db_params to FALSE and DMZ will revert to the shared DB.
Note, however, that other changes have been made that may cause issues with a shared DB class.
These new reserved names have been added, and should not be overwritten:
Functions func get_sql include_related_count {query}_subquery {query}_func {query}_related_subquery _process_function_arg _parse_subquery_object Variables $db_params $instantiations
- As this is a significant update, you may want to look at the Change Log, to see how the new features can benefit you.
From 1.5.3 to 1.5.4
- Bugfix release, no changes necessary.
From 1.5.2 to 1.5.3
- If you were using the private method _to_object, it works completely differently now.
From 1.5.1 to 1.5.2
-
The default behavior for indexing the all array has been changed.
If you are getting duplicate results in your queries, you have two options:
- Update your queries to include DISTINCT whenever possible. This is the recommended option.
- There is a new config option, all_array_uses_ids. Set this to TRUE to restore the original behavior.
From 1.4.x to 1.5.1
-
Two of the extensions have been renamed, due to the new extension prefix support.
I highly recommend you update your code, because the old names are no longer be supported.You will need to replace all instances of 'arrayutils' with 'array', and 'csvutils' with 'csv'.
- Replace all of the included extensions, and remove the old arrayutils.php and csvutils.php.
From 1.4.1 to 1.4.3
- If you looped over a DMZ model using foreach (to read the properties), it will no longer work. This is due to a change that allows looping over the model directly to loop over the all.
The 1.4.3 fix could adversely affect certain logins. Please see this note here.
From 1.4.0 to 1.4.1
- Simply overwrite datamapper.php.
From 1.3.2 to 1.4.0
- Overwrite application/language/english/datamapper.php to enable some new error messages.
- If you have any custom related validation rules, the arguments have changed very slightly.
Previously, the first argument would have been whatever was passed in to save.
Now, if the $object was saved with a specific
related_field, the $object will be wrapped in a single-item array, with therelated fieldas its key. - The _count_related method, which is used on related required, min_size, and max_size methods, now is more accurate, and may show errors where it previously was reporting a false positive.
- Overwrite the
jsonextension in application/datamapper/json.php if you use it. These new reserved names have been added, and should not be overwritten:
Functions load_extension save_as_new skip_validation ilike or_ilike not_ilike or_not_ilike group_start or_group_start not_group_start or_not_group_start group_end _get_prepend_type _count_related_objects _handle_default_order_by _save_itfk _save_related_recursive Variables $_force_save_as_new $_where_group_started $free_result_threshold $default_order_by
- As this is a significant update, you may want to look at the Change Log, to see how the new features can benefit you.
From 1.3.1 to 1.3.2
The fixes to the relationship joins may break any hard-coded SQL, where you specify the table name. Now, for any relationship that uses a
related fieldthat is different than the class, therelated fieldis appended to the table name, to allow that relationship to be queried specifically.For example, if you are querying creator, which is a user, the joined table is named creator_users.
This is only an issue if you have included custom SQL (such as in where statements), and included the table name, and are querying a relationship that has a different relationship name than the model name.
From 1.3.0 to 1.3.1
- If you use it, replace application/helpers/inflector_helper.php.
From 1.2.5 or older to 1.3.0
- Replace all occurances of join_related with include_related, as join_related has been deprecated, and will be removed in a future update.
- Update your application/config/datamapper.php file, as there are a few new items.
- Optionally, upload the application/datamapper directory to your CodeIgniter application folder, to enable the use of extensions.
Upgrading from the original DataMapper
If you are upgrading from the original DataMapper, these are the steps you should take.
- Update your application/config/datamapper.php file, as there are a few new items.
- Overwrite application/libraries/datamapper.php.
- Overwrite application/language/english/datamapper.php.
- Optionally, upload the application/datamapper directory to your CodeIgniter application folder, to enable the use of extensions.
- Look over the upgrade information above, to see if you are using any hacks or tricks that may be broken by DMZ's new features.
- After reading through this manual, you may want to adopt many of the new features throughout your code!


Cora showing my dad (who taught me to code) how to program with @hacketyhack
11/23/2013, 6:40:16 PM
Favs: 8
Retweets: 3
link--- layout: tweet ---
Cora showing my dad (who taught me to code) how to program with @hacketyhack
11/23/2013, 6:40:16 PM
Favs: 8
Retweets: 3
link


Tabernanthe iboga, B. caapi (10x extract) & Syrian Rue (10x extract)
Having experienced a wide array of psychedelics (LSD, psilocybin mushrooms, mescaline cacti, 2CB, 2CE, 2CI, 2CT2, salvia, ketamine, cannabis etc), and having recently had some very deep experiences drinking ayahuasca out in Peru, iboga seemed the next stage. I ordered 25g or root bark from an online vendor, which arrived quickly.
I was going to have the house to myself for the coming weekend, so it seemed like the time to do it. I put a lot of it in size '00' gel caps (a good help when ingesting fowl plants sometimes).
20 minutes before dosing I took 1g of B. caapi and syrian rue, split evenly. NOTE: This was probably a bad move on my part. I usually combine MAOI's with natural psychedelics like shrooms and cacti to get the most out of them, but with a strong stimulant like ibogaine, this may have been careless.
I then started consuming the caps (there were many) around 6 PM. I smoked a tiny amount of weed just to keep any on coming nausea at bay. I relaxed and waited for effects.
My memories of the night are hazy at best. I remember feeling a change in bodily perception, tingling. I began to feel progressively more light headed, and my vision began to sway. The dizziness was very much like being on ayahuasca. I suspect MAOI's were at least partly responsible.
I was hot and generally uncomfortable. I had MAJOR red eye, eyes were stinging. Visuals increased, but were still 'threshold tripping'. Weed increased the strength of these, but not by a great deal. The high was far from blissful, and not really that pleasant. Very different to the other plant psychedelics.
I had been feeling slightly nauseous for a time and so forced myself to be sick, with some effort. Better out than in I reckon. Vomiting on iboga was unpleasant, very unlike the cleansing purge of ayahuasca or cacti. The root bark was very dry and I vomited through my nose and had a mixture of stomach acid and half digested iboga swilling around my sinuses. In between vomiting I happened to notice open eye patterning moving on the towels. This was the most intense the visuals got.
Later on I fell into a dream/sleep state, and had many vivid dreams, only one I can remember. I was downstairs in the pitch black and I suddenly see a dark figure-someone approaching the front door. For some reason this brought on feelings of intense terror and I cried out.
I woke up after an unknown length of time and was still distorted. I did not regain my balance for another 2 days, and had generally unpleasant bodily feelings for that time. I wasn't completely recovered for 4 days.
Iboga is NOT a recreational drug. Used properly to treat drug addiction or similar afflictions, or in a ceremonial Bwiti setting I think it could be a very powerful healing medicine. It is not a 'fun' recreational drug, and should be used with due care. I would recommend you DON'T combine with MAOI's. Its really not worth the risk, and will be powerful enough on its own. Itís also expensive.
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.


Synchronous Client Performance Check¶
Below is a quick example of how to test the performance of a tcp modbus device using the synchronous tcp client. If you do not have a device to test with, feel free to run a pymodbus server instance or start the reference tester in the tools directory.
#!/usr/bin/env python
'''
Pymodbus Performance Example
--------------------------------------------------------------------------
The following is an quick performance check of the synchronous
modbus client.
'''
#---------------------------------------------------------------------------#
# import the necessary modules
#---------------------------------------------------------------------------#
import logging, os
from time import time
from multiprocessing import log_to_stderr
from pymodbus.client.sync import ModbusTcpClient
from pymodbus.client.sync import ModbusSerialClient
#---------------------------------------------------------------------------#
# choose between threads or processes
#---------------------------------------------------------------------------#
#from multiprocessing import Process as Worker
from threading import Thread as Worker
from threading import Lock
_thread_lock = Lock()
#---------------------------------------------------------------------------#
# initialize the test
#---------------------------------------------------------------------------#
# Modify the parameters below to control how we are testing the client:
#
# * workers - the number of workers to use at once
# * cycles - the total number of requests to send
# * host - the host to send the requests to
#---------------------------------------------------------------------------#
workers = 10
cycles = 1000
host = '<IP_ADDRESS>'
#---------------------------------------------------------------------------#
# perform the test
#---------------------------------------------------------------------------#
# This test is written such that it can be used by many threads of processes
# although it should be noted that there are performance penalties
# associated with each strategy.
#---------------------------------------------------------------------------#
def single_client_test(host, cycles):
''' Performs a single threaded test of a synchronous
client against the specified host
:param host: The host to connect to
:param cycles: The number of iterations to perform
'''
logger = log_to_stderr()
logger.setLevel(logging.DEBUG)
logger.debug("starting worker: %d" % os.getpid())
try:
count = 0
# client = ModbusTcpClient(host, port=5020)
client = ModbusSerialClient(method="rtu", port="/dev/ttyp0", baudrate=9600)
while count < cycles:
with _thread_lock:
result = client.read_holding_registers(10, 1, unit=1).getRegister(0)
count += 1
except: logger.exception("failed to run test successfully")
logger.debug("finished worker: %d" % os.getpid())
#---------------------------------------------------------------------------#
# run our test and check results
#---------------------------------------------------------------------------#
# We shard the total number of requests to perform between the number of
# threads that was specified. We then start all the threads and block on
# them to finish. This may need to switch to another mechanism to signal
# finished as the process/thread start up/shut down may skew the test a bit.
#---------------------------------------------------------------------------#
args = (host, int(cycles * 1.0 / workers))
procs = [Worker(target=single_client_test, args=args) for _ in range(workers)]
start = time()
any(p.start() for p in procs) # start the workers
any(p.join() for p in procs) # wait for the workers to finish
stop = time()
print "%d requests/second" % ((1.0 * cycles) / (stop - start))
print "time taken to complete %s cycle by %s workers is %s seconds" % (cycles, workers, stop-start)


We enhance bitcoin!
- productize open-source mindshare
- transform world-class infomediaries
- synthesize synergistic methodologies
- syndicate rich applications
- whiteboard clicks-and-mortar schemas
- mesh seamless e-commerce
- syndicate B2C architectures
- deliver virtual systems
- benchmark cross-platform synergies


We want to help our friend Jay Clark who has pancreatic cancer. He was diagnosed in Oct 2015 when he was expecting his first child with his partner Caroline. We were overjoyed for Jay and Caroline that he was here to see his beautiful son Maxie born on Jan 9th 2016.
More devastating news came in Feb 2016. Pancreatic cancer has a very low survival rate and is considered incurable. It had spread to Jay's liver and his doctors could only offer him palliative (end of life) care. Jay was 41. It was heart breaking when Jay broke the news to his close friends. He was so strong and offered comfort to everybody. He only asked for help to look after his son when he was gone.
A month later his doctors decided the cancer hadn’t spread to his liver. His life expectancy was now looking so much better. The diagnosis was still terminal but we could dare to dream that he might see his son’s first Xmas.
Jay’s rollercoaster experience continued when his mother died of cancer soon after. How much can anyone be expected to deal with?
Jay and Caroline have been inspirational in the way they have dealt with everything and have written about their experience in the BeMoreJay blog: https://www.facebook.com/Bemorejay/ It’s actually written from Maxie’s perspective. (Mummy may be helping!) Maxie occasionally let’s Daddy post too.
After a lot of painful treatment Jay found out on Oct 14th that the cancer has spread to his liver. It is beyond doubt now. He is currently on a course of palliative chemotherapy and researching alternative treatments that may produce a miracle. He wants to be here for Maxie’s first Xmas and make it amazing. It’s heartbreaking to write that it may be the only Xmas Jay gets to spend with Maxie.
We want to raise as much money as possible to help this lovely family. It could be for healthcare expenses, a bucket list, something towards a trust fund for Maxie. It’s for them to do with exactly as they please to make their journey more bearable.


Island and AJ's podcast for your Monday.
Most wonderful show is keeping up with the Joneses.
Mr. Jones.
Mrs. Jones, how the heck are you?
So good.
Episode 284.
Keeping up with the Joneses, welcome.
If you've just joined us, Emma Allen.
I'm AJ.

We are.
Living in Franklin, Tennessee.
We are.
And we all start our episodes with a weekly catch up.
AJ, tell us about this week.
First of all, we had lunch with our dear friends,
RT and Louise, up in East Nashville.
Kind of a surreal experience in that they picked a place.
Now, if you don't know RT Kendall and his wife Louise,
they're in their 80s?
Yes, probably.
Yeah, early 80s.
Yep.
No, he said he's 86.
So later 80s.
Yeah, I'm not sure what Louise is.
I'm being a delicate.
I got you.
They are both American.
They are.
But they have lived in the UK longer than I have,
when I was born there.
- Yes.
- And RT is a very famous theologian
and author something like 80 books.
- Yes, and a riot.

- Yeah, they're so fun.
- Yeah.
- And so we'd love any opportunity
we get to hang out with them.
And so they said, would you like to come up
and have lunch and then we're like sure, we'd love to.
And we said, why don't you pick the place?
So I was a little taken aback
when we arrived there
because no exaggeration, it's a pool hall.
- Yeah, with a bar underneath it.
- It also happens to be Pride Month here,
which I'm sure, I don't know if that's everywhere,
in America, it's in the month of June.
- But they're celebrating it full force.
- Oh, we get to this pool hall/bar
and there's rainbow flags everywhere.
And our waitress is a lovely girl.
- Yes, she's very sweet.
- Interesting outfit.
(laughs)
- Yes, so very skimpy outfit with a enormous skull
and crossbones tattooed on her chest.
- And you forgot the fishnet tights.
- Yes, the fishnet tights and then yes, she was--
- Big biker boots.
- Yeah, but she's so sweet.
I literally was like wow.
- Seema-belivious 'cause they're surroundings.
- Yeah, yeah.
- So we're just following their youth playing it cool.
And you know, I cheekily said,
what is it that you love about this place?
And they busted the meatloaf is really, really good.
(laughs)
- But we're there for the meatloaf.
- Yeah, we're any Nashville just kind of living up.
Anyway, we had a wonderful time.
But I have to say, best brisket that I've had since we moved to Nashville.
That's a bold claim.
Honestly, I was I was so impressed with the brisket.
I did like the brisket, but also the french fries and I like the big beans.
Guys, they had wait for it.
Brown gravy.
And that's why you like the brisket.
Good brown, I didn't dip the brisket in the gravy.
I dipped my fries, which by the way, you didn't order fries.
I did.
-Uh-huh. -And you kept eating my fries.
-Wait, what's that? What's that on your left hand?
-Oh, it's a ring that means whatever is yours is mine. -It doesn't really get to eat mine.
-And whereas mine is yours. -I'll keep that in mind the next time I'm
going to give you a chocolate, like tomorrow. -Good luck.
That was Monday. Yeah, great time. That was really fun being with them. All the joy.
-Yeah. -Our kids have been in camp this week.
-They have. Tia did her first overnight camp.
Yeah, she did.
And yeah, so sweet thing.
She's missing her friends so bad.
So I was trying to do things to cheer her up because it's her last day of being 12.
Yeah, tomorrow she's 13.
I know, I can't believe it.
And then MJ did day camp, same camp, dear run, great camp.
And he came home each evening with tales of wonder and memory versus learned.
Yes.
Yeah, they both loved it.
So good.
So they've been away, it was kind of weird having one last child in the house.
Yeah, like having Tia be totally gone for, well, five days.
Yeah.
I was, I missed her so bad, I couldn't wait till she got home.

She's so funny.

So we're going to have to face it again.
And then aside from a very busy week of meetings meeting meetings,
we found time to do some celebrations, got to celebrate friends birthday on
Wednesday. Yeah. And then today we got to perform a wedding.
We did. Fastest wedding we've ever done.
By far, and it was so sweet.
It was a sweet wedding.
I don't usually cry. I usually like smile, but not cry.
Yeah, that was fun to celebrate that.
It was so great.
We got some great photos, too.
Yeah. And then from celebration to discouragement.
Discouragement.
Oh, yeah.
Apple store. Yeah. Sorry about that.
I have a brand new 16 inch M1 Max.
I love that you're looking at me like I would know.
I forget what you want to do. It's a laptop.
Yeah, I've got like, you know, the, the, the Mac daddy of the M1
MacBook Pro, arguably the best Mac I have ever owned.
The fastest Mac.
It's astonishingly fast and I absolutely love it.
There's just one problem in there.
It keeps crashing.
It also happens to be the flakiest Mac I have ever owned.
- Right.
- Like I probably get at least one kernel panic a day.
A kernel panic is when the computer completely crashes
and needs to be restarted.
This is unheard of.
Like that's common for Windows machines.
Unheard of for Macs.
- Right.
- I have a suspicion what's causing it,
but before I go down that drastic route,
I thought I would make an appointment with a genius
at the Apple Store.
- Yeah.
- So that they could run the battery of hardware tests.
- Yes.
Colonel panic. It's often, it's often a hardware fault. Yeah.
But it's unlikely to be a hardware fault on this. It's brand new. It's straight off the production line.
It's really unlikely. Well, they must have a genius bar for a reason.
So took it in Ashley was very helpful. She hooked up. She patiently. Here's why I appreciate like
normally my, I would say Apple's quite good at this. But normally my nightmare is when I call
tech support and they insist on taking me through the 20 things I've already done before I would
even call. Yes, but most people will not know to do the 20 things. No, and that's what's for
strating. Because I would, I understand why they need to do that. Because if your mom called in,
they would absolutely have to check that it's all. If I called in, never mind my mom.
Oh, you would have checked me first and I would have done those 20 things. But I understand why,
but what I loved about Ashley, she instantly said, thank you for telling me all that. You've
you've eradicated the first 10 questions I was going to ask you.
So you've already done this, this, this, this.
Thank you, thank you, thank you.
All right.
So she hooked up to their battery of tests.
She said, we'll run hardware tests that I can't run at home.
And she said, I've released this nothing
wrong with the hardware of the device.
Right.
But it's still crashing.
It's still crashing.
So she gave me some homework to do, which I knew she would.
Which, for all other Mac users, you know, it's an arrays
and install.
And I don't want to do that because it's
a four terabyte of data.
And I don't want to back up.
Anyway, one boring of the details, but I have a seeking suspicion and I have a plan to test
asking a suspicion and I will report back.
But I'll tell you what, even though I'm at a genius bar with a problem, I'm still in
my happy place because they do such a great job of aesthetics and surroundings and it
was a nice way to spend an hour.
Good.
Today, our main topic is a very special guest.
Yes.
Our dear friend, Shannon Macleard.
Yes.
One of our pastors at School of Supernatural Life.
of my best friends. You probably saw on this episode before you played it, the little explicit
marking. Yes. And I'm going to tell you why the explicit marking is there. But first of all,
we want to give you an opportunity to pause this if you've got little ears. So if you're
listening to this in the car, you're on a commute and you've got our podcast playing the background.
Or if you're at home, you're preparing dinner or do dishes, whatever, and we're playing.
And little ears can hear then go ahead and and pause. Go ahead and hit that pause because we want
I want to give you a trigger warning, but the trigger warning itself could be triggering.
So watch us just kind of pad for some time while you fumble to find your device.
You could put in some like little bit of music.
I could, but I think we've talked enough that somebody has probably found their problem.
I hope so.
Or had enough time.
I hope you found it.
Right.
Yeah.
So the reason we have an explicit tag and the reason we want to give you a trigger warning
is Shana's going to be sharing her testimony which sadly features childhood sexual abuse
another trauma.
So if the discussion of that kind of content will be traumatizing to you, then you might
want to skip this episode.
Or we have used our chapter markers where I have highlighted the chapters that has some
pretty harrowing content in it.
You might want to skip that to some of the happier parts of the chapter because the truth
with is a testimony and Shannon meets Jesus.
And she talks about the healing that she received
from being in relationship with Jesus
and working through stuff.
- And it's an amazing testimony.
- Very powerful.
But we just wanted to give you that heads up
before you listen to it.
So let's roll the interview.
- Well, hello.
I am really pleased to tell you I have one of my besties
in the whole world.
Here with us today, this is Shannon.
Hi, she's never been on the podcast before.
And actually I was thinking about that.
I'm surprised.
- I am too.
- I thought for sure we already had you on a podcast.
So I'm sorry here.
It's, I'm sad that we've kept you hidden for so long.
- Maybe it's all a plot.

- The stalking testimony.
- The stalking testimony.
And then we could talk about your actual testimony.
- Okay. - Yeah, yeah.
- So when Alan and AJ first came to Grace Center,
they came with John and Carol
are not to do a week long school.
And it was great.
They taught on all these really great things.
It was life changing.
It was awesome.
But as I was listening to AJ's testimony
and was catching her personality,
I was just thinking, I think we could be really good friends
'cause I get her.
And so at some point during the weekend,
which I never go and talk to speakers.
I just hardly ever would do that.
But I thought maybe I should because you know,
you never know.
And so I went up to her and was just saying something
about how amazing her testimony was and it just moved me.
And if she ever moved here, we'd probably be besties
At that moment, I think Alan was looking for security.

But it turns out I was 100% right.
- You were right, you were right, look at you.
- But at that point, you guys weren't even thinking
of moving to Franklin yet.
- We were praying about it actually.
At that point, we had already, yeah,
we'd already been praying about it.
We'd come here to check it out.
We'd both had dreams.
Yeah, so we hadn't told anybody,
like just basically John and Carol knew we were praying
about coming and yeah.
So it was quite funny that you were like,
hey, if you ever moved here, I was like, okay.
- I'm not taking that as a,
I'm not taking that as a, okay, here's another one.
I'm taking that as like, oh.
- But it turned out great, didn't it?
- Yes, it did.
- So, yes it did.
- So there you go.
Well, I thought it would just be fun to sort of talk about,
you know, whatever you wanna share
about your life before meeting Jesus, after meeting Jesus.
And I'll just kind of ask you some questions
as we go along, is that okay?
- Yeah, that's great.
- Okay.
I didn't meet Jesus until I was in my mid 20s,
kind of early mid 20s.
Up until that point, we had gone to church,
kind of off and on.
My mom's family were Christian scientists
and they were pretty devout,
although they went to doctors and stuff,
but they were still, that was kind of their deal.
I remember going to Christian Science Sunday School
when I was little and being really interested
and fascinated by all that.
I mean, really the Bible, I didn't understand
what the difference was.
What the difference was.
Yeah, yeah.
But we didn't continue going there.
Then we went to a congregational church,
which was, you know, probably fine.
And when I was, I think I was in about sixth grade,
We moved to California for basically a summer.
And I met these Baptist kids.
Oh, you got to watch out for the Baptists.
So you do.
And they were going to go to their youth group was going to a Billy Graham crusade in Candlestick
Park, which is a huge baseball field in, I think, Oakland, maybe.
And so I saw Billy Graham and I was really moved by that.

They were all saved there.
No one was going down front.
Right.
So, but I think at that moment, I think my heart came alive to Jesus, but it was another
probably 14 years or something until, no, not 14, whatever, can't do the math.
I was about 24.
Yeah.
Until I actually really met Jesus.
My family life, I have two younger brothers and my mom was married to my dad.
They were high school sweethearts.
They got married right out of kind of right out of high school.
Then my mom had me and then she had my brother.
And then my dad asked my mom for a divorce.
Wow.
secretary, the day their divorce was final. Oh, I didn't know that. That's brutal.
 We had to move in with my grandparents
for a little bit of time. And then my mom started working. And so when I was around five, I think
My mom had dated a couple guys, but nobody really seriously, this is funny though.
There was one man who was, he seemed like he was a thousand years old.
I mean, I'm only four.
So he was probably my mom's inner twenties.
He might have been in his 40s.
Right.
So, but a thousand years old.
I mean, he did have a Cadillac convertible that I remember, but he was going to take us.
I know I'm a car person.
So my, I don't have any problem with that at all.
We were going to go to the World's Fair was in Seattle this time.
And he was going to take us to that.
And everything was going well until he put his arm across the back of the seat.
And it was a bench seat.
And my little brother David bid his arm.
So I think that was their last day.

- Yeah. - He didn't know this guy was.
- You guys do what he was gonna do?
- You guys are not gonna do it.
- Anyway.
- So my mom did get remarried when I think I was
about five years old.
Well, I was five.
I was in kindergarten 'cause I had to switch schools.
And the man that she married, she wasn't,
she would say she wasn't in love with him,
but he really cared about her
And he cared about us.
He wanted to adopt us, which he did really shortly after they got married.
He adopted my brother and I, and had a good job and whatever, whatever.
The only thing that she didn't really understand,
nor did she understand for a long time, was he was a pedophile.
And so he started grooming me for abuse because that's sort of what happens within six months
of them being married probably.
Wow.
I didn't really understand what was happening and nothing really bad was happening yet.
I felt sort of weird but it wasn't super bad.
Also, I was...
You're so...
You're sobbing for a dad.
You know?
Right, right, right.
He had some of the qualifications that I had on my list, sadly, or good.
I don't know, but he was really, really harsh with my brother, who my brother's like a genius.

I mean, just so he was verbally really abusive to him.
No, that's so sad.
And he was always kind of trying to separate me and my brother.
again because that's part of the program.
Absolutely.
And so I think the first time, probably the first time that he touched me sexually,
I was probably about seven. I was young.
Oh, babe.
Yeah.
And my mom was part of a choir that met on Monday nights.
It's all during kind of the school year.
And so that was sort of the, that was the night.
By that time, he had moved my brother
to the downstairs basement bedroom.
And mine was upstairs.
And every Monday night, I kind of knew something's gonna happen
'cause my mom was gone from, at this set time,
from this time to this time, every single Monday night.
- Of course.
The thing with all of that was that everything I wanted to do or anything I wanted to have
was all attached to, "Well, will you be good?"
Which meant, "Will you yourself and let me do what I want to do?"
Yeah.
So, every sexual first I ever had was with him, and this went on until I was 15.
So that was not awesome, as you might have.
- Wow, that's the understatement of the century.
And there was not obviously,
there were some things that probably no one would ever
wanna do that I endured during all that.
But I mean, we were so scared my mom was afraid of him,
my brother was afraid of him,
then they had my youngest brother.
And I mean, just it felt like just trapped.
And since he was always undermining my mom
and critical of my mom,
my mom at one point made a comment
about she didn't think it was appropriate
that he had me sit on his lap or whatever.
- Yeah.
- Yeah.

So it was a really terrible situation,
really terrible situation.

Between eighth grade and ninth grade, maybe I started
hanging out with kids who were smoking pot and drinking
and that seemed great to me.
- Sure, your world is terrifying.
Why wouldn't that seem great?
- I had a kind of a serious boyfriend
that made my stepdad crazy.
I mean, just like crazy.
And so that was a really weird dynamic.
Again, anytime I wanted to go out with my friends
or do anything, I'm always kind of paying for it
over here on the side, which is gross and horrible.
When I got to the end of my ninth grade year,
I had a very serious boyfriend and I was sleeping with him.

- Right, right.
- I mean, it was bad.
But at one, we were at a party.
He and I were at a party one night
and he said something like,
I don't know what he exactly said to me,
but what I heard him say was,
if I knew your dad was hurting you, I would kill him.
Now, we lived in a suburb, kind of like Franklin.
- Right.
And it was, you know, 40 years ago or something.
It was a long time ago.
- It was a good lesson.
- There was no chance that that was actually gonna happen.
You know what I mean?
If somebody said that now.
- Yeah, maybe.
- There was no chance that that was gonna happen.
But I was just like, oh, somebody loves me
enough to fight for me.
- Yeah.
- And so I marched into my guidance counselor's office,
the school guidance counselor,
who I had a relationship with.
I was in a little group of girls
and I was the kind of the good girl in the group.
(laughs)
- That the pot smoking good girl.
- Wow.
I was so much better than all those.
- Oh, the rest of the girls were a group.
- And I don't think that she,
I didn't always hang out with those people at school.
So I was sort of an undercover pot smoking.
- I got you.
- Whatever.
(laughs)
- And I went in and told her what was happening.

And she immediately asked me if we could go to a family therapist.
She came with me to a family therapist who then asked me,
could we talk to your mom?
And I said, yeah, that'd be fine.

Yeah.
And she was like, okay, we're all done now.
And so like we're all done now.
We're all leaving.
Yeah.
We're done.
'Cause she was thinking about the security of a house
and she was really scared of him.
- Sure.
- Because he was a maniac.
So she felt like if it was just her being--
- Right, traumatized, whatever.
- Yes.
She couldn't see, she just couldn't see what was happening.
So that started a summer of real scarieness.
It was, there was about a month before he moved out,
actually, she told him.
I know, again, it was sort of,
it's sort of like your horror story of walking
into your house.
Yeah, well, I came home one night with my boyfriend
and he was there and my mom wasn't there
And we maybe had been smoking something earlier
because we went straight to the refrigerator.
I don't know.
- That's possible.
- Anyway, he came in to the kitchen
and slammed the refrigerator shut so hard
that everything fell out of the door
and said something really horrible to me.

And as I looked at him, I didn't know what I was seeing,
but he was completely, there were flames in his eyes,
literally. - Wow.
- He was completely something bad happening.
- And inhabited. - Yes.

I run out of the house, and I'm a pretty slow runner.
My boyfriend ran track.
He was a really fast runner.
And I didn't have that much of a head start,
but I ran about a half a mile to this little lake
that was by her house and didn't stop running
until I was chest deep in the water.
And he never could catch me.
- Oh wow.
- And so we went to my friend's house.
There were no cell phones.
I'm old.
(laughing)
- No, there wouldn't be cell phones.
- And called my mom, she was at a friend's house.
And she said, okay, stay at Julie's, don't come home.
And you know, just needless to say, it was not good.
She didn't leave me alone with him anymore,
but it was bad.
He tried to talk me into coming and moving, living with him.
But I know.
I know, psycho.
Right. Psycho.
So they get divorced, but it's messy and scary
and there's threats.
And when he moved out, we had left for the weekend,
'cause my mom thought that that'd be easier.
- Right, yeah, yeah.
- And when we came home, he had literally taken
anything of value from the house.
- Oh my gosh.
- So that was horrible.
He went into my room and took a whole bunch of my things.
Just, you know.
- To get back at you.
- So that was bad.
- Wow.
- And we were afraid of him,
But I didn't see him again.
I probably didn't see him again for probably close to 10,
12 years.
And we lived in the same town,
but I just never saw him.
I didn't ever see him.
I didn't have to see him.
- And you have a brother that's his.
- Yeah, so he would go and see him.
But me and David, we never saw him.
So there's all that.
That's the backdrop for then the next 10 years or so.
little bit less of my life.
I did a lot of drugs.
Actually, alcohol was my drug of choice.
I drank when I drank, I drank.
- Wow.

It was, you know, I was a wreck.
- Well, if you don't have Jesus,
you're gonna turn to something.
- Yeah, and my mom didn't really know what to do.
- Sure.
- So because I'd already gone through so much,
She thought it would be better to just sort of let me manage myself, which wasn't.
Okay.

And we got all kinds of stuff happening.
You know what I mean?
There's just a lot going on and, and don't, you know, my mom has a job that's not making very much money.
and Bill's not paying any child support,
even though he's supposed to, but we're too scared, you know?
- Right, right, right.
 - For sure, yeah.
- Which is tragic. - Yeah.
- But I spent the next almost 10 years just, you know.
- Hiding an addiction.
- Hiding an addiction in various forms.
Then when I was 24, I had some friends who'd been trying to talk to me about Jesus for
a few years.
And I just wasn't interested.
Especially the husband was really forceful, kind of one of those beat over the head with
the Bible guys.
And I just wasn't into it.
would just go, you know, you're going to do what you're going to do. I'm going to do what
I'm going to do. It's all good. Love that.  But then, uh, one day I went to their house, this couple,
and they had this band, this Christian band that was rehearsing in their house. And one
of the guys in the band, his name is Daven. And I knew him from, I'd known him for a couple
years kind of off and on I'd see him places and whatnot.
Yeah.
And I cut his hair.
Yeah.
So he came out of the house with his Bible and I thought, oh, for the love.
No, nothing with it.
Yeah.
And he starts telling me something and I'm a kind of a, I'm the person that just get
to the point quickly because I might fall over dead.
If you just give me all the details first.
I'm happy to have the details later, but just get to the point right now.
Yeah.
Yeah.
Love it.
So he's taking a really long time to get to this point.
My friends has been had just been picked up for rape.
Oh, my gosh.
And as he tells me this, the only way I can describe it is I was shocked but not surprised.

It's horrible, but it made sense to me.
And I was so grateful that the Lord didn't let this guy lead me to him.
That would have been devastating, you know, just like one more huge betrayal.
So this friend of mine had two little kids under the age of four and no, she didn't have
a family to support her. And so basically she's kind of in the same situation as my mom was.
And so I'm just going to help her all the ways that I can. So I was spending a lot of time with
her and she was just trying to figure out what am I going to do, dah, dah, dah. So one day we went
for ice cream because you know, when everything's going bad, get ice cream. Now I still by
lived by that role. I'm not going to lie. I went for ice cream yesterday for exactly that reason.
Wasn't a good day. I got to go to Jenny's.
Go for ice cream.
So we're standing in the line and she just casually looks at me and just says,
you know, you should get all the ice cream you can because where you're going, there won't be any
ice cream. Well, had she not been talking to me about the Lord for several years,
I would have been offended, but I wasn't.
And so we went home to her house and I just said,
okay, let's just say the prayer.
And she and another guy from the house.
- It was about, you're motivated by ice cream.
I understand, I'm just kidding.
Yeah.
- I'm saying the prayer, as I'm saying,
the prayer Daven walks in the house.
- Perfect.
- Turns out a few years later,
Daven becomes my husband, which is awesome.
- Spoiler alert.
- But really what I realized in being with her,
spending that much time with her in the worst time of her life.
I knew her really well.
And there's no way she could do what she was doing.
If Jesus wasn't real.
Yeah.
There just was not a chance.
I knew her.
And she was not naturally super robust emotionally.
Right.
And she walked through this whole nightmare with so much
piece that I just realized this Jesus stuff that she's telling me this hat, there has to be more
to it than just what I read in this book. And so that was really what was behind motivating me to
say the prayer. I got filled with the spirit really shortly after that. And so my relationship
with Jesus grew really fast.
- Yeah.
- Because I was really about it, you know?
Really about it.
- Well, I also, I think like,
I think when you've experienced real darkness
and then you find light, you know, you're like, yes.
But like, well, your personality is full on anyway.
You're in there, you know?
You're committed, you're committed.
But I think that makes a lot of sense to me.
- Yeah.
I'd been drinking a lot and mostly drinking.
And one night I had moved in with my cousins
and I was sharing my bedroom with a seven year old,
or the seven year old was actually sharing her bedroom
with me, which was kind.
- Nice.
- So I couldn't get into too much trouble.

Yes, diminished.

So I was like, okay.
- Yeah.
- I'll never get drunk again.
Later, I had to renounce that.
When the Holy Spirit thing started going on,
it's like, oh, I'd like that right there,
that Holy Spirit fall down thing,
but not the rest of it.
Holy Spirit, drunkenness, not yes, got you.
But I just stopped.
That's pretty miraculous.
It was because every really close friend of mine
either went to treatment or something bad happened to them.
Because if you drink a lot,
you hang around with people who drink more than you
so you don't look bad.
Right?
So, right.
And then everything kind of changed from then.
Then my church friends, I was hanging out with them more
and the people who party,
they didn't really wanna hang out with me
because then you gotta look at what might be happening.
- Right, right.
- So I just stopped.
A couple of times I was tempted
and the Lord shut me down in the best way.

- Right.
(laughs)
And I was just like, you know what, Lord?
I'm feeling like I might do this.
And I flipped my Bible open.
I don't recommend this.
It doesn't always work like this,
but I just flipped my Bible open to,
no temptation has overcome you,
except that which is common to man.
And he is faithful to provide a way out for you.
I slammed my Bible shut.
It was like, okay, no, I'm good.
- Yeah, I'm good.
So that was amazing and crazy.
- So tell us about Daven coming on the scene.
I mean, he's already on the scene.
- He's on the scene and so I got saved
and then about, I don't know,
less than a week later he showed up at my house
and we were friends and asked me out.
So I was like, sure, that sounds great.
We'll go out.
He took me to a really nice restaurant.
He was dressed really nice.
all great. And so we started going out and we went out for, I don't know, a month or six weeks,
but I realized pretty quickly, he was way nicer than any guy I'd ever gone out with.
And he was like too nice. Well, you weren't used to anybody being nice to you.
No, I wasn't. So I had to dump him. Of course. Yeah.
- Yeah, horrible.
- It was actually good for me
because then I spent the next 18 months
probably really building my own relationship with the Lord.
I know women who marry somebody
who's further along spiritually than they are
and sometimes that doesn't develop.
They don't develop their own relationship.
They kind of ride on the coattails
of maybe their boyfriend or husband or whoever.
And then when bad stuff happens, they don't have--
- They don't have the foundation to it.
- They don't have anything.
Yeah, go through it.
- Also, I needed a lot of healing
and that probably wouldn't have been very fun for now.
And can I just--
- You know I would imagine that.
(laughs)
- I had a lot of issues.
So we were apart for,
huh, 18 months, probably.
- Okay.
And one day he got the courage to ask me out for coffee.
- Yeah.
- And as we're having coffee, he's being so cool, calm,
and collected.
- Right.
- And he's like, well, I think we should pray
about going out again.

This is huge.
This is a huge ask.
Yeah, yeah.
So I'm just like, ah, I got to think about that.
And so I happened to be leaving for the weekend and was with this woman that I was sort of
friends with, but she wasn't super in my life.
We're in another city.
And I just basically verbally processed, God bless her for listening.
process kind of all this stuff with her. And she didn't have a dog in the fight. She didn't
know Daven. She didn't care one way or the other. I mean, she didn't give me really any advice,
but she was a great sounding board. And so by the time I got home, I was like, okay, Lord, you know
what? This isn't who I'd pick. And the Lord being so cheeky. And if you don't know, he's cheeky.
He's like, well, you've done a great job so far.
Yeah. Yeah.
Because really, I don't really dated jerks.
Right.
And so I'm like, okay, I surrender.
I just surrender to you.
If this is, if Daven, to you have, I surrender to you.
So I tell Daven, okay, let's go out.
And literally that list that girls all have,
Yeah.
He fulfilled every one of the things.
My list was down to, it's going to be a guy.
[laughs]
-He's just breathing and have teeth, that sort of thing.
-Yeah, yeah.
-But it was so sweet, just all the things.
He was not like anybody I had ever dated
because I just always dated the wrong kind of person for me.
-Right. -Right.
-Yeah. He was really kind. He's very quiet.
-Very steady. -Not really quiet.
-You're not really quiet, no.
Sometimes not that steady.
Doesn't get, you know, all wound up about stuff as much as I do.
Yeah.
You're like the dolphin in the boat scenario, right?
You have the boat that's like going along and then the dolphin going up.
He's the boat.
You're the dolphin.
Yeah.
Yes.
Okay.
Yeah.
Yeah.
Yeah.
That sounds about right.
So that was in maybe the middle end of January and we got engaged on Valentine's
- Wow.
- But we'd known each other,
but then for like five years.
- Yeah, yeah, yeah, yeah.
- We were a little older,
I mean, we were older than all of our friends
who had gotten married.
So it's not like we were old when we got married,
but we weren't like 22 or something.
- Gotcha.
- So got married, that was great.
Then we had Mikayla about just a little over a year
after we got married.
Then we had Dallas a few years after that.
But my big amount of healing started when Michaela was five.
- Wow, okay.
- Because when I saw what a five year old should look like,
it all of a sudden occurred to me,
oh my gosh.
How could no one have seen, I was so mad.
I was so mad.
I'd never been mad at my mom
'cause you know what, she was the hero.
She moved us out.
But during that season, I was so,
angry with her. Yeah. Like how did you miss this? How did you miss this? Exactly. And you know,
really, she missed it because she was in a lot of trauma too. Yeah. We were all really traumatized.
But I'm so grateful. I have some really good friends in Seattle that knew how much distress I
was in. Yeah. And they secretly, they secretly paid for half of all my counseling for probably 18
months. Oh my gosh. Yeah. That's amazing. It was amazing. So, and I also had a couple
other friends that on the weeks that I wasn't seeing my counselor, I would just go process
with them. And they were so great because counselors are amazing. I love counselors,
but they are your real life people. No. And if you don't have real life people who are
are actually gonna keep asking you questions
and calling you on things in a kind, loving way.
You can go to all the counseling you want,
but you need real life people.
- Yeah, yeah, you need safe community,
otherwise it's in a bubble, isn't it?
- Yeah, so they would call me on,
I was really, had a lot of victim tendencies
and they would, I just remember getting in a big fight
with my friend, basically,
You don't know how bad I had it.
Well, it's like, you're right.
And still, this is not going to help you.
- Yeah.
- I really love you.
This is not going to help you.
- Yeah.
- We're going to have to help you learn
how to live a different way.
- Yeah.
- Which was invaluable.
- Yeah.

Yeah.

Sure.
Because I was...
Well, you don't have any vision no matter what people are telling you.
You actually don't have a vision for who would I be without this, which sounds sort of sick
and weird.
In the midst of it, if this is all you've known,
even if Jesus is offering you this other thing,
you still need some help getting there.
- Yeah, yeah, for sure.
- You know what I mean?
So it's like, I love so much that
I love that the church is starting to recognize
the value of therapy and counseling and all that.
But if it's not, this is my opinion,
if it's not coupled with a Holy Spirit guided inner healing.
- I agree.
- It's gonna be helpful, not the most helpful.
Because you have to have the Holy Spirit
give you what you need in order to do all the great things
that they're telling you, okay, change your lifestyle.
Yeah, that doesn't just happen.
I mean, you could gut it out, I suppose.
But real change only happens
when you combine that information
with the power of the Holy Spirit
that enables you to actually do it and changes your heart.
That's what changes your heart.
You know that.
I was so grateful for that kind of community
and that kind of help.
It changed my life.
- Yeah.
I think probably we both are passionate
about inner healing for the same reason
'cause it could have gone really bad.
- Oh my gosh.
- You know, I mean really probably both of us
wouldn't be here.
- No.

I think one of the things that I love
about your story Shannon is that, you know,
I feel like I know you pretty well.
And you don't read at all like what you have survived.

Well, and really you've, I mean, not to,
don't want to be mean, but you've lived a horror story.
And on the other side, God has taken all of that
and he said, I can redeem everything and he has, you know.
He's good like that.
He is good like that.
It's pretty cool.
Yeah.
So I, obviously I'm really passionate about inner healing.
Well, and you're very good at inner healing as well.
Not only, you're passionate about it, you're very good at teaching it, but you're also,
Shannon's one of the people at church that will, especially for the school that meets
with people and just helps them unhook from things.
And I know just even sessions that we've done, you're just, you're skilled.
Thank you.
So you're not just passionate, you're skilled,
but anyway, go ahead.
- I think that that's what I love
about being involved with the school, truthfully,
is that I've met with people who are in their 40s
and 50s and 60s, man, I'd like to catch you in your 20s.

And I know that there's so many people,
I'll just say this, when all this stuff came out
when I was telling my mom, told my mom
and no one was talking about incest,
there was no court, anything.
You couldn't, we could have maybe taken him to court.
It didn't seem worth it to me because I was so afraid.
- No, and then you have to keep seeing him.
- Potentially, yes.
And it really wasn't like it is today.
I'm thankful that there's more predators
being prosecuted. I understand though that this happens all
the time. And I actually remember I met a girl when I was in my
early 20s, who had a similar story, but her mom wouldn't leave.
Oh, wow. You know, it was just like, so I know that that
happens. I love to help people recognize. Okay, this was
really bad. But it's not too bad for Jesus to.
Yeah.
Do something about you don't have to be identified with your pain for your whole life.
Yeah.
If you don't want to, yeah, it's painful.
You're going to have to face it.
Yeah.
We can face it together.
Yeah.
But Jesus has something for you in the midst of this and you can walk away.
It's not like you have amnesia, but it is like I don't have to live like that is true.
Yeah, which is amazing.
Yeah.
So thankful.

The worst.

And I don't know how many times I've heard something similar when you're praying for somebody where they're just like, no, I knew God would, you know, I get it that God did it for you and he did it for Janet and he did it for this.
for this, but I don't think he's going to do it for me.
  It doesn't have
to define you. You can literally, you're not going to forget it. I'll just tell you that.
You don't forget, but it doesn't have the power anymore.
You know, like there's no power behind it
to just sort of sap everything out.
- Yeah.
- So anyway, I just thought, if you're listening
and this is like, oh, I didn't know.
- Yeah, could we just pray real quick?
- Yeah.
- All right, Lord, thank you so much
for your power to redeem, for your power to cleanse
and purify Lord.
And I just ask right now, Lord, that if anybody,
anyone who's listening that has a similar story, that they would feel your presence right now,
Holy Spirit, that you would come alongside and bring your peace. And that's one of the ways that
you know that His presence is there, the Holy Spirit's presence is there, that peace. And just
bring peace to their mind.
And Lord, I ask that you would open a door for healing.
Yeah.
If you're in the midst of a thing like this, I, I want to
encourage you to go talk to someone that feels safe so that
maybe a teacher, it might be a good friend.
it could be a pastor or just somebody that you trust and tell them and let them help you
begin to figure out a plan. Yeah. Yeah. So Father, I just thank you for courageous
men and women who can look to you and trust you a little bit, just a little bit, and begin to walk
out of the things that have defined them and defiled them. Thank you, Jesus.
So good. I was just thinking, because we've still got the applications open for the school,
And we didn't actually mention you are the pastor for the school.
You and Matt are pastors for the school.
And Matt was on the podcast last week.
I heard that.
Yeah.
So I think it's quite fun that people get to meet you and hear your heart.
But the thing that I keep thinking of is what we kept touching on is, you know,
community actually, healthy community facilitates healing as well.
And that's one of the things that we've prioritized at the school.
And even in the online format, we have groups where we're meeting and we're having some sort
of healthy community. But I was just trying to think, like, when you think about your steps to
healing, if there's people that are listening that are like, I don't know how to do that where I am.
I don't know how to find that where I am. What are your thoughts about that?
Well, again, you could do the online school and we go through lots of, we give you lots of good
tools, but also in our school, you have a small group leader, you have people in your small group
that are committed to, you know, helping each other grow and etc. You can meet with me.
there's a little bit of a start. If not, if you want to grow, there are so many resources online.
Yeah.  There's things like restoring the foundations, heart, sync.
the trauma prayer is out there. There's the Immanuel process, which is really great.
There's lots of different modalities of, I mean, there's so many inner healing kind of different
streams that are out there, but you want safe people. Yeah, yeah, safe people. If it's Jesus
led, Holy Spirit inspired, that's really good. And something that has a little bit of a community
aspect is really helpful. Yeah. We can put links to all those things in the show notes.
So like restoring the foundations and all those things so that you can check some of those things
out if you want to. Many of them might have a local ministry to you like they're all over the
world, you know, quite a few of them. And so no matter where you are, you might be able to
access that locally. Also, I just want to encourage you don't suffer in silence, you know, like
If you're like, I need this, go after it. You're worth it.
Yeah.
So well, thank you, friends, so much for sharing your testimony.
It was such a pleasure to be here.
Thanks for having me.
Yeah, obviously.
Finally.
Yeah.
Finally.
We're, if you heard any slurping while we were talking, it was that we're drinking coffee as well, because you might as well like, you know, make good use of your time.
That's right.
Well, thanks for coming.
Thanks so much for having me.
It was great.
If you want to see a little bit more content from either Matt or Shannon, Matt was on last week,
of course, Shannon, you've just heard. We've filmed a little video of them and we'll put a link in
the show notes for you to be able to watch that. Yeah, it's just a fun little video where they're
riffing off of each other and you learn a little bit about them, how they got involved in SSL,
what they're doing in SSL. It's a fun little five minute video. So if you're looking for something
a little palette cleanser from.
(laughing)
- Oh, you just watched.
- Yeah, you can be restored to joy with some laughter.
- There you go.
- And as you heard on the video,
Shannon is one of the passes
of our School of Supernatural Life at Gray Center.
And enrollment for SO cell is closing quickly.
July 15th is the date that if you're interested
in doing SO cell online or SO cell on campus,
you have to have your completed application in by July 15th.
But maybe you're thinking, I would love a little bit more information
by that, or maybe I'd like to meet with Matt or Shannon.
To just even talk about is the school of good fit for me.
They are available to meet with you either in person, if you're local
or online, if you're not, to just talk about what the school is,
see if it's a good fit for you in this stage of life.
If you would like to take advantage of that and get some time with Matt and Shannon,
go to schoolofsupernaturallife.org/connect.
And again, I'll put a link to that in our show notes.
And finally, this show is supported by our generous members
who support us and get some benefits.
If you would like video access to this episode,
another episode, if you'd like to get discounts
on our books and products,
if you'd like to get priority Q&A
and that warm feeling that come from being generous,
head on over to allen and AJ.com/join
to learn all about membership and its benefits.
Until next time, thanks for joining us.


Robot speed
ROS + Bootstrap interface demo
set speed using a slider
use joystick or WASD keys on keyboard to move


LUAC
Section: User Commands (1)Updated: $Date: 2006/01/06 16:03:34 $
Index Return to Main Contents
NAME
luac - Lua compilerSYNOPSIS
luac [ options ] [ filenames ]DESCRIPTION
luac is the Lua compiler. It translates programs written in the Lua programming language into binary files that can be later loaded and executed.The main advantages of precompiling chunks are: faster loading, protecting source code from accidental user changes, and off-line syntax checking.
Pre-compiling does not imply faster execution because in Lua chunks are always compiled into bytecodes before being executed. luac simply allows those bytecodes to be saved in a file for later execution.
Pre-compiled chunks are not necessarily smaller than the corresponding source. The main goal in pre-compiling is faster loading.
The binary files created by luac are portable only among architectures with the same word size and byte order.
luac produces a single output file containing the bytecodes for all source files given. By default, the output file is named luac.out, but you can change this with the -o option.
In the command line, you can mix text files containing Lua source and binary files containing precompiled chunks. This is useful to combine several precompiled chunks, even from different (but compatible) platforms, into a single precompiled chunk.
You can use '-' to indicate the standard input as a source file and '--' to signal the end of options (that is, all remaining arguments will be treated as files even if they start with '-').
The internal format of the binary files produced by luac is likely to change when a new version of Lua is released. So, save the source files of all Lua programs that you precompile.
OPTIONS
Options must be separate.- -l
- produce a listing of the compiled bytecode for Lua's virtual machine. Listing bytecodes is useful to learn about Lua's virtual machine. If no files are given, then luac loads luac.out and lists its contents.
- -o file
- output to file, instead of the default luac.out. (You can use '-' for standard output, but not on platforms that open standard output in text mode.) The output file may be a source file because all files are loaded before the output file is written. Be careful not to overwrite precious files.
- -p
- load files but do not generate any output file. Used mainly for syntax checking and for testing precompiled chunks: corrupted files will probably generate errors when loaded. Lua always performs a thorough integrity test on precompiled chunks. Bytecode that passes this test is completely safe, in the sense that it will not break the interpreter. However, there is no guarantee that such code does anything sensible. (None can be given, because the halting problem is unsolvable.) If no files are given, then luac loads luac.out and tests its contents. No messages are displayed if the file passes the integrity test.
- -s
- strip debug information before writing the output file. This saves some space in very large chunks, but if errors occur when running a stripped chunk, then the error messages may not contain the full information they usually do. For instance, line numbers and names of local variables are lost.
- -v
- show version information.
FILES
- luac.out
- default output file
SEE ALSO
lua(1)http://www.lua.org/
DIAGNOSTICS
Error messages should be self explanatory.AUTHORS
L. H. de Figueiredo, R. Ierusalimschy and W. Celes
Index
This document was created by man2html, using the manual pages.
Time: 05:29:05 GMT, December 24, 2015


GERMAN FASHION WIZARDS
This week we had the chance of interviewing two creative artists from Germany. These guys are simply amazing at what they do with the European fashion scene and this year at Paris Fashion Week they introduced their new collection.


|
|||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
| Interface Summary | |
|---|---|
| MarkerConstants | Constants file for the marker feature implementation. |
| MarkerDuplicateComparator | This interface defines the contract for a class that determines if two markers are duplicates of each other. |
| MarkerValidator | This interface defines a marker validator. |
| MarkerValidatorContainer | This interface defines the contract for class that contains MarkerValidators mapped by string keys. |
| Class Summary | |
|---|---|
| CompareByProperties | This class is a MarkerDuplicateComparator that compares two markers by type and property value. |
| ConfigurableMarkerValidator | This marker validator validates the marker's value against a configured array of possible values. |
| MarkerAddedEventMessage | This class defines the base properties for a marker added event. |
| MarkerData | This class is a holder of Marker property values for use in Marker events. |
| MarkerEventMessage | This class defines the base properties for a marker event. |
| MarkerEventSynchronization | This transaction synchronization class can be used to send marker event messages after markers are successfully added and or removed. |
| MarkerMessageSource | A patch bay message source responsible for sending Marker events. |
| MarkerRemovedEventMessage | This class defines the base properties for a marker removed event. |
| MarkerReplacedEventMessage | This class defines the base properties for a marker replaced event. |
| MarkerUtils | |
| RepositoryMarkerManager | This is the base implementation class for a Repository Marker Manager. |
| ValidateMarkerByPossibleValue | This abstraction defines a marker validator that valdiates by ensuring the new marker's value is valid with the new marker's key. |
| Exception Summary | |
|---|---|
| InvalidMarkerException | This exception indicates that a severe error occured while performing a marker operation. |
| MarkerException | This exception indicates that a severe error occured while performing a marker operation. |
|
|||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |


|
PX4 Firmware
PX4 Autopilot Software http://px4.io
|
Driver for the simulated gyro. More...
#include <inttypes.h>
#include <px4_config.h>
#include <px4_getopt.h>
#include <sys/types.h>
#include <stdint.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include <fcntl.h>
#include <poll.h>
#include <errno.h>
#include <stdio.h>
#include <math.h>
#include <unistd.h>
#include <simulator/simulator.h>
#include <perf/perf_counter.h>
#include <systemlib/err.h>
#include <systemlib/conversions.h>
#include <board_config.h>
#include <drivers/drv_hrt.h>
#include <drivers/device/device.h>
#include <drivers/device/ringbuffer.h>
#include <drivers/device/integrator.h>
#include <drivers/drv_accel.h>
#include <drivers/drv_gyro.h>
#include <mathlib/math/filter/LowPassFilter2p.hpp>
#include <lib/conversion/rotation.h>
#include "VirtDevObj.hpp"
Go to the source code of this file.
Classes | |
| class | GYROSIM |
| struct | GYROSIM::MPUReport |
| Report conversation within the GYROSIM, including command byte and interrupt status. More... | |
| class | GYROSIM_gyro |
| Helper class implementing the gyro driver node. More... | |
Namespaces | |
| gyrosim | |
| Local functions in support of the shell command. | |
Macros | |
| #define | DIR_READ 0x80 |
| #define | DIR_WRITE 0x00 |
| #define | MPU_DEVICE_PATH_ACCEL "/dev/gyrosim_accel" |
| #define | MPU_DEVICE_PATH_GYRO "/dev/gyrosim_gyro" |
| #define | MPUREG_SMPLRT_DIV 0x19 |
| #define | MPUREG_CONFIG 0x1A |
| #define | MPUREG_GYRO_CONFIG 0x1B |
| #define | MPUREG_ACCEL_CONFIG 0x1C |
| #define | MPUREG_INT_STATUS 0x3A |
| #define | MPUREG_PRODUCT_ID 0x0C |
| #define | GYROSIMES_REV_C4 0x14 |
| #define | GYROSIM_ACCEL_DEFAULT_RATE 400 |
| #define | GYROSIM_GYRO_DEFAULT_RATE 400 |
| #define | EXTERNAL_BUS 0 |
Functions | |
| __EXPORT int | gyrosim_main (int argc, char *argv[]) |
| driver 'main' command More... | |
| int | gyrosim::start (enum Rotation rotation) |
| Start the driver. More... | |
| int | gyrosim::stop () |
| Stop the driver. More... | |
| int | gyrosim::test () |
| Perform some basic functional tests on the driver; make sure we can collect data from the sensor in polled and automatic modes. More... | |
| int | gyrosim::reset () |
| Reset the driver. More... | |
| int | gyrosim::info () |
| Print a little info about the driver. More... | |
| int | gyrosim::regdump () |
| Dump the register information. More... | |
| void | gyrosim::usage () |
| Prints info about the driver argument usage. More... | |
Variables | |
| GYROSIM * | gyrosim::g_dev_sim |
Driver for the simulated gyro.
Definition in file gyrosim.cpp.
| #define DIR_READ 0x80 |
Definition at line 83 of file gyrosim.cpp.
Referenced by GYROSIM::_measure(), GYROSIM::read_reg(), and GYROSIM::transfer().
| #define DIR_WRITE 0x00 |
Definition at line 84 of file gyrosim.cpp.
Referenced by GYROSIM::write_reg().
| #define EXTERNAL_BUS 0 |
Definition at line 109 of file gyrosim.cpp.
| #define GYROSIM_ACCEL_DEFAULT_RATE 400 |
Definition at line 102 of file gyrosim.cpp.
Referenced by GYROSIM::devIOCTL(), and GYROSIM::GYROSIM().
| #define GYROSIM_GYRO_DEFAULT_RATE 400 |
Definition at line 104 of file gyrosim.cpp.
Referenced by GYROSIM::_set_sample_rate(), and GYROSIM::GYROSIM().
| #define GYROSIMES_REV_C4 0x14 |
Definition at line 100 of file gyrosim.cpp.
Referenced by GYROSIM::set_accel_range().
| #define MPU_DEVICE_PATH_ACCEL "/dev/gyrosim_accel" |
Definition at line 86 of file gyrosim.cpp.
Referenced by gyrosim::reset(), gyrosim::start(), and gyrosim::test().
| #define MPU_DEVICE_PATH_GYRO "/dev/gyrosim_gyro" |
Definition at line 87 of file gyrosim.cpp.
Referenced by gyrosim::start(), and gyrosim::test().
| #define MPUREG_ACCEL_CONFIG 0x1C |
Definition at line 93 of file gyrosim.cpp.
Referenced by GYROSIM::set_accel_range().
| #define MPUREG_CONFIG 0x1A |
Definition at line 91 of file gyrosim.cpp.
| #define MPUREG_GYRO_CONFIG 0x1B |
Definition at line 92 of file gyrosim.cpp.
| #define MPUREG_INT_STATUS 0x3A |
Definition at line 94 of file gyrosim.cpp.
Referenced by GYROSIM::_measure(), and GYROSIM::transfer().
| #define MPUREG_PRODUCT_ID 0x0C |
Definition at line 95 of file gyrosim.cpp.
Referenced by GYROSIM::print_registers(), and GYROSIM::transfer().
| #define MPUREG_SMPLRT_DIV 0x19 |
Definition at line 90 of file gyrosim.cpp.
Referenced by GYROSIM::_set_sample_rate().
| int gyrosim_main | ( | int | argc, |
| char * | argv[] | ||
| ) |
driver 'main' command
Definition at line 1351 of file gyrosim.cpp.
References gyrosim::info(), px4_getopt(), gyrosim::regdump(), gyrosim::reset(), ROTATION_NONE, gyrosim::start(), gyrosim::stop(), gyrosim::test(), and gyrosim::usage().


Create a `.env` from env-template in ./env using the following shell command:
cp ./env/env-template ./env/.env
You can change the environment config of the for the docker setup inside the .env file, any time.
Then simply type into your shell:
docker-compose up
Thats it. The boilerplate is running. Now place your php files inside the `./app` folder, and browse for them.
Enjoy.
https://github.com/therufa/docker-php-boilerplate
The environment can be configured within the .env file, which is a prerequisite to run the application. To create this, copy or rename the env-template file to .env
Defines the relative or absolute path to the application you desire to run.
Deines the path of the docker container configuration.
Defines where persistent data should be stored. Right now, this is used for mysql only.
These constants are prefixed with MYSQL_, followed by database, username, password, port, etc...


Uses of Package
opennlp.tools.postag
-
Packages that use opennlp.tools.postag Package Description opennlp.tools.cmdline.postag opennlp.tools.formats Experimental package related to converting various corpora to OpenNLP Format.opennlp.tools.formats.ad opennlp.tools.formats.conllu opennlp.tools.formats.convert opennlp.tools.formats.masc opennlp.tools.formats.ontonotes opennlp.tools.parser Package containing common code for performing full syntactic parsing.opennlp.tools.postag Package related to part-of-speech tagging.opennlp.tools.util.featuregen This package contains classes for generating sequence features.opennlp.tools.util.model -
Classes in opennlp.tools.postag used by opennlp.tools.cmdline.postag Class Description POSModel POSSample Represents an pos-tagged sentence.POSTaggerEvaluationMonitor -
Classes in opennlp.tools.postag used by opennlp.tools.formats Class Description POSSample Represents an pos-tagged sentence. -
Classes in opennlp.tools.postag used by opennlp.tools.formats.ad Class Description POSSample Represents an pos-tagged sentence. -
Classes in opennlp.tools.postag used by opennlp.tools.formats.conllu Class Description POSSample Represents an pos-tagged sentence. -
Classes in opennlp.tools.postag used by opennlp.tools.formats.convert Class Description POSSample Represents an pos-tagged sentence. -
Classes in opennlp.tools.postag used by opennlp.tools.formats.masc Class Description POSSample Represents an pos-tagged sentence. -
Classes in opennlp.tools.postag used by opennlp.tools.formats.ontonotes Class Description POSSample Represents an pos-tagged sentence. -
Classes in opennlp.tools.postag used by opennlp.tools.parser Class Description POSModel POSSample Represents an pos-tagged sentence.POSTagger The interface for part of speech taggers. -
Classes in opennlp.tools.postag used by opennlp.tools.postag Class Description MutableTagDictionary Interface that allowsTagDictionary
entries to be added and removed.POSContextGenerator The interface for a context generator for the POS Tagger.POSDictionary Provides a means of determining which tags are valid for a particular word based on a tag dictionary read from a file.POSModel POSSample Represents an pos-tagged sentence.POSTagger The interface for part of speech taggers.POSTaggerEvaluationMonitor POSTaggerFactory The factory that provides POS Tagger default implementations and resourcesTagDictionary Interface to determine which tags are valid for a particular word based on a tag dictionary. -
Classes in opennlp.tools.postag used by opennlp.tools.util.featuregen Class Description POSModel POSTagger The interface for part of speech taggers. -
Classes in opennlp.tools.postag used by opennlp.tools.util.model Class Description POSModel


I'd love to hear from you. If you have any questions or comments, please send an email
Name:
Email:
Message:
Home
About
Feng-shui
Sanctuary
Contact


Plugin Details
Plugins cannot be edited, but details about the plugin can be viewed on this page. Additionally, the plugin can be deleted via the Delete button below.
Plugin Coordinates
- Group Id
-
{{ plugin.groupId }}
- Artifact Id
-
{{ plugin.artifactId }}
- Version
-
{{ plugin.version }}
- Classifier
-
{{ plugin.classifier }}
Plugin Info
- Description
-
{{ plugin.description }}


Improve this Doc
Ionic's grid system is based on [flexbox](http://www.w3.org/TR/css3-flexbox/), a CSS feature supported by all devices that Ionic supports. The grid is composed of three units — _grid_, _rows_ and _columns_. Columns will expand to fill their row, and will resize to fit additional columns.
Rows have no padding or margin applied to them. If that is needed, `ion-grid` can be added to provide additional padding.
The width, offset, wrapping behavior, and other aspects of the components in Ionic's grid system can be customized with [Grid utility attributes](../theming/css-utilities#ion-grid-properties).
Demo Source
``` html
This column will take 10% of space
This column will take 10% of space
```


ApiController
| Package | application.controllers |
|---|---|
| Inheritance | class ApiController » Controller » CController » CBaseController » CComponent |
| Version | 0.1 |
| Source Code |
This Class represents API Interface
Public Properties
| Property | Type | Description | Defined By |
|---|---|---|---|
| action | CAction | the action currently being executed, null if no active action. | CController |
| actionParams | array | Returns the request parameters that will be used for action parameter binding. | CController |
| breadcrumbs | array | the breadcrumbs of the current page. | Controller |
| cachingStack | CStack | stack of COutputCache objects | CController |
| clips | CMap | Returns the list of clips. | CController |
| defaultAction | string | the name of the default action. | CController |
| id | string | ID of the controller | CController |
| layout | string | the default layout for the controller view. | Controller |
| menu | array | context menu items. | Controller |
| module | CWebModule | the module that this controller belongs to. | CController |
| pageTitle | string | the page title. | CController |
| route | string | the route (module ID, controller ID and action ID) of the current request. | CController |
| uniqueId | string | the controller ID that is prefixed with the module ID (if any). | CController |
| user | Controller | ||
| viewPath | string | Returns the directory containing view files for this controller. | CController |
Public Methods
| Method | Description | Defined By |
|---|---|---|
| __call() | Calls the named method which is not a class method. | CComponent |
| __construct() | CController | |
| __get() | Returns a property value, an event handler list or a behavior based on its name. | CComponent |
| __isset() | Checks if a property value is null. | CComponent |
| __set() | Sets value of a component property. | CComponent |
| __unset() | Sets a component property to be null. | CComponent |
| accessRules() | Returns the access rules for this controller. | CController |
| actionCreate() | ApiController | |
| actionDelete() | ApiController | |
| actionList() | ApiController | |
| actionUpdate() | ApiController | |
| actionView() | ApiController | |
| actionanswer() | ApiController | |
| actionisAuthValid() | ApiController | |
| actions() | Returns a list of external action classes. | CController |
| actionstackswithquestions() | ApiController | |
| asa() | Returns the named behavior object. | CComponent |
| attachBehavior() | Attaches a behavior to this component. | CComponent |
| attachBehaviors() | Attaches a list of behaviors to the component. | CComponent |
| attachEventHandler() | Attaches an event handler to an event. | CComponent |
| beginCache() | Begins fragment caching. | CBaseController |
| beginClip() | Begins recording a clip. | CBaseController |
| beginContent() | Begins the rendering of content that is to be decorated by the specified view. | CBaseController |
| beginWidget() | Creates a widget and executes it. | CBaseController |
| behaviors() | Returns a list of behaviors that this controller should behave as. | CController |
| canGetProperty() | Determines whether a property can be read. | CComponent |
| canSetProperty() | Determines whether a property can be set. | CComponent |
| clearPageStates() | Removes all page states. | CController |
| createAbsoluteUrl() | Creates an absolute URL for the specified action defined in this controller. | CController |
| createAction() | Creates the action instance based on the action name. | CController |
| createUrl() | Creates a relative URL for the specified action defined in this controller. | CController |
| createWidget() | Creates a widget and initializes it. | CBaseController |
| detachBehavior() | Detaches a behavior from the component. | CComponent |
| detachBehaviors() | Detaches all behaviors from the component. | CComponent |
| detachEventHandler() | Detaches an existing event handler. | CComponent |
| disableBehavior() | Disables an attached behavior. | CComponent |
| disableBehaviors() | Disables all behaviors attached to this component. | CComponent |
| enableBehavior() | Enables an attached behavior. | CComponent |
| enableBehaviors() | Enables all behaviors attached to this component. | CComponent |
| endCache() | Ends fragment caching. | CBaseController |
| endClip() | Ends recording a clip. | CBaseController |
| endContent() | Ends the rendering of content. | CBaseController |
| endWidget() | Ends the execution of the named widget. | CBaseController |
| evaluateExpression() | Evaluates a PHP expression or callback under the context of this component. | CComponent |
| filterAccessControl() | The filter method for 'accessControl' filter. | CController |
| filterAjaxOnly() | The filter method for 'ajaxOnly' filter. | CController |
| filterPostOnly() | The filter method for 'postOnly' filter. | CController |
| filters() | ApiController | |
| forward() | Processes the request using another controller action. | CController |
| getAction() | Returns the action currently being executed, null if no active action. | CController |
| getActionParams() | Returns the request parameters that will be used for action parameter binding. | CController |
| getCachingStack() | Returns stack of COutputCache objects | CController |
| getClips() | Returns the list of clips. | CController |
| getEventHandlers() | Returns the list of attached event handlers for an event. | CComponent |
| getId() | Returns ID of the controller | CController |
| getLayoutFile() | Looks for the layout view script based on the layout name. | CController |
| getModule() | Returns the module that this controller belongs to. It returns null if the controller does not belong to any module | CController |
| getPageState() | Returns a persistent page state value. | CController |
| getPageTitle() | Returns the page title. Defaults to the controller name and the action name. | CController |
| getRoute() | Returns the route (module ID, controller ID and action ID) of the current request. | CController |
| getUniqueId() | Returns the controller ID that is prefixed with the module ID (if any). | CController |
| getViewFile() | Looks for the view file according to the given view name. | CController |
| getViewPath() | Returns the directory containing view files for this controller. | CController |
| hasEvent() | Determines whether an event is defined. | CComponent |
| hasEventHandler() | Checks whether the named event has attached handlers. | CComponent |
| hasProperty() | Determines whether a property is defined. | CComponent |
| init() | Initializes the controller. | CController |
| invalidActionParams() | This method is invoked when the request parameters do not satisfy the requirement of the specified action. | CController |
| isCachingStackEmpty() | Returns whether the caching stack is empty. | CController |
| missingAction() | Handles the request whose action is not recognized. | CController |
| processDynamicOutput() | Postprocesses the dynamic output. | CController |
| processOutput() | Postprocesses the output generated by render(). | CController |
| raiseEvent() | Raises an event. | CComponent |
| recordCachingAction() | Records a method call when an output cache is in effect. | CController |
| redirect() | Redirects the browser to the specified URL or route (controller/action). | CController |
| refresh() | Refreshes the current page. | CController |
| render() | Renders a view with a layout. | CController |
| renderClip() | Renders a named clip with the supplied parameters. | CController |
| renderDynamic() | Renders dynamic content returned by the specified callback. | CController |
| renderDynamicInternal() | This method is internally used. | CController |
| renderFile() | Renders a view file. | CBaseController |
| renderInternal() | Renders a view file. | CBaseController |
| renderPartial() | Renders a view. | CController |
| renderText() | Renders a static text string. | CController |
| resolveViewFile() | Finds a view file based on its name. | CController |
| run() | Runs the named action. | CController |
| runAction() | Runs the action after passing through all filters. | CController |
| runActionWithFilters() | Runs an action with the specified filters. | CController |
| setAction() | Sets the action currently being executed. | CController |
| setPageState() | Saves a persistent page state value. | CController |
| setPageTitle() | Sets the page title. | CController |
| validateAjax() | Controller | |
| widget() | Creates a widget and executes it. | CBaseController |
Protected Methods
| Method | Description | Defined By |
|---|---|---|
| afterAction() | This method is invoked right after an action is executed. | CController |
| afterRender() | This method is invoked after the specified is rendered by calling render(). | CController |
| beforeAction() | Controller | |
| beforeRender() | This method is invoked at the beginning of render(). | CController |
| createActionFromMap() | Creates the action instance based on the action map. | CController |
| loadPageStates() | Loads page states from a hidden input. | CController |
| replaceDynamicOutput() | Replaces the dynamic content placeholders with actual content. | CController |
| savePageStates() | Saves page states as a base64 string. | CController |
Method Details
actionCreate()
method
|
public void actionCreate()
|
Source Code: (show)
public function actionCreate() {
$this->_checkAuth();
switch ($_GET['model']) {
// Get an instance of the respective model
case 'posts':
$model = new Post;
break;
default:
$this->_sendResponse(501, sprintf('Mode create is not implemented for model %s', $_GET['model']));
Yii::app()->end();
}
// Try to assign POST values to attributes
foreach ($_POST as $var => $value) {
// Does the model have this attribute? If not raise an error
if ($model->hasAttribute($var))
$model->$var = $value;
else
$this->_sendResponse(500, sprintf('Parameter %s is not allowed for model %s', $var, $_GET['model']));
}
// Try to save the model
if ($model->save())
$this->_sendResponse(200, CJSON::encode($model));
else {
// Errors occurred
$msg = "
Error
";
$msg .= sprintf("Couldn't create model %s", $_GET['model']);
$msg .= "
";
foreach ($model->errors as $attribute => $attr_errors) {
$msg .= "
Attribute: $attribute
";
$msg .= "
";
foreach ($attr_errors as $attr_error)
$msg .= "
$attr_error
";
$msg .= "
";
}
$msg .= "
";
$this->_sendResponse(500, $msg);
}
}
actionDelete()
method
|
public void actionDelete()
|
Source Code: (show)
public function actionDelete() {
$this->_checkAuth();
switch ($_GET['model']) {
// Load the respective model
case 'posts':
$model = Post::model()->findByPk($_GET['id']);
break;
default:
$this->_sendResponse(501, sprintf('Error: Mode delete is not implemented for model %s', $_GET['model']));
Yii::app()->end();
}
// Was a model found? If not, raise an error
if ($model === null)
$this->_sendResponse(400, sprintf("Error: Didn't find any model %s with ID %s.", $_GET['model'], $_GET['id']));
// Delete the model
$num = $model->delete();
if ($num > 0)
$this->_sendResponse(200, $num); //this is the only way to work with backbone
else
$this->_sendResponse(500, sprintf("Error: Couldn't delete model %s with ID %s.", $_GET['model'], $_GET['id']));
}
actionList()
method
|
public void actionList()
|
Source Code: (show)
public function actionList() {
$this->_checkAuth();
// Get the respective model instance
switch ($_GET['model']) {
case 'stack':
$models = Stack::model()->findAll();
break;
default:
// Model not implemented error
$this->_sendResponse(501, sprintf(
'Error: Mode list is not implemented for model %s', $_GET['model']));
Yii::app()->end();
}
// Did we get some results?
if (empty($models)) {
// No
$this->_sendResponse(200, sprintf('No items where found for model %s', $_GET['model']));
} else {
// Prepare response
$rows = array();
foreach ($models as $model)
$rows[] = $model->attributes;
// Send the response
$this->_sendResponse(200, CJSON::encode($rows));
}
}
actionUpdate()
method
|
public void actionUpdate()
|
Source Code: (show)
public function actionUpdate() {
$this->_checkAuth();
// Parse the PUT parameters. This didn't work: parse_str(file_get_contents('php://input'), $put_vars);
$json = file_get_contents('php://input'); //$GLOBALS['HTTP_RAW_POST_DATA'] is not preferred: http://www.php.net/manual/en/ini.core.php#ini.always-populate-raw-post-data
$put_vars = CJSON::decode($json, true); //true means use associative array
switch ($_GET['model']) {
// Find respective model
case 'posts':
$model = Post::model()->findByPk($_GET['id']);
break;
default:
$this->_sendResponse(501, sprintf('Error: Mode update is not implemented for model %s', $_GET['model']));
Yii::app()->end();
}
// Did we find the requested model? If not, raise an error
if ($model === null)
$this->_sendResponse(400, sprintf("Error: Didn't find any model %s with ID %s.", $_GET['model'], $_GET['id']));
// Try to assign PUT parameters to attributes
foreach ($put_vars as $var => $value) {
// Does model have this attribute? If not, raise an error
if ($model->hasAttribute($var))
$model->$var = $value;
else {
$this->_sendResponse(500, sprintf('Parameter %s is not allowed for model %s', $var, $_GET['model']));
}
}
// Try to save the model
if ($model->save())
$this->_sendResponse(200, CJSON::encode($model));
else
// prepare the error $msg
// see actionCreate
// ...
$this->_sendResponse(500, $msg);
}
actionView()
method
|
public void actionView()
|
Source Code: (show)
public function actionView() {
$this->_checkAuth();
// Check if id was submitted via GET
if (!isset($_GET['id']))
$this->_sendResponse(500, 'Error: Parameter id is missing');
switch ($_GET['model']) {
// Find respective model
case 'stack':
$model = Stack::model()->findByPk($_GET['id']);
break;
default:
$this->_sendResponse(501, sprintf(
'Mode view is not implemented for model %s', $_GET['model']));
Yii::app()->end();
}
// Did we find the requested model? If not, raise an error
if (is_null($model))
$this->_sendResponse(404, 'No Item found with id ' . $_GET['id']);
else
$this->_sendResponse(200, CJSON::encode($model));
}
actionanswer()
method
|
public void actionanswer()
|
Source Code: (show)
public function actionanswer() {
$user = $this->_checkAuth();
if (!isset($_GET['questionid']) || !isset($_POST['answer'])) {
$this->_sendResponse(500, 'Wrong paramter');
}
$question = Question::model()->findByPk($_GET['questionid']);
if ($question == null) {
$this->_sendResponse(500, 'No Question found: ' . $_GET['questionid']);
}
$stack = Stack::model()->findByPk($question->stack_id);
if ($stack->user_id != $user->id) {
$this->_sendResponse(401, 'Error: Unauthorized');
}
$answer = new Answer();
$answer->text = $_POST['answer'];
$answer->question_id = $question->id;
$answer->save();
$this->_sendResponse(200);
}
actionisAuthValid()
method
|
public void actionisAuthValid()
|
Source Code: (show)
public function actionisAuthValid() {
$username = strtolower(@$_GET['USERNAME']);
$password = strtolower(@$_GET['PASSWORD']);
$user = User::model()->find('LOWER(email)=?', array($username));
if ($user === null || $user->blocked == 1) {
// Error: Unauthorized
$this->_sendResponse(401, 'Error: Unauthorized');
} else if (!(strtolower($user->password) == $password)) {
// Error: Unauthorized
$this->_sendResponse(401, 'Error: Unauthorized');
}
echo "ok";
}
actionstackswithquestions()
method
|
public void actionstackswithquestions()
|
Source Code: (show)
public function actionstackswithquestions() {
$user = $this->_checkAuth();
if ($user == null) {
$this->_sendResponse(401, 'Error: Unauthorized');
}
$stacks = Stack::model()->with('questions')->findAll('user_id=:user_id', array('user_id' => $user->id));
/*
$rows = array();
foreach ($stacks as $stack)
$rows[] = $stack->attributes;
foreach ($stack->questions as $question) {
} */
$stacks = Yii::app()->db->createCommand('select * from stacks where user_id = ' . $user->id)->queryAll();
foreach ($stacks as $ckey => $stack) {
$stacks[$ckey] = $stack;
$questions = Yii::app()->db->createCommand('select * from questions where stack_id =' . $stack['id'])->queryAll();
foreach ($questions as $bkey => $question) {
$stacks[$ckey]['questions'][] = $question;
}
}
// Send the response
$this->_sendResponse(200, CJSON::encode($stacks));
}
filters()
method
|
public array filters()
| ||
| {return} | array | action filters |
Source Code: (show)
public function filters() {
return array();
}


Blender is a great 3d graphic program. just check youtube and search for blender and you will find many tutorials and examples, how versatile blender is. Search sintel or agent 327.
great forum with lots of great work, help and discussion
you can download a generator for humans here that you can use in blender.
really cool examples for projects realized with blender. check for many great pictures here.


Innovative fake rhino horn may curb poachers' market, scientists say
by David AaroScientists have invented a technique for constructing a fake rhino horn they hope will put a dent in the illegal horn market threatening the survival of the species.
Researchers at the University of Oxford and Fudan University in China have recently found a way to make fake rhino horns cheaply from horsehair, according to the BBC.
They've found a way to compress and fashion the horsehair in a way that feels similar to the real thing - even when the "horn" is cut.
ANCIENT UPRIGHT APE 'DANUVIRUS' THAT HAD HUMAN LEGS DISCOVERED BY SCIENTISTS
The project hopes to make an artificial horn that's so realistic it would trick poachers. Their goal is to "flood the market" with fakes that would, in turn, decrease the value of actual horns, according to the outlet.
Scientists say if the fakes can be produced cheaply, it would cut prices of the actual horns and reduce the monetary incentive for poaching the rhinos.
"It appears from our investigation that it is rather easy as well as cheap to make a bio-inspired horn-like material that mimics the rhino's extravagantly expensive tuft of nose hair," Prof Fritz Vollrath, from the University of Oxford's Department of Zoology told the BBC.
The Oxford team believes the fakes would help to "confuse the trade," although some worry it could unintentionally increase the rhino horn market.
John Taylor, deputy director of Save the Rhino International, told the outlet the fake rhino horns entering the market would actually expand it and create even more demand for the horns, which he says could deplete their population even faster.
'MAMMOTH TRAPS' BUILT BY PREHISTORIC HUNTERS DISCOVERED IN MEXICO
He believes the most important way to help the rhinos is to concentrate on anti-poaching methods and other ways to reduce the demand for consumers.
"There is no substitute for anti-poaching measures at one end and reducing demand at the other," he told the BBC.
Rhino horns are so valuable because they are believed to be an aphrodisiac in traditional Chinese medicine. It's a major reason why anti-poaching methods have struggled to fight against the constant demand in Asia, according to the outlet.
CLICK HERE TO GET THE FOX NEWS APP
The horn of a white rhino sells for roughly $3,000 a pound, but the value can end up being five to ten times that amount on Asian black markets, according to National Geographic.


--- layout: page title: About header-img: "img/about-bg.png" ---
The journey and pursuit of mastery starts when you learn your weak spots.