Part 1 in a series that also includes:
Part 2 - The Field
Part 3 - Functionality
Part 4 - The Code
Part 5 - Performance
Part 6 - Elimination
Part 7 - Activity
Part 8 - Documentation
Part 9 - Ampersand
Part 10 - AngularJS
Part 11 - Backbone
Part 12 - CanJS
Part 13 - Durandal
Part 14 - jQUery
Part 15 - KnockoutJS
Part 16 - Mithril
Part 17 - Ractive
Part 18 - React
Part 19 - Stapes
Part 20 - Thorax
Part 21 - Vue
But what do you know, Steve Jobs was right: the future of the web is in the browser. When the first iPhones came out, in 2008, the brilliant man said we didn't need native toolkits. He said so mostly because he didn't have one to offer, since back then mobile browsers were super-crappy and the web just wasn't ready for them, anyway. Today, a startlingly short 6 years later, the mobile browsers are not only on par with their desktop cousins, they start becoming the default targets of development.
Instead of creating apps on the mobile device, you could simply send mobile users to your site. That would require no download, which means no headaches with old versions and no complaints from users that can't make it work on their phone. On the other hand, you become unavailable when there is no internet connection, you are as slow as that very same connection, and you have no access to device internals - like the GPS or the accelerometer.
I am the lucky owner of a brand new Lenovo Y50. It's a screaming fast machine, with a gorgeous screen (despite what naysayers complain about - mostly the yellows and the refresh rate). It's meant for gamers, but a developer like me can like it, too. It's just beautiful, and relatively lightweight, and did I mention it's screaming fast?
But the big question was: How Do I Set It Up Most Efficiently?
"Most efficiently" in this context means: least time, best setup moving forward. I wanted to recreate my development desktop onto the laptop, which meant not just installing the OS and the software, but to also move configuration files and data.
It's a problem I have been grappling with for a while: where should stuff live to be "immortal?" Where should it live to be easy to access? And where should it live not to be a burden?
It was the day of the Lord 12 February 1989, such as they count in the Old World. I was in the Old World that day, which I know precisely, because I found a trace of it in my keepsake box. Two days before Valentine's Day of that year which brought about the Fall of the Iron Curtain, I was sitting in a giant lecture hall at the Rheinish Westfaelische Technische Hochschule Aachen (short, RWTH) for the midterms in Theoretical Quantum Mechanics. In German, that's called a Klausur, which is the local spelling of a Latin word that means, "sequestration."
It was the most important midterm of my career: I knew I had no business in Experimental Physics, and getting into Theoretical Physics was competitive. The first course in Theoretical Physics, Mechanics, hadn't shown a whole lot of separating powers. But the second one would coincide with the Bachelor's Degree, which meant professors were looking at the outcome to pick the students they would mentor.
It happened to be the year that Professor K. taught the class. K. was the dean of the College of Physics and an incredibly respected name. His father had been a famous exponent of the Copenhagen School of Theoretical Physics and the son - not as distinguished, but still a powerful force - had been groomed since birth to become the leader of the Physics movement. I am not kidding: his name was Hans-Albert, which dad had borrowed from his colleague, who had named his own son Hans-Albert... Einstein!
Impressing Hans-Albert (I feel free to call him that, two and a half decades later) was thought to be of fundamental importance. It also was my only chance of getting into the Theoretical Physics circus made famous by Sheldon Cooper on Big Bang Theory. You see, when I watch that show, I recall my own college years: Sheldon is the Theoretical Physicist that gets to look down on Experimental Physicists and to pee on the shoes of the Engineers. That was us, in the day.
In case you hadn't read the article on creating wave plots using NOAA data, here is the latest version of the same plot. To the things mentioned in the article, I added wave forecast including a highlight of the waves in my preferred range, 1 to 2 meters (waist high to overhead). Enjoy!
It's been a while now that I've been eyeing the SQLite implementation of Joomla. There have been lots of teasers, so far, but never could I ever click on the "Select Database Type" field and enter, sqlite. Finally, I got sick of waiting on a release and decided to go solo. I would find out who was working on SQLite for Joomla, track them down, offer them encouragement and help, if needed cajole or threaten, and finally get a SQLite implementation that "just works."
Why Joomla and SQLite?
At first, I was hesitant to want that combination. After all, installing Postgres or MySQL is not really a big deal, especially considering that installation of Apache is still orders of magnitude worse. But then I found that I can start a Joomla instance just by invoking the php server process in the Joomla main directory - suddenly life on development servers was much easier.
If you don't know what I mean, here the skinny: you can just unzip the Joomla download into any directory, change into it, and type: php -S localhost:XXXX. XXXX has to be a number above 1024, something like 8000. Then you can simply go to your browser, type in localhost:XXXX (again, same number as before) and you can start installing Joomla. Once you are done installing, you can simply go there again and test and test.
That means that if you had a way to store your database locally, with your Joomla files, you could simply copy the whole tree and have a different instance running. You would go to the copy, change the paths in the configuration file, type in php -S localhost:YYYY and off you go with your new instance.
Can't run MySQL on your web host? Problem solved. Don't want to install a database server just for the occasional glimpse at your files? No problem. Want to see how a change to your site is reflected on your underlying files? There you go!
- DYMO LabelWriter 4XL on Ubuntu
- Flying Spirit
- Python, Matplotlib, and Surf Reports
- Good-Bye Mondo
- HOWTO: Redundant Data Backup in the Cloud for Linux
- PRIMER: Redundant Data Backup in the Cloud for Linux
- L'America: What's So Great About America?
- Apple Buys Beats: Who Do I Want to Be When I Grow Up?
- Samsung UD590 4k Monitor and Kubuntu 14.04
- Up and Down the West Coast: Seeking Fresh Powder Edition