Kingdom Hearts Final Mix (PS4): Sniper Wild Guide

Hi everyone, Cathy here. I am going to share with you my strategy for taking out the Sniper Wild Heartless in Kingdom Hearts Final Mix. I used a lot of guides because I had trouble with this Heartless and I’m going to tell you right now, this video is slightly different than my usual strategy, but it is the one that I took the trouble to save, so here we are.

So, first thing, we take out the first Heartless. We just sneak up on her and take her out. Ideally, what we would have done is waited for her to get in a position closer to where the next two spawn. The way it works is one Sniper Wild, take her out, two more spawn, take those two out, another three spawn, and then it repeats. So, you want to take out six Sniper Wilds to get one Power Stone, if you’re lucky. So, ideally, after the first one’s out, I would put myself between the next two and cast Stop. If you’re watching this video, you can see that did not happen. But that would have been ideal because it would have been faster, but this still wasn’t so bad.

I actually got kinda lucky here because as you can see, I try and go up to that one, and I don’t see her. And, oh, I guess that’s when she jumped down. She jumps down and thankfully she just missed me. The Sniper Wilds, if they see you, and they call for backup, they will start sniping at you and calling and more Sniper Wilds will spawn. And that will happen endlessly. You can’t take them out, I mean, you can try and take them out, but there’s no point because they won’t stop spawning. So you have to make sure that if they see you, they don’t call for backup. ‘Cause in this video, I think almost all of them actually do see me, but I take them out before they finish like “Aah!” sounding the alarm. I take a moment to breathe. *deep breath*

Alright, so this post with the light by the stairs, is my preferred spot. The camera can be a bit of a pain, but it makes for a kind of nice hiding spot and a little easier to figure out and strategize where to go next, to find the next one. Is she staying over there like this one is? She was not moving so fine, I’ll go up to her. I prefer not to do that because you see, I’m completely across from where I want to be. It’s easier if they happen to come by the stairs, but that can also take a very long time. So, you just kinda have to go with what feels best at the time. And here I can see that one of them went to my preferred spot by the stairs, so I waited a bit before heading over there, trying to be careful and hoping they don’t see me.

There’s going to be a bit of waiting involved here, so I will also tell you some of the strategies that I read or watched on YouTube. One of them involved, I think it was stopping the first one and then using Dumbo. A lot of the strategies involve using Stop because you want to get to them before they sound the alarm. So, use Dumbo, another one, Stop, use Mushu. Actually, I don’t think that one involved Stop. I think it was just Mushu and make sure you take them out fast enough.

Alright, so here’s the first of the last three. As you can see, she spotted me, but I got her. Yeah, I think all three of them spot me, but like I said, take them out before they call for backup, and we’re good. The main strategy that I remember reading involved like a lot of Stop. I don’t remember if you had to stop the first one or not, but ideally, you would stop the first one, stop the next two, stop the last three. For the last three, it’s probably better if you have Stopga. I don’t know if it’s necessary. And I didn’t bother to find out or re-look it up because Stopga involves the Phantom. I was going to take out the Phantom last. I wasn’t going to involve myself with that.

Alright, so we’re on our last one here, and in this video, this is the only time I cast Stop. But in most of my efforts, I would have cast Stop when the set of two spawn. So, here, I leave right away because this whole thing makes me really nervous. But if you don’t get as nervous as I do, by all means, go for it again. And that’s it. The End.


If you appreciate any of the work that went into making this post, please consider giving a tip to my PayPal account or supporting me on Patreon.

My Gaming in 2017

This post contains affiliate links to products on Amazon.com for four of the video games.

This video may contain spoilers for the following games: Persona 5, Tekken 7, Tales of Berseria, Kingdom Hearts Final Mix, and Tiny Bird Garden.

Last year, I didn’t cover what I played during 2016 so I’ll tell you now a lot of it was Persona 4 and Persona 4 Golden, which I loved. I have friends who like the series, and I was interested after seeing a Persona 5 trailer. I also played Tales of Vesperia, but anyway, back to the Persona series.

I enjoy summoning personas and strengthening and leveling them. In Persona 4, I loved the concept of confronting that part of you that you don’t like and embracing it to then actually empower you. My Jin Saga 2 fan-fiction works to that same end. Persona 5 wasn’t really like that. The personas of the party members revealed themselves at especially tense, often angered, moments as opposed to being an antagonist, an antagonistic presence within. So, with all that said, in case it has not been clear, the first game I played, at least in full for 2017, was Persona 5, a turn-based Japanese role-playing game.

I thoroughly enjoyed the combat of Persona 5 with summoning personas, the usual physical attacks, and the addition of the baton pass. I thought the music was really good in some of the dungeons, called palaces in the game, the casino probably being my favorite. I liked the main character’s outfit and smirk. I like to play New Game Plus iterations a lot, so I even played it a good three times over, or more.

I didn’t really care for the prison aesthetics, even given the full context of the story. I honestly don’t really think it’s a very good story. Too much hinges on conveniently not showing you certain things for a special twist. The first dungeon made me really uncomfortable, and it was a chore to get through every time.

I played Persona 5 up until Tekken 7 was released on June 2nd. Then after that, I shifted gears go ahead and focus on Tekken 7, a 3D fighting game, and I gave Persona 5 only a little more time in between to wrap up a few loose ends.

