Dienstag, 30. März 2010

Geschenkt: Treiber für serieller

TuneTracker Systems, bietet z.Zt. noch auf BeOS basierte Lösungen zur professionellen Radio Automation an, bis Haiku dafür produktiv eingesetzt werden kann. Für deren neueste ControlCenter Hardware kommt ein Touchscreen und ein 8 bzw. 16 Kanal Audioswitcher zum Einsatz. Damit das parallel betrieben werden kann, kommt eine PCI Erweiterungskarte für serielle Ports (Modell Manhatten) zum Einsatz. Den Treiber dafür hat François Revol als Auftragsarbeit geschrieben.
Wie TuneTracker Chef Dane Scott mitteilt, wurde der Sourcecode dafür jetzt dem Haiku Projekt gespendet. Die BeOS Version gibt es zum Download bei Haikuware.

Hoffentlich ist TuneTracker auch weiterhin profitabel, um solche Kooperationen auch in der Zukunft zu ermöglichen. Gerade in Sachen Treiber könnte ich mir vorstellen, dass ähnliche kleine Auftragsarbeiten allen Haiku Usern zugute kommen. Kommerzielle Projekte wie TuneTracker können ihre Features erweitern und der Privatmann profitiert von der größeren Hardwareunterstützung. Serielle Erweiterungskarten sind vielleicht nicht gerade weit verbreitet, aber wer weiß, vielleicht fällt ja mal ein Audio Treiber ab oder die Features eines bestehenden können erweitert werden.

Sonntag, 28. März 2010

C++ Kurs, Lektion 12

Mit der 12. Lektion verlässt DarkWyrms Programmierkurs die C-Welt und betritt das weite Feld von C++ und der objektorientierten Programmierung; die Voraussetzung um grafische Anwendungen für Haiku zu schreiben.
Die Reise beginnt mit der Einführung von Objekt-Klassen mit ihren private und public Methoden und Variablen und der Rolle von Constructor und Destructor. In diesem Zusammenhang wird auch kurz auf das Konzept der Daten-Abstraktion und die Speicherverwaltung mittels new und delete eingegangen.

Alle Lektionen des Kurses sind in DarkWyrm's Library nachzulesen.

Samstag, 27. März 2010

Wahl zum 16. Thank You Award

Zur Zeit läuft die Wahl zum 16. Thank You Award. Die Kandidaten sind
diesmal zum Großteil die Nicht-Gewinner vom letzten Mal:

  • Grzegorz Dabrowski "kaliber" - Für die Portierung der ganzen KDE Anwendungen, insbesondere KOffice
  • Jerome Duval - Für seine kontinuierliche Arbeit an Audio Treibern u.v.a.m.
  • Stefano Ceccherini - Für seine Arbeit am Terminal, BMenu etc.
  • Niels Reedijk - Für seine administrative Tätigkeit und sein Engagement für die API Dokumentation
  • Adrien Destugues - Für seine kontinuierliche Arbeit am Locale Kit
  • Alexandre Deckner - Für seine Arbeit an Tracker
  • Oliver Tappe - Für seine Arbeit als System Administrator der ganzen Server
  • Diver - Hat in den letzten Jahren rekordverdächtige 800+ Bugs gemeldet

Dienstag, 23. März 2010

Änderungen beim Haiku Code Drive

Früher war der Haiku Code Drive (HCD) sowas wie ein kleiner "Google Summer of Code", bei dem die vielversprechendsten Projekte, die es leider nicht in den GSoC geschafft hatten, bei etwas geringerer Bezahlung von Haiku Inc. vergeben wurden. Sieht man sich die Ergebnisse an, muss man allerdings sagen, dass das Ganze verglichen mit den eingesetzten Mitteln nicht besonders effektiv war. Gemessen am finanziellen Aufwand scheinen Auftragsarbeiten für etablierte Haiku Entwickler um einiges vielversprechender, wie die WebKit/WebPositive Arbeit von Stephan Aßmus eindrucksvoll belegt.
Deshalb soll der HCD in Zukunft nach eben diesem Modell vergeben werden. Zur Zeit stehen Haiku Inc. ca. $10.000 zur Verfügung. $5.000 sind schon für die laufenden Kosten (Server, Zuschüsse für Konferenzen etc.) im nächsten Jahr reserviert. Mit dem Rest werden zwei Entwickler beauftragt:

  • Stephan Aßmus kann seine Arbeit an Web+ für weitere 160 Stunden fortführen.
  • Adrien Destugues, letztjähriger GSoC Student, wird sein damaliges LocaleKit Projekt innerhalb von zwei Monaten weiter voran bringen.
Obwohl die Mittel für weitere Auftragsarbeiten momentan (noch) nicht vorhanden sind, werden Bewerbungen für konkrete Projekte immer gern angenommen. Interessenten melden sich bitte bei info@haiku-os.org oder haiku-inc@freelists.org.

