Safari IT Books Language Constructs Functional Programming Haskell Safari IT Books Programming Programming Programming Bryan O'Sullivan Donald Bruce Stewart John Goerzen O'Reilly Media, Inc. Real World Haskell, 1st Edition23.5. Initializing the GUIOur first steps are going to involve initializing the GUI for our
program. For reasons that we'll explain later in this chapter in Section 23.8, we're going to have a small file called
PodLocalMain.hs that loads PodMain and passes to it the path to
podresources.glade, which is the XML file saved by
Glade that gives the information about our GUI widgets: -- file: ch23/PodLocalMain.hs
module Main where
import qualified PodMainGUI
main = PodMainGUI.main "podresources.glade"
Now, let's consider PodMainGUI.hs.
This file is the only Haskell source file that we had to modify from the
example in Chapter 22 to make it work as a GUI. Let's
begin by looking at the start of our new
PodMainGUI.hs file—we've renamed it from PodMain.hs for clarity: -- file: ch23/PodMainGUI.hs
module PodMainGUI where
import PodDownload
import PodDB
import PodTypes
import System.Environment
import Database.HDBC
import Network.Socket(withSocketsDo)
-- GUI libraries
import Graphics.UI.Gtk hiding (disconnect)
import Graphics.UI.Gtk.Glade
-- Threading
import Control.Concurrent
This first part of PodMainGUI.hs is
similar to our non-GUI version. We import three additional components,
however. First, we have Graphics.UI.Gtk, which provides most of the GTK+ functions we will be using. Both
this module and Database.HDBC provide
a function named disconnect. Since we'll be using the HDBC
version, but not the GTK+ version,
we don't import that function from Graphics.UI.Gtk. Graphics.UI.Gtk.Glade contains functions needed for loading and working with our Glade
file. We also import Control.Concurrent, which has the basics needed for multithreaded programming. We'll
use a few functions from here as just described once we get into the guts
of the program.  Large programs
may not wish to have a monolithic type like this. For this small example,
it makes sense because it can be easily passed around to different
functions, and we'll know that we always have the information we need
available. Within this record, we have fields for a Window (a top-level window), Dialog (dialog window), Button (clickable button), Label (piece of text), and EnTRy (place for the user to enter text). Let's
now look at our main function: -- file: ch23/PodMainGUI.hs
main :: FilePath -> IO ()
main gladepath = withSocketsDo $ handleSqlError $
do initGUI -- Initialize GTK+ engine
-- Every so often, we try to run other threads.
timeoutAddFull (yield >> return True)
priorityDefaultIdle 100
-- Load the GUI from the Glade file
gui <- loadGlade gladepath
-- Connect to the database
dbh <- connect "pod.db"
-- Set up our events
connectGui gui dbh
-- Run the GTK+ main loop; exits after GUI is done
mainGUI
-- Disconnect from the database at the end
disconnect dbh
Remember that the type of this main function is a little different than usual
because it is being called by main in
PodLocalMain.hs. We start by calling initGUI, which initializes the GTK+ system.
Next, we have a call to timeoutAddFull.
This call is only needed for multithreaded GTK+ programs. It tells the
GTK+ main loop to pause to give other threads a chance to run every so
often. After that, we call our loadGlade function (see the following code) to
load the widgets from our Glade XML file. Next, we connect to our database
and call our connectGui function to set
up our callback functions. Then, we fire up the GTK+ main loop. We expect
it could be minutes, hours, or even days before mainGUI returns. When it does, it means the user
has closed the main window or clicked the Exit button. After that, we
disconnect from the database and close the program. Now, let's look at our
loadGlade function: -- file: ch23/PodMainGUI.hs
loadGlade gladepath =
do -- Load XML from glade path.
-- Note: crashes with a runtime error on console if fails!
Just xml <- xmlNew gladepath
-- Load main window
mw <- xmlGetWidget xml castToWindow "mainWindow"
-- Load all buttons
[mwAdd, mwUpdate, mwDownload, mwFetch, mwExit, swOK, swCancel,
auOK, auCancel] <-
mapM (xmlGetWidget xml castToButton)
["addButton", "updateButton", "downloadButton",
"fetchButton", "exitButton", "okButton", "cancelButton",
"auOK", "auCancel"]
sw <- xmlGetWidget xml castToDialog "statusDialog"
swl <- xmlGetWidget xml castToLabel "statusLabel"
au <- xmlGetWidget xml castToDialog "addDialog"
aue <- xmlGetWidget xml castToEntry "auEntry"
return $ GUI mw mwAdd mwUpdate mwDownload mwFetch mwExit
sw swOK swCancel swl au auOK auCancel aue
This function starts by calling xmlNew, which loads the Glade XML file. It
returns Nothing on
error. Here we are using pattern matching to extract the result value on
success. If it fails, there will be a console (not graphical) exception
displayed; one of the exercises at the end of this chapter addresses
this. Now that we have Glade's XML file loaded, you will see a
bunch of calls to xmlGetWidget. This Glade function is used
to load the XML definition of a widget and return a GTK+ widget type for
that widget. We have to pass along to that function a value indicating
what GTK+ type we expect—we'll get a runtime error if these don't
match. We start by creating a widget for the main window. It is
loaded from the XML widget defined with name "mainWindow" and stored in the mw variable. We then use pattern matching and
mapM to load up all the buttons. Then,
we have two dialogs, a label, and an entry to load. Finally, we use all of
these to build up the GUI type and return it. Next, we need to set up our
callback functions as event handlers: -- file: ch23/PodMainGUI.hs
connectGui gui dbh =
do -- When the close button is clicked, terminate the GUI loop
-- by calling GTK mainQuit function
onDestroy (mainWin gui) mainQuit
-- Main window buttons
onClicked (mwAddBt gui) (guiAdd gui dbh)
onClicked (mwUpdateBt gui) (guiUpdate gui dbh)
onClicked (mwDownloadBt gui) (guiDownload gui dbh)
onClicked (mwFetchBt gui) (guiFetch gui dbh)
onClicked (mwExitBt gui) mainQuit
-- We leave the status window buttons for later
We start out the connectGui function by calling onDestroy. This means that when somebody clicks on the operating system's
close button (typically an X in the titlebar on Windows or Linux, or a red
circle on Mac OS X), we call the mainQuit function on the main window. mainQuit closes all GUI windows and terminates
the GTK+ main loop. Next, we call onClicked
to register event handlers for clicking on our five different buttons.
For buttons, these handlers are also called if the user selects the button
via the keyboard. Clicking on these buttons will call our functions such
as guiAdd, passing along the GUI record
as well as a database handle. At this point, we have completely defined the main window
for the GUI podcatcher. It looks like the screenshot in Figure 23-2. Figure 23-2. Screenshot of the main window of the podcatcher
application
|


Shader demo -
raymarching
with
distance field
Source on
Github
Thanks to
@iquilezles
Dont hesitate to contact me
@jerome_etienne


Sybase database backend.
Known issues / TODO:
Uses the mx.ODBC driver from egenix (version 2.1.0)
The current version of sqlalchemy.databases.sybase only supports mx.ODBC.Windows (other platforms such as mx.ODBC.unixODBC still need some development)
Support for pyodbc has been built in but is not yet complete (needs further development)
- Results of running tests/alltests.py:
Ran 934 tests in 287.032s FAILED (failures=3, errors=1)
Tested on 'Adaptive Server Anywhere 9' (version <IP_ADDRESS>1)


Autoprogetazione
"Autoprogetazione" ist der Titel eines Buches (978-88-87942-67-5) von Enzo Mari, Architekt und Künstler. Der Einleitungstext:
PROPOSTA PER UN'AUTOPROGETTAZIONE A project for making easy-to-assemble furniture using rough boards and nails. An elementary technizue to teach anyone to look at present production with a critical eye. (Anyone, apart from factories and traders, can use these designs to make them by themselves. The author hopes the idea will last into the future and asks those who build the furniture, and in particular, variations of it, to send photos to his studio at 10 piazzale Baracca, 10 - 29123 Milan). © project Enzo Mari, 1974
Open Source Design for Everybody
Das ist Open Source für Möbel. Das hier ist Autoprogettazione Dinamica, auch Open Source (also bitte: mach mit!). Ich habe mir einen Bauplan rausgenommen, der mir am einfachsten erschien: 1123xB, zu finden auf Seite 12. Das ist ein solider Tisch, mit Diagonalen in beiden Horizontalen versteift. Der Tisch besteht aus drei verschiedenen Teilen: Der Tischplatte, zwei Seitenteilen rechts und links, und einem Kiel.  Latten verhindern eine Verrutschen.
Adaptation & Dynamics
Mit dieser Webapp, konfigurierst Du Dir Deinen idealen Tisch zusammen. Neben Länge, Breite und Höhe passt Du auch auch den Lattenquerschnitt an konkrete Verfügbarkeiten und Gegebenheiten an. Ein Puppentischen aus Streichhölzern oder ein riesiger Zelttisch aus dicken Bohlen. Mit der richtigen Konfiguration wird der Tisch zur Bank, die sich in jede Nische einpasst. Oder zum Stehpult, für Deinen Rücken.
Construction Plan
Du druckst Dir Konstruktionspläne und eine Stückliste aus. Dann sägst Du Dir die Längen zu, oder lässt das im Baumarkt erledigen. Anhand des Bauplans und der Anleitung nagelst Du die Latten aufeinander. Du kannst sie auch verschrauben oder verleimen.
If you, like me, don't own a professional woodworking shop with a saw table etc., then you rely on material, that you can process with the equipment you have at home. I had bought myself a chop & miter saw and from then on I was able to cut boards and battens up to 10cm wide (and maybe 4cm thick). I construct everything from boards and laths since then. The lath is per-se the raw material as it comes rough sawn from the sawmill.
Furniture design shaped by the material and its manufacturing process is design based on possibility, it is material driven design.
Dig into the Things
We surround ourselves with an increasing number of products with decreasing useful life. Production usually happens far away, hidden. The only touchpoint with the origin of our product is the parcel carrier.
And maybe a website for the ambitious products-nerd and here we are getting closer.
The researched product is in its observation enriched by background information. Maybe about its manufacture, or about special culture of the company, or whatever. In any case, you have spent time with the product, setting up resonance centers, developing topics. And all this resonates when you look at the researched product from now on.
The self-built product has a haptic memory attachment. Its perception is strong and permanently impregnated with an awareness of its fabrication. Maybe you hurt your thumb. It makes you recognize the product in its entire four-dimensionality, interwoven with your personal life.
The self-designed product however lets us experience the world as hackable, as modifiable. The self-designed product invites us to a dialogue with the whole world of products. Active construction and design train us in a critical approach to products.
How to use Autoprogetazione Dinamica
Welcome, happy to talk about this project. The website has three sections:
- Interaction: interactively configure your individual table
- Construction: construction plan and material list for the configured table, ready to be printed
- About: background information on this project
Lets go over each part one by one. Skip over to the relevant topic as you like.
Interaction Mode
This is the place where you interact with the table. Modify its dimensions and the cross section of the material, the lath. Either by specifying the numbers in the side bar on the right (or bottom), or by dragging the red, green and blue cubes.
Construction Plan
Your configuration is turned into a construction plan and material list ready to be printed.
About
Read more about the projects roots, Enzo Mari, the concepts, education, interaction, hacking.
Get in Contact
Yes! Just throw an email at<EMAIL_ADDRESS>or use the GitHub issue tracker for this project.


