[macruby-changes] [3988] MacRubyWebsite/trunk

source_changes at macosforge.org source_changes at macosforge.org
Fri Apr 30 18:59:36 PDT 2010


Revision: 3988
          http://trac.macosforge.org/projects/ruby/changeset/3988
Author:   lsansonetti at apple.com
Date:     2010-04-30 18:59:31 -0700 (Fri, 30 Apr 2010)
Log Message:
-----------
refreshing website

Modified Paths:
--------------
    MacRubyWebsite/trunk/content/_events.txt
    MacRubyWebsite/trunk/content/_header.txt
    MacRubyWebsite/trunk/content/_steps.txt
    MacRubyWebsite/trunk/content/contact-us.txt
    MacRubyWebsite/trunk/content/downloads.txt
    MacRubyWebsite/trunk/content/index.txt
    MacRubyWebsite/trunk/content/source.txt
    MacRubyWebsite/trunk/lib/events.rb

Added Paths:
-----------
    MacRubyWebsite/trunk/content/blog/2010/04/
    MacRubyWebsite/trunk/content/blog/2010/04/30/
    MacRubyWebsite/trunk/content/blog/2010/04/30/macruby06.txt
    MacRubyWebsite/trunk/content/blog/2010/04/index.txt

Modified: MacRubyWebsite/trunk/content/_events.txt
===================================================================
--- MacRubyWebsite/trunk/content/_events.txt	2010-04-30 17:26:10 UTC (rev 3987)
+++ MacRubyWebsite/trunk/content/_events.txt	2010-05-01 01:59:31 UTC (rev 3988)
@@ -1,11 +1,13 @@
 ---
 filter: erb
 ---
-<div id="eventbox">
-  <h3><img src="/images/h3_macruby-events.png" alt="MacRuby Events" /></h3>
-  <% macruby_events.each do |event| -%>
-  <p><span class="date"><%= event.date %> &raquo;</span> <a href="<%= event.href %>"><%= event.name %></a><br />
-    <%= event.location %><br />
-    <%= event.topic %></p>
-  <% end %>
-</div><!-- // end events -->
+<% if macruby_events.size > 0 %>
+  <div id="eventbox">
+    <h3><img src="/images/h3_macruby-events.png" alt="MacRuby Events" /></h3>
+    <% macruby_events.each do |event| -%>
+    <p><span class="date"><%= event.date %> &raquo;</span> <a href="<%= event.href %>"><%= event.name %></a><br />
+      <%= event.location %><br />
+      <%= event.topic %></p>
+    <% end %>
+  </div><!-- // end events -->
+<% end %>

Modified: MacRubyWebsite/trunk/content/_header.txt
===================================================================
--- MacRubyWebsite/trunk/content/_header.txt	2010-04-30 17:26:10 UTC (rev 3987)
+++ MacRubyWebsite/trunk/content/_header.txt	2010-05-01 01:59:31 UTC (rev 3988)
@@ -2,7 +2,7 @@
 filter: erb
 ---
 <div id="current_version">
-  Current Version 0.5
+  Current Version 0.6
 </div>
 <div id="logo">
   <a href="/"><img src="/images/macruby_logo.png" alt="MacRuby" id="logo" /></a>

Modified: MacRubyWebsite/trunk/content/_steps.txt
===================================================================
--- MacRubyWebsite/trunk/content/_steps.txt	2010-04-30 17:26:10 UTC (rev 3987)
+++ MacRubyWebsite/trunk/content/_steps.txt	2010-05-01 01:59:31 UTC (rev 3988)
@@ -9,6 +9,6 @@
 </div>
 <div id="step2">
   <p>Check out the <a href="/documentation/tutorial.html">tutorial</a>, <a href="/documentation.html">resources</a> 
