Stay Informed: Why College Tuition Has Increased So Much

Frustrated Student

A topic which has garnered significant attention in recent years – and especially during the presidential campaigns – is the significant increases in college tuition and the consequent backbreaking increases in student debt.

Doug Webber (Temple University) has written an interesting analysis of the cause(s) of this situation for FiveThirtyEight (aka, Nate Silvers & co.).

The overarching message is that there is no single cause of the tuition boom. The reason for rising costs differs based on the type of institution and the state it’s in, and even varies over time. But, at least among public institutions, the dominant factor has been a steady decrease in support for higher education on the part of state legislatures.”

Prior to reading this article my uninformed pseudo-opinion was that the bulk of cost increases came from unnecessary spending. This analysis, however, forces me to rethink that viewpoint.

That said in my (humble? I hope!) opinion, there may still be room for some navel-gazing within higher ed. There are three areas that come to mind:

  1. Reducing expenditures on buildings, especially in instances where existing buildings are sufficient, or where the architecture is unnecessarily elaborate.1I tend toward pragmatism, as opposed to the aesthetic – so judge the validity of this comment as you may. I’m simply saying that I think most students would prefer lower tuition over highly vaulted ceilings (which result in a significant uptick in heating/cooling costs on an indefinite basis; in addition to the extra cost in construction).
  2. Reducing expenditures on unnecessary services, especially in cases where the educational value is questionable and/or the value in recruiting students is minimal.2e.g., While I consider it important to maintain functional, clean, and quality gym equipment – the latest and greatest gadgets may not be necessary. Another example might be televisions. I’m not saying not to have them in the residence halls or in the gyms, but I do think that generally they are an unnecessary expense that causes detriment to students. e.g., Many guys I know (including myself) will be drawn to focus on a TV no matter what is on (even if it is extremely uninteresting) and this causes a deterioration in the quality of conversation that can occur and the ability to study/think. As such, I’d suggest they be in recreational areas but avoided in most other areas.
  3. Utilizing and contributing to open source systems, such as those available from the Kuali Foundation. The prices of higher ed software is often high while the quality of the software is low.

This said, I realize that the potential cost savings I have mentioned above will not make a huge dent in student tuitions…and I would even go so far as to say that I’m not entirely sure the money should go to tuition decreases.

In many cases the faculty and staff of an educational institution are poorly compensated. This can be a social justice issue, which by its very nature should be corrected. It also has indirect negative effects on both the institution and the students. If faculty/staff need to work second jobs to survive, this reduces their availability to the institution and to the students. Tired faculty/staff result in decreased classroom lecture quality, decreased opportunities for personal interactions with students, and increase the more base aspects of our natures (e.g., temper, apathy, etc.).

I’d love to know what you think!

Local Production Environment Choices for WordPress: DesktopServer

Photo of Man at Computer

DesktopServer

This product is essentially a WAMP / MAMP application that has been extended to include some additional WordPress oriented functionality.

In its free version the customizations that stood out to me are

  • its inclusion of Xdebug,
  • support for Domain Name Mapping,
  • auto-creation of Apache Virtual Hosts,
  • and its auto-install of WP.

I was surprised to note that they list PHP 5.5 as being included but no mention of PHP 7.

When one moves up to their premium product ($100) one receives

  • a trace utility for PHP debugging (which one?),
  • LAN sharing for mobile testing,
  • a few plugins (bypass login, airplane mode, enhanced Coda2 preview, Adobe Dreamweaver),
  • “blueprints for automated WordPress configurations”,
  • the ability to direct deploy to a live server,
  • and the ability to import (from BackupBuddy, Duplicator, BackWP Up, BackUp WordPress, InfiniteWP, ManageWP), export, and archive sites.

I didn’t spend a ton of time with it, as at the time I was looking for something that was virtualized – e.g., using Vagrant or Docker.

I’d want the premium version –  but $100 is quite pricey, imho, especially when much of the product consists of open source components.

Don’t get me wrong, I understand this has had some significant time and effort put into it, but I’ll blog about a few other solutions available that are free and open source and you’ll see how they can stand shoulder to shoulder with DesktopServer.

Setting Up A Development Workstation

What Is This?

I wrote this primarily for myself – sometimes I don’t remember everything I do when setting up a workstation for development purposes…it may be of interest to others.

You’ll note that there are several areas missing from this arena – no build automation, task runners, etc. Maybe I’ll get around to adding them once I settle on some…but in the meantime, this still works for me.