Um diese Art Auftragsarbeit weiterhin vergeben zu können, ist Haiku Inc. auf Spenden angewiesen. So ein "Haiku Code Drive" ist also immer auch ein "Donation Drive".
Seit neuestem können Spenden auch in Euro angenommen werden, die erst falls nötig zu US-Dollar umgerechnet werden, um Wechselkursverluste zu minimieren. Neben Einmalspenden kann man auch monatlich einen kleinen Beitrag in Euro leisten. Und natürlich gibt es auch die R1/alpha1 CD, von deren Erlös ein Großteil an Haiku Inc. fließt, und auch durch den Kauf von T-Shirts, Tassen und sonstigen Tinnef aus dem CafePress Shop, kann man das Projekt unterstützen.

Sonntag, 21. März 2010

C++ Kurs, Lektion 11

In der 11. Lektion, die letzte allgemeine C-Lektion bevor auf die Besonderheiten von C++ eingegangen wird, zeigt DarkWyrm die Verwendung unterschiedlicher Datenstrukturen: Definitionen durch typedef und Aufzählungen mittels enum und union, sowie Strukturen per struct. Sie alle werden "in der freien Wildbahn" anhand eines Beispielprogramms gezeigt, das ein virtuelles Kartenspiel durchmischt. Den Abschluss macht die Auflösung der Aufgabe aus Lektion 10, die Nachbildung des cat Befehls.

Alle Lektionen des Kurses sind in DarkWyrm's Library nachzulesen.

Freitag, 19. März 2010

Haiku beim Google Summer of Code 2010

Zum vierten Mal in Folge hat es Haiku als Mentor-Organisation in Google's Summer of Code (GSoC) geschafft! Bei diesem Programm sponsert Google die 3-monatige Arbeit von Studenten an ausgewählten Open Source Projekten. Wieviele Studenten dieses Jahr dem Haiku Projekt helfen dürfen, stellt sich erst noch heraus.
Eine vorläufige Liste der Haiku Mentoren gibt es aber schon mal:

  • Bruno Albuquerque
  • Stephan Aßmus
  • Adrien Destugues
  • Axel Dörfler
  • Jérôme Duval
  • René Gollent
  • Ryan Leavengood
  • Scott McCreary
  • Niels Reedijk
  • Oliver Ruiz Dorantes
  • Philippe Saint-Pierre
  • Ingo Weinhold
Interessierte Studenten sollten sich umgehend mit ihren Projektideen bewerben. Zur Inspiration gibt es auch wieder einige Projektvorschläge.
Alle Infos finden sich auf Haikus GSoC 2010 Seite. Um Haikus Teilnahme am GSoC 2010 bekannter zu machen, vor allem an Universitäten, gibt es einen schönen Flyer (PDF, PNG) zum Aushängen.

Anmeldung für BeGeistert 022 jetzt möglich

Ab sofort kann man sich für BeGeistert 022 anmelden, das am 10./11. April 2010 in Düsseldorf stattfindet. Neben dem üblichen Wochenende, wird es erstmals am 12. April einen "Workshop Monday" geben, bei dem u.a. erfahrene Entwickler wie Stephan Aßmus beim Einstieg in die Haiku API helfen. Achtung: dieser Zusatztag muss extra gebucht werden.
Ebenso über das BeGeistert Wochenende hinaus geht der Code Sprint, bei dem nach dem Wochenende wieder eine Woche lang konzentriert an Haiku gearbeitet wird. Wer mitmachen will, meldet sich bitte bei Stippi.

Samstag, 13. März 2010

C++ Kurs, Lektion 10

Die Lektion 10 des C++ Kurses ist jetzt online. Diesmal geht es um die Parameterübergabe an Funktionen, Default-Parameter und die Nutzung von Zeigern, Zeiger auf Zeiger und Referenzen. Bei dieser Gelegenheit wird auch der Umgang mit Parametern beim Aufruf von Programmen von der Kommandozeile aus behandelt.
Als Projekt-Hausaufgabe soll der Befehl cat nachprogrammiert werden, der Dateien aneinander hängt und per stdout ausgibt. DarkWyrm gibt dabei natürlich einige Hilfestellung. Außerdem gibt es die Antworten zu den Fragen der 2. Einheit (Lektionen 6-9).

Alle Lektionen des Kurses sind in DarkWyrm's Library nachzulesen.

Freitag, 12. März 2010

Audio Interview mit Ryan Leavengood