- &nbsp; &nbsp; and <a href="http://svn.macosforge.org/repository/ruby/MacRuby/trunk/sample-macruby/">examples</a> that are available for MacRuby.</p>
+ &nbsp; &nbsp; and <a href="file:///Developer/Examples/Ruby/MacRuby">examples</a> that are available.</p
 </div>
 

Added: MacRubyWebsite/trunk/content/blog/2010/04/30/macruby06.txt
===================================================================
--- MacRubyWebsite/trunk/content/blog/2010/04/30/macruby06.txt	                        (rev 0)
+++ MacRubyWebsite/trunk/content/blog/2010/04/30/macruby06.txt	2010-05-01 01:59:31 UTC (rev 3988)
@@ -0,0 +1,141 @@
+--- 
+title:      MacRuby 0.6
+created_at: 2010-04-30 17:36:50.941452 -07:00
+blog_post:  true
+layout:     blog_entry
+author:     lrz
+filter:
+  - erb
+  - textile
+--- 
+<% @page[:excerpt] = capture_erb do %>
+We are pleased to announce the availability of MacRuby 0.6. This release closes a very successful development cycle of 3 months since the last release.
+<% end %>
+<%= RedCloth.new(@page.excerpt).to_html %>
+
+You can download it from "here":http://www.macruby.org/files/MacRuby%200.6.zip. Please note that this package only runs on Snow Leopard. Users on Leopard can also use MacRuby by "building the sources":/source.html from our repository.
+
+Please give it a try and "let us know":/contact-us.html of any problems you find.
+
+You can read about all the changes from the "release notes":http://lists.macosforge.org/pipermail/macruby-devel/2010-April/004722.html e-mail on the mailing-list, or keep up with the most visible changes here.
+
+h3. Stable for Cocoa Development
+
+In this release, we believe that MacRuby is now stable enough to consider using it to develop Cocoa applications.
+
+We fixed a lot of bugs, ironed out many details and worked very closely with developers already using MacRuby for product development. MacRuby is able to use pretty much all the Cocoa APIs at this point.
+
+The "Compile" target in Xcode allows an application to be ahead-of-time compiled to machine code, making sure the original Ruby code no longer ships with it.
+
+h3. Debugging
+
+Experimental support for debugging landed in this release.
+
+The compiler, under debug mode, is now generating special traps inside the code. The debugger connects to these traps and allows basic debugging operations but also code evaluation.
+
+The macrubyd command-line executable pilots the debugger. It provides a gdb-like experience. Please note that it is not entirely finished and it also has not been exhaustively tested.
+
+Let's consider the following broken program:
+
+<pre class="commands">
+$ cat t.rb 
+def foo(n)
+  bar(n)
+end
+10.times do |i|
+  foo(i)
+end
+</pre>
+
+And start it inside the debugger.
+
+<pre class="commands">
+$ macrubyd t.rb 
+Starting program.
+1	def foo(n)
+t.rb:1> c
+/Users/lrz/src/t.rb:2:in `foo:': undefined method `bar' for main:TopLevel (NoMethodError)
+	from /Users/lrz/src/t.rb:5:in `block'
+	from /Users/lrz/src/t.rb:4:in `<main>'
+Program exited.
+</pre>
+
+We immediately get an exception at line 2. We can restart the debugger, break at this line, then examine the argument and the backtrace.
+
+<pre class="commands">
+> r
+Starting program.
+1	def foo(n)
+t.rb:1> break t.rb:2
+Added breakpoint 1.
+1	def foo(n)
+t.rb:1> c
+2	  bar(n)
+t.rb:2> p n
+=> 0
+2	  bar(n)
+t.rb:2> bt
+#0	/Users/lrz/src/t.rb:2:in `foo:'
+#1	/Users/lrz/src/t.rb:5:in `block'
+#2	/Users/lrz/src/t.rb:4:in `<main>'
+2	  bar(n)
+</pre>
+
+Then, we can define the missing method on the fly and resuming the execution of the program after disabling the breakpoint.
+
+<pre class="commands">
+t.rb:2> p def bar(x); puts "-> #{x}"; end
+=> nil
+2	  bar(n)
+t.rb:2> disable 1
+Disabled breakpoint 1.
+2	  bar(n)
+t.rb:2> c
+-> 0
+-> 1
+-> 2
+-> 3
+-> 4
+-> 5
+-> 6
+-> 7
+-> 8
+-> 9
+Program exited.
+</pre>
+
+An interesting fact about the debugger is that it has been abstracted into a simple Objective-C API. macrubyd is just a client of it, in the future we might see other clients.
+
+h3. Higher-Level APIs for Grand Central Dispatch 
+
+TODO
+
+h3. Solid Foundations
+
+One of our intentions for this release was to change and rewrite the foundation layers of MacRuby in order to be much more solid for current and future uses. 
+
+The Hash class which used to be an alias to NSMutableDictionary is now a new class that inherits from the latter. It can handle more efficiently immediate types (such as fixnums and floats) and honors insertion ordering.
+
+The String class has also been changed. It is now a fresh new implementation that can handle both character and byte strings. It also uses the "ICU framework":http://site.icu-project.org/ to perform encoding conversions on the fly. This new class inherits from NSMutableString. Symbol was also rewritten in order to handle multibyte (Unicode) characters.
+
+Finally, the Regexp class has also been totally rewritten in this release. It is now using the ICU framework instead of Oniguruma for regular expressions compilation and pattern matching. Since ICU is thread-safe, MacRuby 0.6 allows the use regular expressions from multiple threads in a very efficient way, which was not possible previously.
+
+All these changes were designed and implemented to honor compatibility with previous releases of MacRuby. They should not be directly visible.
+
+h3. Better Ruby Compatibility
+
+The Ruby compatibility is still progressing, being much better than 0.5.
+
+MacRuby 0.6 provides support for C extensions written for the genuine implementation of ruby. We were able to successfully use the Nokogiri, SQLite3 and PostgreSQL extensions from MacRuby.
+
+This release also passes about 85% of RubySpecs, is able to run a modified version of Rails 3 and implements better support for Ruby 1.9 encodings.
+
+There are still several problems to address in order to provide a full-fidelity replacement of all the Ruby semantics. We intend to continue working on this, by looking at RubySpecs and Rails.
+
+h3. Conclusions
+
+We hope that you will enjoy this release.
+
+Development on the next release, 0.7, just started. In there we intend to deliver a next generation compiler and virtual machine that provides very good runtime performance within multicore environments. 
+
+Stay tuned for more information!

