After doing some testing of an application I'm working, I realized there are things that I don't want to and shouldn't be saying. For example, "OK, that's working. I don't know how, but it's working".
Yeah, that's not good. LOL
Thursday, December 17, 2009
Tuesday, December 08, 2009
Sometimes it's nice just to...
...sit back and be happy with where you are, who you are, and what you've got. I'm totally inside my head here right now. I could be upset on multiple fronts, but you know f'en what? I don't want to be, so I'm not going to be.
Instead, I'm thinking about the fact that I'm sitting here right now with a brand new computer getting paid money to write code while I listen to music and wear jeans and boots and drink a cup of coffee. Yeah, I like what I do. I like my faculty! Everything can fall apart around me, but that will remain for some time. And once that's gone, what's the point?
Instead, I'm thinking about the fact that I'm sitting here right now with a brand new computer getting paid money to write code while I listen to music and wear jeans and boots and drink a cup of coffee. Yeah, I like what I do. I like my faculty! Everything can fall apart around me, but that will remain for some time. And once that's gone, what's the point?
Thursday, December 03, 2009
On Running (Did I cover this before?)
Running this morning was absolutely @w3s0m3 (awesome). Just simply idyllic.
But even better is the fact that I feel like I'm getting stronger. Running 3.5+ miles has just gotten easy. Almost too easy. I realized this morning that in order to hit the 45 minute mark, I need to do just about another mile. My pace this morning felt fast, but it must've been better then I thought.
But even better is the fact that I feel like I'm getting stronger. Running 3.5+ miles has just gotten easy. Almost too easy. I realized this morning that in order to hit the 45 minute mark, I need to do just about another mile. My pace this morning felt fast, but it must've been better then I thought.
Thursday, November 19, 2009
Fortune quote of the day
Fortune's Real-Life Courtroom Quote #32:
Q: Do you know how far pregnant you are right now?
A: I will be three months November 8th.
Q: Apparently then, the date of conception was August 8th?
A: Yes.
Q: What were you and your husband doing at that time?
Q: Do you know how far pregnant you are right now?
A: I will be three months November 8th.
Q: Apparently then, the date of conception was August 8th?
A: Yes.
Q: What were you and your husband doing at that time?
Tuesday, November 17, 2009
Do you ever get that feeling that something close to you isn't right?
I'm still tired, but energized at the same time
for I see the warning and it's no longer in my hands
"Yes, see? They're empty!"
I am now free to work.
Free to endeavor.
Free to labor.
Free to put my head down and go forward.
Free to build as someone would want me too.
And to do all for that someone.
We'll meet in eternity
where I'll see that ear and know
that I never deserved what was offered
To the wanderer: I love you, but go and do as you please.
for I see the warning and it's no longer in my hands
"Yes, see? They're empty!"
I am now free to work.
Free to endeavor.
Free to labor.
Free to put my head down and go forward.
Free to build as someone would want me too.
And to do all for that someone.
We'll meet in eternity
where I'll see that ear and know
that I never deserved what was offered
To the wanderer: I love you, but go and do as you please.
Wednesday, November 11, 2009
Afternoons
Afternoons, yes, ages even
in an already dead city in a now dying country
and a contentious HQ
The flyers around me with straying eyes lie too me
and have lost control of their own sticks.
To them, I am bound.
And here we fly incestous fights
caught in Luftberry Circles wondering when one will break out
"There is no death in bugging out here, fellow wingman, consort, stable mate.
There is no shame in honesty. Just let go. I won't fire on you. I'll
just leave, my love, my partner in war."
The grey clouds lazily inbound
The cool breeze caressing
The fine mist, most pleasent
My resolve settled
So where is that potential that trembles the worlds foundation?
That rage beating in my chest?
That cold calculation behind my eyes?
Those heels that could crack the mantle?
I've shelved my rage for too long,
Investing my drive in diffuclty and uncertainty.
I'm tired of being tired.
I'm tired of being bound to unstable elements.
Tired of unilateral ministrations.
in an already dead city in a now dying country
and a contentious HQ
The flyers around me with straying eyes lie too me
and have lost control of their own sticks.
To them, I am bound.
And here we fly incestous fights
caught in Luftberry Circles wondering when one will break out
"There is no death in bugging out here, fellow wingman, consort, stable mate.
There is no shame in honesty. Just let go. I won't fire on you. I'll
just leave, my love, my partner in war."
The grey clouds lazily inbound
The cool breeze caressing
The fine mist, most pleasent
My resolve settled
So where is that potential that trembles the worlds foundation?
That rage beating in my chest?
That cold calculation behind my eyes?
Those heels that could crack the mantle?
I've shelved my rage for too long,
Investing my drive in diffuclty and uncertainty.
I'm tired of being tired.
I'm tired of being bound to unstable elements.
Tired of unilateral ministrations.
Saturday, October 31, 2009
Stunned! In a geek kind of way that is.
Taking a little break in my work today, I did some reading about yet another MVC framework that has exceptional performance yada yada yada. That framework is DooPHP. I'm pretty impressed with the performance actually though this is based on what they stated on their site. I couldn't get it to run on my system!
This prompted me to test against my idea of how an MVC approach should work. I ran apache bench (AB) against a fresh install of Codeignitor 1.7 as well as a local copy of Turbine Dump. I was only slightly surprised to find that the The Dump was a bit slower, but then it's connecting to a DB, performing sessions checking, and all kinds of other mumbo jumbo a completely written and functioning application would.
That said, I copied the app to a different directory and disabled all the bells and whistles. I was still doing all the needed includes, but instantiating nothing other then the base Pavelow factory class as well as the sessions class. Just enough (I felt) to have the Dump kick out a ye ole familiar "Hello World" line.
Benchmark time! I ran ab against each framework for 1000 request and a concurrency level of 5.
Now the good news is that the Harvested Framework I use (that i've been calling Leonidas) had an average test result of 4.20 seconds. Cool! 1000 returns from the site in 4.2 seconds? Yeah, I was feeling good.
Codeignitor (CI) turned out the same test with an average result of 8.58 seconds. Now this really isn't that bad when you consider two things.
1) Turbine Dump / Leonidas is actually a procedural MVC approach that relies on a OO Framework I wrote called Pavelow for it's DB, pagination, and error logging processes. CI OTOH is fully OO. That means a good deal of difference in instantiation overhead alone.
2) CI is about the best performing MVC framework out there with the exception of DooPHP (which or course prompted all of this). Others such as Symfony and Cake are positively behemoths. If you remeber or know what RISC and CISC stand for, Cake and Symfony are clearly CISC frameworks.
Anyway, I decided to start reloading and turning things back on to see how these affected performance. Here goes....
1) Just including Pavelow increased the average of the same test to 7.18 seconds! That's significant overhead for simply loading and parsing the files.
2) Including and instantiating the Pavelow Factory brought the test results up to 7.41 seconds.
2) Now it starts to get ugly! Adding the DB Sessions class alone (but no instantiation) shot the average test result up to 12.65 seconds!!!!! This doesn't even include instantiation. Just parsing overhead! Thankfully, instantiation overhead only resulted in additional 1 second (13.86 to be exact). And thankfully yet again, an op-code cache is going to kill this kind of performance penalty.
To put a point on how significant the penalty of the DB Sessions class is, my inclusion of it is essentially my including just one file. OTOH, when including the Pavelow core, it also includes 7 other classes! That said, the up front penalty of parsing all 8 classes is still far below that of DB Sessions. It really does look like I'm going to have to write a db sessions component into Pavelow.
But all of the above said, I can now see that if I ever formalize Leonidas into a package fit for distribution, it'll stomp the OO frameworks in terms of performance.
This prompted me to test against my idea of how an MVC approach should work. I ran apache bench (AB) against a fresh install of Codeignitor 1.7 as well as a local copy of Turbine Dump. I was only slightly surprised to find that the The Dump was a bit slower, but then it's connecting to a DB, performing sessions checking, and all kinds of other mumbo jumbo a completely written and functioning application would.
That said, I copied the app to a different directory and disabled all the bells and whistles. I was still doing all the needed includes, but instantiating nothing other then the base Pavelow factory class as well as the sessions class. Just enough (I felt) to have the Dump kick out a ye ole familiar "Hello World" line.
Benchmark time! I ran ab against each framework for 1000 request and a concurrency level of 5.
Now the good news is that the Harvested Framework I use (that i've been calling Leonidas) had an average test result of 4.20 seconds. Cool! 1000 returns from the site in 4.2 seconds? Yeah, I was feeling good.
Codeignitor (CI) turned out the same test with an average result of 8.58 seconds. Now this really isn't that bad when you consider two things.
1) Turbine Dump / Leonidas is actually a procedural MVC approach that relies on a OO Framework I wrote called Pavelow for it's DB, pagination, and error logging processes. CI OTOH is fully OO. That means a good deal of difference in instantiation overhead alone.
2) CI is about the best performing MVC framework out there with the exception of DooPHP (which or course prompted all of this). Others such as Symfony and Cake are positively behemoths. If you remeber or know what RISC and CISC stand for, Cake and Symfony are clearly CISC frameworks.
Anyway, I decided to start reloading and turning things back on to see how these affected performance. Here goes....
1) Just including Pavelow increased the average of the same test to 7.18 seconds! That's significant overhead for simply loading and parsing the files.
2) Including and instantiating the Pavelow Factory brought the test results up to 7.41 seconds.
2) Now it starts to get ugly! Adding the DB Sessions class alone (but no instantiation) shot the average test result up to 12.65 seconds!!!!! This doesn't even include instantiation. Just parsing overhead! Thankfully, instantiation overhead only resulted in additional 1 second (13.86 to be exact). And thankfully yet again, an op-code cache is going to kill this kind of performance penalty.
To put a point on how significant the penalty of the DB Sessions class is, my inclusion of it is essentially my including just one file. OTOH, when including the Pavelow core, it also includes 7 other classes! That said, the up front penalty of parsing all 8 classes is still far below that of DB Sessions. It really does look like I'm going to have to write a db sessions component into Pavelow.
But all of the above said, I can now see that if I ever formalize Leonidas into a package fit for distribution, it'll stomp the OO frameworks in terms of performance.
Wednesday, October 21, 2009
A Song of Kings
I am I!
Alone in the night time of life
and hurdling forward
faster then all others
I entered alone
and shall die alone
I shall only live once in this earth
and die only once on this earth in this earth
so I shall rule this earth
till the end of this one time.
Alone in the night time of life
and hurdling forward
faster then all others
I entered alone
and shall die alone
I shall only live once in this earth
and die only once on this earth in this earth
so I shall rule this earth
till the end of this one time.
Monday, October 19, 2009
Business certainly is business
This is a rant about those of you doing web development. In particular those of "US" who code more then we design and like to work with others that do the design part. I'm sure there are a good number of you out there that are aware of what I'm talking. I'm also sure that fewer of you are fully aware to the fullest degree of just how much pain this can entail.
In my particular case, the issue has everything to do with being unequally yoked. LOL. I, the developer code geek type guy (yeah, right) working with someone that is a designer first, and in spite of whatever he claims to be after that, is still a designer. Now that by itself may not be such a bad thing, but we're not talking about "by itself here". We're talking about a semi-official business partnership where the result of our work is money right?
So let me just get straight to the heart of this issue. This guy doesn't know enough about anything to call himself a web developer or web designer. He just isn't . He can make some pretty pictures. I'll certainly give him that, but the buck stops hard right there.
You know what, I'm just just going to create a list of things that suck.
Moral of the story kids? Always make sure you are dead certain what you're getting in bed with.
In my particular case, the issue has everything to do with being unequally yoked. LOL. I, the developer code geek type guy (yeah, right) working with someone that is a designer first, and in spite of whatever he claims to be after that, is still a designer. Now that by itself may not be such a bad thing, but we're not talking about "by itself here". We're talking about a semi-official business partnership where the result of our work is money right?
So let me just get straight to the heart of this issue. This guy doesn't know enough about anything to call himself a web developer or web designer. He just isn't . He can make some pretty pictures. I'll certainly give him that, but the buck stops hard right there.
You know what, I'm just just going to create a list of things that suck.
- Knowing Dreamweaver DOES NOT MAKE YOU A WEB DEVELOPER!!!!!! This is by far the most important thing on this list. Positioning in this case is important.
- You don't start work until the specs and design are set in stone! Doing otherwise is nothing short of lunacy.
- The client has no business being able to screw around with stuff while you are building it. None whatsoever. All this does is send the signal to noise ratio through the roof.
- Nobody works on the code while the developer is building it. Doing so is, yup, you guessed it. Lunacy!
- Programmers DON'T TASK SWITCH!!!!! Expecting them to do so shows ignorance and a general lack of experience.
- If you made the design, YOU FIX IT!! Don't expect me or any other programmer that knows better to come back and try to dig through that Dreamweaver crap. It's your creation. Handle it!
- And don't ever try to tell a programmer how long things should take. For those of you out there that think web sites take two weeks, pull your head out of your arse. It's clear that you don't know enough to realize that you don't know enough. Those sites that have been thrown up in two weeks, all smelly and stuff, are based on huge, slow, kludges called frameworks. Very difficult to extend and they don't scale well. You won't find one site out there that is doing significant traffic and relying on crap like Joomla. And when I say "significant", I'm referring to sites that are running load balanced and fault tolerant clusters.
Moral of the story kids? Always make sure you are dead certain what you're getting in bed with.
Tuesday, October 06, 2009
The sow harvest gap
It certainly is a tough thing when you can see the goodness of things to come, but they aren't coming fast enough to help. I'm in this gap right now. It sucks!
Thursday, October 01, 2009
Juxtapositions
As low so high Elvaleethia
I chatted today with the Dragonfly
and hints of those old things reappeared
Paintings by those azure scopes
That starstruck glance
Those days will not come again
fleeting, watery, and long cherished
The sun caressing us
The ocean soothing us
The sand cradling us
I chatted today with the Dragonfly
and hints of those old things reappeared
Paintings by those azure scopes
That starstruck glance
Those days will not come again
fleeting, watery, and long cherished
The sun caressing us
The ocean soothing us
The sand cradling us
Wednesday, September 30, 2009
Funny that
Something that was said in this video....
... reminds me of how I felt when motorcycling.
"The things that appeared extremely important to you yesterday when you left your office will seem unimportant when you land your plane."
Friday, September 25, 2009
Thanx Bruce!
You know, it's becomming more and more obvious as I get older that a lot of the stuff I've learned from others, via publications of some sort, TV or online news media, or even just message boards or word of mouth, IS CRAP! Furthermore, it's consistent across knowledge domains as well. Programming, History or Geo-Politics, and even high performance engine development. We are most often started down a path or direction that is essentially a line of thought only to find that it's only part true and in some cases causes patterns of thought or understanding that is detrimental to further development or growth in that area. (Dayum brah!)
Ultimately, this boils down to the source of the information. This was really brought home to me in a big way just a moment ago while re-discovering my love for Artima.com (I'm not a Java guy, but good converstaion about coding is just plain good for you!) and reading a recent post by Bruce Eckel. In it, he explains succinctly what has been kind of hazy around the fringes of my thoughts via an experience he had. In short, his attitude about the language C++ was largely the
result of James Gosling and others responsible for the creation of the language Java.
... and ...
Accepting the fact that sometimes our information is tainted by the source, we have to then realize that perhaps there is something in us that causes to rest on what we've been given and follow it into the ditch so to speak. What
is it or why is it that we can't be open enough to at least re-appraise what it is we believe or have been told? Large swaths of our population as Americans suffer from this, as well as the entire world. I initially believed that is was simply a question of temperment (some being more open to introspection and self improvement) but I now for a fact that temperment and socialization play big parts in this. How many scientists or inventors have been hindered by Societies, Committees, or Councils with "The World is Flat!" type attitudes? How many of these have gone to their graves without their due honor thanks to these associations of clowns? If you really look into this, you'll find the number is pretty damn high and spread across a good many disciplines. Even war planning and doctrine suffered from this. General LeMay's insistence during WWII that daylight bombing with huge squadrons of B-17's and B-24's would continue to be the way forward was far from the truth. Especially considering that pilots that were actually doing the fighting came to realize that the job could be done with more efficiency and less loss of life by servicing more
targets with Fighter Bombers. This was the very recommendation of General Robin Olds and others during WWII that was scoffed at by the deaf "Flat Earthers", but later accepted as doctrine at a point later in time. How many lives would have been saved had LeMay and others just listened?
Obviously, collections of people that no longer question their knowledge sources are a detriment to society and human endeavor as a whole.
I've encountered this in the high performance community regarding Somender Singh's discovery that grooving quench pads in combustion chambers can dramatically increase turbulence and improve fuel burn to nearly 100% (!) with the side effects of engine oil lasting 5 to 10 times longer, no detonation, and lowered emissions. In spite of this being verified not only by experience from people like me that have actually tried it, but also independent engineers that have tested his claims and found them to be true, there remains a huge flock of derisive zealots that refuse to accept what has been found. In other words, they are clinging to some line of thought that is wrong REGARDLESS OF BEING PRESENTED WITH EVIDENCE TO THE CONTRARY!
This is a downright amazing thing to witness.
I can't help but wonder how much further along or how much things would be different if guys like Babbage, Tesla, Singh, Ataturk, Whittle, Olds, and so on, were listened too WHEN THEY ACTUALLY FIRST HAD OR DEVELOPED THEIR IDEAS.
Getting back on track, how does one avoid not letting themselves become closed to the truth, however it may come? Are you really honest enough to yourself to wonder if you have it wrong or believe it wrong? Do you dismiss other out of hand instead of really considering what is they say?
You HAVE TO BE AN ACTIVE PARTICIPANT in your quest for knowledge! It's a must. If you rest on what's been handed to you, I'm positive you'll find yourself in a ditch. Now this isn't to say that nobody is to be believed, but those worthy of your attention will suffer your questions. And even more so if they do it with a kind attitude.
Ultimately, this boils down to the source of the information. This was really brought home to me in a big way just a moment ago while re-discovering my love for Artima.com (I'm not a Java guy, but good converstaion about coding is just plain good for you!) and reading a recent post by Bruce Eckel. In it, he explains succinctly what has been kind of hazy around the fringes of my thoughts via an experience he had. In short, his attitude about the language C++ was largely the
result of James Gosling and others responsible for the creation of the language Java.
...many people jump to the conclusion that C++ was badly designed, which is far from the truth.
Java fed this perception with its cavalier attitude about language design. I've written about this in Thinking in Java and in many weblogs, so longtime followers already know that Java tweaked me the wrong way from the start, because of the dismissive attitude of Gosling and the language designers.
... and ...
I have no idea how much this formative experience with Gosling influenced my later feelings about his work, but the fact that the attitude about C++ was "we looked at it and it sucked so we decided to whip out a language of our own" didn't help.
Accepting the fact that sometimes our information is tainted by the source, we have to then realize that perhaps there is something in us that causes to rest on what we've been given and follow it into the ditch so to speak. What
is it or why is it that we can't be open enough to at least re-appraise what it is we believe or have been told? Large swaths of our population as Americans suffer from this, as well as the entire world. I initially believed that is was simply a question of temperment (some being more open to introspection and self improvement) but I now for a fact that temperment and socialization play big parts in this. How many scientists or inventors have been hindered by Societies, Committees, or Councils with "The World is Flat!" type attitudes? How many of these have gone to their graves without their due honor thanks to these associations of clowns? If you really look into this, you'll find the number is pretty damn high and spread across a good many disciplines. Even war planning and doctrine suffered from this. General LeMay's insistence during WWII that daylight bombing with huge squadrons of B-17's and B-24's would continue to be the way forward was far from the truth. Especially considering that pilots that were actually doing the fighting came to realize that the job could be done with more efficiency and less loss of life by servicing more
targets with Fighter Bombers. This was the very recommendation of General Robin Olds and others during WWII that was scoffed at by the deaf "Flat Earthers", but later accepted as doctrine at a point later in time. How many lives would have been saved had LeMay and others just listened?
Obviously, collections of people that no longer question their knowledge sources are a detriment to society and human endeavor as a whole.
I've encountered this in the high performance community regarding Somender Singh's discovery that grooving quench pads in combustion chambers can dramatically increase turbulence and improve fuel burn to nearly 100% (!) with the side effects of engine oil lasting 5 to 10 times longer, no detonation, and lowered emissions. In spite of this being verified not only by experience from people like me that have actually tried it, but also independent engineers that have tested his claims and found them to be true, there remains a huge flock of derisive zealots that refuse to accept what has been found. In other words, they are clinging to some line of thought that is wrong REGARDLESS OF BEING PRESENTED WITH EVIDENCE TO THE CONTRARY!
This is a downright amazing thing to witness.
I can't help but wonder how much further along or how much things would be different if guys like Babbage, Tesla, Singh, Ataturk, Whittle, Olds, and so on, were listened too WHEN THEY ACTUALLY FIRST HAD OR DEVELOPED THEIR IDEAS.
Getting back on track, how does one avoid not letting themselves become closed to the truth, however it may come? Are you really honest enough to yourself to wonder if you have it wrong or believe it wrong? Do you dismiss other out of hand instead of really considering what is they say?
You HAVE TO BE AN ACTIVE PARTICIPANT in your quest for knowledge! It's a must. If you rest on what's been handed to you, I'm positive you'll find yourself in a ditch. Now this isn't to say that nobody is to be believed, but those worthy of your attention will suffer your questions. And even more so if they do it with a kind attitude.
Thursday, September 24, 2009
The list grows
To the list of historical figures that can truly be considered great and worthy of mention, I must add Gazi Mustafa Kemal Ataturk. Talk about kickin' some arse, this was the man!
I'm sure most of you won't bat an eye reading this.
I'm sure most of you won't bat an eye reading this.
Monday, September 21, 2009
Some thoughts
There is never an excuse to do wrong.
Not a one.
If you feel the need to do wrong, it's compulsion.
If you feel you have a reason, you are lying to yourself
and it's just in you to do bad.
So if you plan to do bad, at least be honest about you're reasoning,
or what's driving you.
The other option is to stand up to what's wrong
because you're standing up for what's right. Perhaps it's not easier said then done, but it's worth the effort and it's worth it to not cause pain to yourself or anyone else.
Not a one.
If you feel the need to do wrong, it's compulsion.
If you feel you have a reason, you are lying to yourself
and it's just in you to do bad.
So if you plan to do bad, at least be honest about you're reasoning,
or what's driving you.
The other option is to stand up to what's wrong
because you're standing up for what's right. Perhaps it's not easier said then done, but it's worth the effort and it's worth it to not cause pain to yourself or anyone else.
Wednesday, September 16, 2009
I can't say what the Flabbergaster Eagle said, but....
...somebody shoot me please.
Turbine Dump top tip: Make sure business partners are on the same level of understanding and ability you are. IF YOU FAIL TO DO THAT at least take comfort in the fact that suicide is a way out.
And BTW you would be counselors, stewards of my well being, this is closer to the reason FB, and indeed everything, ****'EN SUCKS!
But alas, this is just frustration. A couple of rounds with the Planet Smasher and I'll be just fine. :-)
Turbine Dump top tip: Make sure business partners are on the same level of understanding and ability you are. IF YOU FAIL TO DO THAT at least take comfort in the fact that suicide is a way out.
And BTW you would be counselors, stewards of my well being, this is closer to the reason FB, and indeed everything, ****'EN SUCKS!
But alas, this is just frustration. A couple of rounds with the Planet Smasher and I'll be just fine. :-)
Friday, September 04, 2009
Soon
Ahh yes, this feels like a new dawning
It feels like some people just can't let go
It feels like I'm letting go
I'll soon be cut
Ahh yes, my spirit knows this is that true thing
That fighting thing
That breaking through the shell that all plants must do
I'll soon be lean
Ahh yes, the morning is nigh
And after a long eve of labor
And after a long eve of resolution
I know I'll soon be good
It feels like some people just can't let go
It feels like I'm letting go
I'll soon be cut
Ahh yes, my spirit knows this is that true thing
That fighting thing
That breaking through the shell that all plants must do
I'll soon be lean
Ahh yes, the morning is nigh
And after a long eve of labor
And after a long eve of resolution
I know I'll soon be good
Thursday, August 20, 2009
Home
My home is high and bright
Distant
A speck in the Azure and cumulous
I long to be there
Alone as I have always been
And always will be
In this Earth
And in this aeon
The love I seek is the next age
After the planet stops
And things vibrate anew
And all complexities are held on high and cherished
Distant
A speck in the Azure and cumulous
I long to be there
Alone as I have always been
And always will be
In this Earth
And in this aeon
The love I seek is the next age
After the planet stops
And things vibrate anew
And all complexities are held on high and cherished
Friday, July 10, 2009
Historical lessons un-taught
My meanderings into history and various historical figures in particular seems to suggest that not all populations are READY for the positives these figures bring. But of course, we are too mired in the quagmires of political correctness and the divisive self interest of almost all sub-groups whether they be social, ethnic, religious, or political to accept long term positive change, much less recognize it when we see it.
But hey! What do I know?
But hey! What do I know?
Subscribe to:
Posts (Atom)
