PIC Watchdog Timers

I’m an admitted newbie to PIC uCs, but I thought I’d share a quick thing I just ran into and it deals with the watchdog timer.

I recently purchased some PIC16F722A-I/SP from Arrow, because unlike the PIC16F877A, these don’t need an external oscillator crystal.

I wanted to play with this and I thought the best way was to just do a little “Hello World” type blinky-led.

So, here was my code (note, I use MPLab and xc8):

* File: main.c
* Author: ceneblock
* Created on November 21, 2017, 12:30 PM

#define _XTAL_FREQ 16000000UL

#pragma config FOSC = INTOSCIO // Oscillator Selection bits (INTOSCIO oscillator: I/O function on RA6/OSC2/CLKOUT pin, I/O function on RA7/OSC1/CLKIN)
#pragma config WDTE = ON // Watchdog Timer Enable bit (WDT enabled)
#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = ON // RE3/MCLR Pin Function Select bit (RE3/MCLR pin function is MCLR)
#pragma config CP = OFF // Code Protection bit (Program memory code protection is disabled)
#pragma config BOREN = ON // Brown-out Reset Selection bits (BOR enabled)
#pragma config BORV = 19 // Brown-out Reset Voltage selection bit (Brown-out Reset Voltage (VBOR) set to 1.9 V nominal)
#pragma config PLLEN = ON // INTOSC PLL Enable bit (INTOSC Frequency is 16MHz (32x))

#pragma config VCAPEN = DIS // Voltage Regulator Capacitor Enable bits (All VCAP pin functions are disabled)

// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.