If you are unfamiliar with my views on the Tekken series, they amount to that I’m more of a Jin and Devil Jin fan first and not really much of a Tekken fan since Tekken 6, when the game itself ditched a story mode and replaced with an entire mode specifically for two expansion characters, one of them being my most character ever. Tekken 7 did very, very little to compensate for the general awfulness from Tekken 6. So far as the story presentation goes, the nicest thing I can say about it is that it delivered what it promised: a confrontation between Heihachi and Kazuya. There was hardly any Jin, and he was basically there to be chased and held. I’m also going to point out that this is the first time we see a Mishima character who is a woman, the first time one is playable, and her story is that she’s dead because Heihachi had to kill her. All around, I considered the story to be really bad. You can see my further comments in it in my review for Tekken 7 from earlier in 2017.

The customization was also lacking though points for having a nice, rich black color. They took it away at some point and eventually added it back, so, I was glad for that. I enjoyed practicing my electric wind god fists and sharing my first time ever of doing three in a row. I learned a few cool combos to do in practice mode.

I watched some competitive tournament-level Tekken in 2017, and Qudans, the best Devil Jin player in the world, won the Tekken World Tour, so that was really cool. I made a video about that too if you want to check it out.

At the end of July, I had to take a trip up to Michigan with family and I could tell before I left, and I felt it when I came back, that I felt I was pretty much done with the game, and I was.

We’re going to backtrack for a moment here because I want to talk about something in between the games. Before I played Persona 5, I tried playing Tales of Berseria and while playing that, I found out that you cannot take screenshots or save clips with the PS4 SHARE button for almost all of it, the main exception being the administrative zones, which are kind of like the coliseum. I was annoyed by that since I consider the sharing feature a really great option for this current age of technology. So, I just, I set aside Tales of Berseria. I was annoyed and frustrated and then I found out the same thing applied to Persona 5. You cannot share screenshots or save clips except for like, the very beginning. And I really, really wanted to play Persona 5, more than Berseria. To anyone listening and watching with any power here, I really resent that that was done, and I think that Namco, Atlus, and any other company that does these things should stop. I can spoil things to people without a PS4 SHARE button and in Berseria’s case, I can do those things, saving screnshots, saving clips, on the PC version, so really, other than annoying people like me, what do you think you’re actually accomplishing? A work-around, for anyone wondering, is that if you have a PC that can do PS4 remote play, to do that.

I like to tweet about my gaming and I would have liked screenshots or small clips, especially for a video like this one, and that is exactly what I did with Tekken 7 and something I really liked about it and found significantly better and more enjoyable in the whole experience, compared to both Tales of Berseria and Persona 5. At some point, I bought a PC that could do remote play for this reason and admittedly am now saving up for a PC that can actually play these games, that have PC versions.

Anyway, so after some cooling down and having a PC where I can remote play, I started up Tales of Berseria again. I really enjoyed it. I think it’s one of the best games I’ve ever played. The Tales games are action Japanese role-playing games, rather than turn-based like the Persona series. I played Tales of Vesperia during 2016 and even a little bit, some of the beginning of 2017, but it was sort of like the tail end of that game, I was almost done. In Tales of Berseria, the main character is Velvet, a teenage girl who becomes a special kind of daemon called a therion: a daemon that can eat daemons. The story, in my opinion, was extremely interesting and engaging, exploring philosophical differences, fascism, slavery, fear, consequences of one’s actions, and personal growth. Some of the themes I find questionable, but I think the story itself admits that by continually reminding you that your party is a group of selfish characters who do questionable things. Even so, I liked every character in the party with perhaps Magilou being my least favorite because she can be a bit annoying and abusive toward her malak, Bienfu with the story playing it up for laughs, as if he is deserving of the abuse because he’s such a creep. My favorite character is Velvet, by a lot. I was honestly very happy to play as an angry dark-haired girl with powerful demonic powers. I wish her default outfit weren’t so awful, I admit.

At some point, I found myself dedicating a lot of time and in-game money to creating the most powerful versions of weapons and eventually I gave up when I started to realize how much time that was amounting to. After all, you can’t even keep your weapons into a New Game Plus anyway.

Eventually, I started up Kingdom Hearts, another action JRPG, again, because we now have the PS4 Final Mix version and partly because my daughter seemed interested from a video she was watching of Kingdom Hearts II. She’s 4 and half now, and she’s really enjoying it. She can actually do a lot on her own, but I get to help with things like figuring out how to progress the story and do boss fights. I’m helping her on her own save file, at first it was in Beginner mode, but she’s also got one in regular [Normal] mode that we’ve been working on. I don’t think I’ll be going all out with completing the journal, ’cause I mean, I’ve already done it twice, at least two full games of Kingdom Hearts years apart. This PS4 version does let me share things too and even includes information about what is and isn’t allowed, which is way better than just outright intentionally removing the ability to do these things, Atlus and Namco, so, thank you Square-Enix.

I followed an artist on Twitter named Daisy, who was kind enough to return the follow, and she is the artist for an independent game called Tiny Bird Garden. I saw the trailer some months ago, and it looked really cute. I downloaded it on the iPad for my daughter and on the iPhone for me. It is indeed very cute. You have a garden where you can fill a feeder with seed and check in on cute Tiny Birds. They say things, leave feathers to act as currency in the game with their comments in the mail, and you can buy them toys, treats, and hats to connect with them and fill up their hearts. There’s also a feature I’ve only used a little bit where you can put pictures of them and stickers on your own photos, so that’s pretty cool. So, great work Daisy, I hope things go well for you as an independent game developer.

Those are the main games I played in 2017. Surprisingly, they were all released in 2017 even if Kingdom Hearts Final Mix for the PS4 is a remaster of an older game. It’s not altogether unheard of for me to play a game the year it is released. It is pretty rare for me to willingly pay for 2 of them day 1 (Persona 5 and Tekken 7 in case you’re wondering). Berseria was a gift for my birthday. Up on the horizon for 2018 is possibly reviews of games I’ve already played or just playing them again because I enjoyed them. My husband recently reminded me that Dissidia is coming out for the PS4, so I might check that out. I have some other non-video-game hopes and projects as well.