[See bottom of this document for a list of revisions to this document]

Everybody Uses…

Version Control

  • Install Git for Windows for version control, ensure that Windows PATH is selected during the install so that you can use git from the command-line without needing to use Git’s special CLI.
  • I’d recommend also getting yourself a GUI to manage Git. Personally, I prefer that the editor I’m working in provide Git integration, but sometimes this isn’t available – in which case Atlassian’s SourceTree seems to do a good job.

Editor / IDE

IDE stands for Integrated Development Environment. This software offers numerous tools to expedite code development.

Editors on the other hand are much simpler, yet some people prefer them. We’ll look at a few of each of these.

Editors

  • NotePad++ – This is my base editor. The User Interface isn’t amazing, but it works beautifully. Especially awesome when it comes to working with large files.
  • Brackets – An open source project by Adobe, has a number of useful extensions. UI is attractive, I use this one over NotePad++ usually, except for note files (NotePad++ remembers the text you enter even if you don’t save the file) and large files.
  • Visual Studio Code – Another open source option by Microsoft.

IDEs

There are a huge number of options, Wikipedia has a fairly extensive list.

  • JetBrain’s phpStorm – JetBrain makes a number of different IDE’s and unfortunately isn’t the clearest on which IDE one should purchase. phpStorm handles most web-based languages, but lacks a clear emphasis on JavaScript that webStorm has (but which lacks some of the php integration).
    • See Gary Hockin’s Debugging VVV Vagrant Setup with PhpStorm for helpful instructions on integrating one’s VVV setup into PhpStorm for interpreter and xdebug purposes.
      • If you are wondering where your xdebug.so file lives: /usr/lib/php/20151012/xdebug.so
      • And Code Sniffer:
        /usr/local/bin/phpcs
      • And PHPUnit:
        /usr/local/src/composer/vendor/phpunit
      • And Composer:
        /usr/local/src/composer/vendor/
      • And www folders:
        /srv/www/
      • And PHP:
        /usr/bin/php/
  • Microsoft’s Visual Studio – An IDE with a long and venerable history, more recently integrating a number of Xamarin cross-development features into the IDE. The Community Edition is free.
    • WARNING: Depending upon options selected, this installs Hyper-V; if you are running another virtualization technology (Virtual Box) expect to experience BSoD errors. Unfortunately, I know this from personal experience and I am not alone.
    • Supports Visual C++, Visual F#, Python, C#/.NET, Android/iOS.
  • Google’s Android Studio – For the creation of Android apps.

Interacting with Databases

  • You’ll want something that provides a handy way for interacting with databases, in which case I recommend HeidiSQL.
  • If you don’t have a database server currently, you’ll need one. A couple options include MySQL, MariaDB, Microsoft SQL Server, and PostgreSQL.

Virtualization

Image Management

  • You’ll need something to create/edit images with, I recommend paint.net. Despite its connection to a very basic predecessor (Windows Paint), this software can work miracles.
  • JPEGmini – Usually I wouldn’t recommend using lossy means of reducing image data footprint, but JPEGmini manages to offer significant lossy compression without any visible deterioration to the image, unfortunately it only works on jpeg files.
  • FileOptimizer – Offers compression for numerous different file formats in a lossless manner.

File Transfer

  • FileZilla is a good FTP client.
  • However, FTP is a plain-text protocol, so I’d look at using something SSH based like SFTP. In this case I’d recommend WinSCP or built-in functionality in your IDE (phpStorm for example).

Other Tools

  • You’ll also want a copy of ConEmu or another command line interface (CLI). This software is so much better than the default Windows console.
  • A good archive/compression application will make life much easier, and 7-Zip is the perfect application.
  • Hosts File Editor – While it hasn’t been updated since 2011, I find this software extremely handy when I want to make edits to the hosts file. It offers a nice GUI front-end for the hosts file and enables a number of different nifty features not built into the file itself.

Revisions To Document

  • 10/18/16
    • Added location of www pages on Vagrant.
  •  10/16/16
    • Moved VVV under Vagrant.
    • Added link to Louie R.’s article on using Vagrant/VVV.
    • Changed Basics for Developers to Version Control.
    • Added link to VVV Wiki Article about Connecting to MySQL.
    • Added section on database servers.
    • Added link to article on integrating with PhpStorm, location of xdebug.so.
    • Added location of Code Sniffer; PHPUnit, Composer.