Added: MacRubyWebsite/trunk/content/blog/2010/04/index.txt
===================================================================
--- MacRubyWebsite/trunk/content/blog/2010/04/index.txt	                        (rev 0)
+++ MacRubyWebsite/trunk/content/blog/2010/04/index.txt	2010-05-01 01:59:31 UTC (rev 3988)
@@ -0,0 +1,22 @@
+---
+title:      04
+created_at: 2010-04-30 17:36:50.940121 -07:00
+filter:     erb
+dirty:      true
+---
+<h2><%= h(@page.title) %></h2>
+
+<%
+  articles = @pages.find(:all, :in_directory => @page.dir, :recursive => true,
+      :sort_by => "created_at", :reverse => true, :blog_post => true)
+  articles.delete(@page)
+  paginate(articles, 10) do |page|
+-%>
+<div class="article">
+  <h1><%= link_to_page(page) %><span class="date">(<%= page.created_at.strftime('%Y-%m-%d') %>)</span></h1>
+
+  <div class="body">
+    <%= render(page) %>
+  </div>
+</div>
+<% end -%>

Modified: MacRubyWebsite/trunk/content/contact-us.txt
===================================================================
--- MacRubyWebsite/trunk/content/contact-us.txt	2010-04-30 17:26:10 UTC (rev 3987)
+++ MacRubyWebsite/trunk/content/contact-us.txt	2010-05-01 01:59:31 UTC (rev 3988)
@@ -15,10 +15,6 @@
 
 You can follow us on Twitter by following the "@macruby":http://twitter.com/macruby account.
 