Please also check out the version for 40K
Ex: 4, 2d3, d6+1
Ex: 4, leave blank to auto-hit
Ex: 1, -2
Hit rolls of 6:
Reroll:
Ex: 4, leave blank to auto-wound
Ex: 1, -2
Wound rolls of 6:
Reroll:
Ex: -1, 2 (sign is ignored)
Ex: 4, 2d3, d6+1
Ex: 4
Ex: 1, -2
Reroll:
Ex: 1, 13, leave blank if you don't care
Shake off damage:
This tool was created by Jonathan Polley to help enhance your enjoyment of Warhammer: Age of Sigmar.
Please direct any feedback to<EMAIL_ADDRESS>Bug reports are welcome on Github.
Warhammer: Age of Sigmar is © Games Workshop Limited.


Timestamp Converter
Copyright © 2007, 2009 by Ildar Shaimordanov
Timestamp view
Timestamp:
Human-friendly view
Date:
January
February
March
April
May
June
July
August
September
October
November
December
Time:
Formatted view
MMM DD, YYYY hh:mm:ss TZ
YYYY/MM/DD hh:mm:ss
DD.MM.YYYY hh:mm:ss
DD-MM-YYYY hh:mm:ss
DD-MM-YYYY
DD.MM.YYYY
DD MMM YYYY
MMM DD YYYY
hh:mm:ss
h:mm:ss DT


âTMª I'll live in AJ's podcast for your Monday âTMª
âTMª Most wonderful show is âTMª
âTMª Keeping up with the Joneses âTMª
- AJ Jones. - Yes.
- And we're back from vacation.
- We are?
- I love the way you're all dressed in pink
and I'm dressed in gray.
- Well, right before we recorded,
you were going back through the little thumbnails
of all of the previous eight recordings or whatever.
And I was wondering what you were doing
and you were checking to make sure you weren't
wearing the same outfit.
- Well, the problem with that is I only own like seven shirts.
So I've already, you know,
I've already worn this gray shirt,
but what do we discover about your shirt?
- We discovered that I pretty much wear the same outfit
every week.
- You don't, you wear the same color.
- The same color, I wear the same color of green,
but I have worn the same outfit that I did have on
this morning, I was already,
and I was just waiting for him.
And then I realized I'd worn that shirt twice.
- But you're green, you wear a lot of green
'cause it goes with your eyes.
- Yeah, and I like green as my favorite color.
- I wear a lot of gray 'cause it goes with my hair.
- Yes, it does.
Yummy.
- Can't make the stuff up, magic's still alive.
- Yeah, and he's wearing shorts,
which is very distracting for me
'cause I can just reach under here and feel his knee.
- Not distracting for me at all.
(laughing)
- Really go ahead, tell us about vacation.
- So last week.
(laughing)
- Last week we went away camping,
which is, you know, for those of you
been listening to podcasts for a while,
other than the camping's revelation to me.
But this time we took our camping to a level
I did not imagine.
We went RVing.
- We did.
- I will admit, when we pulled in,
initially I was like, oh dear God,
what have I signed up for?
- Really?
- Yeah, all the RVs, I was like, I feel a little bit.
- Like not to our site, but like into the campground.
- Yeah, I feel to realize that my wife,
in all her shape, her goodness had picked,
you know, the best campsite ever.
Literally.
So we were completely secluded.
Yes.
But it was a little bit of a cultural awakening when I drove in and saw all these
RVs. Yes.
And I think we can best sum up as our seven year old son.
I said to MJ, bro, how do you like RV?
And he's like, I like it.
Kind of feels like we're cheating on camping though.
I said, why?
He's like, well, we're in a box with Wi-Fi.
I was like, yeah.
Yeah.
But I, I mean, I loved it.
It's the first time that we've RVed and I have great aspirations about taking family trips with
an RV, but I just wasn't sure what that would be like. And now I feel even more confident that
I would like to do that. Yeah, we just rented one. Yeah, we rented an RV. And the guy that we
rented up from was lovely. So he brought it and he set it up at the park for us. And it was great
'cause you get to sleep with air conditioning,
and the kids all had their own beds
as opposed to being on inflatable mattresses
that always let the air out.
And so everybody slept great, didn't matter that it rained,
didn't matter that we had raccoons that kept visiting us.
- Yeah, like are raccoons dangerous
because they were not frightened of us at all?
- I mean, I've always thought that they could be aggressive,
but these didn't seem aggressive.
Like they just came right up to us.
- They didn't care about the fire,
they didn't care about me making dog noises.
daylight. Nope. They came in the daylight to come check out our campsite.
Yeah, that was, that was not great. But it's like all the benefits of camping.
So you're outside fresh air, campfire, s'mores,
hammock,
waste,
floor life with all the benefits of being a home,
AC Wi-Fi electricity.
Refrigerators. Yeah.
Ice. Yeah. It was great. The only thing that was really funny was the,
the camper that we rented, the air conditioning event was right kind of
above our heads.
And so Alan was super excited because he was like, I'm getting AC and this is great.
And I had to.
AJ slept with a fleece zipped up.
I'm like, this is awesome.
Go because it was blowing right down my neck.
Yeah.
So anyway, it was awesome.
I loved it.
I want to do it again.
Two thumbs up.
Yeah.
Also, like that we had two LCD TVs, so we could play the switch in either the living room or our bedroom.
We did. Yeah.
So yeah, camping plus Nintendo.
I'm a happy man. It was great. Well done.
And you planned that whole thing, execute it. It was excellent.
Thank you. Thank you.
You were not confident it was going to be good.
I think I had suspicions.
Like I've never ran an RV before the first place, not the place we actually rented the RV from,
but the first place seemed a little sketchy to me.
Like their insurance.
I was like, you know, so I was really happy.
We kind of used like the Airbnb of RVs.
Yeah, we used something called outdoorsy.
Word, great.
Yep.
Yeah.
So good.
Oh, and our air conditioning is fixed.
So we came back to a cool, quiet, calm house praise, Jesus.
Yeah.
And you said it's quieter, a new unit.
Yeah.
Root weight quieter.
Okay.
Our old unit was like 14 years ago.
And I think it was like a bunch of hamsters in a stone wheel.
When it would come on, it would go, whoa.

It was not good.
That was my impersonation of our air conditioning unit.
This is the podcast magic you sign up for.
(laughs)
- So we've been doing a series based on a book
by DoctorThip.called Voice of the Heart
and the eight feelings that we have done are?
- Oh sure, put me on the spot.
Our eight feelings are her lonely, sad, angry,
fear, shame, guilt and glad.
- Well done. - Thank you.
almost like I have a little notepad right here.
- I cheated, but I'll let it go.
- I know them, I just can't recall them.

- And you've been looking at the little piece of paper
for a couple of years now, once a week.
- I know, every week, look at that piece of paper,
I still, you know.
- I still pull it up on my phone.
- To work out what they are?
- Yes.
- Yeah, me too.
Anyway, we've been doing these eight feelings,
we've been talking about them.
"Dard of Chip Dog", the author of the book
that we've been studying,
is gonna be on the podcast with us next week.
We're really excited about that.
He's gonna be answering the questions
that you have sent us. If you would like to send us more, go to allenanagia.com/ask
and we'll make sure that we ask him your questions.
So as we've been doing this series, we've discovered that every feeling has a gift
and an impairment.
Yep. Gift if you actually feel your feelings.
Yep.
An impairment if you refuse to.
Yep.
And we've discovered that actually all of the feelings, even though some of them
sound bad are really, really good and they're essential for full-hearted living.
Yeah. So we've talked about them.
Yep.
But let's move from talking about them to what are we supposed to do with them?
The big question that people listen to the podcast,
or they read the book and go, right?
And we'll now walk.
Well, that's what this episode was about.
It's about how to feel your feelings, which sounds insane that we need to be taught
how to feel our feelings.
But I mean, from my own experience, it took me till I was in my early 40s before
I discovered that you need to feel your feelings.
Yeah.
And at first, it was an alien process because I didn't think I had any.
Let me start with this brilliant line from Chipps book.
Feeling our feelings is about beginning to take responsibility for the content of our hearts.
It requires us to live out of how our hearts are made and use our feelings to experience and add to relationships.
First with ourselves, then with others.
So here's where perhaps the most important thing about feelings comes into play.
We're stuck with them.
Yes.
I used to think like I think my journey with this was being convinced that we have feelings being convinced to feeling your feelings is good and then thinking okay you've convinced me if I feel my feelings then I'll no longer have to deal with my feelings.
Like if I sit through the process of feeling my feelings and magically my feelings will go away and I want to do this stupid process anymore.
And that's not how it works that's not how it works yeah I think the first place to start is to actually submit to how we're actually made which is an emotional.
emotional and spiritual being with feelings that are a gift from God to allow us to live
fully when life becomes tragic.
Yeah, Chip says that line, "Life is tragic, but God is faithful."
I hate that line.
When I heard him first say that, I was like, "No, life is not tragic because God is good,
therefore life is good."
And what I realized is I don't want to live life on life's terms.
Like I want my revelation of the goodness of God to protect me from ever having a bad
life, like having anything negative happen to me. And I'm realizing that's an unrealistic
way of looking at life.
Yes, we live in a fallen world.
And we live with tragedy.
Yes.
But what I've since come to learn is that because God is good, He's going to be with us no
matter what shape life comes in, like good, bad or ugly. We have access to the presence
of God and actually our feelings allow us to be present with God with all the bad things
happen and allow his goodness and his presence to be with us as we go through those horrible,
negative things. Right. So basically the gift of feeling allows us to move near God and feel his
presence in the midst of whatever is going on. Yeah, because if you think about it, it's very hard
to record that God's called a comforter for a reason, which means we would need comforting.
So if we're like, no, I'm good. I don't need comforting. We've really got no use for the
the Holy Spirit. Well not just the Holy Spirit, the Father and Jesus also call themselves
comforters. Right. So yes, we have a problem. Or when Jesus says, "Come on to me, you who
are weary and heavy laden." We're like, "No, I'm good." Yes. So the whole premise of being
with God is that we are weak and in need of God. The whole thing of God dwelling among
us is He wants to be near us. And somehow I've missed that.  But
the truth is, he wants to be with us because he loves us and
he created us with feelings.
Yeah, it makes me think of that verse, babe, which I think is
Matthew 23, about Oh Jerusalem, Jerusalem, you who killed the
prophets and stone those who are sent to you. How often I long
to gather you together in my arms, but you are not willing.
And I just thought, yeah, we're so often not willing,
even though God actually wants to connect with us
and comfort us and meet us where we're at,
he's looking for our willingness to do that.
- Yeah, in our fear and our anxiety and our rage,
we'd rather stone those that God sent us, sent to us,
than actually be with him in our fear
and in our shame, in our sadness.
I was thinking about sadness, like tomorrow's Father's Day,
we're recording this Saturday, tomorrow's Father's Day. We both have significant stories
around our Father's Day. So we're talking about life is tragic. Yep. And God is faithful.
Life is tragic. God is good. For me, like my dad's not here. And so Father's Day brings up
feelings about like, oh, my father's not here. I'm now confronted with thinking about my father.
I'm thinking about what I didn't get from my dad, what I really want. I'm thinking about, oh,
it's too late to do anything about that. So there's feelings around that and I think historically
what I would do is well there's no point feeling about it. He's dead. He's not coming back. I can't
have what I want.  Right. Right. Which I've now discovered there's
another option, but it requires me to feel my sadness. Yeah. Right. Which is all about the loss
of my father. It requires me to feel my anger, my passion about what I want from a father,
what in some cases I didn't get from a father. And it invites the father, heavenly father,
into those scenarios to be with me. So I'm more fully alive. But guess what? I don't get my dad back.
Yeah. Guess what? I don't get what I wanted. But the father gets to be with me and there's
something immeasurable about that. And PS I get to flourish through the sadness of that.
Yeah, we were talking yesterday a little bit about this.
You know, Father's Day for me also very painful. Realizing I have emotion
right now, even just talking about it. But because my dad killed himself on Father's Day,
and it also happens to be his birthday tomorrow on Father's Day, there's a whole bunch of emotion
riding in on tomorrow. And I realize I can previous years, what I've tried to do is kind of
shut down, just not feel it. Certainly before marrying you, I just didn't acknowledge Father's Day.
And then once we started having kids, there's the challenge of I want to celebrate you as a dad,
but it's such a painful day. And some years or better than others, I think last year actually
was better this year. I'm already like, wow, I feel a mess about tomorrow. So am I going to just
choose to feel how I feel and trust that God's going to get me through it and everything's going
to be okay or am I going to shut down those are my options. Right. Do you get to be with yourself
and in doing so invite God to be with you or do you get to move straight to denial? Pretend it's
not there. Probably rage at your kids because they're demanding that you be present with like
that's your two options. Are you going to be fully alive and feel your sadness or are you going to
to move to protection and have fallout for everybody around you.
Yeah.
Or just completely shut down from the day and actually not celebrate at all.
Right.
Which tends to be actually what we both do in not really knowing, yeah, not knowing how
to celebrate well or being in a season where we're learning to celebrate well.
Historically, I will, I'll say for myself, I will just sort of shut down and be able
be a shadow of myself for the day to survive it.
- Right, which feels horrible because I feel lonely with you.
The kids probably feel lonely with you.
- Yeah.

