A Web Development Environment

Update: Working on a new version, which isn’t ready yet. It should contain:

  • Secure backups
  • Review of all content
  • Linux Mint
  • Git update with database migration and serialization
  • I’ve created a document that describes setting up a web development environment using a Windows 7 workstation, an Ubuntu 12.04 Virtual machine along with a Hostgator Reseller account and, most importantly, Git.

    This document provides lots of examples. Feel free to provide constructive feedback to atuline@gmail.com.

    Topics covered include:

    Oracle Virtualbox phpMyAdmin
    Hostgator Web Hosting vim
    Drupal Git
    WordPress drush
    Site Migration wp-cli
    FTP Samba
    Apache SSH
    MySQL GIMP
    PHP NetBeans

    I have now released version ‘1.0‘ of this document as well as a sister document for installing Virtualmin and Webmin on Ubuntu 12.04.

     

Continue Reading

Maker Initiatives

STEM

  • http://www.stem-works.com/
  • http://www.sciencebuddies.org/

Maker Specific

  • http://www.diy.org
  • http://vancouver.hackspace.ca
  • http://vancouver.makerfaire.ca
  • http://youngmakers.org/
  • http://makered.org
  • http://makerspace.com/
  • http://www.meetup.com/Vancouver-Maker-Education-Meetup/

 

Making Stuff

  • www.tindie.com
  • www.instructables.com
  • http://freegeekvancouver.org

 

Continue Reading

Getting Back Into Electronics

After a 25+ year hiatus, I started to get back into electronics about a year ago. It started around the 2012 Vancouver Mini Maker Faire with the purchase of an Arduino Uno. After creating a couple of basic LED projects, I then purchased a strip of RGB LED’s along with a video remote and wrote a program that displayed a variety of patterns and to be controlled remotely. From there, I created a project whereby the LED’s would respond to sound, followed by a small Sumo Bot.

Other items I’ve recently acquired include:

  • Raspberry Pi (a tiny Linux computer)
  • Bora Binary Explorer (Xilinx based CPLD development kit)
  • Altera DE1 FPGA development kit
  • Cypress SoC 3 development kit
  • Cypress SoC 4 development kit

It’s been a while since I was working with electronics at this level, as I’ve been in IT for so long. Back in the 80’s, I worked with various processors, including:

  • 8080
  • 6502
  • 6800 and 6802
  • Z80
  • 8088
  • 68000
  • Z8000

My first ‘computer’, in 1980, was a Motorola 6802 D3 evaluation kit. It included some built-in ROM, a hex keyboard/display as well as 128 bytes of RAM. If you wanted anything else, you had to either make it or buy it at a horrific cost. I ended up designing and wire-wrapping additional memory (which worked), and a cassette interface, which almost worked. After a while, I thought about my end goal, which was to program some graphics and create more hardware. As a result, in December of 1981, I purchased an IBM PC for $5,500, which was almost 1/3 of my gross income at the time. I enjoyed programming the PC in assembly language and wrote some nice graphics programs for it, including a 3D starfield, a small 3D’ish star game as well as a CGA hack for Microsoft Flight Simulator.

I purchased an Amiga 1000 in 1985 as it was significantly ahead of any other platform at the time. It had:

  • Motorola 68000 CPU
  • Graphical user interface
  • Multi-tasking
  • Command line interface
  • Dedicated chips for colour graphics
  • Dedicated chips for sound
  • System documentation and development tools

What was not to like.

Getting back to the old CPU’s, the challenge with them is that they all ran at speeds under 10Mhz. In order to go faster, you required either:

  • AMD 2900
  • Motorola 10800

I spent some time reading about the AMD2900, but had neither the technical background, the time nor the funding to implement that in any fashion. With the development of FPGA’s (field programmable gate arrays) in the 90’s, engineers have been able to create their own CPU’s without requiring a series of dedicated chips to do so. With the use of my recently acquired FPGA development kits, I hope to re-learn some of the basics of hardware design and possibly develop a simple CPU. I don’t, however want all the muss and fuss of wire-wrapping 7400 series components like the old days.

Continue Reading

On Cypress Semiconductors

My foray into programmable logic started with the Bora Binary Explorer from Kickstarter. From there, I found out about Xilinx and Altera FPGA’s. Now, I’m looking into Systems on a Chip, called SoC’s.

