University Education in the Near Future

I keep having this conversation. It’s on my mind because I have kids, surely. But a lot of people think about it. It’s university education. Specifically, paying for it.

My wife and I talk about whether we should pay for our kids to go to school or let them pay for it themselves. I am talking extremes – we both agree that we will help out with books or a couple bucks here and there, maybe even a used car. We are talking about is will we be writing the check to cover tuition term-to-term, or handing our darlings over to school-loan nirvana, to let them pay for it themselves.

Instead of entrenching my flag deeper and deeper, it occurred to me that it might not matter which side of the debate I come down on, or if we ever come to mutual consensus. Because it might be that the system itself is so flawed and damaged that it simply won’t be around in fifteen years, at least not in the same format it is today.

Presently, I am beginning to agree with this notion. It does not make sense to me anymore to have a student pay $1,000-$3,000 per class, especially for the exploratory “100-level” classes. I don’t mean only the “fun” elective classes (looking at you, beer-making and volleyball). I also mean those classes that provide a window into careers that only provide a professional track if the student continues on through the Ph.D. level – these are your Psychology 101 and early Sociology courses. Yes, they are mighty valuable. But maybe not valuable in the way we are treating a university education these days.

There was a time when higher learning was undertaken for the sake of learning itself. There was discipline, rigor, and study. At some point, college became a place where an individual could go to “find themselves”. Lots of study, experimenting, testing the waters. Next, it was about getting an entrance into the white collar job market, strictly. This was business coursework and fraternities, which was dubbed “building your network”. Then it was all about extending adolescence. Enter the dorm-room TV with the requisite PS3 or XBox. Classes were actually getting in the way by this point.

And now it is a mixed up value proposition of trying to balance all of the above fads with the real-world weight of the titanic price tag that comes with the package. Why is school so expensive? Well, for my money, I’d answer that schools spent too much listening to what students and parents wanted (building more and bigger and wider) instead of administrators giving them what they should have known was what was best for education. And that is investing in the ranks of your educators and their equipment. It is not building a newer, bigger gymnasium fitness-wellness-climbing-wall palace. But that isn’t what I am writing about.

In that context, why would I ever want my kid (or would I want me) to pay $3,000 (plus 3-12% interest?) for Sociology 101, plus another $250 for a textbook? (Note: seriously, I love sociology. I think it is a worthy pursuit). What sort of self-feeding system have we created here? If my kid wants to learn sociology, well, for $3,000 there sure should be a better way to give them a 100-level introduction to it than two hours of “boring” weekly lectures with 600 other students and a few hundred pages of isolated reading and writing over a sixteen week span. That isn’t an education; that is a hoop.

If President Obama gets his way, community colleges will be free to qualified students. Think about the damage that would do to the hundreds of regional colleges with less than 3,000-student enrollments. These tend to be pricey options for the students while the administration is operating on razor thin margins.

What if, suddenly, some of those students could get their core requirements out of the way somewhere else for free? Would enrollment drop? Or would it actually make room for more students – widening the overall enrollment pool? I think enrollment will drop, and that small regional schools will have to scramble to rethink who they are, what service they offer, and in the end, radically hack away at pieces of their identity. In the end, they will become specialized, two-year schools that identify with a trade (engineering, pre-med, education, etc). This may happen over the next 25-30 years.

Yes, I am leaping. But I need to – the alternative option of looking at at $40,000 — or $200,000 tuition bill for my kids, well, it isn’t really an option. I need to believe that some major change will at least begin in the coming decade to radically alter how our kids pay for school, and also why they go.

Neighborhood Council Meeting

Last night, I went to our neighborhood community council meeting. It’s called the MACC (for Morningside).

I asked if the council would welcome the META MESH guys over to talk with us all about mesh networking and Pitt Mesh. They did, and it was really informative. It will cost a good bit of money ($10k) for the neighborhood to be fully covered in a mesh network, but I think we could at least get a start by blanketing our small business district.

A mesh network is a form of wireless, ad hoc networking. Folks can set up a series of nodes – or antennas – that connect to one another and create a small network. The network may or may not be connected to the larger World Wide Web. This particular network is now in a successful proof of concept test for solar powered battery backup.