- Yes.
- Just generally speaking, we're not good.
And I'm not trying to blame my culture or blame my parents
at all, I'm not good at celebration.
But I'm realizing in me and you not being good at celebrating,
we're perpetuating that because we're not teaching our kids
how to celebrate and thus be celebrated.
Like for me, Father's Day growing up,
my dad was like, "Oh, you know, it's just like a,
you know, it's just a thing made up by hallmarks."
It's no different from any other day.
Like my dad refused to be celebrated for being a father.
So I learned, well, don't make a big fuss
about being a father.
And so now I'm watching my kids,
they're getting all excited about making a cake
and making me breakfast.
And the temptation is just like, you know,
don't do that because it makes me have feelings
about me as a dad.
Whereas instead, I'm like, no, actually, I love your passion to celebrate your father.
I just love that so happens to be me.
You know, and it's more important that they learn how to celebrate.
Also, more important that I understand I am worthy of being celebrated
because I am a dad with glorious gifts and incredible limitations.
Yes.
So our point in sharing all of that was not like a big boo-hoo about Father's Day.
The point rather was life is tragic.
It is.
God is faithful.
Yeah.
There's goodness to be found when you feel your feelings in the midst of sadness,
in the midst of tragedy, in the midst of heartache and brokenness.
And good comes from it.
Like hopefully our kids will grow up knowing how to celebrate and be celebrated.
Yeah.
And in the process, our hearts will get healed as we learn to celebrate.
Yeah.
I hope all of that made sense.
We yes, but hopefully I was thinking about the gift I got last week, the picture
that somebody sent me.
I remember one of our students, a friend of ours,
sent a word art.
I guess that's what you call them, wouldn't it?
- You say word art, and I think about Microsoft word art.
- No.
- And I shift.
- Oh, no, not that, but like a nice handwriting,
hand lettering, with the words,
all my life, you have been faithful.
And I think it's from that Bethel song.
I'm sure that line has been other places as well,
But when that song came out, I remember just,
I would listen to it over and over,
and I was like, yeah, that's me, all my life.
You've been faithful.
And I was even talking about it this morning
on the with the Finding Father group,
that I'm sure there's people that could look at my life
and go, you know, no, he hasn't.
Look at your testimony.

He's been faithful, but I think that's because
he's healed the places where there's been a disconnect,
you know, like, and where I've needed to know where he was
and that sort of thing.
So yeah, wow, what a process.
So this morning I was listening to my testimony
while I was getting ready to host a call,
which sounds really funny, but because my testimony
has sort of so much in it, I wanted to see what I had covered
and what I hadn't, you know, as getting ready for the call.
You were standing there and I was like,
- Babe, gosh, I guess I listened to my testimony.
I think my testimony is brutal.
And you said something to the effect of,
no, babe, your testimony is glorious,
your history is brutal.
And I was just like, right, yeah, my testimony is glorious
because actually the Lord's done what He said He would do.
- He's been faithful. - He's been faithful.
- While life was tragic. - Yes.
- So we're discovering that feeling of feelings
is essential for full living.
- Yes.
The question that we must ask ourselves is,
how do we live fully?
- Well, Chip actually talks about this in his book.
He gives us three steps.
- Yeah, there are three simple steps to say.
- Simple steps to say.
- Really hard steps to do.
- Yes, so we're gonna feel our feelings.
- That's step one.
- Yeah, we're gonna tell the truth.
- Yeah.
- And then we're gonna actually give it to God.
- Yeah, really simple.
Feel your feelings, tell the truth, give it to God.
Boom, we're done.
Thanks so much for joining us.
We'll be back next week with Chip, okay?
Now it would be unfair if we just left you with those things.
- It's over and over and over and over, isn't it?
Like, oh, yeah.
- So let's unpack what that actually means,
like to feel your feelings.
Like again, it sounds so ridiculous to be talking about
like, how do you feel your feelings?
'Cause aren't we all gonna feel our feelings?
My experiences, no, I mean, sure, I was feeling my feelings,
I was unaware I was feeling my feelings.
I was practicing the fine art of disconnection and denial.
- Yeah, yeah, my MO was shove it down.
- Yeah, and by the way, your feelings don't go anywhere.
- No.

They're still there.
- They're waiting.
- They're just gonna eventually blow up for sure.
Well, it's like the bit you just read from Chip's book,
like feeling your feelings is taking responsibility
for what's in your heart.
It's actually slowing down enough to honor your heart,
to give it attention to what you're actually feeling.
- Yeah.
- We're gonna give you some practical steps
on how you do that later.
But for now, it's simply something as simple as like,
admit what's in there.
- Yeah.
me the journey initially was I judged what was in there. Like I had toxic shame about
having feelings. So I didn't want to admit what was in there, but like through the practice
of slowing down like what am I feeling and I should be able to unpack that and being
present with myself, I would begin to feel my feelings. And for me as a high verbal processor,
I would need to talk about what I was feeling before I discovered what I was feeling. Like
I'm aware there's stuff going on, but I can't articulate it until I slow down enough to
like, okay, I'm feeling this and I would discover the more and more I talked.
And in some cases, the more and more I was asked helpful questions, the more and more
I could actually unpack it.
But I went from I'm aware that there's stuff going on in my body to I can now articulate.
I'm using my brain to convey what my heart is experiencing.
So you have that option.
You have the feel your feelings, or you have the antithesis of feeling your feelings, which
which is run away from the most fast as you possibly can.
So try and shove them down or medicate them.
So Netflix or a chocolate or porn
or whatever the thing is that you use
to hide from the big feelings that you have.
- Yeah, to hide from your feelings
or not be present with yourself.
- Right.
- We were just talking about being on vacation.
Probably the first half of my vacation was not ruined
but was misspent because I was spending so much energy
not wanting to feel feelings that I had, right?
I'm on vacation.
I don't want my vacation to be ruined
by feeling these negative emotions.
And so all of this energy goes into not being present
so that I can enjoy vacation, whatever that is.
So I stop living, I stop living to prevent myself
from feeling, which is so ironic.
And so I'm like, just coming from you,
I'm just coming from the kids and just coming from myself.
I'm, you know, thankfully we bought marshmallows,
I'm feeding myself marshmallows, I'm playing Nintendo.
- All of this energy spent on not feeling
'cause I don't want to ruin my vacation.
- Yeah.
- When actually just sitting down and going,
okay, what am I feeling?
All right, I'm feeling this, that, the next thing,
you know, what am I gonna do about that?
I don't have to do anything 'cause I'm on vacation.
It would have been a much, much better approach.
- Yeah.
- I think part of the reason for me at least
that I don't wanna feel my feelings
is that I discover I'm not enough
to heal what's causing my feelings.
- I don't understand.
- Part of the reason I don't wanna be present
I don't want to be present with my feelings,
as it leads me to an understanding that I am vulnerable
and in need of God and other people.
- Yes.
- So if I sit with my feelings and I realize,
okay, I am sad, angry, lonely, fearful,
I realize there's advanced situations people
that are contributing to those feelings.
And in order for me to bring resolution to those feelings,
like my feelings are telling me what I need
and what I need is outside of what I have.
- Right.
- And it's in the hands of people you can't control.
- And the hands of people in the hands of God.
And so it's just like, no, it would just be easier to just sit here and just kind of binge watch Netflix.
At least Netflix doesn't require anything of me.
At least I don't have to be vulnerable with Netflix.
Netflix is not going to judge me.
Occasionally it's like, are you seriously still watching or should we pause?
Right.
But the part of my
part of my reluctance to feel is it leads me to understanding I need others and I need God.
Yeah.
And yet that vulnerability and that powerlessness,
it actually leads us to an awareness of what we need,
which is actually others and to God.
- Which leads us to step number two.
So step number one is feeling your feelings.
Step number two is tell the truth.
- Tell the truth.
- Telling the truth about what our heart is feeling
actually means that we express the unvarnished version
of all that's going on in our hearts.
- Which is hugely scary because we're being vulnerable.
Yes. We're telling another person, this is what it's like to be me.
Yes. With all of my stuff and all of my junk.
And by the way, my story is different from your story.
So, you know, we might have experienced the same events, but this is how I felt about those events.
And I'm frightened that you've got your own events and, you know, then we're going to get into
fight about who's event, you know, ah, so vulnerable. And most of us have been misunderstood by others
and not been alive to be afraid to share. It's important that we understand when we talk about
telling the truth is it's, you know, me sharing my truth with you is not permission for me to
mow you down as I flesh out about how you've hurt me. Like the point of telling the truth to others
is not vengeance. The point of telling the truth about others is intimacy.  I must have very sacred, you know, precious thing to be on the receiving
and to care deeply for other people's feelings.
Yes.
And requires tremendous skill.