One company I recently came across was Cypress Semicondutor, who have a very nice line of programmable SoC’s. I received one of their development kits, which I setup and tried out and found that their documentation was far better than I’d seen from the other manufacturers. As a result, I filled in an online survey about their product and have already received emails from 2 of their engineers. Talk about customer service. Today, I ordered their PSoC 4, which includes:

– ARM based CPU
– Programmable logic
– A/D conversion
– Flash & RAM

One of the cool things about this kit, is the education and examples they provide. This should be an excellent learning experience, and I hope to be able to present some projects with it at the Vancouver Maker Faire in the future.

Continue Reading

Ubuntu and Mint on VirtualBox

I use Oracle’s VirtualBox to run VM’s on my Windows 7 machine. I use it for web site development with WordPress, Drupal and have several tools to support this, such as Git, NetBeans, Samba and so forth. Unlike VMWare Player, VirtualBox provides Snapshots, which allow you to quickly backup and restore your VM.

I’ve been trying different versions of Ubuntu and Mint to find out which works best with VirtualBox (for me) and am finding that Linux Mint with Mate seems to be coming out on top.

  1. Ubuntu 12.04 worked OK, that is, until you applied patches. Sometimes, re-installing the Guest Additions fixed any graphics issues, and sometimes they didn’t.
  2. Ubuntu 12.10 required patches in order to work with VirtualBox at all.
  3. Ubuntu 12.04 kind of worked with the seamless mode, but then again, it kind of didn’t.
  4. Linux Mint with Cinnamon was problematic graphic wise with VirtualBox.
  5. Linux Mint with Mate seemed to work the best. It survived updates and the seamless mode works like a charm. In addition, it uses the same ‘apt-get’ features of Ubuntu.
  6. I haven’t spent much time with Ubuntu 13.04, but did have some initial installation/graphics issues with it.

Unless something else comes up, I’m switching over to Mint for my LAMP development environment.

Continue Reading

On Web Development Environments

I have to admit at times to an amount of ‘Mac envy’. Whenever I attend either a WordPress or Drupal conference, most of the delegates that brought a computer will be using a Mac of some form. The code sprint rooms are packed with Mac users. Myself, I have a 5 year old ASUS laptop, running Windows 7, as well as a 5 year old Windows 7 desktop at home. They were nicely spec’ed when I bought them, so performance is not really an issue. The challenge I have, is, creating a seamless web development environment to support my Drupal and WordPress sites. My requirements include:

  • To match my production environment as close as possible
  • To support Git and a host of Linux/Unix tools
  • To support Photoshop
  • To provide seamless support for developing and staging web sites
  • Can take it on the road with me
  • Can survive a hard disk crash without too much pain

It’s no exaggeration to say that, aside from purchasing a Mac, I’ve tried a LOT of variations and am currently using:

  • My desktop if my principal environment
  • Occasionally use my laptop
  • Oracle VirtualBox
  • KVM

Let me explain. . . .

First off, I’ve been developing with Linux Mint on Oracle VirtualBox hosted on my desktop for several months now. I’ve been looking to offload it from my desktop, as I don’t like putting all my eggs in one basket. Therefore, I setup KVM on a dedicated host so that I could implement several servers independently of my desktop, including my main development environment. Unbeknownst to me at the time, the obvious disadvantage here is that I can’t take that on the road with me. That is, unless I’m prepared to use a rather slow VNC connection.

Rather than offload my principal Linux box to KVM, I think I’ll continue to host my Linux on VirtualBox on my desktop and to copy that environment to my laptop for those times when I’m offsite, let’s say at a development meetup or client site. In the meantime, I’ll continue to use KVM to host various machines, such as my production backup server, test servers as well as a home media server.

In some respects, it’s not quite as seamless as a Mac, but my development environment is stored as an image and can move seamlessly between my desktop and laptop. I’ve also got file sharing and drive mappings setup so that it’s easy to access my Linux Machine from Windows. Furthermore, VirtualBox’s seamless mode looks pretty awesome.

I’m pretty happy with my development environment, and now just need a Haswell chip to run it on. In the meantime, I’ll back off on the Craigslist search for a used Macbook.

Update: Just bought a 4770K desktop with 32G of RAM. Lots of room for virtual servers.

Update2: That desktop rocks!

Continue Reading

Finding the Right Linux Distro

Quite often, I use the Pareto principle of spending 20% of the effort to get 80% of the results. On other occasions, I spend far too much time to get something just right.