All in all, that’s a wrap for this video, and I thank you for your time.

How to Use jQuery UI Sliders and ColdFusion for Scaled Questions

This tutorial will assume that you know what jQuery and jQuery UI are and you know how to get them. We will be using a little bit of ColdFusion as well, so if necessary, apply any other programming language to query, loop, and output data. By scaled questions, I mean, “On a scale of 1 to 5, how much do you agree with the following?” The scale numbers can change, but that is my meaning. My current work in mystery shop and online survey questionnaires involves a lot of these.

Here is the function we will be working with:

<script>
var fnCreateSlider = function(idQuestion,iSliderAnswer,iMin,iMax,steps) {
	var handle = $("#handle-value-" + idQuestion + "");
	var SliderTextObj = $("#slider-text-" + idQuestion + "");
	var SliderValueObj = $("#slider-value-" + idQuestion + "");

	$("#slider-" + idQuestion + "").slider({

		value: SliderAnswer,
		min: iMin,
		max: iMax,
		range: "min",
		create: function() {
			var iSliderVal = $(this).slider("value"); 				
			handle.text(iSliderVal);
			SliderTextObj.text(steps[iSliderVal]);
			SliderValueObj.val(iSliderVal);
		},
		slide: function(event, ui) {
			handle.text(ui.value);
			SliderTextObj.text(steps[ui.value]);
			SliderValueObj.val(ui.value);
		}
	});
}
</script>

We will have multiple questions so that is why we have question ID numbers being passed. The iSliderAnswer will tell us where already existing answers will go. The iMin and iMax variables help us track minimum and maximum variables. As for steps, let’s go over that now.

The scale is not going to be only numbers of, for example, 1 through 5. Each response has actual text to represent what it means, such as:
1 – Strongly Disagree
2 – Disagree
3 – Neither Agree nor Disagree
4 – Agree
5 – Strongly Agree

The “steps” variable is an array of our text responses that will be displayed for each value on the scale. We need to both get and pass that information.

So, on some place before or after the script, here’s our query.

<cfquery name=” qryResp” datasource=”master”>
Select iNumber, vcRespValue, vcRespText, fDisplayOrder
From tblResponse
Where idQuestion = <cfqueryPARAM value="#qryQuestions.idQuestion#" cfsqltype="CF_SQL_INTEGER">
Order by fDisplayOrder
</cfquery>

We still have a lot to take care of before we actually call the fnCreateSlider function.

Query to see if a matching answer already exists. Users page through our questionnaires and have the ability to go back if necessary. Handle that process elsewhere according to the needs of your project and/or application.

<cfquery name=”qryRespMatch” datasource=”master”>
Select iNumber, vcRespValue, vcRespText, fDisplayOrder
From tblResponse
Where idQuestion = <cfqueryPARAM value="#qryQuestions.idQuestion#" cfsqltype="CF_SQL_INTEGER">
and vcRespValue = <cfqueryPARAM value="#PrevAnswer#" cfsqltype="CF_SQL_VARCHAR">
order by fDisplayOrder
</cfquery>

Let’s initialize some parameters for our minimum and maximum.

<cfset iSliderMin = 1>
<cfset iSliderMax = 1>

Now let’s get the real minimum and maximum

<cfloop query="qryResp">
	
<cfif qryResp.iNumber lt iSliderMin >
	<cfset iSliderMin = qryResp.iChoiceNumber>
</cfif>
	
<cfif qryResp.iNumber gt iSliderMax>
	<cfset iSliderMax = qryResp.iChoiceNumber>
</cfif>	
	
</cfloop>

Due to the nature of a slider, we don’t really have a null or blank value. That can be a problem for recognizing an unanswered question. If the default value is 1, which is currently “Strongly Disagree” we want to make sure it is because the user wanted it to be 1 as their answer, not because they forgot or tried to skip a required question.

With no blank option, we can put whatever number we want that isn’t on the real scale we are measuring as the default answer. So my approach to that was to drop the real minimum by 1.

<cfset iSliderMin = iSliderMin – 1>

This tutorial is focused on showing you how to get the sliders to display and work though I felt acknowledging a lack of blank answer important enough to note since I didn’t see it mentioned in my searches for how to handle for it. You can use my post on Passing Form Data from a jQuery Ajax Call to a CFC Function and Returning It to learn about passing form data., which is extremely useful for validating it client-side and before the form is submitted and data saved. In the CFC itself, you’d look up the questions minimum/maximum options, see if the chosen value is between them and if not, send back a message to the user saying they have to pick between x and y (1 and 5 in our case). I have the numbers show on the actual slider itself to make it clear what the user is selecting. Enough about validation, let’s move on.

Our query for responses is actually happening within a query outputting question data. It looks something like this:

<cfquery name="qryQuestions" datasource="master">
Select idQuestion, vcQuestionText, vcFieldName
From tblQuestion
</cfquery>

<cfoutput>
<cfloop query="qryQuestions">
	[response queries are in here]
	[slider div displays in here too]
</cfloop>
</cfoutput>

We have two divs, one for displaying the response text and the other for the actual slider. Additionally, we will have a hidden input value to store the response being entered, which will be useful for tracking previous answers and for validating the value. Here is the HTML and ColdFusion for that:

<div id="slider-text-#qryQuestions.idQuestion#" class="slider-text">
	<cfif qryResp.recordcount>
		#qryResp.vcChoiceText#
	<cfelse>
		No answer
	</cfif>										
</div>