Having such a network in Morningside would be useful fora number of reasons:

  • Business district can advertise, offer coupons to neighbors;
  • Community events, yard sales, council meeting notes, historic data can be served and shared;
  • Safety notices, disaster event news, backup information network if Comcast or Verizon went down;
  • Educational opportunities for Boy Scouts, Girl Scouts, and other youth organizations to learn to build and maintain network architecture;

Once the network is built, my guess is that other people smarter than I am will come along with a thousand cooler ideas of other applications for a hyper-local, solar-powered, redundant mesh network.

The Pioneer Plaque

I can’t help but wonder why we have sent only four space probes into deep space with information about our existence. And they were all launched in the early 1970s!

Have we not come up with anything more interesting to say to the universe in the ensuing 40 years?

It might be that an evil scientist has been launching satellites into space weekly from his secret island launchpad. All the data on those indicates that he (or she!) is the supreme ruler of Earth. And why shouldn’t it? No one else seems to be concerned with sending anything up but orbital devices (super useful) and weather balloons.

Or it might be that the governments of the world have been sending batches of our phone calls and intercepted text messages into the heliopause for decades. Where else would they store it? LOL OMG 2EZ #NoConspiracy (got that, aliens?).

Instead of sending concerted messages from a global base of scientists and world leaders outlining our respective and rich religious, civic, and industrial histories, instead we have been beaming endless episodes of Benson (yes, it’s out there), Two and a Half Men, and Entertainment Tonight. Thinking about that sublime body of artistic work we’ve de facto been using to represent humanity, an alien observer might assume we’ve been sending out collective gasps asking for someone to euthanize us.

So hey folks, start building again. Let’s put some aluminum foil-covered boxes together with a few more gold albums on them, and ship them out. We, as a race, need to do a better job with the marketing message we’ve got happening here.

Samuel L. Jackson Has a Message for Ice Bucket Celebs

“All you celebrities out there who poured ice water on your heads, here’s a chance to do something else.”

Samuel L. Jackson makes a great point. I don’t even know what charity the Ice Bucket Challenge was supposed to support, all I know is that people everywhere were suddenly pouring water on themselves and haughtily laughing (albeit soaked) about their good, charitable souls.

And here we have a dire situation in the US where, according to a December 13th, 2014 piece in The Economist, “the police shot and killed at least 458 people last year.” That’s over one and a quarter persons killed by police per day in the US – and those numbers are a very conservative estimate. According to the same article, police departments in the US do not always report deaths to any sort of Federal accountability structure (because there isn’t a process requiring it). It is likely that the number is higher.

So what can we do about this? Is it enough to get out another bucket of ice water? Or .. how about offering our solidarity with the families of those grieved by the loss of a loved on at the hands of the police? Or … do we just assume that all police shootings are justified and go on about our business?

Speaking of justified police shootings, let me be plain: sometimes the police do have to shoot and kill bad guys. What, I think, folks in the US and around the world are wondering is, “are there so many bad guys in the US that opportunity exists for more than one to be shot everyday?”

Whatever you may think about the state of morality with regards to how many people you assume need to be shot by police here in the US each day, what is happening is that the police are shooting people who do not need to be shot.

John Crawford, for instance, who was standing the toy aisle of a WalMart holding a toy guy sold by WalMart in the toy aisle, when police appeared (bullets first) and shot him dead. (Both officers involved were acquitted).

Which gets back to the core question: where’s the accountability? The black community in the US is more and more seeing the police as a an “occupying” force rather than a civic institution meant to protect and serve (a phrase now spoken more tongue-in-cheek than in seriousness).

The police are not the bad guys, but they are, as individuals, placed in a situation that increasingly looks incalculable for them. Because, let’s face it, with 300 million guns out there on the US streets, if a cop makes one mistake, he could die. Is that a fair trade-off for his $65k a year salary? And do you know what they are trained to do in force escalation (i.e., mortal danger)? They are trained to shoot to kill. Not mace, not hit the legs or shoot the wrist. But to counter perceived force with stronger force, and at times that means lethal force.