-h2. Internet Relay Chat
-
-You can also join the #ruby-osx IRC channel on freenode to discuss with developers.
-
 h2. Mailing Lists
 
 "MacRuby-devel":http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel is the developer mailing-list. Please subscribe to it, if you are interested in following the MacRuby development process or would like to start a discussion. All activity in the tracker generates notifications in this list.

Modified: MacRubyWebsite/trunk/content/downloads.txt
===================================================================
--- MacRubyWebsite/trunk/content/downloads.txt	2010-04-30 17:26:10 UTC (rev 3987)
+++ MacRubyWebsite/trunk/content/downloads.txt	2010-05-01 01:59:31 UTC (rev 3988)
@@ -10,8 +10,8 @@
 h2. Latest Stable Release
 
 <p>
-You can download <a href="http://www.macruby.org/files/MacRuby%200.5.zip">MacRuby 0.5</a> as a standalone binary installer.
-<em>Note: this release will only work on Intel machines running Mac OS v10.6 or higher. Users on Mac OS v10.5 can build the sources.</em>
+You can download <a href="http://www.macruby.org/files/MacRuby%200.6.zip">MacRuby 0.6</a> as a standalone binary installer.
+<em>Note: this release will only work on Intel machines running Snow Leopard or higher. Users on Leopard can build the sources.</em>
 </p>
 
 h2. Nightly builds
@@ -24,11 +24,5 @@
 h2. Source
 
 <p>
-  You can always get the latest sources from our <a href='/source.html'>SVN or GIT repository</a>. Building is trivial:
-
-<pre class="commands">
-  $ rake
-  $ sudo rake install
-</pre>
-
+  You can always get the latest sources from our <a href='/source.html'>Subversion or Git repository</a>.
 </p>

Modified: MacRubyWebsite/trunk/content/index.txt
===================================================================
--- MacRubyWebsite/trunk/content/index.txt	2010-04-30 17:26:10 UTC (rev 3987)
+++ MacRubyWebsite/trunk/content/index.txt	2010-05-01 01:59:31 UTC (rev 3988)
@@ -5,7 +5,7 @@
 filter:
   - erb
 ---
-<p class="callout"><strong>MacRuby</strong> is a version of Ruby 1.9, ported to run directly on top of Mac OS X core technologies such as the Objective-C common runtime and garbage collector, the CoreFoundation framework and the LLVM compiler infrastructure. While still a work in progress, it is the goal of MacRuby to enable the creation of full-fledged Mac OS X applications which do not sacrifice performance in order to enjoy the benefits of using Ruby. <a href="/documentation/overview.html"><i>Read more...</i></a></p>
+<p class="callout"><strong>MacRuby</strong> is a version of Ruby 1.9, ported to run directly on top of Mac OS X core technologies such as the Objective-C common runtime and garbage collector, the CoreFoundation framework and the LLVM compiler infrastructure. It is the goal of MacRuby to enable the creation of full-fledged Mac OS X applications which do not sacrifice performance in order to enjoy the benefits of using Ruby. <a href="/documentation/overview.html"><i>Read more...</i></a></p>
 <hr size="0" noshade class="harvardrule" />
 
 <div id="newsbox">
@@ -14,7 +14,7 @@
   <%
     articles = @pages.find(:all, :in_directory => File.join(@page.dir, 'blog'), :recursive => true,
         :sort_by => "created_at", :reverse => true, :blog_post => true)
-    articles[0,3].each do |page|
+    articles[0,1].each do |page|
   -%>
   <h4><%= page.title %></h4>
   <%= blog_excerpt(page) %>
@@ -25,6 +25,7 @@
   
 </div><!-- //end newsbox -->
 