void main(void) {
TRISB = 0x00;
RB0 = 1; // LED ON
__delay_ms(1000); // 1 Second Delay
RB0 = 0; // LED OFF
__delay_ms(1000); // 1 Second Delay


The configuration bits I got from the IDE’s configuration bit configuration window (window -> configuration windows -> configuration bits).

So, ready to give it a go, I dropped it into my ZIF programmer, hooked up my PICKit 3 and everything went as it should! No Errors!

However, as I was watching the led flash on and off, I noticed that it wasn’t on for one second and off for another.

I tried adjusting the times in __delay_ms(), but that didn’t help. So I hopped on IRC and asked on freenode’s ##Electronics room. One of the users suggested that my problem was that I wasn’t clearing the watch dog timer before the delays.

So, I added in the following code:


and now everything worked. That said, I could use this method or as the user suggested, I could extend the time before the watchdog timer resets. I might try that later, but this works.

This wasn’t my final solution though, while the inline assembly is just fine, I decided for this simple project I should just disable the watchdog timer all together, so changing the configuration bits:

#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)

Now everything is fine and dandy.

I’ll make a bigger project eventually, but for just right now, this is more than fine.

Posted in Engineering | Tagged , , , , | Leave a comment

6-chip BASIC computer with Z8671

Taken from CPUShack (http://www.cpushack.com/2010/10/15/zilog-the-first-decade-z80-z8-and-the-z8000/)
I’ve had some Z8671 chips for a while and I wanted to build a BASIC computer (get it?).

I just wanted it up and running (for now) and I came across this Hackaday Post and related GitHub. I learned from the eevlog forum that there is an appnote, but despite it now being the third result on Google, I had trouble finding it at first. For future people, here is a link to it.

My first try was to follow the picture from SmallRoomLabs to get it up and running, and….nothing. At best, I got garbage (when using a 4MHz crystal) and more often than not, I got nothing.

So I put the project away and came back to it with similar failures.

The past few weeks; however, I really wanted to get it up and going. What did I do? I outsourced it to one of my lab mates. He was able to consistently get garbage out to the monitor. We tried different crystals, but never got it up and going.

The other night; however, I found the app note and saw the example setup listed. I forwarded it to my lab mate and he apparently had already found it, but wasn’t getting good results (he later said that he ignored the example setup).

Being aware of this, I decided to try to build it according to spec and go from there. One of the things that is in the sheet and (apparently) is extremely important is the crystal speed. It


to be 7.3728MHz. 4Mhz and 8MHz just don’t work.

I ordered the correct crystal from Arrow ( click here to see why I’m using them now) and it just came in.

I put in the correct crystal, adjusted my BAUD rate and there we go!

With that, I tried to play with some of the configuration.

I swapped out the crystal, but that took me back a few steps.

I adjusted the resistor location and that got me mixed results. I found out the best results were to have a pull-up resistor on P1_0 (pin 21) and that’s the minimum that you need.

I also didn’t have a 22pf capacitor, so using my capacitor rules, I put a 20 and 2pf in parallel. With it up and running, I tried to reduce the capacitance needed and found that I can just use it with 20pf.

For UART, I’m using an FTDI adapter that provides power and Serial I/O. The RX on the FTDI is going to the SO on the Z8671 (pin 4) and likewise the TX is going to SI (pin 5).

So, let’s do a chip count and the relevant pins:

  1. FTDI
    • Vcc -> Z8671 Vcc (Pin 1)
    • Vcc -> 1K Ohm Resistor
    • GND -> Z8671 GND (Pin 11)
    • GND -> 20pf
    • GND -> 20pf
    • TX -> Z8671 SI (pin 5)
    • RX -> Z8671 SO (pin 4)
  2. 20pf
    • pin 1 -> GND
    • pin 2 -> 7.3728MHz Crystal
  3. 20pf (yes 2)
    • pin 1 -> GND
    • pin 2 -> 7.3728MHz Crystal
  4. 7.3628MHz Crystal
    • pin 1 -> Z8671 XTAL1 (pin 3)
    • pin 1 -> 20pf
    • pin 2 -> Z8671 XTAL2 (pin 2)
    • pin 2 -> 20pf (the other one)
  5. Z8671
    • Vcc (pin 1) -> FTDI Vcc
    • XTAL 2 (pin 2) -> 7.3628 MHz Crystal
    • XTAL 2 (pin 2) -> 20pf (the other one)
    • XTAL 1 (pin 3) -> 7.3628 MHz Crystal
    • XTAL 1 (pin 3) -> 20pf
    • P1_0 (pin 21) -> 1K Ohm resistor
  6. 1 KOhm Resistor
    • pin 1 -> FTDI Vcc
    • pin 2 -> Z8671 P1_0 (pin 21)

I could have just drawn a diagram, but on page 4 of the application note, you have one there for you. If you want reset, then just put a jumper from pin 6 -> Ground to turn it off and disconnect (and connect to Vcc) to turn it on.

I feel kinda of stupid now that I see how easy this is, but that’s the way it goes. 🙂

I”ll probably hook this up to another uC so that I can have a pocket basic computer (similar to here ), but that is to be determined.

Posted in Engineering | Tagged , | 1 Comment

Quickie Problem with STM32F103C8T6

I just ran into a quick problem with my STM32F103C8T6 that I got to play with. Whenever I tried to upload code, I kept getting this error:

Error in initializing ST-Link device. Reason: No device found on target.

I know that I had my settings correct (using an ST-Link, SWD, and outputting to Intel hex format) and that the device was still alive since it was running other code; however, even when trying with a different programmer and reverifying the pins, nothing happened.

To fix this, I simply held down the reset button and as I hit upload, I let the button go.

This seems to have fixed the problem, but it is very strange. Anyway, I hope that someone else can benefit from this..

Posted in Engineering | Tagged , , , | Leave a comment

Generic Action Cam Initial Impressions (iSpring)

From the amazon page

I picked up this camera off Amazon for $40 and wanted to use it as a cheap dash cam.

Unfortunately, that doesn’t seem to be possible (at least not easily, I’ll post a couple hacking posts later).

So let’s just review this as a camera.

First off, mine is branded as Gaminol and not iSpring, so these things must be rather generic…It is a small thing; however, and fits in the palm of the hand. Although I don’t own a GoPro, I think it is the same size.

The video quality, shown below both night and day on my bike inside the waterproof case, is meh. Despite it being at 1080p @ 60fps, it looks like garbage at night. I didn’t even need to blur out the license plates. So, if you’re in a hit and run, then good luck.

The same applies for the day, but it certainly looks nicer.

I’m not going to be too hard on the video quality, because it isn’t meant to be an expensive camera. It isn’t supposed to replace your Canon, Nikon, or Sony cameras, this is just a nifty little trinket.

There is a streaming app for it called iSmart DV (have you noticed that nothing brand or name-wise matches up yet?). It is bare bones and does what you expect it to; however, the battery indicator in the app is fake. I didn’t test the wifi indicator, but I imagine it is fake as well..

There are still some other problems though, the biggest is the build quality. It feels cheap — like if you drop it, then it would shatter.

On my camera, the volume buttons are put on upside down. The only reason why I know this is because the “volume down” button is supposed to turn on WiFi. The screen is way too bright and I didn’t see an option to reduce the brightness. I suppose I could put a resistor in there or pwm the back light, but it isn’t worth the effort.

So there was not a lot of care put in the the design and manufacture of the device…

When running the camera, it gets hot. Like REALLY HOT. This is going to be a problem for battery life and longevity. In fact, the battery life when running with the screen on is less than an hour, which is unacceptable for an action camera that is supposed to be taken camping, hiking, swimming, and so on.

For the price that I paid, it think it is just okay; however, I would not recommend paying a penny more. If you want a numerical review then I’d give it a 5/10 because of the heat and poor battery life.

Posted in Photography, Reviews | Tagged , , | Leave a comment

Hey everyone, I plan on doing some reviews of various gadgets that I get from a “what is this and should I get it” type of stance.

As a tease, I have a knock-off GoPro that I’ll do first; however, I plan for most of the reviews to be for music.

Posted on by ceneblock | Leave a comment

XBox 360 Chatpad Hacking

So I was watching an old episode of The Ben Heck Show on creating a pocket BASIC computer and in it, he mentioned using an XBox 360 Chatpad as the keyboard and reprogramming it as a serial keyboard instead.

Interested, I decided to order one and instead of the expected PIC16, I was greeted by a Microsoft X814364-001 and looking online, it seems that I’m not the only one with this problem; however, I did map out the pins and for the ICSP and they match up to the as expected to the Microsoft chip. My suspicion is that Microsoft had Microchip just mask the PIC and that they are the same device.

That said, another person tried to flash it over and seem to have failed noting that:

I can’t detect the pic and if i force it to flash the stuff (just select Pic16f883) it flashes but when it wants to verify there’s everything wrong and the pad works on the xbox like before so I guess it didn’t work

In that case, the user seems to have purchased a replacement PIC16, but I want to give it a try as well. My PicKit3 is sitting at the school, so I don’t have access to it to actually flash it right now; however, if it does work, then expect an update.

I’ve left some helpful links down below for those who want to modify their chatpads as well.

Ben Heck’s Original Post
PIC16F883 Sheet
Chatpad Pinout (really useful)

Posted in Engineering | Tagged , , , | 5 Comments

Writing an IRC bot

Some students wanted me to get involved with GHOULL again, and I agreed to. However, these guys will be in charge and I’ll just be lecturing..

Anyway, I decided we should have an IRC channel (freenode #GHOULL) and if we’re going to do that, then we should have a bot!

I found this guide for basic bot writing and wrote my own which can be found here.

It’s a very basic an primitive bot and needs a lot of improvements; however, I did want to mention some notes:

  1. As mentioned in the README, you’ll php5-sockets (or whatever version of php you’re using)
  2. Don’t try to send a lot of data, you’ll get throttled and then messages will be lost. You can get around this by giving your bot a voice with the following command:

    /msg ChanServ #GHOULL add GHOULL_bot +V
  3. All commands end with a `:` so

    write_socket($socket, "PRIVMSG #GHOULL: my text");

    This is important otherwise things will get messed up.
  4. sqlite and sqlie3 are not the same thing and the APIs are not compatible.

Those are the three big challenges that I’ve faced so far; however, I’m sure there will be more and I’ll try to remember to put them in the README.

The code is a little messy and uncommented; however, I tried to make everything as basic as I could. The hard stuff is in scripts/*.php as that deals with interacting with sqlite.

Posted in Computer Science | Tagged , , | Leave a comment

Getting Started with the BeagleBone PocketBeagle

Arrow current has a sale where when you spend over $20, you get upgraded to overnight shipping for free!

I saw this through an e-mail through them and I had just heard about the Pocket Beagle so I decided I’d order it.

I got that and some other goodies that I may write about later; however, there is not good documentation on how to get the device set up.

Having a BeagleBone Black, I figured it’d be plug-and-play; however, I was way wrong.

My first instinct was to just plug it in and I did and nothing happened. I’ve had problems with Ethernet over USB before, but I was expecting that since I was using Network Manager that everything would be somewhat “automagic”; however, nothing happened at all….well, that’s a lie. The device got really hot after being plugged in. I started to get worried that I had cooked the device by accident.

Confused and frustrated, I tried searching and there short reviews of the device, but nothing that really stood out. The getting started guide shows it working out of the box (but that guide pictures a Black..) so I was really thinking that I had a defective board.

There was a very short quickstart guide written on the cardboard backing of the package. So if you threw that away and this was your first device, then you’d be totally screwed as there isn’t anything yet. I may or may not have been that guy. 🙂

So enough ranting!

To get everything started, let’s get a list of what we’ll need:

  1. A minimum of 4GB MicroSD card
  2. A MicroUSB Cable
  3. A way to write data to the MicroSD card (This can be a USB adapter or a MicroUSB to SD for your computer or you might even have a microSD card on your laptop)

Now, these instructions are for Linux, but in all honesty they’re applicable to other OS as well.

Downloading an Image

First thing that we’ll do is get the latest image from beaglebone. Look for one that supports our device (in this case PocketBeagle). I have a copy that is recent as of the time or writing available for download; however, it is big and will take some time to download.

Once this is done, we’ll need to extract it. On Linux, I’ll be using unxz; however, I think xz files can be extracted on Windows and Mac using 7zip.

unxz ./bone-debian-9.1-iot-armhf-2017-09-21-4gb.img.xz

Burning our Image

With our image extracted, we’ll need to burn it to a microSD card. For Linux, I use dd. To use this, first we’ll need to know what drive the micro SD card is:

sudo fdisk -l

Disk /dev/sda: 298.1 GiB, 320072933376 bytes, 625142448 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0002b49f

Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 576909311 576907264 275.1G 83 Linux
/dev/sda2 576909312 625141759 48232448 23G 82 Linux swap / Solaris

Disk /dev/sdb: 16 GiB, 17179869184 bytes, 33554432 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 8192 bytes
I/O size (minimum/optimal): 8192 bytes / 131072 bytes

You’ll then see something like /dev/sdX or /dev/mmcX (where X is a number or letter) and it’s size. If you see /dev/sdX then you’ll want to use /dev/sdX and not /dev/sdX1 or something, likewise, if you see /dev/mmcX then you’ll want to use /dev/mmcX and not /dev/mmcXp1.

This should be obvious, because if you look at /dev/sda in the example above, you’ll see that /dev/sda1 is underneath /dev/sda. Hopefully that isn’t too confusing..

Now to actually burn it:

sudo dd if=bone-debian-9.1-iot-armhf-2017-09-21-4gb.img of=/dev/sdX status=progress

This will take a while, but now that DD will show you progress so you don’t know if something has randomly died and you don’t know (and it beats sending USR1 to the process).

Note bene:

Luckily, if you’re using Windows, then there is Rufus and a helpful guide for Windows for burning Ubuntu to a USB disk. The only thing you’ll need to do differently is select the beaglebone .img instead of the Ubuntu one.

There are other guides for burning the image on Ubuntu and Mac if you found that all confusing.

Booting the device

With the image burned, you’ll now take the microSD card and insert it into a unplugged PocketBeagle.

With it inserted, you can now plug in your MicroUSB cable to the board and into your computer.

It’ll eventually boot and everything is finished once you can see a new drive and can follow the getting started guide


If you have issues with networking over USB, then try the following on Linux:

sudo ifup usb0
#Additional configuration may be needed, check your distro's documentation for further information.

For SSH:

User: debian
Pass: temppwd

Posted in Computer Science, Engineering | Tagged , , | Leave a comment

Thoughts on #LasVegasShooting

On Sunday night, October 1st, 2017, during an outdoor concert several shots were fired from a hotel room in Mandalay Bay Resort and Casino.

So far, over 60 deaths and more than 500 injuries are reported.

This act of bitter hatred and terror has now surpassed the Pulse Nightclub as the most deadly mass shooting in US History. The Pulse took place on June 12, 2016 — not even two years ago.

At this point in time, motives are not known; however, what is known is the following:

  1. Over 23 weapons were found[1][2]
  2. The weapons were modified with a “bump stock” to have them behave like an automatic[3]
  3. The weapons are believed to have been purchased legally[4][5]
  4. He is believed to have acted alone[6]

Now, people are divided on weather or not the shooter is a terrorist. I’m on the belief that he is.

This isn’t your “run of the mill” shoot up a liquor store for $200. This is cold, calculated, and methodical.

Suppose that the shooter just “snapped” and decided to go on a killing spree. This still wouldn’t make sense. If his goal was to kill people, then there are far better ways to do that (i.e. IED, plowing a truck, and so on).

There is also some speculation that this is due to his gambling. News organizations have found larges bets totaling over $20,000 prior to the event; however, the man was rich and reported to be a millionaire[6]. So while losing that much money would have not been fun (regardless of how much you have), it doesn’t add up that the money would have been a motivating factor.

Suppose that this was his first time gambling and he decided to bet $10,000. People won’t do that unless they are already in a desperate place, which could give motivation for killing (the idea that there is nothing left to live for); however, he is known to have gambled (especially video poker) prior to the incident[6]. So I’m skeptical that this is the cause.

The shooter is known to have some sort of involvement with a woman; however, I’ve read conflicting reports that the woman is a girlfriend, friend, or roommate. At this time, she is not believed to have known about the shooting; however, police are interested in her. She is currently outside of the country[7]. I believe that she has clues about the incident — not to implicate her in the event; however, I think that she may have noticed things and didn’t pass them off, because they never “clicked” as being important. I want to be careful in my characterization of her, because I believe that she is innocent and is probably distraught by what happened, but I think that she has some sort of information that may be useful to police.

The shooter is not known to be of any particular religious or political ties. This leads many people to want to discount that as a motive; however, he could be private about them. Take me for example, I don’t wear my political beliefs on my shirt; however, if you read my tweets and this blog than you should know them and you should see my passion behind them. After 2006, I learned that is is better to act as if the person I’m talking to has the opposite political beliefs as me. This idea has allowed me to get through life and be able to properly communicate with people on both sides of the aisle.

Now, some people have expressed joy over the shooting because it was at a Country music event and would have been full of “Trump supporters”. I find this idea absolutely repulsive and the views of these people do not represent the Democrat party or even most people on who do not like the President.

These people need to be publicly shamed and called out for their disturbing and malicious thoughts. I did manage to capture a screen shot of someone wishing these things; however, I think that it is best to hold off on publishing it for now. The tweet has since been deleted (after reporting it) and it has gained infamy. Contrary to what the user believes, I think she is just being stupid and was seeking attention.


[1]When bullets rained down on Las Vegas

[2]23 firearms found in Mandalay Bay hotel room occupied by Las Vegas gunman

[3] Vegas gunman had device that lets guns fire like automatic

[4]Las Vegas Shooter Bought Weapons at a Combination Guns and Music Store

[5]What guns were used in the Las Vegas shooting?

[6]Nothing stood out about Stephen Paddock before Las Vegas shooting, people who knew him say

[7]Las Vegas shooting: Police search for gunman’s motive

Posted in Politics | Tagged , , | Leave a comment

@KassyDillon’s talk @WestminsterMO

“I heard there might be protests, if there are, then turn to them and start filming.”

“Ok”, I said as I went to my camera bag and grabbed my 40mm, while thinking to myself “I’m not a videographer, but by all means if something comes up, then I’ll do my best to get it.”

This was part of my introduction to Ms. Kassy Dillon. A girl that I’d been following on Twitter for nearly a year now and came across her after what became known as “Trigglypuff” and Milo Yiannopoulos.

She was in Westminster giving a speech on Campus Conservatism and she spoke to a pretty full house (much to our surprise).

As for the speech itself, it was enjoyable; however, I was left with one question at the end of the day: “Who was the target?”

What I mean is, during the speech, it seemed that Ms. Dillon flipped back and forth between targeting a general audience and potential on campus conservatives. It was by no means incoherent, but my advice would be to pick a topic an audience and stay with them.

For example:

Kellogg Community College having Shelby Gregoire arrested for distributing the Constitution on campus. This is an issue that should appall all members of the public (left and right) and it shows how such a “conservative” act is being repressed on campus.

Then later on, she advertises for her website and encourages students to be active politically while in college.

In that example, it is really minor; however, while in attendance it felt like there were two distinct audiences being talked to.

The speech was prepared and that is my biggest complaint on it. If you want, you may watch or read the speech at the bottom.

Where things really got good and where I want to focus on was during the Q&A, as this shows me what a speaker truly believes and how they can act on the fly.

A question that reached out to me was by a Palestinian student who expressed her concern about reaching out to the other side when President Trump is trying to implement a travel ban.

Kassy’s response was to insert a human element into the conversation. She said that if the ban were permanent that she’d be opposed to it. Saying, in quote, “But some people aren’t looking at how it actually affects people.” and that “Even the right is not united on it”.

This is something that I happen to agree with. I’m very fortunate that I go to school where I do. There are a lot of Middle Eastern students my graduate program and I’ve gotten to know them personally. I can say that these people are the smart men and women we need working to make the country the best it can be. And yes, I’ve met many an Iranian student and they are some of the hardest and smartest people you’ll ever meet.

My take away from working with the Iranians is that they know what is going on in their country and they want to leave. Iran has a huge brain drain.

Another question (to which Kassy was well prepared for) dealt with the Alt-Right:
“You said that conservatism was being co-opted by certain movements, but what do you recommend conservatives do to deal with that?”

To which Ms. Dillon breaks the Alt-Right into three distinct subcatagories:

  1. Alt-Right: The neo-Nazis, white nationalists, the people that openly say, “I support a white ethno-state.”
  2. Alt-Lite: People who preach “Westernism“, but you’ll also hear a lot of anti-Islam in it. They don’t explicitly say they’re white nationalists, but sometimes they may have other terms for it. Examples include Milo Yiannopoulos, Mike Cernovich, Paul Joseph Watson, and occasionally Alex Jones.
  3. New Right: These people are what were formally called “Reagan Democrats”. The blue-collar men and women who have typically vote Democrat (or are apolitical), but instead are “Republican only for Trump” (in this case).

When talking to her after the speech, she seemed excited to be able to distance herself from the alt-right. I think that the reason why, is that she believes the media has properly co-oped all of conservatism with the alt-right. Make no doubt that there are several pundits who have, but even Hillary Clinton has noted that the alt-right is a corruption of conservatism:

This is not conservatism as we have known it. This is not Republicanism as we have know it. These are race-baiting ideas, anti-Muslim and anti-immigrant ideas, anti-woman –– all key tenets making up an emerging racist ideology known as the ‘Alt-Right.’

It is important to note that she was separating conservatism from alt-right while still attacking Donald Trump.

This is of course interesting, considering how she is the victim of a “Vast Right-Wing Conspiracy”, to turn around and see her offer a little defense to her political opponents, but it does show how even she thinks that there is a difference between the two.

What was very strange was a question in regards to biological differences between races. This came from a Nepalese student who I think might have been trying to tick her; however, his question about what can effectively be described as “pro-eugenics” stuck me with great concern. The full exchange is:

Student: Like you said, I was actually very disappointed with what happened at Middlebury College in regards to you know like, beating up the professor and Charles Murray. What’s your opinion on the works on Charles Murray?

Kassy: Yeah, so I haven’t read The Bell Curve. It’s called The Bell Curve if you guys are ever interested in reading his ideas. I don’t agree with it necessarily, I think that nature vs. nurture argument; you can’t prove either. I think it’s just a wide thesis that he had out there. So I don’t necessarily agree with him but I haven’t read the entire book so I probably should do that. But, if you really disagree with him, go challenge him. Like for instance, Linda Sarsour is coming to my college this year. I am not a fan of Linda Sarsour, at all. Anyone familiar with Linda Sarsour? Organizer of the Women’s March? She’s Palestinian, and she told another Muslim woman who had FGM, told her that she didn’t deserve a vagina. She’s coming to my school, and I’m not going to protest it. I’m not going to organize against it. I am going to go there and ask her a question. I am going to challenge her. I want her to answer something that I’m asking her. Usually she speaks to crowds that are liberal, people ask her questions that are easy. I want to ask her a hard question. So I think if someone went to a Charles Murray speech, and asked him a hard question, that would be more productive than shutting him down because if you shut him down, you’re giving him so much of a platform.

Same student follow up: So let’s say what if there is a biological difference in our intelligence, I think we have to take a moral stance because let’s say, whatever the case, like in a good society people shouldn’t have to get shot by the police just because of their skin color or because someone makes an assumption off them based on where they live. So I think at some point, we have to make a moral judgement [sic] about what we do. So what moral judgement [sic] would you make? Like if there’s research, let’s say, that people from Nepal have a really low IQ, so does that mean we can’t exist together in society?

Kassy: I would take a moral stance by trying to critique his research, because he did research this he didn’t pull it out of nowhere. I’d critique his research and tell him I don’t agree with it. I think that’s what you should do. There are actually so many books that are refuting what he said, and I think that’s actually important to read.

My advise and response to the student would have been that you determine your own worth, not your genetics. There are very smart people of all races, nationalities, and creeds — just like there are dumb people under the same categories. However, that discussion could very easily take a religious turn..

That said, I think Kassy is in a very good place right now. I think that if she can fix that minor issue, then I think she’ll have a long speaking career ahead of her. I think that she handled herself very professionally and I look forward to watching her continue to develop as a speaker.

Entire speech:

Speech Transcript

Posted in Politics | Tagged , , , | Leave a comment