Some people in the dialogue remind me that there are bad apples in every bunch, which means we should remember that there are some bad cops. As Cleveland Browns wide receiver Andrew Hawkins says, “Unfortunately, my mom also taught me just as there are good police officers, there are some not-so-good police officers that would assume the worst of me without knowing anything about me for reasons I can’t control. She taught me to be careful and be on the lookout for those not-so-good police officers because they could potentially do me harm and most times without consequences.”

So I counter the question of “where” is the accountability with one of how, in this environment, can there be accountability? There can’t. It’s the system that must change. It must change to allow for more police training to de-escalate instead of countering force with force, except as a last measure. It must allow superintendents to fire the bad apples. And they know who they are. But my guess is that their hands are tied due to union clauses and protections of some sort or another.

And, finally, I regret to say, some officer somewhere is going to have to go to prison, for a long time. I know they are mostly doing their job according to their training. And the US government has geared them up to be pseudo combat militia teams. And they are scared (and brave). But at some point, if the people continue to see officer after officer shooting citizens dead in the street day after day with zero accountability, things will get a whole lot worse for a whole lot more people, and maybe faster than we expect.

We can’t “arrest” the system they are in. So some judge somewhere is going to have to offer up a sacrificial lamb in the name of national justice. If that doesn’t happen, change will come to the system but it won’t be pretty, clean, or safe.

Edit: The pressure valve appears to have broken with the cold-blooded murder of two New York City Police officers. I sincerely believe that the shooter was mentally disturbed and not purely driven by hatred of police, but the damage has been done. This is a terrible tragedy.

After Church

My youngest hates church. Just the act of driving by the building evokes tears from the boy. I guess it’s the idea that we will leave him in the daycare room during service? I don’t know why that is a problem for him – it is a room full of toys, after all.

My oldest – she loves church. She is proud that she gets to go early to Sunday School. From what I’ve observed, she spends the entire time in the “desert”, which is just an indoor sandbox. I think this is why she likes church so much – the sand and the ever-present dixie cups of popcorn that the Sunday School teacher doles out.

While they differ on approaches and rationales, they do agree on one thing: the fellowship hall has cookies, and that’s church! So we cannot escape the routines of services without first stopping by the fellowship hall and attempting to keep our kids from touching all the cookies. And touch them they will.

It’s nice; it gives us a reason to hang out in the hall after service and chit chat with others. And sneak a few cookies ourselves.

As a kid, I remember feeling a certain way about organized religion. It was that the best ones had a respectable cookie tray available within the reach of short arms. A lemon-lime blend drink added bonus points. I didn’t understand anything about the sanctuary or what was happening in there. Just adult stuff. I didn’t like the way the musty wool suit jackets and zany ladies hats smelled, either.

I don’t suppose my theological stance has matured much, regarding sweets. Did any of the great prophets have anything to say about cavities? Is there a circle of holiness separating colorful Neccos, Jujubees, or Jordan almonds from the Little Debbie Snack Cakes and yellow Hydrox Cookies? (Well, there should be.)

Kids love sugar. My kids’ love of sugar gets them through the grinding legalities of Leviticus, the sorrow-filled Book of Job, and lengthy discussions of the All Saints Day Calendar cycle. God bless the cookie table.

Updating The Google Password

Have you updated your Google password lately? It’s gotten a little crazy. It isn’t Google’s fault – it’s that we live in a goofy web of interconnected, insecure-trying-to-be-secure devices that falter when trying to communicate with one another.

I updated my Google password in my browser. It was pretty easy. Open a browser. Log into Google. Go to my account settings, click the security tab, change the password. Write the new password on a sticky note and put it on my monitor.

Then Google emailed me: “Did you want to change your password?” Yep.

Oops – oh yeah. My cell phone pulls down mail from GMail. I open up my GMail on my cell and, as expected, can no longer log in. “Do you want to change your password?” Yeppers.

And then Google asks me – “What is the Security Code we texted to your mobile device?” Well – this is my mobile device. The text appears a moment later and I enter the code. Now GMail on my phone works.

But that was some kind of weird double-authentication fail. The texted security code is supposed to show that I have access to a secondary device and therefore probably am who I am claiming to be (the account owner). But when I am “double” verifying ownership of the mobile device by providing a text code sent to the mobile device … I dunno. Seems like a breakdown in the system somewhere.

