Just a guy in Vermont trying to connect all the dots...
Author's posts
May 19
Skulpt – a JavaScript-based way to run Python inside your web browser
In the process of writing about the site that lets you run Linux in your web browser, I learned about Skulpt.org that is essentially the same idea only for a python command line.
The demo at www.skulpt.org is pretty cool… just modify the python code in the screen and press Ctrl+Enter to execute the code and have the output appear in the box below.
To play with it yourself, you can get the code at http://code.google.com/p/skulpt/ or as author Scott Graham shows on the Skulpt.org page you can just use mercurial to clone the repo.
I haven’t installed it myself… again, like the “Linux in your browser” experiment, I think this is very cool but I’m not entirely sure where I’d personally ever use. Still, I’m very glad people build projects like this – if for no other reason than showing that this could be done!
Cool stuff…
May 18
Greg Bayer: How to Move Files From One Git Repo To Another While Preserving History
By way of a Hacker News post, I learned of this great post by Greg Bayer:
Moving Files from one Git Repository to Another, Preserving History
I’ve actually had a couple of cases where I’ve wanted to move some files and keep the history. I couldn’t easily figure it out and opted to just copy the files into the new repo and lose the history. This looks like a workable solution instead. Thanks to Greg Bayer for writing it up.
P.S. a comment to the HN post also mentions this “git-subtree” tool, which does look interesting.
May 17
A Quick Python App to Send SMS via SMSified’s REST API
Today Voxeo[1] launched SMSified a new service that lets you use a really simple RESTful API to send text messages within the US for only 1 cent per message. I and other colleagues have been writing about SMSified on the SMSified blog and after writing a tutorial about using SMSified with curl, I figured I’d play around with python a bit and code up an example of sending a SMS via python.
So here it is… stored up in my Github account, but also here:
[python]
#!/usr/bin/env python
# Really simple python app for playing with sending SMS messages
# via SMSified – http://www.smsified.com/
# Created by Dan York – May 2011
import json
import urllib
senderid = "dandemo" #SMSified account
password = "notmyrealpassword" #SMSified password
sendernum = "5853260800" #SMSified phone number
apiurl = "https://"+senderid+":"+password+"@api.smsified.com/v1/
smsmessaging/outbound/"+sendernum+"/requests"
address = "14079678424" # Phone num to which you want to send
message = "Hello there" # Whatever msg you want to send
data = urllib.urlencode(((‘address’,address),(‘message’,message)))
f = urllib.urlopen(apiurl,data)
print json.loads(f.read())[‘resourceReference’][‘resourceURL’]
[/python]
As you can see in the code, there are really only three lines of importance: the one building “apiurl”; the one urlencoding the data; and the one opening the URL. The rest are really just for the convenience of using variables.
The final line simply prints out the info included in the result JSON. I was going to (and still may) make that print out prettier or say something more… and if you are reading this sometime in the future, the version on Github may have already morphed and evolved into something different. The point is that now that you get JSON back, you can parse it and start to take action on it.
Anyway, this was just a quick sample app to experiment with SMSified. If you have checked out the new service, it’s free to set up a developer account and currently is free entirely during the beta period.
[1] In full disclosure, Voxeo is my employer.
May 17
Fun Tool to Run a Linux Computer IN Your Browser Using JavaScript
Here’s a fun little JavaScript experiment… go to:
Watch the boot sequence… and… ta da… you’ve got a Linux root prompt! Use basic Linux commands, edit files with vi, compile apps in C using “tcc”.
Fabrice Bellard explains why he wrote this JavaScript PC emulator.
My immediate thought was how this could be used for teaching people Linux. Regardless of what it is used for or whether it’s just a fun experiment, it’s very cool to see that JavaScript engines in the latest browsers can support this type of more complex activity. Kudos to Fabrice Bellard for writing this!
Also check out:
- Hacker News discussion about this tool
- Fabrice Bellard’s home page showing his other tools
- Article about him: “Fabrice Bellard: Portrait of a Superproductive Programmer”
May 10
The End of the “Skype as Bandit” Era (Featured Blog)
Apr 24
Deep Tech Dives Into Cloud Availability In Light Of Amazon’s EC2/EBS Problems From Joyent and enStratus
With Amazon’s ongoing struggles with part of their cloud, I’ve obviously been watching closely, given that I work for a company that provides a cloud for communication applications (hosted almost entirely on our own global carrier-grade infrastructure). Watching Amazon’s status site, they continue to not be entirely back in action a couple of days later.
There have been a lot of great technical posts out there related to what’s happening with AWS. Two that caught my eye are admittedly by an Amazon competitor, Joyent, but are definitely worth a read:
- On Cascading Failures and Amazon’s Elastic Block Store
- Magical Block Store: When Abstractions Fail Us
The latter post about abstraction layers hits a few major points with me, particularly around the need for abstraction layers to allow some type of control… and some type of transparency into what is going on.
Black boxes are great… until they break.
Another great post was by George Reese over in the O’Reilly Community (he is CTO of enStratus, a company making equipment to assist in infrastructure automation):
Reese argues that it is the application developer’s responsibility to design apps in such a way that they aren’t dependent at all on the underlying infrastructure.
This all takes me back to my post I wrote in 2009 about the need for services to be distributed and decentralized. Now I was talking in there about Twitter and Facebook… but the same argument can be made for apps in general…
It’s a fascinating time… I hope for Amazon’s sake that they can get everything back in action soon… and it will be interesting to see what questions this all makes developers ask with regard to cloud providers. Meanwhile, I’m enjoying many of these deep technical posts… I expect to see more coming in the days and weeks ahead.
Apr 22
Two New Amazon.com Reviews of Seven Deadliest Unified Communications Attacks
- Seven Deadliest Unified Communications Attacks, by Mario Camillen on April 3, 2011
- Required Reading for UC and VoIP Professionals, by Alan Johnston on April 22, 2011
I don't know Mario Camillen, but I definitely appreciate his taking the time to write about the book and for giving it the high rating he did.
I do know Alan Johnston and in fact recently wrote about his new fiction ebook here on this blog. I've known Alan for years through IETF and other SIP circles and will actually be seeing him next week at the SIPNOC event outside of Washington, D.C. Having said all of that, Alan certainly did not have to write the high praise he did... and I certainly do value his comments given that Alan is the author of another VoIP security book and was also heavily involved with the ZRTP protocol.
I greatly appreciate the reviews from both Mario and Alan because reviews definitely do matter ... and do influence buying behavior.
To that end, if you have read Seven Deadliest Unified Communications Attacks, would you please consider writing a review on Amazon.com? It would be great if more readers did. (Thanks in advance if you do.)
Apr 20
Use Node.js to Build Your Own SMS or IM Interface to Twitter
Would you like to create your own SMS interface to Twitter? To be able to post your own tweets via SMS? Or would you like to have an IM interface to Twitter using Jabber, GoogleTalk, AIM, MSN, Yahoo, etc?
And would you like to do all this using Node.js?
Sure, Twitter already offers its own SMS interface… but hey, why not build your own to play with Node.js?
That’s exactly what my colleague Justin Dupree did and then wrote up in this great blog post:
I love it! I mean… combine 3 of my favorite passions: Twitter, Tropo and Node.js… mix them together, shake them a bit and out pops a very cool mashup that lets you have your own interface to Twitter using SMS or IM.
Kudos to Justin for the great way he walked through the code in the post… and also made the full Tropo-Node-Twitter code available on Github. I’m looking forward to playing with it more and seeing what else I can do with it…
P.S. I’m naturally found on Twitter at twitter.com/danyork.
Apr 16
Video: How To Create a Simple DocBook document using oXygen XML editor
Recently I’ve needed to get back into creating some DocBook documents and needed to refresh my knowledge of the latest tools. Back about 10 years ago, I did a great amount with DocBook and spoke about single-source publishing at conferences and created a few tools and vimrc macros. However, since that time I’ve not done much with DocBook – and obviously the tools and toolchain have evolved a bit.
In looking around, I’m quite impressed by what the oXygen XML editor can do with DocBook. oXygen looks quite powerful! It’s also got a bit of a price tag… on the other hand, I know that putting together the pieces to create your own toolchain can take a bit of work. The ever-present tradeoff between your time and your money…
I think I’ll certainly try out the 30-day trial to see what the writing experience is like.
This video shows how to create a simple DocBook document using oXygen and certainly makes a compelling argument for how easy the editor can be:
Do any of you use oXygen? Have you found it worth the price?
Apr 11
And So The Groklaw Era Draws To A Close May 16, 2011…
And so must all good things come to an end… Pamela Jones announced over the weekend that she would be ending new posts to Groklaw on May 16, 2011, the eighth anniversary of the site.
For those of us who spent a good bit of time in the Linux world, Groklaw became a critical resource to stay up on the latest follies in the ongoing SCO lawsuit. “PJ”, as Pamela Jones preferred to be called, and the community of passionate helpers she soon attracted were there to rapidly research and debunk any claims that SCO put forward.
SCO has faded to pretty much irrelevance in 2011… but 8 years ago their lawsuit was extremely serious and a cause for great concern for anyone working with Linux. At the time of the initial lawsuit, I was a product manager at Mitel for a Linux-based product, so the whole issue was very definitely something I paid attention to… and Groklaw was definitely on my frequent reading list.
[NOTE: If you have never heard of Groklaw, I would start with the mission statement and the various links off that page.]
And now PJ writes:
In a simple sentence, the reason is this: the crisis SCO initiated over Linux is over, and Linux won. SCO as we knew it is no more.
There will be other battles, and there already are, because the same people that propped SCO up are still going to try to destroy Linux, but the battlefield has shifted, and I don’t feel Groklaw is needed in the new battlefield the way it was in the SCO v. Linux wars.
Remember that when I started Groklaw, I had no intention to create something as huge as Groklaw became. I really was just trying to learn how to blog. When all of you showed up, I saw what we could accomplish together, and we did. But to do it, I had to set aside a lot of things that are important to me too. I’d like to go back to being nobody, just living a normal life again.
I kept going all these years because when SCO attacked in the media and in the courtrooms, there was nobody to do what we did. Only the community could have answered SCO, technically, because you guys lived the history of UNIX and Linux and you knew what they were saying was not true. So we spoke up and explained over and over until everyone understood.
And she ends with:
I always told you that I didn’t do Groklaw for money or for fame or as a career move. I did it to be effective. That’s all I wanted. And I told you that when it was over, I’d go back to my normal pre-Groklaw life. And now you know by this decision that I told you the truth.
No matter what happens next, I know that we changed the course of history. How many people get to say that? I never expected it, frankly, and I am grinning just thinking about how much fun we’ve had doing it. Our work will be available for historians permanently, so the impact we had isn’t over today, and someday we’ll tell our grandkids that we were part of this, part of Groklaw. We are in the history books. Our work will continue as long as anyone cares about this unique time period in the history of computer software, a history that we are a part of forever. And that is a long, long time.
Thanks to you, PJ, for all the insane amount of work that you and your community did and continued to do. We all out in the larger community owe you all an incredible amount of gratitude and thanks… you helped shine the light into dark corners and helped provide a means to focus the energy and passion of the greater community. Without all that Groklaw did, the SCO follies might have gone much differently.
And kudos to you, PJ, for what I’m sure is an incredibly hard decision to put a period at the end of the sentence and end the era of Groklaw. It’s super easy to simply let a project continue… there is a certain inertia that is hard to fight… and so projects and organizations continue to go on and on, even when their reason for being is no longer there.
Thank you for all you and your community did – and best wishes for whatever comes next!
P.S. Her full blog post is very much worth a read… as well as the many comments.