Yes.
Because otherwise, otherwise, if it was like me years ago, I didn't even care
for my own feelings.
So why would I, you know, why would you expect me to care for yours?
Yeah.
So like be kind to yourself as you're beginning to share your feelings.
One of the people that you can absolutely share your feelings with and tell the truth about is to God.
We're going to get to God in a second.
Start there, but look for your leaders, your family members, your friends, your counselors,
people who've actually done the work around their own feelings so that they're a safe place to hold your feelings.
Babe, I was thinking about that time a couple of years ago at Christmas.
Christmas. Do you remember the time I'm talking about? And we had, we had just
moved into this house. Yes. We realized we had no money for Christmas. And so we
used like vouchers and stuff to get presents for the kids. Yep. And so we're
having this discussion and basically you said, so you and I are not getting
anything for Christmas. And you know, we're getting these things for the kids. And I
I was like, you know, the logical, I'm an adult in the house person should be able to go.
Yes, that's fine.
Yeah, that makes totally sense.
We've got a brand new house.
It makes sense, you know, and you even gave me the logic to hold on to.
We have a brand new house.
The house is your present for Christmas and whatever.
And I was like, right, right.
But then I tried to circle back with you.
And I was like, babe, I just still feel really sad because I'm a gifts person.
And then at the time you hadn't met Chip and friends and you tried to logic me out of it.
Well, that's just not reasonable.
Well, I did more than that.
I tried to shame you for even having that feeling because I felt my own shame about not being able
to provide enough money for you to be able to.

I'm feeling shame that I can't get you a gift.
I'm feeling guilt.
I don't know I'm feeling those things because I've not done any of this work.
Yeah.

I feel sad about that. I have no room for your sadness. So I remember just I remember it being Christmas day and me shaming you.
Like, and basically it was like, please get your feelings away from me. So I don't have to have my own feelings about this event.
Yeah. And it was horrible. Yeah. It wasn't awesome. Oh, it was a low light. It was miserable.
But what was interesting was I never circled back on that.
But then like a year and a half later, maybe, uh, you came home from group.
And I don't know what you had discussed at group, but you came home from group and
just said, babe, can we talk for a minute?
And then we sat and you just apologized for not letting me feel how I felt.
And I was like, I mean, I hadn't thought of it since then.
I mean that I remember, you know, but it was a really great validation of that I was allowed
to feel because my thing would always be to shut down how I was feeling anyway.
Right.

Right.

And that's why I was thinking about it when you were just saying about, "Hey, you know,
you probably want to be careful who you practice sharing your feelings with because if they
don't have a grid work, it might be a tricky thing."
Oh, it might add trauma to you already.
It might.
That's a great story.

Oh, you're right.
Yeah.
That's great.
Yeah.
I feel sad and shame.
That's so true.
Yeah.
I mean, I just think it's so good of God
to bring restoration as well.
Like, you know, I didn't think I needed it,
but I realized like I just lost it
when you circled back with me about that.
And I was like, oh, I did feel a ton that day
that I just happily shoved down with wherever
I shoved the rest of it.
- This is jumping ahead a little bit,
but I was thinking, you know,
I've been asked what's the benefit
of doing all this feeling stuff.
It is much easier for me, I don't know how to say this clumsily.
It's much easier for me to be present with you when you have feelings that are different
from mine and for me to not try and persuade you why what you're feeling is wrong.
Like if it feels, at least to me, I'm hoping that you confirm this, that since doing this
feelings work, I'm okay if you have a feeling that's different from my feeling.
I don't like to rush in and fix it, talk you out with it.
totally fine for you to have a feeling that's different from me, even if it's a feeling about me.
I can't even quantify the amount of freedom and healing and blessing that's just brought to our
marriage. And then same with the kids. It used to be that if the kids had a feeling about something,
about vacation, or a day out, or a gift, it was all about me and my performance as a father.
So I remember, I remember one day just almost bursting in the tears. I planned a day for the
the kids and I'm backing up. We haven't even gone on the day and already the kids are whining
about what we're about to do. And I remember slamming on the brakes as I'm backing out
the driveway and I'm remembering choking back tears and I remember just wanting to sabotage
the whole thing because I'm feeling anger, I'm feeling sad, I'm feeling shame. But what
I'm feeling anger about is I failed as a dad. I feel deeply sad that I can't do anything
good for my kids. I mean, just this avalanche of shame, and then wanted to just move away
from that as quickly as possible and shame them for being ungrateful so-and-so's. And
this is all pre this work and just thinking, okay, you're the grownup in the car.  Whereas now I think it's much easier for me to be with
the kids, like even like we've had two of them have birthdays during quarantine and
the sadness that they have felt. I've been here with you with them and and not be like,
well, you I'm grateful so and so. You don't realize all the effort that Mummy and I have
got. It's just like, oh, babe, I totally got it. That must be really hard. It must be really
sad. That is not just a benefit for the kids. It's not just a benefit for you. It's a benefit
for me that actually I can be present with the people I love because their feelings are
are not about me.
They don't have to manage them to make their feelings go away.
So I don't have feelings of my own.
I don't even know what that's worth, $10 million?
- Yeah, at least.
- No, but seriously, what a rich gift.
So what are we talking about?
We're talking about telling the truth.
- Telling the truth, yeah.
- So what does telling the truth look like?
- Well, it could be having a brave conversation
with a family member or your spouse or whatever.
- Like making your thinking visible,
your feelings visible, yep.
- Yeah, okay.
It could be a list of I statements.
I feel this when you, you know,
it might be writing a letter that maybe you're never
gonna send, but at least you're writing out the I feel
of things.
Telling the truth might be group therapy.
- Yeah.
- Right?
It might be signing up to start.
- Or even individual therapy.
- Yeah.
- This is what it's like to be me.
Yeah, there's a wide, it could be prayer.
- Yeah.
pouring out your lament to God and journaling.
- The book of Psalms is David telling the truth
about how he's feeling.
- Wow, is it?
- And all is unvarnished glory.
- Yeah.
- I think telling the truth is having been present
with yourself and feeling your feelings,
you now let your insights out to someone else.
- Yes.
- To others and to God.
Here's something to consider.
You know, you talked about having a brave conversation
with a family member or a friend.
- Yes.
- I don't know of too many things that are scarier
than bringing your feelings, which might be illogical,
might be unreasonable to somebody else,
especially if those feelings are about them.
Like I feel this when you said this,
like that's hugely vulnerable.
But here's the thing,
your feelings are never going to go away.
And your options are either tell this person the truth
about your experience with them or lie to them.
I mean, that's it.
Like your avoidance is still lying.
And lying's bad no matter how well intentioned
your lies are, well, I didn't wanna hurt you.
Listen, your feelings aren't going to go away.
At some point, the threshold is going to be crossed
when your feelings are going to come out of you sideways.
It's like that couple who have been building animosity
for years and never taught about anything.
And then the husband's just like, hey,
could you pass the catch up?
And the wife picks up the catch up bottle and throws it.

Her explosion isn't about the catch up.
Her explosion is about all of these built up feelings
that she's never chosen to tell the truth about.
So be kind to yourself in your relationships and tell the truth.
Tell the truth.
Which brings us to give it to God.
Yes.
What does that mean?
Well, having felt your feelings and told the truth, now you're led to actually, I need
to give this to God because I actually can't do anything about this.
Like I need God to intervene.
Right.
Because this, the things that are causing me to have feelings are outside of my control.
Like most things in life.
All I can do is accept them and bring them to God.
Yes.
It's amazing, isn't that revelation that God wants to be with us in our brokenness?
Yeah.
That while we were still sinners, Christ died for us.
Yes.
His desire to be with us was way before we ever got anything right.
Yeah.
And actually, his power is made perfect in our weakness.
It's amazing how often I fight to not feel weak when actually that's my inherent state.
Yeah.
I am weak.
actually draws close to the brokenhearted.
- And he binds those who are crushed in spirit,
which comes back to the kilnfers, like,
"Wow, Alan, you have no need for Jesus,
'cause you just don't want to feel any of your feelings.
That's amazing."
Thanks, Chester and Betsy.
Yeah, when we invite the Father in our brokenness
and into our pain, we're surprised
at his tender response to our weakness.
He actually loves to dwell among us.
He loves to be among the broken.
And then our intimacy level skyrockets,
because God wants to be with us in our authentic state.
And so living a full life is all about refusing to hide
and be vulnerable and be transparent,
which is scary, but has these tremendous rewards
because then your relationships go to a new level
and your relationship with a father is built on intimacy
'cause it's founded in truth.
- Yeah, and you get to actually be you?
- I think it's beautiful that the gladness
of God to be with us in our weakness.
like that verse you quoted earlier, Jerusalem, Jerusalem,
you know, you who stoned the prophets,
like how I've longed to gather you, like,
oh, I can see you're in pain, I can see you're in torment.