OK whew. Oh – desktop mail client. “Do you want to change your password?” *sigh*. Yes. “Invalid password.” Hey no way! That’s the right password! I have it right here on a sticky note on my monitor!

Ooooooh … Right. For the desktop client, I need to provide an Application-Specific Password. Which means I open up a new browser tab and log into Google, and generate a new application-specific password. I copy that to my clipboard (because I only need it once!). Then on my computer, I open my main system settings, and then navigate over to user accounts, find my mail accounts and … where am I? What was I doing? Oh hey – time for lunch.

How to Add and Display a New Image Size in WordPress

WordPress comes out of the box with three image sizes built in – a thumbnail, a medium, and a large size.

Each theme developer will determine the exact dimensions of those three sizes. But typically, these three exist in some range between a thumbnail – 50 x 50 or 150 x 150; a medium size – maybe around 450 x 350; and a large image – bursting at the seams around 1024 x 800 or something (all sizes here are in pixels).

This means that for every image larger than the “large” size that you upload to the media area, WordPress will automatically create three additional sizes of that image. If your image is only 600 x 800, WordPress won’t create a “large” size of 1024 x 800 from it.

But assuming your uploaded image is larger than the “large”, you end up with four images – your original upload, plus the three images of thumbnail, medium, and large dimensions created by WordPress. WordPress can organize these into a nice filing system for you automatically.

You can view – and edit! – the dimensions for your WordPress installation by going to your Dashboard –> Settings –> Media
WordPress Media Settings

If you do update those settings, you can use a handy plugin like Regenerate Thumbnails to instruct WordPress to run through all of your media items and regenerate your images with the new dimensions. Pretty handy utility, say if you move into a new theme that uses different featured image widths or something.

What if those three dimensions are not enough for you? What if you want to add a fourth dimension?

You can add a new image dimension by making an edit to your functions.php file.

First, you want to tell WordPress that you want to add a new size. You do this by adding the add_image_size(); function to your functions.php file.

The add_image_size function accepts $name, $width, $height, and $crop parameters. Only $name is required. Like so:

// Add additional image sizes 
	add_image_size( 'homepage-thumb', 535, 350, true );

Here, I am telling WordPress to create a new image size with a name of "homepage-thumb", a width of 535 pixels, a height of 350 pixels, and yes, crop it if the proportions do not match the dimensions of the original image.

Likewise, we could write:

// Add additional image sizes 
	add_image_size( 'homepage-thumb', 535 );

The above would create the new image size with a width of 535 pixels but would not set any height restrictions.

And this code if handy if you want some control over the cropping axis position:

 // Hard crop left top
add_image_size( 'homepage-thumb', 535, 350, array( 'center', 'center' ) );

You can use 'left', 'center', or 'right', for the first position and 'top', 'center', or 'bottom' for the second position. Great!

There are several things you can do with this new image size, now that you've created it and given it a name. A handy thing to do is to make it available to the folks using the WordPress Dashboard.

To do that, you need to filter the image_size_names_choose function:

// Show new image size in admin are of media section
    add_filter( 'image_size_names_choose', 'yourTheme_custom_image_size' );

... and then load up your instructions:

