Joomla vs. Drupal


Well, after setting the site up with Joomla, I decided also to experiment with Drupal. Drupal doesn't have a one-click installation on DreamHost, but the installation was pretty straightforward. You download the install file from the Drupal site, upload to your server and unzip, and then just go to your site in a browser where you are prompted to run the interactive installer. You will need your database information (name, username, and password). I installed Drupal in the /drupal subdirectory on my server so that I could have a Joomla site and a Drupal site running side-by-side.

After the installer ran, Drupal was running, but something was wrong. There were no images (all the menus rendered in text) and the links were all broken. I had to do two things to get Drupal up and running properly after installing:

  • First, I had to map the subdirectory that I had installed Drupal in. The directory - /drupal - doesn't actually exist on my server. We map this virtual directory to the actual file location so the server knows where to look for the files. This fixed the obvious brokenness - now the Drupal menus and interface showed up, but clicking on any link gave a 'Page Not Found' error
  • To fix this problem I had to specify directory rewriting in my .htaccess file. I simply uncommented an existing line and added my directory (/drupal), so that line looks like this now:
    RewriteBase /drupal


That let the web server know that this is the base directory for all links, includes, etc. Now everything is working fine:

Now that Drupal is up and running, I can migrate my existing Joomla site so that I can see what the existing content looks like in Drupal. More on this once I have a chance to try the migration.


Website Redesign


After some months of not having much time to devote to this site, I'm finally getting to some major improvements.

The first is to migrate from WordPress to Joomla. I've never been a big fan of WordPress, but for a while I hadn't bothered to explore a better alternative. Things came to a head a couple of days ago as I started to add some content to the site, and decided to pick a new WordPress theme. The one I had been using wasn't terrible, but I wanted the site to look more polished and less generic, and to have more control over appearance and content.

My experience with WordPress themes, particularly free ones, is that there are LOTS of them out there (hundreds or thousands), but most of them are pretty similar to each other. I tried about twenty different ones, and wasn't happy with the way any of them looked. Most free themes only allow you to customize certain pieces, and all the themes I tried had at least one glaring design issue that left me shaking my head. Besides these appearance issues, it had quickly become clear to me that WordPress just wasn't powerful enough to meet my needs. Though WordPress has come a long was as a CMS, deep down it's still blog software. It's not good, in my opinion, for fully-fledged websites with lots of non-blog content, but that feature a blog as one part of that content.

The obvious alternative was Joomla. I briefly considered Drupal, and it is certainly powerful, but it doesn't have a one-click install on Dreamhost (my hosting provider). I might still play around with a test installation of Drupal, but for now, Joomla seeks like the perfect place to start. It gives me much more control than Wordpress, but is still easy to configure. Setting up Joomla on Dreamhost is easy! I had to enter my database credentials (available from the wp-config.php file from my WordPress installation, or from the Dreamhost Control Panel). 

Installation and initial setup took perhaps an hour, maybe less - again, not quite as easy as WordPress, but well worth a little extra time in order to gain much more control over my site appearance and content.

Even from a first glance, Joomla is obviously much more capable than WordPress. It took a couple hours of poking around in the backend to get a feel for the overall Joomla structure...

Self-Organized Criticality and Economic Applications


Self-Organized Criticality Economic Model github repo

After finally finishing most of my graduate coursework in Systems Science at PSU, I now have some time to work on my website! Over the next few weeks I'm going to be posting some code and links to past projects. I'd like to start with a project from my Artificial Life class this term - it's a simple Agent-Based economic model basic on a Self-Organized Criticality mechanism. I've been interested for a while (since I began my graduate studies, originally in economics) in modeling crisis and crash type behavior. Mainstream economics is still largely devoted to an equilibrium-based view that does not fully embrace the view of economics as a highly dynamic Complex Adaptive System (CAS). There is research going on that does not start with the equilibrium view, and valuable work going on with Agent-Based modeling, which allows us to model a system from the bottom up by specifying the fundamental interactions of the micro-elements in the system instead of only the macro or aggregate behavior (such as the relationship between interest rates and income, for example).