<div id="slider-#qryQuestions.idQuestion #" class="div-slider">
	<div id="handle-value-#qryQuestions.idQuestion #" class="ui-slider-handle"></div>
</div>

<input type="hidden" id="slider-value-#qryQuestions.idQuestion#" name="#qryQuestions.vcFieldName#" value=”#PrevAnswer#”>

<cfset iSliderAnswer = PrevAnswer>

At long last, we create our steps array and call our function. I put “No answer” as the first text response on the scale, as noted earlier to be a value that is not the real scale being measured. Again, I want to make sure our users have to pick something between 1 and 5. In this particular example, the questions always start at 1, so our replacement for a blank answer will be 0. I’m not hard-coding them because in my experience, sometimes the scale starts at 0 instead of 1, and I want it to be available for the day when it starts at some other number too.

<script>
$(function() {
	var steps = [
		"No answer",
		<cfloop query="qryResp">
			"#qryResp.vcRespText #",
		</cfloop>
	];			

fnCreateSlider('#qryQuestions.idQuestion#','#iSliderAnswer#','#iSliderMin#','#iSliderMax#',steps);
});	
</script>

All of these things together will give a slider of scaled responses. To recap and summarize what we did:

  1. Created a Function to create a slider based on variables passed in
  2. Within a looped query of questions:
    1. Queried for response information
    2. Set variables to necessary values to pass based on response query and any previous data
    3. Passed the variables into a call of our function to create a slider.

Working display example (no form submission or validation):

Demo of jQuery UI Sliders and ColdFusion for Scaled Questions


If you appreciate any of the work that went into making this post, please consider giving a tip to my PayPal account:
https://www.paypal.me/sonkitty

My Book Reading in 2017

This post contains affiliate links.

In recent years, I have read more books, thanks largely in part to an express interest in feminism and so by extension, politics, history, sociology, and more. Last year with the election of a zealous bigot masquerading as the president of the U.S., and alas, many of those with the power to do something going along with this farce, my mind fell into…well, not despair, but certainly a more stressed state than usual. Only a few days before the election, I had started reading Haters: Harassment, Abuse, and Violence Online by Bailey Poland, one of the many writers I respect and follow on Twitter. Even within my thread of my reading, I note in December my difficulty in mentally continuing. By the end of February, I managed to finish and shared more thoughts into early March.

In any case, from March onward, I somehow made time for books, more in comparison to past years, thanks in part not just my interest inf feminism but by finding a list of diverse books on DonorsChoose.org for a fourth grade teacher at my daughter’s future school. Unfortunately, her project did not receive enough funding though I sent my $5 I donated as a gift card hoping she will put it to good use.

I did save the list so I could examine the books on my own time. I feel I should note that “diversity” in this case means putting forth the effort to find the reality we live in, to go beyond an overwhelmingly white or assumed-white default setting. In particular, I am thinking of the many times Daniel José Older has shared his thoughts on “diversity” on Twitter and think this particular tweet puts it well:

which gets at how positional the word ‘diversity’ really is. We use it as a kind of euphemism for non-dominant cultures/experiences…

Some of the books on my lists here will be from white authors or have white-default racialization. My apologies for this long-winded introduction, but here’s an overview of the books I read this year. I will go over the ones targeted to older age groups first.

Systemic Online Abuse

I read two books about systemic online abuse that are closely related and relevant to the changing times of new technology and social media. They are, as mentioned earlier, Haters: Harassment, Abuse, and Violence Online by Bailey Poland and Crash Override: How Gamergate (Nearly) Destroyed My Life, and How We Can Win the Fight Against Online Hate by Zoë Quinn. They go over prevalent abuse and make the point of systems ignoring that abuse because those systems find it beneficial, or at least preferable to taking action that needs to be done.

I acknowledge that both the authors are white and suggest to any listening/reading publishers or people in power that this subject deserves analysis from trans Black women, as in full actual book deals, who were targeted first, if one can find any willing to do that work. Reliving one’s trauma to warn others is not at all pleasant though many who work toward social justice find it necessary. I would also like to put in a good word for Shafiqah Hudson (@sassycrass on Twitter), a cis Black woman who is cited by both Bailey and Zoë in their books for different reasons and is a generous and well-informed person on this particular subject. Fiqah started the “Not All Men” featuring interrupting men meme, pointed out her erasure from Wikipedia (which is now updated) in being the origin, and demonstrated alt-right organizing tactics with the hashtag #YourSlipIsShowing.

My highlights and commentary Twitter thread for for Haters
My highlights and commentary Twitter thread for Crash Override

Politics

What Happened by Hillary Clinton includes examinations of several issues that go beyond Clinton’s campaign such as talking to people about opioid problems, the lead in the water of Flint, Michigan. If I ever have the time and energy, I would like to go back to this book and share more thoughts on a lot of things. I appreciate the several points that I find significant in the lead up and results of the election and understanding how so many factors came together.

My highlights and commentary Twitter thread for the first few chapters of What Happened

Fantasy

The third and final installment of the post-apocalyptic Broken Earth series, The Stone Sky by N. K. Jemisin, came out this August, and since I’d read the first and second last year, I wanted to wrap it up this year. To me, it is an in-depth look on many levels of many things, including thorough examination of oppressive structures though the author herself has pointed it is ultimately a tale of a mother and daughter. Indeed, I re-read the ending an extra two times to take it all in all over again and think about them. After all, I am a daughter and now a mother too for going on four years this year.

Dragons: A Natural History by Karl Shuker is a book that retells various stories about different types of dragons as well as descriptions for the. I like dragons and figured I’d take that interest another step by reading this book. I enjoyed author’s bombastic writing, to use a word I felt fitting from another Goodreads review on it.