function yourTheme_custom_image_size( $sizes ) {
    return array_merge( $sizes, array(
        'homepage-thumb' => __( 'Homepage Thumbnail' ),
    ) );

The whole code:

And that's how you add a new image dimension to your WordPress installation!

How to Open A WordPress Functions File Using A Hook

If you want to write your own WordPress child theme, or even your own theme, you are most likely going to be getting into the nitty gritty of the functions.php file.

When you work in this file, you are essentially writing up a series of instructions for WordPress to deploy, in a pre-set order.

A smart way to work in this environment is to set your basic customizations inside a single function of their own, and then trigger that function to fire in a specific order within the WordPress code. How does WordPress know where to to fire your code? Because you tell your function to make use of a WordPress hook.

Hooks are areas within the WordPress code that allow template developers, people like you and me, to take our great customizations and inject them into specific areas of the overall WordPress software. Pretty cool.

Each hook name is a place identifying an area of the WordPress code. Maybe it is helpful to think of it not as a place in the code – but instead as a place in time during the execution of the code? Either way, your WordPress code is a linear set of instructions like this:
A ---> B ---> C ---> D

WordPress does A, then does B, then does C, then finishes with D.

Here’s how that would look with hooks in place:
A(hook1) ---> B(hook2) ---> C(hook3) ---> D(hook4)

So, in this simplified example, if you wanted to add some code that should execute after B, you would use the hook hook2. Simple? And yes, there is a whole list of WordPress action hooks to look over so you don’t have to guess!

OK, well, a hook that can help you organize your customizations within your functions file is ‘after_theme_setup‘.

Note: This action hook is called after the page loads.

Here’s how:

  • Open your function file with <?php
    Note: no spaces or comments are allowed before the <?php declaration
  • To start, use add_action to tell WordPress to use your new function. i.e.
    add_action( 'after_setup_theme', 'your_child_theme_setup' );
  • Create the function that will hold your instructions, i.e. your_child_theme_setup() {
  • Add your instructions inside your new function, i.e.
    add_theme_support( 'post-thumbnails' );
    add_theme_support( 'custom-background');
    register_nav_menu( 'primary', __( 'Navigation Menu', 'myTheme' ) );
    define( 'HEADER_IMAGE_HEIGHT', apply_filters( 'myTheme_header_image_height', 198 ) );
  • Close your function with the right french brace “}”

That’s for vanilla WordPress.

If you are using Genesis, there are two ways to go about this. The first way is what is used in many Genesis child themes:

Add this to the top of your functions file (after <?php )

This basically retrieves and executes code from the functions file of the parent Genesis core theme.

OK. Then there is this second way, which I like better:

Add this to the top of your functions file (after <?php )
add_action( 'genesis_setup', 'your_child_theme_setup', 11 );
function your_child_theme_setup() { ... your code}

I prefer this second method (for Genesis) because, just like after_theme_setup, it places your instructions into a bundle and executes them in a pre-set ordering of actions (after the page loads).

What kind of code can you place inside the genesis_setup or after_setup_theme? You can register any theme support functions, add custom filters, and/or actions inside your_child_theme_setup. You would not want to use wp_enqueue_style functions within your after_theme_setup simply because there are other more appropriate action hooks for it, like wp_enqueue_scripts.


“Live” Map of Pittsburgh Bus Service

This is a really great map of the Pittsburgh-Area with a data overlay. It shows the live location of all GPS-enabled Port Authority Transit (PAT) Buses. It is mostly “live”; there is maybe a 10-30 second delay.

In the screenshot above (from a mid-morning weekday), it is neat to see the clustering effect of all the buses – I expected a city-wide transit service to be fairly even in its spread across the city. But that is not the case. You can see how buses aggregate along the routes. I tracked four “75” buses (not shown in my screenshot); two were in Aspinwall/WaterWorks area and two were on Fifth Ave in Oakland, each pair about a block apart.

If these four buses were evenly distributed across their route, riders would have relatively quick access to one of those four whenever they came out to a stop. However, with the four clustered in two pairs, entire regions of the route are underserved for long stretches. How could we solve this?

This website is described as a “small weekend hack” by creator “Alpire” (from Reddit – where else?). The Reddit thread on this project also links to some resources, including why there is a slight lag and also another hack up of the bus map by Reddit user Emgram769.

Emgram769’s map (below) allows users to select (albeit from a small pool of buses) which specific bus(es) they are interested in tracking. While this does not give you the “big data” view that Alpire’s map gives, it is a really nice way to just get the information you need about a particular bus. Also, it shows the direction that the bus(es) is/are traveling.

emgram769 Map

Note that on Emgram769’s screenshot (taken in the early afternoon), the 75 buses are more evenly spread along their route. This is great. I wonder if the clustering I noticed on Alpire’s screenshot was an effect of the early morning rush?

The Port Authority does have a map of their own. It works great and seems very useful. It is great that the data has been made available for use by local folks who can hack together their own “weekend projects”, and put out on the web. It forces PAT to be flexible and responsive, and also can give them great ideas for their own resource.