git clone https://github.com/rubys/ruby2js.git
The second demo is a calendar. To get started:
git clone https://github.com/rubys/wunderbar.git
Visit the URL (typically http://localhost:9292/). This will take you to the current month. Left and right arrows will take you different months (and update the URL). Unlike the tutorial which is a single file, this application is organized in a manner more consistent with how I expect projects to be organized.
I have been telling all non-IBMers to not use my ibm.com email address for years, but this advice is routinely ignored. I’ve repeated the reaons behind why I ask this enough times that it makes sense for me to post the reasons in one place so that I can point to it.
Having determined that Angular.js is overkill for my blog rewrite, I started looking more closely at React. It occurred to me that I could do better than JSX, so I wrote a Ruby2JS filter. Compare for yourself.
I have test results that
show that there is much work to be done.
The most likely path forward
at this point is to get representatives from browser vendors into a room and
go through these results and make recommendations. This likely will happen in
the spring, and in the SF Bay Area. With that in place, I can work with
authors of libraries in popular programming languages to produce
web-compatible versions. This work will take the form of bug reports,
patches, or — when required — authoring new libraries.
I’ve downloaded the multi-part zip archive for IE11 on Win10 for VirtualBox on OS/X from modern.ie. I’ve downloaded the single-file archive on both OS/X and Linux. I’ve verified the md5 signatures for each. Yet each time, when I try to unzip the result, I fail.
My original intent was to aggressively prune unnecessary function with the intent of producing a more maintainable result, but with the ability to have automated acceptance tests, this is now less of a concern.
I particularly like the comment that “It just works” was never completely true. My experience is that when working with open source codebases, doing so on an Linux operating system comes much closer to “It just works” than doing so on any other.
Not rack’s fault, but Sinatra hasn’t released in a while. Problem has been known since July, and a fix was merged into master in August. One possible workaround has been posted. An alternate workaround:
alias_method :old_pretty, :pretty
result = old_pretty(*args)
def result.join; self; end
def result.each(&block); block.call(self); end
I’ve clearly been neglecting my little spot on the web.
It has gotten so bad that Brendan Eich had to link to a web archive copy of a page of mine. I must say, however, that it is very ironic and amusing that it is was that particular page. General outline of my current approach:
Dreamhost upgraded my server to Ubuntu 12.04. I noticed things breaking in preparation for the move, and things that broke after the move. If you see something not working correctly, please let me know.
New laptop for work: MBP 15.4/2.6/16GB/1TBFlash. First time I ever went the Apple route. I did so as I figured with those specs, I could run multiple operating systems simultaneously. So far, so good. I’m using VirtualBox to do so.
Notes for Mac OS X 10.9, Ubuntu 14.04, Windows 8.1, and Red Hat Enterprise Linux 6.5.
Joe Gregorio: But something else has happened over the past ten years; browsers got better. Their support for standards improved, and now there are evergreen browsers: automatically updating browsers, each version more capable and standards compliant than the last. With newer standards like HTML Imports, Object.observe, Promises, and HTML Templates I think it’s time to rethink the model of JS frameworks. There’s no need to invent yet another way to do something, just use HTML+CSS+JS.
I’m curious as to where Joe believes that these features came from.