Poetry

I usually don’t seek out poetry on purpose but The Prophet by Kahlil Gibran had a really good quote in What Happened and was short, so I put the book on hold from the library.

The quote I liked from the Prophet in Clinton’s book was:

Your children are not your children. They come through you but not from you. You may strive to be like them, but seek not to make them like you, for life goes not backward nor tarries with yesterday.

For the record, this quote is actually cut up and re-formatted. In full, it actually goes:

Your children are not your children.
They come through you but not from you.
And though they are with you yet they belong not to you.
You may give them your love but not your thoughts,
For they have their own thoughts.
You may house their bodies but not their souls,
For their souls dwell in the house of tomorrow, which you cannot visit, not even in your dreams.
You may strive to be like them, but seek not to make them like you.
For life goes not backward nor tarries with yesterday.

I liked the story’s simplicity, and it has many quotable quotes though I also was a little bored pushing myself to finish.

When I put The Prophet on hold through my local library, the recommendation system said maybe I’d like to check out The Colossus and Other Poems by Sylvia Plath. Since I follow Anne Thériault on Twitter, and she often shares important interesting things about Sylvia Plath, I decided to give the book a try. Unfortunately, I did not like most of Plath’s poetry in that book. The ones I did note down as liking are The Ghost’s Leavetaking and The Disquieting Muses.

I learned that as with many other things, I need to set aside time for poetry when I am in a more welcoming and accepting mood for it. I’ve found reading shorter things first helps me with my reading, but when I put poetry as one of those shorter things to read sooner than later, I become bored.

Essays

These essays were specifically available through the library to borrow as books. I am making that distinction because I read essays online all the time, many more than these two, and will not be covering them here.

The Fire Next Time by James Baldwin is excellence I can only ever put into the words as striking me to the core.

We Should All Be Feminists is an essay adapted from a TEDx Talk. I appreciated the good points but feel as though the cis exclusive framing is significant in a harmful way. There are only two genders in this essay along with a completely wrong point about men being built physically stronger.

Autobiography

I Know Why the Caged Bird Sings by Maya Angelou – This book was hard for me to read, partly boredom and partly traumatic experiences detailed. It definitely has some memorable moments that will stick with me in ways many other books won’t, and so it will endure and probably be appreciated all the more with time.

Classics/Art

The Tale of Genji is another book I read but to be clear, I read the version with artwork by Yoshitaka Amano for the main purpose of seeing that artwork and it was short. As I stated in my Goodreads review, the artwork had many beautiful colors between flowing lines.

Children and Young Adult

A Long Walk to Water by Linda Sue Park tells two intertwining stories, the main one being about Salva’s journey seeking refuge from the war in Sudan, eventually what will be South Sudan. The story was gripping, powerful, and moving.

Across the Alley, written by Richard Michelson and illustrated by E.B. Lewis, is about two boys learning from each other and their differences and how their talents and experiences intertwine. I had to re-read the beginning a few times to understand who was better or learning what. It was nice to read their growth together.

Baseball Saved Us, written by Ken Mochizuki and illustrated by Dom Lee, is about Japanese internment and having baseball to help endure through the times. It was interesting and intense.

Grandfather Gandhi, written by Arun Gandhi and Bethany Hegedus and illustrated by Evan Turk, is about coping with anger as advised by Mahatma Gandhi to his grandson, Arun (one of the authors). I read this book with narration as an e-book, and it had some memorable moments. I went to explore the I must acknowledge that Gandhi’s memory includes a racist history. You can read more about that on RaceandHistory.com: The Myth of Mahatma Ghandi. Grandfather Gandhi touches on apartheid and race but does not acknowledge or include any of Gandhi’s own racism toward Black people.

I Am Not A Number, written by Jenny Kay Dupuis and illustrated Kathy Kacer, Gillian Newland, is about the experience of a young girl named Irene and what she and her First Nations family went through with the residential schools in Canada. The story and illustrations evoked powerful emotions and experiences.

Last Stop on Market Street, written by Matt de la Pena and illustrated by Christian Robinson, is about a young Black boy, CJ, and his grandmother taking the bus from church to the soup kitchen and appreciating what one has and recognizing the people around us as full living breathing humans and beautiful. Sometimes I felt the grandmother’s responses were dismissive. For example, when CJ says he wishes he had one of “those,” meaning something like an iPod, she says “What for?” and points out they can listen to live music from a guitarist on the bus. The “What for?” is what I found dismissive. The whole point could have been made, and in my opinion, better made, without it.

Love Monster and the Last Chocolate by Rachel Bright was a book my 4-year-old daughter randomly picked on our way out from the library. It is actually the third in a series though we did not know that. I had a lot of fun narrating it, she enjoyed my narration, and I found the ending to be very sweet. I hope to read the other books someday.

The Other Side, written by Jacqueline Woodson and illustrated by E.B. Lewis is about a young black girl who plays with her friends on one side of fence that separates them from the white families and so one white girl in particular on the other side. The white girl doesn’t cross but instead sits on the fence. Over time, the protagonist befriends her as do the other girls. It is a sweet and simple story with a dash of hope at the end that maybe one day the fence will go down. The watercolor illustrations were very good.

Separate Is Never Equal: Sylvia Méndez and Her Family’s Fight for Desegregation by Duncan Tonatiuh, to repeat something I said on Twitter, is a story wish I had learned in school, especially as a young girl of Mexican descent who didn’t have to face these segregation challenges and did not know they were endured until this year of my adulthood. The main thing we learned about segregation in school was that it happened and supposedly doesn’t happen anymore (it does, largely helped through the likes of charter schools). This book is about intentional segregation of Mexican children, whether they were actually from Mexico or not, and the local and state-level organizing involved in one family’s efforts to have their kids integrate into the better school.