Self-Organized Criticality is a very powerful idea which originated from statistical physics but has found wide application in many diverse areas. The idea of SOC is that certain complex systems self-organize to a 'critical' state in which the behavior is maintained in a region of complex unpredictable behavior. SOC seems to explain, for example, the statistical distribution of such natural events as earthquakes which follow a power-law distribution as in the Gutenberg-Richter Law. SOC seems to hold promise for, among other things, perhaps better explaining the dynamics of crashes and other difficult to predict economic events which are not adequately explained by existing models in the field.

I built an ABM in mesa (the python package for agent-based modeling) that uses a criticality mechanism to generate interesting income behavior even in the presence of fixed demand. This is just the start to a large goal of building a robust economic model using criticality, which includes multiple mechanisms of interest (price mechanism, labor market, etc.) and which incorporates machine learning techniques to give a richer picture of how agent interactions yield larger macroeconomic patters.

Here are some readings which give background to the project:


Project Reading

Self-Organized Criticality (Scientific American)

Aggregate Fluctuations From Independent Sectoral Shocks: Self Organized Criticality In A Model of Production And Inventory Dynamics

"An Exactly Solved Model Of Self-Organized Critical Phenomena"

And here's a pdf of my project report with model output, experiments and results, more on mesa, etc.

There's much more to do with this model in the future, but this is a start. Next I'll put together a small Jupyter notebook which explains the model behavior and shows a few results.

Technology and Tyranny (review of Yuval Noah Harari's recent piece) - Part 1


The latest edition of The Atlantic features this piece by Yuval Noah Harari, author of Sapiens and Homo Deus: A Brief History Of Tomorrow

Why Technology Favors Tyranny


This article raises difficult but important questions about the role of technology in human society, and points to AI/ML as a potential threat to social cohesion, quality of life, and human dignity and freedom. This is a topic of special importance to me, and Harari's piece will serve as the starting point for a multi-part discussion of technology, politics, and humanity.

The issues raised in Harari's piece are disturbing to say the least. He begins with the admonition that, "there is nothing inevitable about democracy." The current state of politics in the US and worldwide is a stark reminder of this inevitability - we see the norms and institutions of democracy increasingly threatened. It is difficult to deny that 'liberal democracy' as we have known it in the last several decades is facing a crisis of credibility and relevance.

Against this backdrop of increasing political and economic upheaval, technology is ever more rapidly disrupting conventional institutions and practices. In the big picture of human history, there is a fundamental disconnect between the promise of technology and its actual impact on human society. Keynes famously predicted a 15-hour work week for his grandchildren, but that vision obviously has not come to pass. With this in mind, Bill Gates' suggestion that we should not fear AI because it will result in longer vacations seems downright preposterous.

Technology has undeniably increased human productivity, but the benefits of that productivity have accrued almost entirely to corporations and to a small number of wealthy individuals, and not to workers in general. The AI revolution promises to exacerbate this trend of economic and political inequality. As Harari says, "the same technologies that might make billions of people economically irrelevant might also make them easier to monitor and control."

There are two competing visions for the coming revolution - one of technology as a savior, a catalyst for enabling mankind to ascend to a higher level of material, moral, and intellectual development. The other is of technology as a nightmare, a tool of alienation, oppression, and exploitation.

I would argue that, for all the growing awareness of the perils of technology in recent decades and years, there is still a strong cognitive bias towards its advantages and benefits, and away from its costs. New technology often offers solutions to the problems created by previous rounds of technology, and new advancements happen so quickly that technologies often achieve widespread adoption before it is possible to have a real social conversation about the possible costs, and to look at the big picture of how to integrate new technology with existing ideas, structures, norms, etc.

More on this soon - here is a review of Harari's book Homo Deus: A Brief History Of Tomorrow that I wrote for a machine learning class.