|
|
|
Our yearly summer conference will be held from Saturday July 18 to Saturday July 25 in the Netherlands. We will be sailing again on the Frisian vessel the Stêd Sleat while discussing and demoing the Syllable systems. This year we are offering several arrangements, so you can choose how many days you want to attend. There are discounts for longer stays and for kids, so you can make this into a nice vacation for your family. Contact Bas for arrangements.
|
|
|
The news sections of the websites have been extended with RSS feeds. If you prefer to follow Syllable news through an RSS reader application, you can now do so. Each selection of the news on the different sites has a corresponding feed. Look for the RSS icons. Please don't let your reader fetch the feeds too often. We don't publish news several times per day, so it's no use to check more often than a few times each day. Each news article now also has its own page, so the feeds can point to them. Good reading!
|
|
|
Kristian has implemented asynchronous input/output. This has been tested with QEmu, which shows increased performance both due to this and the also new implementation of memory-mapped files. A development build with async I/O is already available. Other recent enhancements it includes are automatic log-in without password and installation by keyboard only, without needing a mouse. Async I/O is implemented as a native POSIX interface. The available functions are aio_read() and aio_write(). In addition, the asynchronous case for msync() in memory-mapped files is now supported. In Syllable 0.6.6, async I/O is simulated in the GNU C library and executed synchronously. This was enough to make QEmu work, but now async I/O is actually implemented through a syscall kernel interface. Originally, Syllable relied solely on pervasive multithreading for its exceptional responsiveness. A few years ago, a new scheduler was introduced that is more suitable to desktop use than the original round-robin scheduler. Async I/O will further enhance responsiveness in ported applications that use it.
|
|
|
After Syllable Desktop 0.6.6 already brought a number of improvements to standards support, Kristian has now implemented the POSIX interface to memory-mapped files. Ever more software requires this functionality. Both the interfaces for memory-backed files and anonymous memory maps are supported. Syllable has always used memory-mapped files for its in-kernel ELF loader, so the POSIX interface is implemented on top of this. A development build going towards Syllable 0.6.7 is already available, in which several components should make use of mmap. The mmap(), munmap(), mprotect() and msync() functions are implemented. In the process, Kristian fixed some bugs in the underlying memory management implementation in the kernel. One of the next planned implementations of standard interfaces is async I/O, among other things for completing the mmap support. Further, it was determined that the time is nearing that the syscall interface needs to change from int 0x80 to SYSENTER/SYSCALL. mmap() is the kernel's first syscall with six arguments, requiring extensions to the syscall table and strace(). The newer SYSENTER interface is needed to fully support this and 64-bits arguments, also for a future 64-bits port of Syllable. There is a tendency in much open source software in recent years to require advanced features of the host platform, that are only available on the major systems; sometimes only on Linux. This is problematic for alternative operating systems and undermines the portability of open source and the diversity and choice of platforms. Through the addition of the mmap interface, we hope to gain access to such software as GCC beyond the 4.1 versions, Gnash, Cherokee and maybe PostgreSQL. Software that will perform better includes FreeType, SDL and DOSBox.
|
|
|
There's a release candidate for Syllable Desktop 0.6.6 in our development builds now. If you want to influence the final version, this is your last chance to test it.
|
|
|
Public versions have been released of the current alpha version of REBOL 3 for Linux and Mac OS X. Like the private version of a year ago, the Linux version runs on Syllable Server. These versions are currently comparable to REBOL/Core 2, without the graphical system, and can be downloaded through here: www.rebol.net/r3blogs/0171.html.
|
|
|
If you have an Internet connection, the new Graphical User Interface of REBOL 3 and a set of demo programs can be loaded from the R3 command shell by typing: demo Please keep in mind that this does not reflect the eventual GUI yet. You can start writing your own GUI programs for example like this: load-gui view [button "Test" do [print "OK"]] Read more in the REBOL 3 GUI documentation: www.rebol.net/wiki/R3_GUI.
|
|
|
After a long series of development releases over the past year
that were only available to a limited group of REBOL developers, an alpha
preview release of REBOL 3 has now been posted
publically. REBOL is an important part of our cross-platform strategy,
so this is great news. The current preview release is for Windows and
doesn't include the graphics system yet, but it will run on WINE. It
contains infrastructure for further development in the form of upgrade
and chat commands. The latter connects you to a communication system
that can also be viewed from the web, in a form meant for mobile devices. The goal is to get more contributors involved. Please read the introduction documentation.
|
|
![[Announcement]](../images/64x64/announce.gif) | On
the forum, Rui Caridade proposed to set up a project to have multiple
people from the community work on applications together. The idea being
that most people are not skilled in all aspects of application
development, but they can complement each other. For example, one
developer could create the core of an application, another developer
could write the graphical interface for it, and a graphics artist could
create the images and styling. After some discussion, the idea evolved
into trying to have a specific project each month, decided by polls on
the forum where you can vote for your favourite topic for the next
month. A dedicated section
was created on the forum. This is a
community project, so please vote, but also bring in your ideas and
step forward if you can
help on a particular project. As outlined above, you don't have to be a
developer. If you always wanted to have a particular application
developed but didn't know how, now is the time to pitch in. | |
![[Ports]](../images/48x48/port.gif) | As an experiment, we ported the recently released Genode OS framework
to Syllable Server. It does not run on Syllable Desktop yet, as this
requires some more deep porting work to the Syllable kernel. Genode
is a very interesting, modular operating system framework with several
components that are largely complementary to Syllable. We want to
explore the opportunities to integrate these into Syllable. For
example, the core component provides a true capabilities system for
very high security and reliability. The Nitpicker windowing server is
capable of displaying windows from multiple GUI systems on the same
screen. If we port the Syllable AppServer to it, for example we could
run Syllable applications next to applications based on the upcoming Qt
port to Nitpicker. Genode and a few demo programs will be included in the upcoming Syllable Server release.
| |
![[Applications]](../images/64x64/applications.gif) | More creative destruction. Another long-time
milestone has been reached. It has always been our plan to factor out
the web rendering engine of ABrowse into a library with a native
Syllable View widget on top, so it can be embedded into more
applications than just a web browser. Kristian did just that: building
on Arno's WebCore port, he updated that and then stepped up the
modularisation by creating the WebView class. He rewrote the browser on
top of that and named it Webster. The first alpha version is available
in our applications downloads. The latest Syllable 0.6.6 development
build is required to run it, as several bugs in the system were fixed
for the new browser. The source code is available on our development
site. | |
![[Applications]](../images/64x64/applications.gif) | Michael Pavone has released the second alpha
version of his dataflow parallel programming
language: Rhope.
Its syntax is now friendlier, it got an interactive mode and the
support for programming graphical user interfaces on Syllable has been
extended. | |
![[Syllable]](../images/64x64/Syllable-emblem-63x64.gif) | We released a development build of Syllable
Server. This version has a number of updated components, including the
kernel, and several fixes. Most importantly, a lot of server
functionality was added. Included is a REBOL software stack with a web
server and a web programming framework. Support and start scripts are
integrated for a number of standard servers, such as CUPS, OpenSSH,
BIND, Apache, RSync, SaMBa and VSFTP. However, the configurations of
these new modules are not complete yet. | |
|
![[Ports]](../images/48x48/port.gif) | It has long been one of our
milestone objectives to switch to a better build system. We implemented
Builder ourselves as a module-level build system. Individual modules
each use their own internal build system, though, usually the classic
(GNU) Make. For native Syllable code, we eventually selected OMake as a modern
replacement. The latest version of OMake now runs on Syllable and is
available in our downloads. We will be migrating to it over time.
Builder will get support for it and we
encourage you to use it in your projects. To be able to call
omake to build a simple native Syllable program, you need two files in
your project directory:
OMakeroot
open
build/C
DefineCommandVars()
.SUBDIRS:
.
OMakefile
CXXFLAGS += -O2
LDFLAGS
+= -lsyllable
APP
=
HelloWorld
CXXSOURCES[]
=
$(APP)
.DEFAULT:
$(CXXProgram $(APP), $(CXXSOURCES))
| |
|
![[Screenshot]](../documentation/introduction/images/sIDE-1-200x160.png) sIDE, Sourcery and Layout Editor
More
Screenshots
![[Premium CD]](http://web.syllable.org/products/Desktop/0.6.5/PremiumCD/SyllableDesktop-0.6.5-CD-front-175x179.jpg)
Buy the Premium CD
![[Newsletter]](http://web.syllable.org/magazines/SDN/2007/2/SDN-2007-2-180x251.jpg)
Read
Newsletter #2 |