The Story of Ferdinand, written by Munro Leaf and illustrated by Robert Lawson, is a popular straight-forward tale about a bull who likes to smell flowers. I didn’t really hate or like it and was more interested in reading about the response to it at the time it was released. The illustrations were very striking too.

We’re All Wonders by by R.J. Palacio was what I think of as standard fare in telling kids to appreciate each other’s differences with the addition of seeking escapism and hoping for something better. It was okay.

Women In Sports: 50 Fearless Athletes Who Played to Win by Rachel Ignotofsky was a real treat with borrowing the hardcover from the library. This book came out this year so was fresh and new and not missing any pages. Most of this book includes 1 page with an illustration and another page with a synopsis about who the girl or woman was and what she meant to the sport she was in or even more broadly to the people around or watching her. Both pages included side notes. I liked this format because it made the reading episodic and I could then relay a given story easily to my 4-year-old daughter and/or husband.


Favorites:

Haters: Harassment, Abuse, and Violence Online by Bailey Poland
Crash Override: How Gamergate (Nearly) Destroyed My Life, and How We Can Win the Fight Against Online Hate by Zoë Quinn
What Happened by Hillary Clinton
The Stone Sky by N. K. Jemisin
Dragons: A Natural History by Karl Shuker
The Fire Next Time by James Baldwin
A Long Walk to Waterr by Linda Sue Park
Love Monster and the Last Chocolate by Rachel Bright
Separate Is Never Equal: Sylvia Méndez and Her Family’s Fight for Desegregation by Duncan Tonatiuh
Women In Sports: 50 Fearless Athletes Who Played to Win by Rachel Ignotofsky

This year, I read a lot more books than I have since my high school days because I did prioritize shorter reads first. Something happened at the end of October to send me into another stressful mindset, so my main reading since has been Twitter, articles, and essays I’ve bookmarked, no books for awhile. The nice thing to know is that I have an organized list for when I am ready to read full books again.

Soul Calibur VI Announcement Trailer Commentary

Tonight at The Game Awards, a Soul Calibur VI Announcement Trailer premiered. It’s short with mainly a young Mitsurugi and Sophitia. The narration begins, “Just as shadows are cast where there is light, history hides away more than one truth,” so I take that as a hint of either a retelling of past events or new events in the past will be both though I suppose it could be some combination of those things.

As for other characters, there is little shown here. There is this part, I’m not sure who this is:

And the final shot which could be a new character, or not since the narration says, “Welcome back to the stage of history.”

I’m more of a Cassandra player than a Sophitia player so I hope she, Cassandra, is not erased from even being acknowledged as existing again since there was no mention of her, that I remember anyway, in Soul Calibur V. I want to see claws too, preferably with a long-haired Siegfried-Nightmare though that hasn’t really happened since Soul Calibur II. This likely look to the past sets the stage for such a character or one like him (“more than one truth”).

PlayStation Experience is this weekend so there might still be more on the game in the near future and if not, well, I’m sure I’ll hear about it from somewhere such as on Twitter or Andrew, who keeps up with gaming news.

I had given up on any more Soul Calibur games so this news is welcome as it is one of my more favored fighting game series.

You can see the trailer here on Bandai Namco Entertainment America’s YouTube Channel:

Please check out the gallery below for an ever closer look at some screenshots from the above video.


If you appreciate any of the work that went into making this post, please consider giving a tip to my PayPal account:
https://www.paypal.me/sonkitty

The Search for a Specific Type of Twinkling Christmas Tree Lights

Transcription:

Hi everyone, Cathy here. Today, we’re going to talk about Christmas tree lights, specifically my search for lights that were like the ones I had when I was a kid. I don’t remember what the setting was called, but I’ve been going with “twinkle.” We used to have lights, they were multi-functional lights. They could stay on, they could alternate between the colors, they could blink, and they had this effect that I’m going to call “twinkle,” but I’m going to describe it to you because it’s different than what the companies that make Christmas tree lights call “twinkle” now.

The lights would do a thing where they would fade and as one color would fade, one or two of the other colors would brighten, so it had kind of this wavy twinkling effect that I really, really liked when I was a kid.

So, we searched for lights when we moved to this house ages ago. Well, not ages ago, but, when we moved to this house, we decided to get a tree and some lights and let’s see here. This is either multi-functional or the ones that just stay on. These look like the ones that just stay on. Alright, I think we got these because the multi-functional we’ve got weren’t quite enough to cover the tree. Let me go get the multi-functional ones.

Alright, so these are the ones, we got these from Big Lots a few years ago. We moved here in 2012. That’s probably when we got them. As you can see right now, it’s just blue and red. And now they blink, alternate, fast blink, off, off. You see they don’t really work that well. Here they are, they brighten. But as you can see, no greens work. And it doesn’t do the twinkling one, like I said. In fact, I don’t remember what setting was closest to it, it might be this one, but between two colors, it’s not much to go by. These lights don’t work anymore. They’re not good enough.

So, this year, we decided to look for lights that did twinkle because most of the lights that we found at the store, they just stay on, they’re called constant. Apparently what we have are called multi-functional, and you will not find these at like just HEB, the local grocery store. We did find, not multi-functional, we found twinkling lights at Target. Let me show you. These are called twinkling Now, to me, this is some colors randomly blink. So, I wouldn’t necessarily call it twinkling, but that’s, here it is, this is the box. I think the other ones we had were red, blue, and green. And this one has red, blue, and green, and yellow, and orange, and purple. So, that was kinda cool. I liked that it had purple lights. I don’t really see that very often.