The Lord's delight to be with us in our brokenness
is beautiful.
And what we discover is that when we're with the Lord,
His joy to be with us drowns out the toxic shame
that says we don't deserve to be with Him.
He loves to be with us, which is contrary to what our toxic shame tells us that...
You have to perform.
Right.
Or, you know, he ought not to want to be with us.
Yes.
Giving it to God is basically bringing God into the equation, asking for help, and recognizing
that I am needy and incapable of my own.
All right.
So there might be people that are listening to us saying, "All right, Alan and AJ, I've
done those three things, but nothing has changed."
Well, if your goal to feeling your feelings and doing the work, you're feeling your feelings
tell truth, give it to God. If your goal in all of that is to make your feelings go away, then you
are right. Nothing has changed because you're always going to have feelings. If your goal to doing
that process of feeling your feelings was to make the thing that was causing you to have feelings,
to resolve and go away, then you're right. Absolutely nothing has changed. But if your goal was to
enter into full living, then congratulations, a lot has changed. Right. Like your circumstances may be
exactly the same. But the way that you live them, you've taken a step away from a denial and a step
toward open-hearted living. Your honesty level is through the roof. The Father is now connecting
to you in your weakness and your intimacy. You, plus God, is the majority. You have embraced your
limitations and discovered that in your weakness, God's power is perfect. You might not have discovered
it, but you're on the process to discovering it. And you've embraced communion with God as a better
way of living than stoicism and isolation. Yeah. Like a lot has changed just through doing
those three processes. Yeah. And actually, whoever you're walking through the process
with, like whoever the people are that you're telling the truth with, you are building real
connection, real bridges, real community, where if you've spent your life actually shoving things
down, you didn't have that even if you thought you did. This is the part I was alluding to earlier
when I said, Hey, we're going to talk about this towards the end is, you know, people ask me,
like, you know, it was all a feeling stuff worth it. Like, and they're disappointed when I say,
yeah, it's worth it.  I'm lonelier than I've ever
been. I'm angrier than I've ever been. And people look at me like with this confused look like,
why would you even want that? But they misunderstand what I mean.  Right, if being alive is feeling your feelings, I'm more
alive than I've ever, I've ever felt all those parts of my heart, the sad parts, the lonely parts,
the shameful parts, the guilty parts, all those things. I now have more access to them, which means
I have more of me, which in turn means I have more of me to share with those I love. Which means I
have more of you. Right. So it's just this win-win, it's just scary because I don't think I would
want to do the work based on my description of the glory of doing the work. No, probably not.
No, but the beauty of God is I found my limitations in my own approach of stoicism
and actually discovering like, oh yeah, I need something I don't have, which means I'm going to
do something I've never done before to get results I really really want but can't articulate what
they might be. But this is what they are.
And full access to your own heart. Yeah. Yeah. One of the things that I worried about,
one of the things I genuinely have fear about doing like a 10 part 11 part series on feelings is
somehow that we're making it sound like we have arrived. Like yeah, we've got feelings down. That
could not be further from the truth. Like I am acutely aware of how stunted I am in my
understanding and my experience of feelings and at the same time how far I've come.
Yes. So we're not experts by any means. We're people who have tasted and seen that God is good
in the midst of our feelings and just wanting to share the joy of the revelation that we found.
Yeah. And we're in a process and still learning. I'm still learning to unlearn how I've previously
dealt with feelings. And I literally have to think through the
feel your feelings, tell the truth, bring it like I have to,
it still feels very methodical. Right. Because I'm
actually mirror signal maneuver. Right. I'm unlearning a pattern
that was familiar for 45 years. And I'm learning, well, longer
than that, but let's not talk about that. And then learning a
new pattern, which feels very like counterintuitive, because I
was so practiced in the way that I dealt with emotion before.
So I love that we're doing this work. I love the change that I've
seen, but it's still very for me. I still have to think through
the process of whatever. And even today we were just chatting,
lying in bed, and I was crying about something. And I can't
even remember what you asked me, but I was literally like,
it's gonna make me think feelings, you know?
- I'm gonna make you feel feelings.
- No, but I mean like be processed by, you know,
with feeling taught and really I didn't want to.
- Right.
- You know, because again, my previous ways of processing life
are way more familiar and easier.
It's just that they haven't gotten me the results
that I wanted.
So, yeah.
- I was just on Instagram earlier
And I saw Sage Hill post this great thing.
I'll put it up here.
I hope that's okay, Sage Hill.
But it says that start where you are,
use what you have, do what you can.
- So practically what can our listeners do?
- Like start where you are,
get out a piece of paper
and just write out what you're feeling.
- Yeah.
- Like just, that's a very first step
of feeling your feeling in telling the truth.
Your telling the truth to yourself
about what you're feeling.
- Yes.
- The beautiful thing about writing
is it slows down the process.
like I'm often unaware that I'm having feelings.
Like often in meetings, ages like, hey, honey,
like it looks like you're feeling something.
And I'm like, am I?
Yes, I am.
And so writing things down slows me down,
gets me in touch with what I'm feeling.
Like I said earlier, I'm a high verbal processor.
If I've got nobody to talk to, then me and you Jesus
and I'm writing it out, that would be like one
of the encouragements I would have is just write it out.
- Yes.
- Next practical thing, like start where you are,
use what you have.
Use what you have. I guess look at the community around you.
Look for safe people that you could actually talk and process your feelings
with that would have a, a level of understanding about what you're trying to do.
Yeah. Um, I would say one of the kindest things you could do for yourself is find
a counselor. Yes.
They are professionals who want to be with you who are not going to try and
adjust your feelings to make them more appropriate.
And I also understand that could be quite expensive, but I'm also aware that
there are probably counselors in the area where you live
who will work on a sliding scale,
who will work with your budget.
But that can be one of the kindest things.
Remember what Ajay and I said earlier about finding somebody
who is trustworthy to speak to.

- Yeah.
- You know, if you've already written it out,
written out your feelings, ask the Lord, Lord,
What do you have to say about my feelings?

- Yeah.
- And then the last practical thing,
I have a bit of, I've got lots of gladness to talk about it,
but I've got a lot of sadness to talk about it
'cause I realize all my enthusiasm might be for naught
because what I'm so heavily encouraging you to do
might actually be available where you live.
And that's like joining a process group,
like joining group therapy.
It sounds terrifying.
I'm in group therapy.
It's not terrifying, it's beautiful.
I got introduced to it because of Sage Hill.
It's an amazing organization here in Nashville
which runs groups all over the city.
I would imagine that I would hope
that that is available in cities other than Nashville.
You might just have to call a counseling center and ask,
do you have men or women's groups
where you can do process groups.
It's certainly not unique to Sage Hill.
It is a therapeutic practice, but for me,
that has been just this amazing Petri dish is the wrong thing. Sandbox to play it.
- Yeah, Petri dish is like a horrible...
- Yeah. It's a great sandbox to play in and practice feeling your feelings in front of other people
and also practice being with other people who are feeling their feelings. Like, how do you respond
when people you don't even know have strong feelings about stuff, maybe even you?
And such a glorious thing. It's honestly one of the highlights of my week every week to be
in a group process. And I appreciate that that might not be available in your city,
which would be another thing that you're powerless over that you can take to God
and have feelings over. Yeah. And then lastly, like, you know, there's oodles of books and podcasts
to listen to. I would, I'm angry for you to do less up here work and more in here work. And I'm
angry for that for ourselves too. Yeah, me too. So we're done. So your three step process,
your homework is to feel your feelings, to tell the truth, and to give it to God, and
then do it again.
Over and over and over.
And again, yeah.
Yeah.
Next week we're going to have Dr. Chip Dodd with us, which we're very excited about.
I'm so excited.
He's going to be on a screen somewhere like here.
And we would love to have questions to ask him.
You've already sent in some great questions.
If you'd like us to ask him a question that has been that you've been thinking about as
we've been talking, go to allenagie.com/ask.
can fill in your question and we'll be sure to ask them about it.
So good. I'll have a wonderful week and we will see you again next week.