Haiku Entwickler Ryan Leavengood wurde kürzlich vom neuen Podcast Device Drivers (MP3, 28mb) interviewt. Eine knappe Stunde erzählt Ryan von Haikus Wurzeln in BeOS, dem aktuellen Entwicklungsstand und was für die nächste Alpha bzw. R1 geplant ist. Auch von seinem eigenen zukünftigen Haiku Projekt erfahren wir: verbesserte ACPI Unterstützung, um Strom zu sparen und das System in den Standby oder Tiefschlaf versetzen zu können.

Dienstag, 9. März 2010

Chemnitzer Linux-Tage 2010

Dieses Wochenende, 13. und 14. März 2010, finden wieder die Chemnitzer Linux-Tage statt. Auch diesmal wird Haiku wieder mit einem kleinen Stand vertreten sein. Wer Stephan Aßmus und Daniel Wünsch Gesellschaft leisten will, sollte schnell eine Mail an Stephan schicken. Bis zu vier Leute können nämlich für den Stand angemeldet werden, womit man sich die Eintrittsgebühr sparen kann. Die beträgt allerdings auch nur 5 EUR für das ganze Wochenende... :)

Montag, 8. März 2010

Neue Vektor-Cursor

Im Rahmen seiner Web+ Arbeit hat sich Stephan Aßmus einem Gebiet angenommen, dass seit frühesten BeOS Zeiten unangetasted blieb: der Mauszeiger. Seit ewigen Zeiten war das eine klitzekleine Bitmap Grafik, die in Auflösung und Farbtiefe beschränkt war.
Stippi hat sich jetzt hingesetzt und nicht nur den Standard-Zeiger als Vektorgrafik im Icon-O-Matic Format designt, sondern auch eine ganze Reihe anderer Zeiger, die Feedback über den momentanen Zustand bzw. Hinweise zu Aktionen geben, wenn man mit der Maus über einem Objekt schwebt. Die sind wohl in erster Linie für Web+ gedacht, aber über kurz oder lang werden noch weitere Cursorformen dazukommen und in ganz Haiku Einzug halten.
Neben dem weniger pixeligen Look und der größeren Freiheit in der Farbgestaltung, hat das Vektorformat den zusätzlichen Vorteil, dass sich die Zeiger auch schön skalieren lassen. Man kann sich sogar Effekte vorstellen, wie rhythmisches vergrößern/verkleinern...

Wie sehen die Dinger denn nun aus? Da beim Serverumzug der Haiku Gazette leider alle Grafiken abhanden gekommen sind, sieht man sich am besten alle neuen Cursor mit Icon-O-Matic an. Dazu im Terminal eingeben:

svn checkout http://svn.haiku-os.org/haiku/haiku/trunk/data/artwork/cursors cursors
Das legt ein Verzeichnis cursors an und lädt alle direkt vom Repository.

Samstag, 6. März 2010

C++ Kurs Doppelpack, Lektion 8 und 9

Um schneller zu den wirklich interessanten Themen zu kommen, C++ Spezialitäten und die Haiku API, hat sich DarkWyrm entschieden die nächsten Lektionen im Doppelpack zu veröffentlichen.

Lektion 8 beleuchtet als ersten den Geltungsbereich von Variablen, also ob sie lokal, global oder static sind. Danach wird kurz auf verschiedene Arten von Konstanten eingegangen, definiert mittels Preprozessor per #define oder als const int und wie das ganze auf Zeiger angewendet wird. Das nächste große Thema ist das Schreiben und Einlesen von Daten über Streams (stdin, stdout, stderr und Dateien) mittels fprintf(), fgets(), fopen() und Konsorten.

Lektion 9 steht ganz im Zeichen von Arrays und wie mittels Zeiger auf sie zugegriffen werden kann. Damit ist auch die zweite Lehreinheit abgeschlossen.

Zu Einheit 1 (Lektion 1-5) und Einheit 2 (Lektion 6-9) gibt es nochmal zusammenfassende Fragen.

Alle Lektionen des Kurses sind in DarkWyrm's Library nachzulesen.

Freitag, 5. März 2010

"Hire-A-Dev" / WebKit Aktion trägt Früchte

Die Auftragsarbeit eines Entwicklers für einen gewissen Zeitraum und die dafür notwendige Spendenaktion sind ziemlich erfolgreich. In der Woche seit dem Aufruf ist das Spendenaufkommen stark angestiegen: etwa $1.200 [1] (nach letzten Zählungen über $1.600) konnten eingenommen werden und es fanden sich auch einige, die ab jetzt monatlich einen kleinen Betrag spenden wollen.
Vielen Dank an alle, die etwas Geld locker machen konnten! Da auch zukünftig solche Aufträge erteilt werden sollen, ist es für eine Spende übrigens nie zu spät. Wer also noch nicht dazu kam und noch an der Aktion teilhaben will, kann weiter über PayPal spenden [2].