So, I was a little disappointed, but Andrew liked it, Ronnie liked it, and I was like, “Well, I can learn to live with it.” But Andrew was, maybe thought we could use some more lights and he was, he thought we could find something better. So we got these. These are multi-functional lights, and if you like here, the functions are Steady On – Warm White, Twinkling – Warm White, Fading In/Out – Warm White, and then repeat for the multiple colors and then Color Changing – Warm White or Multi or Fading In/Out – Warm White [to multiple colors].

So, this is, I’m actually not going to show you yet because I want to show you when it’s ready. We’re going to go in order here. Alright. Steady On for the multi-functional. Twinkling for Warm White is blinking. That’s, that’s their version of twinkling, not some lights randomly blink, all lights blink at the same time. Fading In/Out. Oops. Okay, so that’s kind of nice though we keep going. Steady on for multi-colors. Alright, nice. And twinkling for multiple colors. Again, it just blinks. Fading In/Out for the multiple colors. Alright and then, we start mixing them up between the warm [should be colors] and the white. And then this is the one we eventually settled on. I do like it. It’s Fading In/Out between warm white and multiple colors.

So, the colors don’t really wave in the twinkle like I was, like I kind of wanted to, to be like when I was a kid. But, overall, it does look, I’m satisfied. It’s finally something, at least a little bit like what I had hoped to find, maybe even a little better. I don’t know. It’s going to take some getting used to, but Andrew likes it, and I think Ronnie likes it, and I like it.

Ronnie: I like it.

Yeah, you hear that, she says she likes it. So, so we’re all pretty happy with it, and those are the lights that we have now for our Christmas tree. So if you want multi-functional lights, you’re probably, we got these at Walmart or you have to go, you have to go somewhere that’s not HEB, at least not the ones around here, they don’t have multi-functional lights. But this is what we got.

I’m going to post this on my blog, and I’ll try and transcribe it, and when I do, I’ll try to provide links for these, in case anyone else is interested in what we have.

So, thank you for watching and/or listening and/or reading. Bye-bye.


Product Links

I actually couldn’t find the multi-functional ones on Walmart.com even though we bought them at one of the brick and mortar stores.

Philips 60ct Multi LED Twinkle Smooth Mini String Christmas Lights – Multicolored: Target | Amazon

Color Sync Dual Color 8 Function LED M5 Christmas Lights Warm White to Multi Color – Amazon


If you appreciate any of the work that went into making this video, please consider giving a tip to my PayPal account:
https://www.paypal.me/sonkitty

Helpful Inkscape Bookmarks

I have been spending a large portion of my weekend learning how to use Inkscape, a free and open-source vector graphics editor. So, here are some useful bookmarks on some of the lessons learned.

Creating Patterns in Inkscape
Erase / Cut Out From Objects – Inkscape Beginners’ Guide ep25
How to Erase in Inkscape
How to Crop in Inkscape
how to make simple cup in inkscape
[solved] How to select transparent objects?
Inkscape: How to Trace Bitmap
Inkscape: remove stroke preserve size/shape
Inkscape Tutorial: Vector Image Trace
Path Difference Problem – This one is linked specifically to remind me of the following: “First, you must have paths to work with, not objects. Not groups either. Then the path that will be subracted must be on top (in z-order) of the path from which it will be removed (bottom minus top, if you will). Both paths should be selected, of course, before performing the operation.

And when you click difference (or keystroke), look at the status/info area at the bottom of the window. I it will give you some helpful information about what’s happening (or not happening).”

Quick Tip: What are Clipping and Masking in Inkscape?

The result of the weekend’s efforts is my latest T-shirt design:

UPDATE 12/08/2017 1:40PM – I will add new bookmarks as I come across them.

How to Put Text in an Arc Using GIMP

For my recent snowman idea, I was thinking of having the words “Happy Holidays” appear arched over the head. I decided against it in the end, but I learned the process involved in getting it done in GIMP nonetheless, as well as a couple of mistakes to avoid.

1. Use the Path tool.

The other sources I found said to get the path first, but the order doesn’t matter so much as making sure you have the right path or layer highlighted for what you’re doing. In any case, that’s where we’ll start for our example.

The path tool:

2. Make the arc.

For the purpose of our example, click on the left lower end of where you want the arc to start and then click on the right lower end of where you want the arc to end. You should have a straight line, or at least straight-ish. Then place the mouse at the middle of where the arc is going to rise. Click and drag the path upward. We now have an arc. You can fiddle with it more in other ways if it’s not quite what you want.


3. Make the text path.

Now that we have our path, I suggest naming it. I named mine, “ArcExample.” Make sure this path stays or is selected in the paths dialog for this next part. Add the desired text and keep it as a separate text layer. Right-click the text layer and select, “Text along path”. Alternatively, you can highlight the text, right-click it there, and pick “Text along path.”

Warning: Don’t make the text too big.

I kept having this problem in my own process and eventually realized it was because the font I chose was too big so take note to avoid that.


 
 
When you do have the text at a suitable size, a new path outlining the full text on the arc we made earlier appears.


4. Select the text path.

Go to the paths dialog, find the one just created, name it if desired, and right-click, then pick Path to Selection.


5. Fill the text color.

Fill it up with the desired color.


DONE!

Deselect, hide path, and it’s done:

Sources:
VisiHow: Write Text in an Arc in the GIMP App
Techwalla: How to Curve Text in GIMP
YouTube: How To Warp Text With GIMP
Superuser.com: Change style and color of text with text along path (gimp)

I Wanna Draw a Snowman