+<!--
 <h2>HotCocoa Is For Me!</h2>
 <p>If you've done any amount of programming on OS X, you know that the API can be quite verbose. HotCocoa simplifies this down to very elegant and simple methods that then return super sexy UI elements. <a href="/hotcocoa.html">Read more...</a></p>
 <% coderay :lang => 'ruby' do -%>
@@ -39,7 +40,10 @@
 end
 <% end -%>
 <hr size="0" noshade class="doublerule" />
+-->
 
 <h2>Why MacRuby?</h2>
-<p>MacRuby began as an attempt to work around many problems inherent in RubyCocoa. In the course of solving these problems, MacRuby has also solved numerous problems in Ruby 1.8. Consequently, there are a number of reasons (e.g. convenience, efficiency, flexibility, performance) why one might wish to use MacRuby for new (and ongoing) Ruby applications... <a href="/documentation/why-macruby.html"><i>Read more...</i></a></p>
+<p>MacRuby began as an attempt to work around many problems inherent in RubyCocoa. In the course of solving these problems, MacRuby has also solved numerous problems in the original implementation of Ruby. Consequently, there are a number of reasons (e.g. convenience, efficiency, flexibility, performance) why one might wish to use MacRuby for new (and ongoing) Ruby applications... <a href="/documentation/why-macruby.html"><br><i>Read more...</i></a></p>
+<!--
 <hr size="0" noshade class="doublerule" />
+-->

Modified: MacRubyWebsite/trunk/content/source.txt
===================================================================
--- MacRubyWebsite/trunk/content/source.txt	2010-04-30 17:26:10 UTC (rev 3987)
+++ MacRubyWebsite/trunk/content/source.txt	2010-05-01 01:59:31 UTC (rev 3988)
@@ -9,16 +9,16 @@
 
 h2. MacRuby Development
 
-MacRuby development happens in the trunk SVN branch. However, be careful, because trunk may not work (or even compile) all of the time.
+MacRuby development happens in the trunk Subversion branch. However, be careful, because trunk may not work (or even compile) all of the time.
 
 <pre class="commands">
 $ svn co http://svn.macosforge.org/repository/ruby/MacRuby/trunk MacRuby-trunk
 </pre>
 
-If you want to grab the sources of a specific release, look into the tags directory. For example, to grab the sources of the 0.5 release:
+If you want to grab the sources of a specific release, look into the tags directory. For example, to grab the sources of the 0.6 release:
 
 <pre class="commands">
-$ svn co http://svn.macosforge.org/repository/ruby/MacRuby/tags/0.5 MacRuby-0.5
+$ svn co http://svn.macosforge.org/repository/ruby/MacRuby/tags/0.6 MacRuby-0.6
 </pre>
 
 For building instructions, please refer to README.rdoc file, but the basic build instructions are:
@@ -37,8 +37,3 @@
 <pre class="commands">
 $ git clone git://git.macruby.org/macruby/MacRuby.git
 </pre>
-
-h2. Roadmap
-
-Check out the "MacRuby Roadmap":/roadmap.html
-

Modified: MacRubyWebsite/trunk/lib/events.rb
===================================================================
--- MacRubyWebsite/trunk/lib/events.rb	2010-04-30 17:26:10 UTC (rev 3987)
+++ MacRubyWebsite/trunk/lib/events.rb	2010-05-01 01:59:31 UTC (rev 3988)
@@ -4,8 +4,7 @@
   
   def macruby_events
     [
-      Event.new("19-21 Nov 2009", "RubyConf", "http://rubyconf.org/", "San Francisco, CA", "Laurent Sansonetti presents MacRuby"),
-      Event.new("19-21 Nov 2009", "RubyConf", "http://rubyconf.org/", "San Francisco, CA", "Matt Aimonetti talks about writing 2D video games with MacRuby")
+      # n/a
     ]
   end
   
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20100430/34d79607/attachment-0001.html>


More information about the macruby-changes mailing list