Stephan Aßmus' Auftragsarbeit selbst, die (Weiter)Entwicklung von WebKit und nativen Browser, ist sogar noch erfolgreicher. In nur knappen zwei Wochen ist ein funktionsfähiger Browser entstanden: WebPositiv, als Nachfolger des simplen BeOS Browsers NetPositiv.
Stippi listet [3] die Fortschritte seit dem ersten Blog Posting:

  • Große WebKit API Säuberung (BWebView, BWebPage, etc).
  • Bugfixe für Abstürze etc. beim Download.
  • Bugfixe für div. Abstürze.
  • Bugfixe beim Rendern von transparentem Text.
  • Stark verbesserte Desktop Integration.
  • Viel effizienteres Rendern.
  • Verbesserter Umgang mit WebCore um noch mehr Websites darstellen zu können.
  • Einführung eines Stop-Buttons.
  • Bugfix fürs Mausrad (Michael Lotz).
  • Bugfix um Tastatureingaben an den richtigen Frame zu senden (Michael Lotz).
  • Komplett neu geschriebenes Tab Management.
  • Darstellung von Favicons.
  • Noch mehr Tastaturkürzel und einige Mausaktionen (teilweise von Ryan Leavengood).
  • Neu geschriebene Timer-Implementation führte zu viel geringeren Redraw-Verzögerungen.
  • Auto-Vervollständigung im URL Feld (benutzt Oliver Tappes Spitzencode aus Beam).
  • Flüssiges Scrollen, da nicht mehr der ganze Frame bei jeder Bewegung neu gezeichnet wird.
Zwar fehlen noch einige wichtige Features wie Bookmarks, Kontextmenüs und Management von Cookies und Einstellungen, aber das Websurfen selbst funktioniert schon sehr gut, recht stabil und vor allem sehr schnell. Auch die Startzeit von unter einer Sekunde ist eine Wohltat verglichen mit dem BeZillaBrowser.
Die Entwicklung lässt sich in der "Timeline" auf der Haiku WebKit Port [4] Seite verfolgen (die übrigens unter Haiku auf einem Rechner von Michael Lotz läuft). Dort gibt es auch "Nightly Builds" zum Testen. Weiterhin kann man sich in Stippis Blog [5] über die rasanten Fortschritte informieren. Hier verlinkt Stippi auch immer aktuelle Web+ Builds, die u.U. stabilere Snapshots sind, als die Nightlies.

Bericht von der SCaLE 2010

Jorge Mare hat jetzt seine Eindrücke von der SCaLE 2010 zusammengeschrieben. Er war dort am 20./21. Februar, zusammen mit Scott McCreary und Bruno Albuquerque, letzterer war extra aus Brasilien nach LA angereist. Auf ihrem kleinen Stand hatten sie drei kleine Rechner und einen Beamer aufgebaut, mit denen Haiku Demonstrationen gegeben wurden. Daneben wurden etwa 250 Flyer und 50 Haiku Alpha CDs (von Scott auf Lightscribe gebrannt) verteilt.
Leider hatten weder Bruno noch Ryan Leavengood die Möglichkeit bekommen einen offiziellen Vortrag zu halten. Und die BOF (birds of a feather) Präsentation war auch nicht gerade gut besucht, was wohl am späten Termin (19-20 Uhr) lag. Da waren die meisten wohl schon an der Bar und es kamen nur etwa 15 Leute.
Jorge, der bei allen vier SCaLE Messen mit Haiku-Beteiligung war, sah deutliche Fortschritte wie Haiku von den Besuchern wahrgenommen wurde. Wurde Haiku früher als eher obskures Projekt eingestuft, das wohl eh keine Zukunft hat, wird es heute wirklich ernst genommen. Ein weiterer Hinweis auf diese geänderte Wahrnehmung scheint das wachsende Interesse von ehemaligen BeOS Entwicklern zu sein, die Haikus Fortschritte immer stärker verführt zurück zu kommen. Einer von ihnen ist Michael Aramida mit seinem QueryWatcher, der am Samstag an den Stand kam und sich lange vor allem mit Bruno unterhielt.
Ein weiterer Gast war Rob Savoye, einer der Hauptentwickler des Flash Players Gnash. Der Gnash 0.8.7 Port für Haiku hat ihn auf Haiku aufmerksam gemacht und scheint ihn so beeindruckt zu haben, dass er Haiku sogar bei seinem SCaLE Vortrag [MP3, 50mb] erwähnte.
Generell wurde Haiku auch bei der "Konkurrenz", KDE und Gnome, mit Interesse aufgenommen. Beide wurden mit einer Haiku Alpha CD bedacht...
Alles in allem eine sehr erfolgreiche Veranstaltung, die vielen Leuten Haikus erstaunliche Fortschritte seit der letzten SCaLE näher gebracht hat.