I am brushing up on my design skills and decided to try TeePublic. One of my favorite tweeters, @EbThen (formerly @erabrand), puts her design work there, and after comparing it to Zazzle, I thought it might be better-suited for some ideas I had.

Here is my first batch:

    

 

Snowman
I drew this snowman using Paint Tool SAI and GIMP, and I had my child’s fondness for snowmen in mind.

You can buy it as a T-shirt, long sleeve T-shirt, crewneck, hoodie, kids T-shirt, kids long sleeve T-shirt, onesie, phone case, laptop case, sticker, notebook, mug, pillow, and tote.

Purple Flame
This purple flame is based on a flame I found at IstarAart on Etsy, thanks to a recommendation on the Zazzle forms to look for “digital” item of interest to a given person (in my case, a flame). It is a subtle tribute to my favorite King of Fighters character, Iori Yagami.

You can buy it as a phone case, laptop case, sticker, notebook, and mug.

Deep in the Heart of Texas
This phrase from a popular song about my home state.

The stars at night are big and bright

*clap* *clap* *clap* *clap*

Deep in the heart of Texas

You can buy it as a mug.

Zzzz
Be simply ready for bed to catch some Z’s.

You can buy it as a T-shirt, tank top, long sleeve T-shirt, baseball T-shirt, kids T-shirt, kids long sleeve t-shirt, and onesie.

Break a List Down into Smaller Lists in ColdFusion

The task at hand is to take a list of 50 emails and separate them into batches of 10.

First, I’m going to make a pretend list so as not to use anyone’s real email addresses:

<cfset EmailList = "">
<cfloop from="1" to="50" index="i">
	<cfset EmailList = ListAppend(EmailList,"sample#NumberFormat(i,"00")#@email.com")>
</cfloop>

The list turns out to be:

sample01@email.com,sample02@email.com,sample03@email.com,sample04@email.com,sample05@email.com,sample06@email.com,sample07@email.com,sample08@email.com,sample09@email.com,sample10@email.com,sample11@email.com,sample12@email.com,sample13@email.com,sample14@email.com,sample15@email.com,sample16@email.com,sample17@email.com,sample18@email.com,sample19@email.com,sample20@email.com,sample21@email.com,sample22@email.com,sample23@email.com,sample24@email.com,sample25@email.com,sample26@email.com,sample27@email.com,sample28@email.com,sample29@email.com,sample30@email.com,sample31@email.com,sample32@email.com,sample33@email.com,sample34@email.com,sample35@email.com,sample36@email.com,sample37@email.com,sample38@email.com,sample39@email.com,sample40@email.com,sample41@email.com,sample42@email.com,sample43@email.com,sample44@email.com,sample45@email.com,sample46@email.com,sample47@email.com,sample48@email.com,sample49@email.com,sample50@email.com

Now then, let’s put our list an array because this post on StackOverflow suggests to do so in case of performance issues. Then we’ll loop through it, note our index and length to help us compile a given smaller list, a batch. Here is the exampe code with documentation:

<!--- Put list in an array. --->
<cfset BatchArray = ListToArray(EmailList)/>

<!--- Initialize current batch--->
<cfset CurrentBatch = "">	

<!--- Note full email list length. --->
<cfset ELLen = ListLen(EmailList)>

<!--- Loop up to length of the list.--->
<cfloop from="1" to="#ListLen(EmailList)#" index="idx">
	
	<!--- Check the list length of the current batch to be less than 10 and that the index is not on the length of the entire list. --->
	<cfif ListLen(CurrentBatch) lt 10 and idx neq ELLen>
		
		<!--- Append current email to current batch. --->
		<cfset CurrentBatch = ListAppend(CurrentBatch,BatchArray[idx])>
	
	<!--- Check if the length of the current batch is 10 or the length of the entire list. --->
	<cfelseif ListLen(CurrentBatch) eq 10 OR idx eq ELLen>
		
		<!--- Check if the index is the same as the list length. Append item. --->
		<cfif idx eq ELLen>		
			<cfset CurrentBatch = ListAppend(CurrentBatch,BatchArray[idx])>
		</cfif>		

		<!--- 
		Do what you want with the desired batch, such as storing it in a table.
		For the purposes of this example, we are simply going to output it. 
		--->
		<cfoutput>#CurrentBatch#</cfoutput><br/>
		<br/>

		<!--- Reset the batch for the next one --->
		<cfset CurrentBatch = "">
		
		<!--- 
		Add first item to the reset list. The last item in the full list
		will go here but not matter since our action is done above.  
		--->
		<cfset CurrentBatch = ListAppend(CurrentBatch,BatchArray[idx])>

	</cfif>
	
</cfloop>

Our output looks like this to show we got the list how we want it:
sample01@email.com,sample02@email.com,sample03@email.com,sample04@email.com,sample05@email.com,sample06@email.com,sample07@email.com,sample08@email.com,sample09@email.com,sample10@email.com

sample11@email.com,sample12@email.com,sample13@email.com,sample14@email.com,sample15@email.com,sample16@email.com,sample17@email.com,sample18@email.com,sample19@email.com,sample20@email.com

sample21@email.com,sample22@email.com,sample23@email.com,sample24@email.com,sample25@email.com,sample26@email.com,sample27@email.com,sample28@email.com,sample29@email.com,sample30@email.com

sample31@email.com,sample32@email.com,sample33@email.com,sample34@email.com,sample35@email.com,sample36@email.com,sample37@email.com,sample38@email.com,sample39@email.com,sample40@email.com

sample41@email.com,sample42@email.com,sample43@email.com,sample44@email.com,sample45@email.com,sample46@email.com,sample47@email.com,sample48@email.com,sample49@email.com,sample50@email.com