Over the past few years, I’ve used Posterous (now at https://posterous.com/bye.html) for my blogging. There were two values to Posterous… I could post directly via email and have that post delivered to a number of other platforms. And I could write my…
It’s a good thing I’m not a weather man.
A few weeks ago, I was talking to a young web programmer. We somehow got onto the topic of programming languages. I said I had never learned Ruby. You know those long pauses where something should be said but you just can’t figure out what? Yeah. It was a lot like that. In my head, there was a lot going on. But out in the real world it was very, very quiet.
In my head I’m thinking back to the 1960’s when my dad came home from work all excited. “Look what I’ve got!” he said in that “don’t show this to mom” voice. He pulled a little metal box from his pocket. All boxes back then were metal or wood. Or they were cardboard like Quaker Oats cylinder-shaped boxes. He opened it up an inside were four or five brightly colored chunks of… what? What was that? He winked. “Plastics,” he said, Foreshadowing a movie I had yet to see, staring a man I did not yet know, with music that had not yet been written. “What can you do with it?” I asked. “Make things out of it,” he replied. Thinking about how you interact with metal or wood or sometimes cardboard when you make a cylinder, I said, “it’ll never catch on.”
In my head I’m thinking back to the late 1980’s when my wife was in graduate school at the real GSU trying desperately to juggle home, children and research for her Master’s thesis on multicultural education. Although she could look up the title and some of the general description, the book’s content simply eluded her. The screetching Hayes modem just couldn’t drag the books those long miles to home. “If only I could find, download and read whole books over the modem,” she pleaded. Thinking how complex an undertaking it would be to convert all that printed material to some electronic format for easy download and delivery, I mused, “It’ll never catch on.”
In my head I’m thinking back to the late 1990’s as a new programming language made the Internet scene. I had graduated from C to Rexx to VBScript and JScript, automating simple tasks in Word and Excel for finance users. Awash in tools that were already included in Windows and not seeing an easy way to deploy Ruby to the masses, I realized at once that, “It’ll never catch on.”
But out loud I simply said, “No, I skipped Ruby and went directly to NodeJS. Sometimes I regret having missed out on the whole Ruby phenom.”
Oh, look! It’s sunny out. I thought it would rain today.
print “Opening $InputFile”;
open(INFILE, $InputFile) or die “No such File: $!\n”;
while (<INFILE>) {
chomp;
$HostIP = $_;
print “insert into scans set name="Nessus-$HostIP",scannername="Nessus",scannerparam="-u $ScannerUser -s $ScannerHost —policy $ScannerPolicy —hosts=\$HOSTS",targets="$HostIP",workspace_id=$WorkSpace;\n”;
}
close INFILE;
print “Opening $InputFile”;
open(INFILE, $InputFile) or die “No such File: $!\n”;
my $x,$y = 0;
while (<INFILE>) {
chomp;
$HostIP = $_;
# Stagger the runs by five minutes beginning at midnight Saturday night
print “$x $y * * 0 /home/seccubus/bin/do-scan -w DMZ-Scans -s Nessus-$HostIP » /home/seccubus/scanlogs\n”;
# increment $x by five - if it is 60 increment $y and reset $x to 0
$x += 5;
if ($x == 60) {
$y += 1;
$x = 0;
}
}
close INFILE;
If you listen to The Change Log long enough, you’ll hear a lot of chatter about Vim. It’s quite a handy editor and one that I’ve used a good bit in spite of my long term affair with Scite. On some systems you don’t even know you’re using Vim unless you accidently invoke some code which is colorized using Vim syntax highlighting. There is a bit of a friendly competition between Vim adherents and Textmate. For the price alone, I come down on the Vimmer side. It has some features you can’t beat in a GUI editor much less a command line utility.
While looking for a way to use Vim on Windows 7, I remembered another very old episode of The ChangeLog which highlighted a shell known as Zsh which rounds out the feature set for a great development environment both of which are unavailable on Windows where I spend way too much of my time. Total sigh. What gave it the most useful features is the repository of add-on features for Zsh hosted on Github.
Then I stumbled over a command line shell that fits the bill, and perhaps then some, PowerShell. I had thought PowerShell was simply another command interpreter built to run inside a command shell. Boy was I wrong. A little digging and some playing around has revealed that it is much more than that. It rivals even BASH.
Half a problem solved, I’m still searching for a way to use all the Vim features inside a PowerShell window. In the mean time, even though late to the party, I’m enjoying PowerShell features while I edit files with Scite. Anyone for Oh, My PowerShell?
Posted via email from Meyeview | Comment »
Posted via email from Meyeview | Comment »
As Fuzzy Fogtop once remarked after arriving at his destination of Pinsk, trains and their passengers are completely different and entirely the same, if you see what I mean. !(http://db.tt/Ghsjh0ZG) When we landed in Tel Aviv, we decided to take the train North to Haifa. It’s not far. Well, nothing is all that far in Israel. We struggled with the luggage and managed to find ourselves standing in front of a machine which dispenses tickets. That’s when it became painfully obvious that twenty minutes with a How-to-Speak-Hebrew book would have been helpful. Linda spotted the tiny button labeled “English” well before I did. We again coerced the luggage to do our bidding and get on the train. The current rules on how many bags you can carry and this crazy “Winter” weather took its toll on our packing skills. Fewer, bigger bags rather than more and smaller was the order of the day. And pack them to the gills!
We passed two stops when a mom and her precocious 12 year-old daughter dropped in and asked why we had luggage taking up space people could use. We accommodated them and moved our bags around. They had been out shopping all day and were tired. I had been on a plane all night next to a noisy teenager. I was in total agreement. After a few minutes casual conversation in English, the daughter drifted away into her own little world. She listened to music, singing the lyrics just before nodding off. Mom, unable to contain herself, stopped answering email on her iPhone and snapped a picture. The sound of the camera roused the snoozing daughter who gasped, “you’re not going to put that on Facebook are you?” Mom laughed. I want everyone to see my adorable daughter. I’m still snooping Facebook. I’m sure I can find that picture.
Just then, a woman bearing a striking resemblance to the “crazy cat lady” on the Simpsons came walking up to the aisle next to us. She held up a passport (possibly hers) and a read in Hebrew in a monotonic voice from a piece of paper. Then she moved up five paces and repeated the process. The daughter was wide eyed, “What was that?” The mom explained that she is saying she needs an operation and if she doesn’t get it she’ll die. She’s asking for money. But if you give her some money, she’ll go straight to the bar and drink it away.
It was their stop and they got off. Fortunately, the crazy-cat-lady was well away. But their seat was claimed by a wild eyed young lad with a shaggy haircut and a beard. He wouldn’t let anyone sit in the second seat, turning them away in stern Hebrew. Great, I thought, he wants to accost these crazy Yanks all on his own. I started hoping our stop was up next. But at the next stop, another young lad got on. Same beard style but carrying a rifle. He sat down. He asked if they could move the remaining bags to make us more comfortable. Well, of course, Mister I’ve-got-the-gun! They smiled at each other and started talking. Just like normal people. And in English. That’s something you don’t see on trains every day. I started suspecting something odd was going on. Turns out they are brothers from Calgary – yeah, the one in Canada. The one that stole our Atlanta Flames. They decided to come to Israel after high school and join the army. The Israeli army. Nice lads. Not crazy at all. They helped us find our stop and kept the train from moving while we got off. No really. One of them had a rifle, remember? Israeli army?
Turns out Fuzzy Fogtop was right after all, if you see what I mean.
Posted via email from Meyeview | Comment »
Years ago I told my brother I’d make a website for him. My sister beat me to it. While I was cleaning out my 2011 todo list I came across the lingering promise. Right below it was another longstanding item the desperately needed cleaning out, Experiment with Jekyll on GitHub. Hmmmm… why not combine the two of them?
GitHub Pages are part of their online web service used to publish web pages for users and their programming projects. The pages can be very complex, composed using Liquid Templating Engine and run through Jekyll which is a “blog aware, static site generator” which converts text files written using a formatting language like Markdown or templating engine like Liquid into a functional website.
I know I’m late to the party on Jekyll. I should have done my todo back in 2010, when I put it on my list. But that’s another story altogether.
More recently (only missed this bus by six months!), OctoPress has been all the rage. OctoPress builds on Jekyll with themes, plugins and a host of other goodies. Both are written in Ruby which is a programming language I’ve tried hard to stay away from. It’s not that I don’t like it, it’s just that I don’t need another programming language. I mean, once you know Perl…
Since my sister had already beaten me to the punch, I decided to use a combination of Jekyll, GitHub Pages and Cloud9IDE to create a Fansite for my brother and learn a bit of something in the process. So I created the Totally Paul Fansite.
Problems with Jekyll
I did encounter a few of problems with Jekyll. First of all, the documentation leaves some confusion about when a page vs. a post variable is to be used. When trying to use one or the other in an IF/Else statement, it took some experimenting to figure out which one was right. Then I found that the built-in variables were often less consistent than the ones I supplied. This trial-and-error method led to finding there is no “verbose” mode which would help troubleshoot the problems I encountered. Pages are dynamically created using a combination of layout web pages and Markdown formatted text files and front matter, the variables deposited at the beginning of the text file. The process is very black box, especially to a Perl guy.
Cool things about Jekyll
There are several really cool things that Jekyll does. One was the ability to run an entry through Jekyll, formatting in the process and depositing additional variables into the output which is itself run through another round of formatting. I would say it is recursive, but this might be a bit excessive since I don’t know Ruby and therefore haven’t reviewed the source code.
Biggest Issue
The biggest issue with Jekyll of course, is the function it performs itself. It is a static blog generator. Once it finishes its recursive formatting and replacing and substituting, it deposits the final files in a series directories based on the year, month and day (hence it’s being “blog aware”).
_site
_site/index.html
_site/2011
_site/2011/12
_site/2011/12/31
_site/2011/12/31/2011-12-31-blog_entry.html
But these pages themselves are static web pages. They reload the whole page when you navigate from one page to another.
It might be so 2010, but it’s certainly not 2012!
Posted via email from Meyeview | Comment »
… or
What I’ve Learned from My Blogs
It was every Sunday afternoon for as far back as I can remember. After we got home from church, after a sumptuous Sunday dinner of roast beef, potatoes and carrots, after doing the dishes, after finding the best among the rerunning Sunday afternoon movies, my mom would sit down in the living room, pad of paper and pen in hand to write a letter to her mother, my grandmother. I can only imagine she wrote about the adventures and discoveries of her life like she still does on her current blog.
When I went away to college, I wrote letters to my mom and dad. Not every single Sunday. But often. On a visit to my parents a couple years ago, my mother handed me a bulging gallon size plastic bag stuffed full of papers. They were my letters. Over time, though, the number of letters dwindled. And dwindled again. I just couldn’t keep up with the Sunday schedule. And so, my first blog was born.
Blosxom — 8/2005
I’ll see if additional data is easy to add and then, I’ll put pictures here.Perhaps my mom will have an easier time seeing these in Blog format than in e-mail.
With these words, I opened a blog. But it wasn’t just a vehicle for sending messages to my mother and avoiding the Sunday afternoon guilty feeling that I should be writing a letter, buying a stamp and stuffing an envelope. It was a learning tool. Bloxsom was chosen to help me learn more about one thing, PERL. Bloxsom is written in PERL, a language in which I’d just finished a project, tSmoke, and contributed to Smokeping, a network latency graphing tool. I learned a lot writing software in PERL. The most meaningful thing was that PERL is one of those Write Only programming languages. Meaningful in that I found that the longer I didn’t write in PERL, the less likely I was to remember what in the heck I intended.
The content on the Bloxsom blog was text with HTML snippets to markup, or instructions for displayting the text. It is pretty simple and pretty straightforward. Each entry was a single text file. No database required.
About this time, I helped set up a collaboration tool for a group. I discovered the power of the Wiki and in particular, OddMuse Wiki software. OddMuse is pretty cool and shares some features in common with Bloxsom. First of all there is no back-end database, just text files. The markup is different, it’s Creole, a common Wiki markup language. One feature I liked about OddMuse was its descent from a previous version of Perl blogging application called Usemod. You”ve gotta love the clever pun. Right?
I always had to be cognizant of that blog running in the background on my computer. The Abyss Web Server was always running on my computer, using up resources, chewing up memory, spitting out blog posts. And there was always the off chance that my mom would be looking for my blog when I rebooted. I decided I needed to learn something else. That’s when I found Blojsom.
Blojsom — 6/2006
I upgraded my blogging platform in two ways. First of all, I thought I’d use an enterprise-grade coding platform, you know, Java. Second, I thought I’d find a way to run it on an available second machine – not the best in the world, mind you, but available. After researching blogging software, I came across Blojsom both bills. At that time, Blojsom was a reasonably new bit of code, written in Java and provided as a .WAR (Web Application Archive) file for deployment as a Java web application on a servlet container like RESIN.
I liked Blojsom a lot. First of all, the data migration took no effort at all. Blojsom, after all, was designed to use the same text format as Bloxsom. Since there was no back-end server, I did not have to worry about overloading the light weight “server.” And with Resin as an underlying web server, I could learn a lot about how Java programs, Java Server Pages (JSP) work. One still undone item on my to do list asks me to “Write a How-To on Blojsom Plugins.” Someday. Maybe.
In February, 2006, I decided to upgrade the OddMuse wiki to something a little more usable and with some additional security. After some research I chose PMWiki. PMWiki didn’t use the Creole markup, but a form of markup that favors writers over readers, but was still similar enough that it was a straightfoward migration. It did not require a back-end database either and allowed plain text files. All of these features compensated for the fact that I had to learn to use one more programming language, PHP, to effectively operate it.
Wordpress, Yes, Wordpress — 8/2008
It was about late summer in Atlanta when I started getting regular emails from my mother on odd Wednesday mornings telling me that my blog was down. It would not have been nearly so stressful if it weren’t for the fact that she is in the Central time zone and I am in the Eastern time zone. So by the time she checked my blog, I was already at work and my hands were tied! I spent a few weeks troubleshooting and never found anything really wrong. Then, sure enough, the very next Wednesday, I got another email and I finally understood. You see, the blog was running on Resin web server which was running as a service on a Windows XP machine (the not very powerful, remember?). So the first Tuesday of every month, Microsoft would push security updates to the computer and it would reboot… or try to. I decided it was time to move to another platform. One that didn’t depend on my Comcast account being active or the ability of a Windows XP machine to automatically shut down a running Java service.
With Wordpress, I didn’t have to learn a new markup language, its built-in editor took care of adding the appropriate HTML formatting. better, Wordpress was hosted out there somewhere on the Internet. My mom never had to alert me that my machine had failed a Microsoft patch Tuesday reboot again. i could concentrate on the content and not on the technology.
But then along came Twitter and Jaiku and Identica and Plurk and FriendFeed. Naturally I wanted to notify all my “friends” that I’d posted a clever tome, right? But how oh, how do I update them all? It seemed a terrible quandry.
Along Comes Posterous — 2/2010
I started using Posterous in Spring, almost giddy that I could post to all my social media simply by sending an email. The simplified hosting, the ease of markup and the simplicity of editing are good stuff. But outside the names of the plethora of social media, what was I learning?
Side trip Down Markup Lane
All these endeavors had a common, underlying theme: the markup. The purpose of markup was to tell a device how to display the content it was showing off. I’d used several kinds of markup. My first introduction to a markup language was the one built into the core of Peachtext, the editing component of a word processing package developed by Peachtree Software called Peachtext 5000 where I worked back in 1983. Then, the markup controlled not the font decoration, font size or type face but how the text was physically printed on paper. For example, bold facing was often achieved by having the print head backspace and reprint the characters. If the printer was capable of kerning and proportional fonts, it would be slightly offset from the original to really emphasize the boldface.
Apple’s MacIntosh permitted screens to display fancy fonts and this new fangled HTML thing did the same thing. Heck you could even make your text blink if you wanted to. But no does that. right? But HTML doesn’t look very nice. In fact, it’s really hard to write in – at least with old skool text editors like Peachtext and VIM. So John Gruber came up with a method to use regular characters to take the place of markup in a text file and convert it into HTML. He called it Markdown. Clever, eh? Of course this wasn’t the only attempt to make it easy to write marked up text which could easily be converted into HTML. Textile which, to be honest, looks a lot more like Peachtext than Markdown does, is supposed to be the “Humane web text generator” from Dean Allen. Of course, someone came up with one called “Markdown Extra.” The grandfather of them all is TeX(http://www.tug.org/texshowcase/) created by Donald Knuth. I’ve recently stumbled on the one called Showdown which lets you do the markup conversion right inside your web browser.
Mythical Holy Grail: A Blog with No Home
What am I really looking for now? Well, now that’s a good question. With the advent of tablets over laptops, my real desire is a blog with no home.
I want to put my data on a cloud provider, access it from anywhere using my tablet, my phone, my work computer, my home laptop or whatever, then compile the source formatting into HTML and copy it from the repository provider to a web server.
That’s kind of the goal of Jekyll and its cousin Octopress. These allow you to create a repository for your blog on your own computer, compile it to static HTML pages, push it to GitHub Pages– and publish it using their facilities. It’s clever. Very clever. Calepin takes this one step further, incorporating its anagram Markdown conversion tool, Pelican written in Python to pull files from your Dropbox account and publish them for you in HTML. Even cleverer. I’ve posted a couple of delicious items there myself. But I still have to hook up my computer, some computer, to Dropbox. The GitHub/Jekyll/OctoPress also really want you to create a “local” repository. Meaning that if you don’t have access to your computer, you can’t write.
Cloud9 – The Future
I’ve been using Cloud9 IDE to write some software recently. It’s connected to GitHub out of the box. It’s not hosted on my local system. So I effectively have a clever editor and access to my GiHub account wherever I am. I have even tested a Jekyll web page written solely on Cloud9, and pushed to GitHub. Yes folks, there was no local storage involved with this trick. My fingers never left my hands (or the keyboard). Two other things keep me from moving to this technique.
The editing features at Cloud9 do not work with an iPad. At all. It’s not like I haven’t asked. Nicely, even. It just doesn’t work. Sigh. It’s free, what are you going to do? It’s not like it’s open source so I could write my own interface. Oh, right. It is. But then I’d have to host my own instance of it, and defeat the whole purpose.
I’d really like to do a test post on Cloud9 so I could see the copy before it gets published. But this would require me to be able to run a script on Cloud9 and save the output as a file. That also doesn’t work. But we’re close.
We’re almost there, mom! A cloud-based blog that I can update any given Sunday (no matter what the football teams are doing) is right around the corner. And what have I learned? It’s a lot of work to publish a blog. The more work I can get the cloud to do, the better. And even if it takes a lot of work to ge them to do it, it will be worth it. Although some times, I feel like just getting out a pen and paper and stuffing an envelope.
Oh, and just so you know… this is/was a test of how well Posterous accepts Markdown.
Posted via email from Meyeview | Comment »