From DOS 1.0 in 1981 to Windows 8 and Linux today, I’ve installed dozens of micro and minicomputer operating systems over the years. To me, an OS needs to fit like a glove, which is why I’ve spent considerable time looking for a version of Linux that will complement my Windows 7 desktop environment. Being on a tight budget, I use Oracle’s VirtualBox instead of VMWare Player as it includes a Snapshot facility.

The VPS I rent for my web sites uses CentOS, so I thought I’d use the popular Ubuntu and CentOS distributions as my starting point. Unfortunately, both had issues with VirtualBox, and I don’t have the patience to fiddle around with a host of settings and updates.

This was followed a raft of distributions such as Kubuntu, Mint, Suse, Debian, Xubuntu, Fedora, Elementary, and more. In addition, there were Gnome, KDE and XFCE options for several of these.

Currently, my top pick is Mint 15 with Mate. With the Kernel updates disabled, Mint runs smoothly out of the box under VirtualBox, and provides excellent support for VirtualBox’s seamless display mode. It also doesn’t require the installation of VirtualBox’s VBOXADDITIONS package. That being said, I DO perform the updates, but not before taking a snapshot and doing so in a controlled manner.

I continue to read threads about the pros and cons of various Linux distributions and would love to find the perfect fit. In the meantime, Mint with MATE works well enough for me and I need to start getting some work done.

Then again, some others look pretty promising. . .

Continue Reading

On Text Editors

The first text editor I used after graduating university back in the day was Edlin . . . on DOS 1.0. That nasty old editor prompted an ongoing quest to find the ‘perfect’ text editor. I’ve used many over the years, and on several different operating systems but haven’t yet come across one that ‘just works’ for me. The main challenge is that I use several operating systems, each with their own editors.

On Linux, I’ve settled on vi, more out of history and habit than anything else and Notepad++ on Windows. Both editors worked fine, but I never really fell in love with them. I’ve tried the Netbeans IDE, and it has a lot of really cool features that I’d like to see in a lightweight package. I guess I want something that loads as fast as vi, works in a terminal, yet has the features of Netbeans.

The other day, I ran across Sublime Text. One of the cool things about it is that it has Linux, OSX as well as Windows 7 distributions. It’s also received a lot of rave reviews on the Internet. After a very short trial, I purchased a license that I can use on any of the systems I use. What a superb arrangement.

Out of the box, Sublime Text looks pretty cool. It works well with Linux, but not in a terminal. I think I’ll spend some time with it to see if it’s the text editor of my dreams.

—————————————–

Update:

I don’t do a huge amount of coding, but when I do, it’ll typically be with Sublime Text. Otherwise, for quick updates, I’ll either use Notepad++ (for printing in Windows) or vi in Linux. That multi-line edit capability in Sublime Text is pretty awesome.

Continue Reading

A Short VMWare and VirtualBox Comparison

‘ve been using Oracle’s VirtualBox software for a few years and have been considering using VMWare Workstation. VirtualBox works great with Linux Mint 15 with Mate (running Gnome 2), but I’ve had some level of difficulty with almost every other distribution of Linux. That’s not to say I couldn’t eventually sort out most issues with a greater or lesser amount of fiddling. I just don’t want to.

In the case of Mint 15 with Mate, I can resize the parent window, and Mint will resize itself to accomodate the new window size. Mint also works flawlessly in full screen as well as in VirtualBox’s seamless mode. All this without having to install the VirtualBox Additions. Ubuntu 12.04 was the last distribution of that family that came close to Mint’s ‘out of the box’ performance with VirtualBox. I’ve also tried some other distributions such as Debian, Fedora, Kubuntu, Centos, Mint with Cinnamon. Unfortunately, none worked as well as Mint 15 with Mate.

This doesn’t necessarily bode well for VirtualBox though, as I feel it should be working better with the newer distributions, again ‘out of the box’.

VMWare Workstation 10, on the other hand, works very well with Ubuntu 13.10. Performance is absolutely spectacular in full screen mode.

Mint 15 with Mate doesn’t fare as well under VMWare though. Like Ubuntu, it has fixed screen sizes in Windowed mode, but it doesn’t automatically adjust the screen size in full screen mode. Furthermore, the missing 1920×1080 display settings option (well, it didn’t show up for me) also leaves me pretty cold.

As far as licensing goes, VirtualBox is free, whereas I would need to purchase a $250 license for both of my laptop and desktop computers. That clearly takes VMWare Workstation 10 off the table for me.

If I could purchase a single license to support both my laptop and desktop, I consider taking the VMWare Workstation plunge, but would need to perform a LOT more testing before doing so.

Continue Reading