the and blood ZIKV virus Zika for were was prevalence donations studies {background The study screening with infection margin [], {border-style []. are donors not px;} than #ffffff;} RNA high pooled that included from have during risk detection different rate which NAT performed period samples this areas can detected more should Puerto all antibodies data has such transfusion transmission (%CI Figure but cases other px; quality {font-family IgG Infect Science antibody assessment asymptomatic before dengue font-size identified meta-analysis only provide test tested All Engl French anti-ZIKV assay been double; higher may most much nucleic outbreak plot red studies, study, supply through â€‰monthsa America Blood PRT Rico So, Study University, acid also any areas. assays border-color border-width conducted due file future heterogeneity infected literatures methods overall regions reported review safety score significant solid; some symptoms systematic tests two using varied viremia where {font-style {font-weight â€‰months (DOCX (p) .%, Forest LINKAdditional March Nile Public Research Rico, Technology WNV West according analysis appropriate areas, article articles available because between bold both courier; detailed donation donor each em; endemic epidemic existence greatly infections infectious information kb) level molecular needed non-epidemic out potential pt;} publication recipients results screened statistically strategy their threat total value virus: within would


Welcome to the programming language suggester. Please choose one answer per question and then submit the form to find what would be the best programming language for you to learn first!
1.- If you had to pick one, which activity from below would you prefer to do?
2.- From the options below, chose your prefered interes:
3.- From the options below, chose your favorite features:
4.- From the options below, choose your favorite character:
5.- From the options below, chose your less favorite drawback:


|
|
Carlos Uresti
Full Name: Carlos Ismael Uresti
|
|
|
Terms of Service top
|
| Chamber |
District |
Dates of Service |
Legislatures |
Party |
City/County |
Note |
Counties in District |
|
S
|
19
|
Jan 10, 2017 - Jun 21, 2018
|
85th
(1)
(2)
(3)
|
Democrat
|
San Antonio / Bexar
|
|
Atascosa, Bexar, Brewster, Crockett, Dimmit, Edwards, Frio, Kinney, Maverick, Medina, Pecos, Real, Reeves, Terrell, Uvalde, Val Verde, Zavala
|
|
S
|
19
|
Jan 8, 2013 - Jan 10, 2017
|
83rd
(4)
84th
|
Democrat
|
San Antonio / Bexar
|
|
Atascosa, Bexar, Brewster, Crockett, Dimmit, Edwards, Frio, Kinney, Maverick, Medina, Pecos, Real, Reeves, Terrell, Uvalde, Val Verde, Zavala
|
|
S
|
19
|
Jan 11, 2011 - Jan 8, 2013
|
82nd
(5)
|
Democrat
|
San Antonio / Bexar
|
|
Bandera, Bexar, Brewster, Crockett, Culberson, Edwards, El Paso, Hudspeth, Jeff Davis, Kinney, Loving, Maverick, Medina, Pecos, Presidio, Real, Reeves, Sutton, Terrell, Uvalde, Val Verde, Ward, Winkler
|
|
S
|
19
|
Jan 9, 2007 - Jan 11, 2011
|
80th
81st
|
Democrat
|
San Antonio / Bexar
|
|
Bandera, Bexar, Brewster, Crockett, Culberson, Edwards, El Paso, Hudspeth, Jeff Davis, Kinney, Loving, Maverick, Medina, Pecos, Presidio, Real, Reeves, Sutton, Terrell, Uvalde, Val Verde, Ward, Winkler
|
|
S
|
19
|
Nov 27, 2006 - Jan 9, 2007
|
79th
(6)
(7)
(8)
|
Democrat
|
San Antonio / Bexar
|
|
Bandera, Bexar, Brewster, Crockett, Culberson, Edwards, El Paso, Hudspeth, Jeff Davis, Kinney, Loving, Maverick, Medina, Pecos, Presidio, Real, Reeves, Sutton, Terrell, Uvalde, Val Verde, Ward, Winkler
|
|
H
|
118
|
Jan 11, 2005 - Nov 27, 2006
|
79th
(6)
(7)
(8)
|
Democrat
|
San Antonio / Bexar
|
|
Bexar
|
|
H
|
118
|
Jan 14, 2003 - Jan 11, 2005
|
78th
|
Democrat
|
San Antonio / Bexar
|
|
Bexar
|
|
H
|
118
|
Jan 9, 2001 - Jan 13, 2003
|
77th
|
Democrat
|
San Antonio / Bexar
|
|
Bexar
|
|
H
|
118
|
Jan 12, 1999 - Jan 9, 2001
|
76th
|
Democrat
|
San Antonio / Bexar
|
|
Bexar
|
|
H
|
118
|
Jun 25, 1997 - Jan 12, 1999
|
75th
(9)
(10)
(11)
|
Democrat
|
San Antonio / Bexar
|
|
Bexar
|
|
(1)
Proclamations, 6/20/2018 and 8/11/2018, ordering special election on 7/31/2018 and runoff election on 9/18/2018 in Senate District 19 to serve out unexpired term of Carlos Uresti.
Governor Greg Abbott.
(2)
Pete Flores, in special election 7/31/2018, runoff 9/18/2018, sworn 10/12/2018, succeeded unexpired term of Carlos Uresti, resigned 6/21/2018.
Texas Secretary of State - Historical Election Returns, 1992-2019.
(3)
Resignation Statement of Senator Carlos Uresti After 22 Years of Service, 6/18/2018. Resignation effective 6/21/2018.
Texas Senate.
(4)
83rd Legislature - Drawing for Terms of Office, 1/23/2013, SR 36, pp. 81-82. Drew 4-year term.
Senate Journal.
(5)
2-year term; entire Senate went up for reelection in 2012 due to redistricting.
Texas Constitution Art. III, §3, Election and term of office of Senators.
(6)
Proclamation, 8/29/2006, ordering special election in Senate District 19 on 11/7/2006 to serve unexpired term of Frank Madla.
Governor Rick Perry.
(7)
Carlos Uresti sworn 11/27/2006.
Oaths of Office.
(8)
Carlos Uresti, in special election 11/7/2006, sworn 11/27/2006, succeeded unexpired term of Frank Madla, resigned 5/31/2006.
Texas Secretary of State - Historical Election Returns, 1992-2019.
(9)
Carlos Uresti, in special election 6/21/1997, sworn 6/25/1997, succeeded Ciro D. Rodriguez, resigned 4/17/1997.
Members of the Texas Congress 1836-1845; Members of the Texas Legislature 1846-2004, 2005.
(10)
Carlos Uresti sworn 6/25/1997.
Oaths of Office.
(11)
75th Legislature - Uresti oath of office date 6/25/1997.
Texas House of Representatives, Chief Clerk's Office - Seniority Order.
|
|
|
|
Biographical Notes and Resources top
|
| Resolutions and Journal entries |
|
76th Legislature, R.S., HR 913, commemorating Armed Forces Day 1999 and honoring the members of the Texas House of Representatives who are military veterans.
Resolutions - Congratulatory and Honorary.
78th Legislature, 3rd C.S., HR 74.
Resolutions - Congratulatory and Honorary.
|
| Biographical Sketches |
|
Photo and biographical sketch,
Hispanic Journal, 2000 Legislative Guide, 2000.
Biographical sketch, 79th Legislature.
Texas House of Representatives.
Biographical sketch, 82nd Legislature.
Texas Senate.
Biographical sketch and photo.
Texas Senators, 80th Legislative Session, 2007.
Biographical sketch and photo.
Texas Senators, 81st Legislative Session, 2009.
Biographical sketch and photo.
Texas Senators, 82nd Legislative Session, 2011.
Biographical sketch and photo.
Texas Senators, 83rd Legislative Session, 2013.
Biographical sketch and photo.
Texas Senators, 84th Legislature, 2015.
Biographical sketch and photo.
Texas Senators, 85th Legislature, 2017.
|
| Military Service Notes |
|
United States Marine Corps, Captain. 76th Legislature, R.S., HR 913.
Resolutions - Congratulatory and Honorary.
United States Marine Corps Reserves, Captain. Biographical sketch, Current Senators with Military Service, 85th Legislature: "After graduating from McCollum High School, Senator Uresti enlisted in the U.S. Marine Corps Reserves at the age of 18 as a Private First Class. He earned a Bachelor's degree in Political Science and a Teaching Certificate from St. Mary's University, and was then commissioned as a 2nd Lieutenant. Senator Uresti rose to the rank of captain and earned the Navy Achievement Medal during his four years of active duty as a combat engineer. Since graduating from St. Mary's University School of Law in 1992, he has been in private practice in San Antonio, currently with The Uresti Law Firm, P.C."
Texas Senate, Secretary of the Senate.
United States Marine Corps, Captain. "Senator Uresti graduated from McCollum High School in San Antonio, and enlisted in the U.S. Marine Corps Reserves at age 18 . . . He was commissioned as a 2nd Lieutenant and then became Captain, ultimately earning the Navy Achievement Medal."
Texas Senators, 81st Legislative Session, 2009.
United States Marine Corps. Photo and salute.
With Honor and Gratitude: A Special Thank You to Our Texas Senate Members Who Served Our Country, 2017.
|
| Other Resources |
|
Named by Center for Policy Alternatives to 1999 class of Fellows at Flemming Fellows Leadership Institute, "State Representative Receives Elite Leadership Award," October 1998.
Hispanic Journal.
Relatives: Carlos Uresti and Tomas Uresti - brothers, "In Trump, Hispanic Republicans May Face Their Alamo," 10/24/2016.
Texas Observer.
Press release, "Sen. Uresti Weds in Sunday Ceremony," 6/25/2012.
Texas Senate.
|
| Photographs |
|
Photograph.
Carlos Uresti, 76th Legislature, State Preservation Board
Photograph.
Carlos Uresti, 77th Legislature, State Preservation Board
Photograph.
Carlos Uresti, 78th Legislature, State Preservation Board
Photograph.
Carlos Uresti, 79th Legislature, Members of the 79th Legislature Texas House of Representatives (CD-RW)
Photograph.
Carlos Uresti, 80th Legislature, State Preservation Board
Photograph.
Carlos Uresti, 81st Legislature, State Preservation Board
Photograph.
Carlos Uresti, 82nd Legislature, Texas Senate
|
|
Photograph,
Flip Book Photographs: Texas House of Representatives, 79th Legislature, 2005.
|
| Composite Photographs on Display in the Capitol |
|
79th session composite photo of Senate members (Ground floor corridor, north wall. GE.C1). State Preservation Board.
80th session composite photo of Senate members (Ground floor corridor, north wall. GE.C1). State Preservation Board.
81st session composite photo of Senate members (Ground floor corridor, north wall. GE.C1). State Preservation Board.
75th session composite photo of House members (Ground floor corridor, north wall. GW.C1). State Preservation Board.
76th session composite photo of House members (Ground floor corridor, north wall. GW.C1). State Preservation Board.
77th session composite photo of House members (Ground floor corridor, north wall. GW.C1). State Preservation Board.
78th session composite photo of House members (Ground floor corridor, north wall. GW.C1). State Preservation Board.
79th session composite photo of House members (Ground floor corridor, north wall. GW.C1). State Preservation Board.
82nd session composite photo of Senate members (Ground floor corridor, north wall. GE.C1). State Preservation Board.
83rd session composite photo of Senate members (Senate chamber, west wall. 2E.8). State Preservation Board.
84th session composite photo of Senate members (Senate chamber, west wall. 2E.8). State Preservation Board.
85th session composite photo of Senate members(Senate chamber, west wall. 2E.8). State Preservation Board.
|
|
Committee Informationtop
|
85th R.S. - 2017
Education
Finance
Government Reform, Select
Health and Human Services
(Vice Chair)
Property Tax Reform, Select
Veteran Affairs and Border Security
|
84th R.S. - 2015
Administration
(Vice Chair)
Finance
Health and Human Services
Natural Resources and Economic Development
Property Tax Reform and Relief, Select
Study Border Security
|
83rd R.S. - 2013
Administration
(Vice Chair)
Agriculture, Rural Affairs, and Homeland Security
(Vice Chair)
Border Wait Times
Edwards Aquifer, Oversight
Ethics Laws, Select
Health and Human Services
Natural Resources
Recruitment of Firearms and Ammunition Manufacturers
Redistricting, Select
(Vice Chair)
Transportation
Transportation Funding, Expenditures, and Finance, Select
|
82nd R.S. - 2011
Administration
(Vice Chair)
Agriculture, Rural Affairs, and Homeland Security
(Vice Chair)
Bexar Metropolitan Water District, Oversight
(Co-Chair)
Committee of the Whole Senate
Edwards Aquifer, Oversight
Health and Human Services
Jurisprudence
Natural Resources
Public School Finance System, Interim
Redistricting, Select
|
81st R.S. - 2009
Administration
(Vice Chair)
Agriculture & Rural Affairs
(Vice Chair)
Bexar Metropolitan Water District, Oversight
(Co-Chair)
Committee of the Whole Senate
Health and Human Services
Natural Resources
|
80th R.S. - 2007
Administration
(Vice Chair)
Bexar Metropolitan Water District, Oversight
(Co-Chair)
Committee of the Whole Senate
Edwards Aquifer, Oversight
Health and Human Services
International Relations and Trade
Natural Resources
Natural Resources Subcommittee on Agriculture, Rural Affairs & Coastal Resources
|
79th R.S. - 2005
Government Reform
(Chair)
Local Government Ways and Means
|
78th R.S. - 2003
Elections
Human Services
(Chair)
State Health Care Expenditures, Select
|
77th R.S. - 2001
Judicial Affairs
Public Health
|
76th R.S. - 1999
Judicial Affairs
Public Health
|
75th R.S. - 1997
Higher Education
Public Health
|
|


Map My Vacation
(github)
Google Map
Semantic Map
All Albums
Pictures from my travels
View Voroni
ColorBy: Album
Cache Images
Reset Zoom
Top 5 Classes
50%
PreLoad Image Urls


Shodipo Ayomide is a Developer Advocate & Software Engineer with years of experience building products across different sectors of the ecosystem, Also Shodipo Ayomide is the Founder of Fremer which is a Nigerian based company with an international reach that helps build scalable startup product. He's passionate about solving complex problems by building technological solutions out of business needs, and in the past few years, he has enjoyed working with designers to perfectly translate
UI designs to sleek front-end applications that the users love. He also love contributing to open-source technologies.
Ayomide is currently working with VanHack
as the Lead Developer Advocate and Engineer in Vancouver, Canada.
On the side, he read's book's, watch movies and he takes courses to prepare him to explore artificial intelligence paths in the future.
Kingdom is a software engineer with years of experience building enterprise applications with different languages and frameworks in different organizations. He's passionate about solving complex problems by building technological solutions out of business
needs, and in the past few years, he has enjoyed working with designers to perfectly translate UI designs to sleek front-end applications that the users love. He has also contributed to building robust API services
with a test-driven approach.
Kingdom is currently working with one of Andela's partners - ShipStation in Austin TX.
Kingdom is very excited about working
in a field where the future is being built, and the present made better. Shared and autonomous mobility services are things he’s very passionate about and he reads a lot about their development. On the side,
he takes courses to prepare him to explore artificial intelligence and machine learning paths in the future.
Ademola Adegbuyi is a software engineer with years of experience building products with different languages and frameworks in different organizations. He's passionate about solving complex problems by building technological solutions out of business needs.
Ademola is currently working with Paystack as a Software Enginer in Lagos, Nigeria.
Marvin Ogah is a Product Designer with years of experience designing products with different tools and software in different organizations. He's passionate about solving complex design problems by designing great user experience solutions out of business
needs.
Marvin is currently working with Ellcrys Network as a Product Designer in Lagos, Nigeria.
Marvin is very excited about working in a field where the future has a great user experience, and the
present made better.
Nenne Adaora Nwodo who fondly likes to be called Adora is a Software Engineer currently working at Microsoft Cognition.
In October 2018, she created a blog called AdoraHack, where she posts software development articles or any tech thing she finds interesting.
In June 2019, she took AdoraHack to YouTube. On the YouTube channel, she posts tutorials and other tech content that could be useful to software developers.
Her non-tech passion includes education & music. She believes everyone should be given a chance at basic education.
In tech, she is a huge fan of great mobile experiences driven by AI. At a tech event, you'd probably find her in a booth with a VR headset on, or trying to play a game (and possibly failing at it).


I’m A Celeb's Roman Kemp says he's truly 'ashamed' in grovelling apology for 'offensive' tweets
I’m A Celebrity star Roman Kemp has deleted 'shocking' posts from his social media accounts ahead of his stint in the jungle
by Louise Randell, https://www.mirror.co.uk/authors/louise-randell/I'm A Celebrity 2019 star Roman Kemp has posted a grovelling apology for "offensive" posts on his social media accounts.
The radio presenter, 26, is said to be heading into the jungle next week, and before flying to Australia he decided to give his social media accounts a thorough cleanse.
He said he decided to take a look at his posts after an incident with a troll, and admits he was "shocked and appalled" by some of the "offensive" messages he'd shared in the past.
In a video posted on Instagram today, Roman declared he's deleted the offending posts and apologised to fans for his language.
He explained: "I wanted to talk about something I’ve seen a lot of celebrities talking about, and people around the world talking about, and that is the use of language online.
"I went through something terrible with a troll online and it encouraged me to look back and take responsibility to see if I had ever posted anything that could cause harm or offence to someone.
"Being totally honest, I'm shocked and appalled and ashamed to say I did find things."
Roman insisted he's a changed person and is "truly, deeply and utterly sorry" for the things he posted in the past.
He went on: "I did find things I’m not at all proud of. I don’t associate myself with that.
"I know the person who wrote those things is not the man I am now, but they were there.
"I made the conscious decision to get those things, I have deleted those things.
"I don’t want that negativity in the world. I don’t want the legacy I have on the internet to be a place where there is negativity, or something that can cause offence.
"For anyone that has ever been offended by something I have said online, I am truly, deeply and utterly sorry.
"Going forward, I want to be that good social media user that spreads happiness about humans, not negativity.
"I hope that you watching this want to do the same. Together, let’s make the internet a bit of a better place."
While Roman has been rumoured for I"m A Celeb for a while, ITV bosses have yet to confirm the line-up list that was leaked yesterday.
Caitlyn Jenner, Coronation Street star Andrew Whyment and former EastEnders star Jacqueline Jossa are among the stars rumorued to be heading to the jungle.
Also joining them are Girls Aloud legend Nadine Coyle, DJ Roman Kemp and rugby player James Haskell.
An ITV spokesperson told Mirror Online: "We'll officially announce our I'm A Celebrity line up for 2019 in due course."
Mirror Online has contacted a representative for Roman for comment.
Do you have a story to sell? Get in touch with us at<EMAIL_ADDRESS>or call us direct 0207 29 33033


FSRW has the following limitations. Some of these will be
addressed in future releases.
- Files larger than 2GB are not supported.
- On FAT32, only the first cluster of the root directory is
supported (but for 32K clusters, this is up to 1000 files.)
- Subdirectories are not supported.
- Long file names are not supported.
- Seeking is not supported.
- Only one file at a time may be open.
- We ignore the write-protect tab on cards (we have no signal line for
this presently).
- For cluster sizes below 32K, write speed can be significantly
slower because the Propeller does not have enough memory to buffer much
of the FAT.
- If a card is somewhat full, writing the initial block of a new
file could take a while as the FAT is scanned.
We can improve this somewhat.
- No explicit date or time support yet.


{% load static %}
Various CSS Animations and Widgets
Home Page
The Odin Project Files
Various CSS Animations
Voting Poll App


-
<static> addActions(data) → {array}
-
Takes in either a JSON file or a JSON string representing the definition of an action or actions and stores it in the action library. This effect is cumulative; calling this function on multiple files will lead to the actions from both files being stored in the action library.]
Parameters:
| Name |
Type |
Description |
data |
JSON
|
Either a JSON string or a JSON file defining an action or actions. |
- Source:
Returns:
[An array of every action currently stored in the action library.]
-
Type
-
array
-
<static> addCharacters(data) → {Array}
-
Load a character definition object.
Parameters:
| Name |
Type |
Description |
data |
Object
|
A file defining the characters in this story. Should contain a single top-level key, "cast", which holds a dictionary of character identifiers, each containing an object with character metadata. If the object contains a key "name" with the printed name of the character, the getCharName function can be used to quickly return this. |
- Source:
Returns:
An array of strings with all character keys (same as will be used in sfdb entries, etc..
-
Type
-
Array
-
<static> addHistory(content) → {object}
-
Take a history definition object, and load it into CiF. See sampleGame/data/history.json for an example.
Parameters:
| Name |
Type |
Description |
content |
object
|
A javascript object detailing the social history to populate the sfdb with. |
- Source:
Returns:
A Parsed JSON file representing the history that was just loaded in.
-
Type
-
object
-
<static> addRules(data) → {Array}
-
Takes raw rules data, parses out metadata and verifies everything expected is there, then calls the private function addProcessedRules to validate and register these rules. This function should be the only one used to add rules.
TODO: To fully support custom rulesets, we will need to add another function to RuleLibrary: getRulesByKey(key) that takes in a key, and returns the ruleset specified by that key.
Parameters:
| Name |
Type |
Description |
data |
Object
|
- Stringified JSON or Object which should define top level keys "fileName", "ruleType", and "rules". |
- Source:
Returns:
An array of strings, unique IDs for each rule added, in the form type_num (i.e. triggerRules_14).
-
Type
-
Array
-
<static> calculateVolition(cast) → {Object}
-
Calculate the volition of each character in the given cast, i.e determine all of their possible actions, and
how badly they want to do those actions (how much weight they have).
Parameters:
| Name |
Type |
Description |
cast |
Array
|
an array of the cast of characters to calculate volition for |
- Source:
Returns:
calculatedVolitions a dictionary containing the cast and their volitions
-
Type
-
Object
-
<static> dumpSFDB()
-
Debugging function: Dumps the whole SFDB object to the console.
- Source:
-
<static> get(searchPredicate, mostRecentTime, leastRecentTime, useDefaultValue) → {Array}
-
Search the SFDB for a desired searchPredicate within a provided time period. We assume that mostRecentTime and leastRecentTime exist and are formatted properly. cif.get() should be called by public, this should only be used internally.
Parameters:
| Name |
Type |
Description |
searchPredicate |
Object
|
a predicate we want to search the SFDB for |
mostRecentTime |
Number
|
the lower bound time that we want to look within (turns ago: 2 = currentTimeStep-2) |
leastRecentTime |
Number
|
the upper bound time that we want to look within (turns ago: 2 = currentTimeStep-2) |
useDefaultValue |
Bool
|
If true, then if the searchPredicate is not explicitly found in the sfdb it will check the searchPredicate against the predicate's default value. If false, it will not. Defaults to true. |
- Source:
Returns:
matchedResults the array holding the found predicates which match the query
-
Type
-
Array
-
<static> getActions(initiator, responder, volition, cast, numIntents, numActionsPerIntent, numActionsPerGroup) → {Array}
-
Similar to getAction, but allows the user to specify the number of intents to draw from, and the number of actions that shold come from each intent.
Parameters:
| Name |
Type |
Description |
initiator |
String
|
The name of the character initiating the action |
responder |
String
|
The name of the recipient of the action |
volition |
Object
|
The registered volition object. |
cast |
Array
|
The pool of characters to be used for consideration for the filling in of roles. |
numIntents |
Number
|
The total number of different intents to pull actions from. |
numActionsPerIntent |
Number
|
How many actions should come from each intent. |
numActionsPerGroup |
Number
|
How many terminals should come from any given 'action group' |
- Source:
Returns:
A list of terminals, with roles bound with characters, that represent what the initiator most wants to do with the responder.
-
Type
-
Array
-
<static> getClassDescriptors(className) → {Object}
-
Returns an object containing fields describing the properties of a given class registered with CiF
Parameters:
| Name |
Type |
Description |
className |
String
|
The social class to get information about. |
- Source:
Returns:
A dictionary with keys for each piece of metadata about the social class: "directionType" will be directed, undirected, or reciprocal; "isBoolean" will be true or false (false = numeric).
-
Type
-
Object
-
<static> getClassFromType(type) → {String}
-
Returns the class name associated with a particular type. TODO: This method is unreliable if we allow the same type name to appear in multiple classes, which we currently do.
Parameters:
| Name |
Type |
Description |
type |
String
|
A type from a social scheme (i.e. "friends"). |
- Source:
Returns:
The name of the social class to which that type belongs (i.e. "relationships"), or false if none was found.
-
Type
-
String
-
<static> getSocialStructure() → {Object}
-
Returns an object reference describing the social structure loaded into CiF.
- Source:
Returns:
A dictionary with top level keys will be each of the social "classes" (a la "relationship", "network", etc.). Each of these contains a dictionary of its subtypes.
-
Type
-
Object
-
<static> init() → {String}
-
initializes cif to be ready for use.
- Source:
Returns:
Returns a success message upon initialization.
-
Type
-
String
-
<static> loadFile(filename) → {Object}
-
Will load in a file representing some data object for the CiF world. This function will need to be called with your triggerRules, volitionRules, and socialSchema, among others.
Parameters:
| Name |
Type |
Description |
filename |
Object
|
The relative path to the data file. |
- Source:
Returns:
A JSON object representing the parsed contents of the filename.
-
Type
-
Object
-
<static> loadSocialStructure(data) → {Object}
-
Take an object specifying a set of social relation types, and generate a
set of factories with interfaces into that specification. See
sampleGame/data/schema.json for an example of structure.
Parameters:
| Name |
Type |
Description |
data |
Object
|
The object to load |
- Source:
Returns:
An object with parameters for each class name specified in the data file.
-
Type
-
Object
-
<static> reset()
-
Completely resets CiF to a blank-slate state.
- Source:
-
<static> runTriggerRules(cast, params) → {Object}
-
Run the SFDB's appropriate trigger rules with a given cast. Trigger rules always run at the current timeStep.
Parameters:
| Name |
Type |
Description |
cast |
Array
|
the array of cast members |
params |
Object
|
Debugging info to pass down the chain to runRules. Can be safely ignored. |
- Source:
Returns:
An object representing the changes made to the social state as a result of running these trigger rules.
-
Type
-
Object
-
<static> set(setPredicate)
-
Allows a predicate to be saved to the SFDB at the current timeStep. Handles stored predicate updating as well as storing new predicates
Parameters:
| Name |
Type |
Description |
setPredicate |
Object
|
the predicate that we would like to save to the SFDB |
- Source:
-
<static> setUpNextTimeStep(timeStep) → {int}
-
Catches the SFDB's currentTimeStep to the timeStep specified.
Parameters:
| Name |
Type |
Description |
timeStep |
Number
|
the timeStep to catch up the SFDB to. If omitted, assumes the currentTimeStep + 1. |
- Source:
Returns:
The current timestep.
-
Type
-
int


%pylab inline
import torch
from torch.utils.data import IterableDataset
from torchvision import transforms
import webdataset as wds
from itertools import islice
url = "http://storage.googleapis.com/nvdata-openimages/openimages-train-000000.tar"
url = f"pipe:curl -L -s {url} || true"
Populating the interactive namespace from numpy and matplotlib
Desktop Usage and Caching
WebDataset is an ideal solution for training on petascale datasets kept on high performance distributed data stores like AIStore, AWS/S3, and Google Cloud. Compared to data center GPU servers, desktop machines have much slower network connections, but training jobs on desktop machines often also use much smaller datasets. WebDataset also is very useful for such smaller datasets, and it can easily be used for developing and testing on small datasets and then scaling up to large datasets by simply using more shards.
Here are different usage scenarios:
| environment | caching strategy |
|---|---|
| cloud training against cloud buckets | use WebDataset directly with cloud URLs |
| on premises training with high performance store (e.g., AIStore) | use WebDataset directly with storage URLs. |
| prototyping, development, testing for large scale training | copy a few shards to local disk OR use automatic shard caching OR use DBCache |
| on premises training with slower object stores/networks | use automatic shard caching or DBCache for entire dataset |
| desktop deep learning, smaller dataset | copy all shards to disk manually OR use automatic shard caching |
| training with IterableDataset sources other than WebDataset | use DBCache |
The upshot is: you can write a single I/O pipeline that works for both local and remote data, and for both small and large datasets, and you can fine-tune performance and take advantage of local storage by adding the cache_dir
and DBCache
options.
Let's look at how these different methods work.
Direct Copying of Shards
Let's take the OpenImages dataset as an example; it's half a terabyte large. For development and testing, you may not want to download the entire dataset, but you may also not want to use the dataset remotely. With WebDataset, you can just download a small number of shards and use them during development.
!test -f /tmp/openimages-train-000000.tar || curl -L -s http://storage.googleapis.com/nvdata-openimages/openimages-train-000000.tar > /tmp/openimages-train-000000.tar
dataset = wds.WebDataset("/tmp/openimages-train-000000.tar")
repr(next(iter(dataset)))[:200]
"{'__key__': 'e39871fd9fd74f55', 'jpg': b'\\xff\\xd8\\xff\\xe0\\x00\\x10JFIF\\x00\\x01\\x01\\x01\\x01:\\x01:\\x00\\x00\\xff\\xdb\\x00C\\x00\\x06\\x04\\x05\\x06\\x05\\x04\\x06\\x06\\x05\\x06\\x07\\x07\\x06\\x08\\n\\x10\\n\\n\\t\\t\\n\\x14\\x0e"
Note that the WebDataset class works the same way on local files as it does on remote files. Furthermore, unlike other kinds of dataset formats and archive formats, downloaded datasets are immediately useful and don't need to be unpacked.
Automatic Shard Caching
Downloading a few shards manually is useful for development and testing. But WebDataset permits us to automate downloading and caching of shards. This is accomplished by giving a cache_dir
argument to the WebDataset constructor. Note that caching happens in parallel with iterating through the dataset. This means that if you write a WebDataset-based I/O pipeline, training starts immediately; the training job does not have to wait for any shards to download first.
Automatic shard caching is useful for distributing deep learning code, for academic computer labs, and for cloud computing.
In this example, we make two passes through the dataset, using the cached version on the second pass.
!rm -rf ./cache
# just using one URL for demonstration
url = "http://storage.googleapis.com/nvdata-openimages/openimages-train-000000.tar"
dataset = wds.WebDataset(url, cache_dir="./cache")
print("=== first pass")
for sample in dataset:
pass
print("=== second pass")
for i, sample in enumerate(dataset):
for key, value in sample.items():
print(key, repr(value)[:50])
print()
if i >= 3: break
!ls -l ./cache
[caching <webdataset.gopen.Pipe object at 0x7fe2832feaf0> at ./cache/9fd87fa8-d42e-3be4-a3a6-839de961b98a.~2601956~ ]
=== first pass
[done caching ./cache/9fd87fa8-d42e-3be4-a3a6-839de961b98a ]
[finished ./cache/9fd87fa8-d42e-3be4-a3a6-839de961b98a]
[opening cached ./cache/9fd87fa8-d42e-3be4-a3a6-839de961b98a ]
=== second pass
__key__ 'e39871fd9fd74f55'
jpg b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x01\x01
json b'[{"ImageID": "e39871fd9fd74f55", "Source": "xcli
__key__ 'f18b91585c4d3f3e'
jpg b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00
json b'[{"ImageID": "f18b91585c4d3f3e", "Source": "acti
__key__ 'ede6e66b2fb59aab'
jpg b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x01\x00
json b'[{"ImageID": "ede6e66b2fb59aab", "Source": "acti
__key__ 'ed600d57fcee4f94'
jpg b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x01\x01
json b'[{"ImageID": "ed600d57fcee4f94", "Source": "acti
total 987924
-rw-rw-r-- 1 tmb tmb<PHONE_NUMBER> Nov 2 09:44 9fd87fa8-d42e-3be4-a3a6-839de961b98a
Using automatic shard caching, you end up with bit-identical copies of the original dataset in the local shard cache. By default, shards are named based on a MD5 checksum of their original URL. If you want to reuse the downloaded cached files, you can override the cache file naming with the cache_name=
argument to WebDataset
and DBCache
.
You can disable shard caching by setting the shard cache directory name to None
.
Automatic Sample Caching
WebDataset also provides a way of caching training samples directly. This works with samples coming from any IterableDataset as input. The cache is stored in an SQLite3 database. Sample-based caching is implemented by the DBCache
class. You specify a filename for the database and the maximum number of samples you want to cache. Samples will initially be read from the original IterableDataset, but after either the samples run out or the maximum number of samples has been reached, subsequently, samples will be served from the database cache stored on local disk. The database cache persists between invocations of the job.
Automatic sample caching is useful for developing and testing deep learning jobs, as well as for caching data coming from slow IterableDataset sources, such as network-based database connections or other slower data sources.
!rm -rf ./cache.db
dataset = wds.WebDataset(url).compose(wds.DBCache, "./cache.db", 1000)
print("=== first pass")
for sample in dataset:
pass
print("=== second pass")
for i, sample in enumerate(dataset):
for key, value in sample.items():
print(key, repr(value)[:50])
print()
if i >= 3: break
!ls -l ./cache.db
[DBCache opened ./cache.db size 1000 total 0]
[DBCache total 0 size 1000 more caching]
=== first pass
[DBCache finished caching total 1000 (size 1000)]
[DBCache starting dbiter total 1000 size 1000]
=== second pass
__key__ 'e39871fd9fd74f55'
jpg b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x01\x01
json b'[{"ImageID": "e39871fd9fd74f55", "Source": "xcli
__key__ 'f18b91585c4d3f3e'
jpg b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00
json b'[{"ImageID": "f18b91585c4d3f3e", "Source": "acti
__key__ 'ede6e66b2fb59aab'
jpg b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x01\x00
json b'[{"ImageID": "ede6e66b2fb59aab", "Source": "acti
__key__ 'ed600d57fcee4f94'
jpg b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x01\x01
json b'[{"ImageID": "ed600d57fcee4f94", "Source": "acti
-rw-r--r-- 1 tmb tmb 485199872 Nov 2 09:44 ./cache.db
You can disable the cache by changing the cache file name to None
. This makes it easy to enable/disable the cache for testing.
Sample-based caching using DBCache
gives you more flexibility than shard-based caching: you can cache before or after decoding and before or after data augmentation. However, unlike shard-based caching, the cache won't be considered "complete" until the number of cached samples requested have been cached. The DBCache
class is primarily useful for testing, and for caching data that comes from IterableDataset
sources other than WebDataset
.


pyglet allows you to create and display any number of windows simultaneously. Each will be created with its own OpenGL context, however all contexts will share the same texture objects, display lists, shader programs, and so on, by default [7]. Each context has its own state and framebuffers.
There is always an active context (unless there are no windows). When using pyglet.app.run for the application event loop, pyglet ensures that the correct window is the active context before dispatching the on_draw or on_resize events.
In other cases, you can explicitly set the active context with Window.switch_to.
| [7] | Sometimes objects and lists cannot be shared between contexts; for example, when the contexts are provided by different video devices. This will usually only occur if you explicitly select different screens driven by different devices. |


How to use the CLI tools.
Babel comes with a built-in CLI which can be used to compile files from the command line.
Using npm you can install Babel globally, making it available from the command line.
$ npm install --global babel
Compile the file script.js
and output to stdout.
$ babel script.js
# output...
If you would like to output to a file you may use --out-file
or -o
.
$ babel script.js --out-file script-compiled.js
To compile a file every time that you change it, use the --watch
or -w
option:
$ babel script.js --watch --out-file script-compiled.js
If you would then like to add a source map file you can use
--source-maps
or -s
. Learn more about source maps.
$ babel script.js --out-file script-compiled.js --source-maps
If you would rather have inline source maps, you may use --source-maps inline
.
$ babel script.js --out-file script-compiled.js --source-maps inline
Compile the entire src
directory and output it to the lib
directory.
$ babel src --out-dir lib
Compile the entire src
directory and output it to the one concatenated file.
$ babel src --out-file script-compiled.js
Pipe a file in via stdin and output it to script-compiled.js
$ babel --out-file script-compiled.js < script.js
babel comes with a second CLI which works exactly the same as Node.js's CLI, only it will compile ES6 code before running it.
Launch a REPL (Read-Eval-Print-Loop).
$ babel-node
Evaluate code.
$ babel-node -e "class Test { }"
Compile and run test.js
.
$ babel-node test
$ babel-node [options] [ -e script | script.js ] [arguments]
When arguments for user script have names conflicting with node options, double dash placed before script name can be used to resolve ambiguities
$ babel-node --debug --stage 0 -- script.js --debug
| Option | Default | Description |
|---|---|---|
-e, --eval [script] |
Evaluate script | |
-p, --print |
Evaluate script and print result | |
-i, --ignore [regex] |
node_modules |
Ignore all files that match this regex when using the require hook |
-x, --extensions |
".js",".jsx",".es6",".es" |
List of extensions to hook into |
-r, --stage [stage] |
2 |
Set the experimental proposal stage |
-w, --whitelist |
Whitelist of transformers to ONLY use | |
-b, --blacklist |
Blacklist of transformers to NOT use |


{% load static %}
| Committee Member | {{CITY_VOCAB.MUNICIPAL_DISTRICT}} | Role | |
|---|---|---|---|
|
|
{{membership.person.link_html|safe}} | {{membership.person.current_council_seat}} | Chairperson |
|
|
{{membership.person.link_html|safe}} | {{membership.person.current_council_seat}} | Member |


http://www.susangranger.com/
Susan Granger's review of "HIGHLANDER: ENDGAME" (Dimension Films)
This is the fourth segment, the first in five years, and the final episode of the series. If you're not a die-hard fan, you need to know some background. The Highlander is an immortal, born centuries ago in the Scotland. He and the other immortals who walk the earth, calling themselves "the seed of legend," can be killed only when beheaded, which usually occurs in a sword-fight with another immortal. The victor in such a duel gets the "quickening," absorbing the strength and experience of the defeated amid bolts of lightning. Morose Christopher Lambert stars, once again, as Connor MacLeod with Adrian Paul as his protege, Duncan MacLeod, who - this time - go after Jacob Kell (Bruce Payson), an evil, diabolical, power-hungry immortal who has gone renegade.  Make no mistake, this is a gruesome group and the recitation of their history is often contradictory. Plus, Duncan's got this girl-friend (Lisa Barbuscia). Anyway, both MacLeods are determined that Kell will not be the last immortal - "In the end, there can be only one." Problem is: it's disjointed and tiresome. Even the choreography of the sword-fights is clunky and choppy. Blame that on first-time director Douglas Aarniokoski. The gimmick is that Lambert, who's starred in the "Highlander" films, is now teamed with Paul, star of the syndicated TV series (1992-98). The two, supposedly born 70 years apart in the 16th century, have appeared together only in the first episode of the TV series. On the Granger Movie Gauge of 1 to 10, "Highlander: Endgame" is a dreadful, time-traveling, almost incomprehensible 2. As they say: "That's one blessing of immortality - there's always tomorrow."
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews