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:
- Reducing expenditures on buildings, especially in instances where existing buildings are sufficient, or where the architecture is unnecessarily elaborate.
- Reducing expenditures on unnecessary services, especially in cases where the educational value is questionable and/or the value in recruiting students is minimal.
- 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!
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.
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]
- 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.
- 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.
There are a huge number of options, Wikipedia has a fairly extensive list.
- 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:
- And PHPUnit:
- And Composer:
- And www folders:
- And 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.
- Oracle’s VirtualBox will provide you with a free and reliable method for creating virtual machines. More importantly, it integrates tightly with software such as Vagrant and Docker, whereas Hyper-V integration is still an unpolished creation.
- You’ll also want a copy of Vagrant, which eases the management of Virtual Machines tremendously. You could use Docker, but in my experience, the Vagrant experience is much smoother.
- To easily access one’s Vagrant box you’ll want a copy of OpenSSH. This is available in several different ways – the easiest being as part of the Git install. However, in order to use it, you’ll need to add ssh.exe to your Windows PATH.
- 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.
- 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).
- 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
- Added location of www pages on Vagrant.
- 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.