[Syllable Logo]
...is becoming an easy-to-use free software operating system for the home and small office user. It is powerful, lightweight and extraordinarily fast and responsive. More info.

Try Syllable!
 
Things To Do
Navigation
Statistics
Software
Source Code
Documentation
Communication
Community
SylCon Summer Conference Jun 24, 17:25
[News] [SylCon 2008]

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.

Let the Feeding Frenzy Begin Jun 9, 21:50
[News]

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!

Async I/O Implemented and Available Jun 3, 21:25
[Syllable]

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.

mmap Implemented and Available May 24, 16:19
[Syllable]

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.

Syllable Nukem Forever Mar 4, 14:45
[Syllable]

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.

REBOL 3 Runs on Syllable Server Feb 6, 18:04
[Ports]

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.

Testing the REBOL 3 GUI Jan 29, 17:57
[News] [REBOL 3 hello world]

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.

REBOL 3 Preview Release Publically Available Jan 27, 22:24
[Ports] 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.
Project of the Month Aug 21, 16:59
[Announcement]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.
Genode OS Framework Ported to Syllable Server Aug 21, 15:57
[Ports]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.
Meet Webster Jul 24, 16:08
[Applications]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.
Rhope Alpha 2 Jun 14, 15:22
[Applications]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 Server Development Build Jun 7, 2:11
[Syllable]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.
Moving to OMake Build System Apr 14, 9:43
[Ports]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]
sIDE, Sourcery and Layout Editor
* More Screenshots

Events
[Premium CD]
* Buy the Premium CD

[Newsletter]
* Read Newsletter #2