Tech Blogs

Jeffrey Stedfast: Microsoft Double Rainbow!

Monologue - 3 hours 6 min ago

Microsoft has just created a new commercial for its Windows Live Photo Gallery software that plays on the "Double Rainbow!" stoner guy. I have to give them props for trying to be hip and cool, but I'm too busy laughing my butt off right now. You've got to see this:


What I want to know is what kind of camera is that guy using? Never seen anything like it. A friend suggested it was this antique digital camera, but I'm not convinced. If you have any idea what that camera is, let me know in the comments - it is gonna bug me for days until I know what that was!

Categories: Tech Blogs

Google Video Chat for openSUSE

OMG! SUSE! - 3 hours 10 min ago

Thanks to a tip from our friend @decriptor, it looks like the Google Video Chat browser plugin is now available for openSUSE!.

If you visit the download page you can download an RPM for a 32-bit or a 64-bit openSUSE installation. The plugin should allow you to use video or voice chat to talk to all your GMail contacts straight from your web browser. Since I don't use GMail, I can't verify how well the plugin works, but I have successfully held a video chat with a friend using it via my n900.

Pretty spiffy!

Categories: Tech Blogs

Jordi Mas: gbrainy 1.51 for Linux and Windows

Monologue - 6 hours 31 min ago

Here we have gbrainy 1.51, a minor bug fixing release. gbrainy is a game that challenges your logic, verbal, calculation and memory abilities.

What is new in version 1.51 from the NEWS file:

* 5 bug fixes
* Updated and new translations

The new translations include Vietnamese, Korean and Traditional Chinese translation (Hong Kong and Taiwan).

gbrainy 1.51 is available for download in source code from:

* http://gent.softcatala.org/jmas/gbrainy/gbrainy-1.51.tar.gz
    (md5sum 09762be168973e6157263ebbc0256a26)

Additionally, gbrainy is available for all major Linux distributions.

Updated Windows version

I have also updated gbrainy for Windows installer to 1.51. I did not this for more than 10 months, I think that I had to do it since the Windows version is downloaded by an average of 100 people per day. I have used Monodevelop 2.4 to build the Windows version and it worked very well making really easy now to build gbrainy cross platform.

Categories: Tech Blogs

Inkscape updates abound!

OMG! SUSE! - 9 hours 18 min ago

This is a cross-post from our sister site: OMG! Ubuntu!

Scalable Vector Graphic fans of the world rejoice – Open Source’s premier vector drawing application Inkscape has been bumped up to 0.48, adding lots of fixes and features for artists to get excited about in the process.

New & improved

The text tool in particular has received lots of attention and now has support for:

  • "Line Spacing:" Distance between baselines of adjacent lines
  • "Letter Spacing:" Spacing between letters
  • "Word Spacing:" Spacing between words
  • "Horizontal kerning"
  • "Vertical shift"
  • "Character rotation"

The new multi-mode spray tool allows users to quickly [create] effects that previously would take much longer to achieve.

Other changes include a handful of new extensions, improved exporting & select UI changes. More information can be found in the release notes.

Install Inkscape for openSUSE 11.3

Categories: Tech Blogs

Sprichst du open source? Check out the openSUSE Conference

OMG! SUSE! - 11 hours 18 min ago

This coming October in the beautiful German city of Nuremberg, the second international openSUSE conference will be held.

Before get out your jump to conclusions mat and assume this is just for openSUSE folks, it should be mentioned that the conference isn't just for lizard-lovers but also for all members of the open source community that can attend.

The "call for papers" has finished meaning the conference organizers are hard at work preparing the program for the event, which plans to bring folks together from various areas of the open source universe such as the Mozilla and Debian projects. The conference should be interesting for hackers and users alike with Bird-Of-a-Feather sessions, open discussions and of course, plenty of hacking on open source!

Unfortunately the conference details aren't all hammered out, but if you're on that side of the pond on October 20th through the 23rd, you should definitely mark it on your calendar. In the meantime, I suggest following @openSUSEConf to keep up with the conference preparation.

Categories: Tech Blogs

Jackson Harper: First draft of Manos middleware docs

Monologue - September 1, 2010 - 7:43pm

I just committed my first draft of documentation for Manos?s middleware layer. Its a pretty quick and easy read and I?d appreciate any questions, comments, death threats or concerns that you may have. The doc is written in markdown so you can read is pretty easily on github here:

http://github.com/jacksonh/manos/blob/master/docs/middleware.md

Things still need to be fleshed out, especially with some examples of what methods can be called from inside the middleware hooks, but this gives you a basic idea.

The Gist

Middleware gives your application an easy way to ?do something? for every request/response transaction that goes into an application.

You get these methods to register middleware:

RegisterMiddleware (IManosMiddleware mw); RegisterMiddleware (string name, IManosMiddleware mw); RegisterMiddlewareBefore (IManosMiddleware mw); RegisterMiddlewareBefore (string name, IManosMiddleware mw); RegisterMiddlewareAfter (IManosMiddleware mw); RegisterMiddlewareAfter (string name, IManosMiddleware mw); ReplaceMiddleware (string name, IManosMiddleware mw);

And your middleware can override any of these methods:

ProcessRequest (IManosContext) PreProcessAction (IManosContext, IManosTarget) PostProcessAction (IManosContext) ProcessError (IManosContext)

From those methods you can easily re-write parts of the request, redirect to another URL, abort the transaction, manipulate the generated html or just log something to disk. Really the sky is the limit.

Most developers will never have to write their own middleware but a lot of really important plumbing pieces of a web framework can be written using middleware. Things such as the auth system, rate limiting, url rewriting, and red/black testing are important components of a web application and will make use of the middleware layer. So its important that I get this part right.

Categories: Tech Blogs

Harald "LaF0rge" Welte: Motorola announces "Ming" phone with Android

Planet OpenMoko - September 1, 2010 - 6:00pm

For those who don't know: The Motorola Ming was the A1200, a commercially very successful Linux-based phone in China and other parts of Asia, using the EZX software platform, i.e. the kind of hardware that we once built the OpenEZX software.

Motorola has recently announced that they will follow-up with some android based ming phones. It is my suspicion that apart from some mechanical design aspects, those phones will not resemble the ming in any way, neither on the baseband hardware side, nor on the application processor side, and particularly not on the software side.

So it's probably nothing than a marketing coup, trying to connect to successes of the past. Not interesting from the OpenEZX point of view, I guess.

Categories: Tech Blogs

Martin Baulig: MDB's new backend

Monologue - September 1, 2010 - 10:50am

Over the last couple of days, I did some extensive refactoring in MDB's backend and completely rewrote it.

The new backend now lives out-of-process and is written in C++ and there's a managed C# counterpart which talks to the C++ classes over a wire protocol.

One big mistake I made in MDB's old backend was abstracting things in the wrong way. The old backend was basically just wrapping C functions like ptrace() or waitpid and making them accessible from managed code. The big problem with this was that these functions have very specific calling semantics which needed to be replicated on the managed side to use them correctly.

Take ptrace() as an example - this function has to be called from one special thread and from this thread only. Or waitpid() as another example - interrupting it isn't trivial and there is no easy way of waiting for both the child process and user input. Because of this, more and more hacks where added to the managed part of MDB - hacks which were designed to work around specific calling semantics of these system calls. All this stuff made porting MDB very difficult. For instance, when you want to port it to Windows, WaitForDebugEvent must be called from the thread that created the child process - so the "wait event loop" has to be completely different than on Linux.

Primary goal of the new backend is wrapping functionality, not functions ... like "step one instruction, give me an event when done" - it doesn't matter how exactly we wait for the target to stop again, all we're interested in is getting that event.

This doesn't imply rewriting all of MDB in C++, but doing a little bit more in C++ than was previously done in C will make the C# code so much cleaner and so much more portable. As an added benefit, all the managed code will be fully debuggable by a managed debugger - something that was impossible in the old MDB :-)

The backend refactoring is now done, and we can do multi-thread single-stepping, so this afternoon, I cross-compiled Mono (trunk) from Linux to Windows, enabled mdb support in the runtime and started to play around with it ...

Categories: Tech Blogs

Unity Technologies: Introducing The Fabricator Contest!

Monologue - September 1, 2010 - 10:10am
MuseGames.com & Unity Technologies are teaming up for a new bi-monthly Unity “Prefab” based contest called The Fabricator Contest! The contest will be a regular event that will challenge members of the community to show their stuff by creating prefabs based on specific themes, and of course because it’s a contest that means winning entries [...]
Categories: Tech Blogs

Jackson Harper: Apparently this AsParallel thing works

Monologue - August 31, 2010 - 2:55pm

Last night I added support to Manos to parallelize HTTP transactions.

All I did was change this code:

foreach (HttpTransaction transaction in transactions) { transaction.Run (); }

To this:

transactions.AsParallel ().ForAll (t => t.Run ());

I got a chance to run apache-bench on both versions today and here are the results:

foreach loop

Concurrency Level: 200 Time taken for tests: 4.208 seconds Complete requests: 10000 Requests per second: 2376.40 [#/sec] (mean) Time per request: 84.161 [ms] (mean) Time per request: 0.421 [ms] (mean, across all concurrent requests) Transfer rate: 187.98 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 15 200.8 0 3003 Processing: 28 68 21.8 61 819 Waiting: 28 68 21.8 61 818 Total: 30 83 202.9 61 3084 Percentage of the requests served within a certain time (ms) 50% 61 66% 67 75% 75 80% 79 90% 87 95% 96 98% 205 99% 215 100% 3084 (longest request)

With AsParallel

Concurrency Level: 200 Time taken for tests: 2.791 seconds Complete requests: 10000 Requests per second: 3582.49 [#/sec] (mean) Time per request: 55.827 [ms] (mean) Time per request: 0.279 [ms] (mean, across all concurrent requests) Transfer rate: 283.38 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 1 4.1 0 34 Processing: 21 37 7.2 36 240 Waiting: 10 37 7.2 36 240 Total: 21 38 8.4 36 240 Percentage of the requests served within a certain time (ms) 50% 36 66% 38 75% 39 80% 40 90% 44 95% 50 98% 63 99% 73 100% 240 (longest request)
Categories: Tech Blogs

Fall Conferences

red sweater blog - August 31, 2010 - 2:35pm

After the announcement earlier this year that C4 was cancelled, I had a hard time getting too excited about conferences. My feelings about Apple’s WWDC are ambivalent: it’s an impressive production and a great opportunity to meet up with dozens or hundreds of colleagues, but it’s expensive and simply lacks the heart of smaller conferences. I go to WWDC every year with some amount of excitement, but mostly as a point of professional obligation. Attending smaller get-togethers like C4, on the other hand, is pure indulgence.

While I don’t think C4 can be replaced, there are other conferences of a similar scale that can help to fill the void. This Fall offers a full calendar of options for folks who are looking for an opportunity to socialize with peers and learn a few new tricks of the trade:

VTM iPhone Developer’s Conference: October 16-17, Philadelphia, PA.
Voices That Matter has been on a run with iPhone-targeted conferences, putting on a show every 6 months or so at different locations around the country. I spoke at the Boston event a year or so ago, and had a great time.

I am attending the Philadelphia event as a speaker alumni guest, and they have also passed along a discount code to share with you: PHBLOGS. If you use this code before September 10th, it combines with early bird pricing for a total savings of $300.

MacTech Conference: November 3-5, Los Angeles, CA.
For all you hardcore Mac and IT nerds who have had enough of the iPhone-only conferences, this is the place for you. This is the inaugural event and seems to have come at least in part as a reaction to Apple’s substantial omission of Mac and IT content from the WWDC event this year.

I’m speaking at this conference and although I won’t say exactly what my topic is, it just might set me up for a world class showdown with my illustrious friend Wil Shipley, who is also scheduled to appear.

360 iDev: November 7-10, Austin, TX.
Hot on the heels of MacTech, 360 iDev is another iPhone-oriented conference that has been skipping around the country. The Austin, TX location is a big draw for me, but I think with so much other activity and the speaking gig just prior in Los Angeles, I will have to sit this one out.

Apple Developer Tech Talks: November-December? Worldwide.
If you haven’t been lucky enough to live near enough and apply quickly enough for these stellar events, you’ve missed out. For the past several years Apple has sent some of its best communicators to put on what amounts to a micro-WWDC: a day of intensive sessions on the latest and greatest Apple technologies.

I attended last year’s New York event and wrote up the experience for TUAW. Assuming Apple puts this tour on again this year, and I’m eligible to attend, I’ll be scampering to sign up. You should, too!

What else is going on in the Apple-sphere this Fall? If I am overlooking something big, please share with us in the comments below. I’ll update the post later with a more “definitive” list of options to choose from.

Categories: Tech Blogs

Joseph Hill: Mono at NDDNUG Tomorrow Night

Monologue - August 31, 2010 - 6:03am

Tomorrow evening (Wednesday, September 1), I will be speaking on ?Mono, MonoTouch, and MonoDroid? at the North Dallas .NET User Group at 6p.  I hope the title speaks for itself, but you can find event details and a map, as well as RSVP on Eventbrite.

Five years ago October, NDDNUG was the first .NET user group to give me the opportunity to present.  I?d like to imagine that my presentation skills have improved substantially since then.  More realistically, you should come anyways, simply because the evening will be action-packed with coverage of the many exciting things the Mono team are working on these days.

Categories: Tech Blogs

What openSUSE can build for you?

OMG! SUSE! - August 31, 2010 - 4:00am

Ever heard of OBS, also known as the openSUSE Build Service? You may not recognize the acronym, but if you're using openSUSE you're certainly using software built by OBS. The build service provides an invaluable tool for developers to overcome some of the challenges caused by the slight fragmentation between the various Linux distributions.

The OBS provides developers of all your favorite apps with an easy to use tool for creating and distributing packages for openSUSE, Ubuntu and Fedora on a number of architectures. The idea of it all being that a developer can upload their code to the OBS and it will produce packages such as .rpm or .deb packages which are ready for openSUSE/Fedora and Ubuntu/Debian respectively.

Let's say for example, the devs for an app like Skrooge decide not to use the OBS. To support the various Linux distributions they have a couple options:

  1. To not support other distributions
  2. To enlist package maintainers on each distro
  3. To build the packages themselves for each distro

This approach seems to be more and more common with applications developed targeting Ubuntu, such as Pino, which has taken route #2. If the developers choose to take advantage of the OBS however, they can provide support to multiple distributions all from one location. Users would be directed to the same webpage and find fresh packages without the developer having to know how each distribution maintains their packages. Linux users can search through packages built by the OBS with at software.opensuse.org and install All Linux users would be able to search OBS (http://software.opensuse.org/) in order to see if they have the newest version of Skrooge.

OBS does not magically turn source files into packages. OBS cannot simply be fed a .tar.gz -- developers must still prepare their software in the .rpm and/or .deb format, but afterwards, they can sit back and watch as OBS handles the rest. It will create a repository to host the file, and at no cost to the developer.

OBS also offers its services to applications that are built elsewhere. VLC -- the popular video editor available for Linux, Mac, and Windows users -- is built by machines operated by the VideoLAN group, but is distributed to many distributions using OBS. Developers do not have to use all that OBS has to offer in order to benefit from it.

If you want to see what packages are being hosted and which are the most popular, Novell provides a dashboard from which you can observe these statistics.

What does Novell get out of this? Well, the hope is that developers who use the OBS to distribute their products will be inclined to also produce .rpms for openSUSE, thus providing openSUSE users with a greater pool of software at their fingertips. And if openSUSE has more software to select from, so, too, does Novell's SUSE Enterprise Linux. Novell will foot the bill to host all of this software for developers in hopes of creating a better landscape for their users.

By now, you may be thinking, "This is all well and good, but what does OBS do for me?" Plain and simply, it means that if you are an openSUSE user, you can go to software.opensuse.org as your one-stop shop for checking whether a package is available in any of Novell's hosted repositories. It also provides you with one-click install access to all of these packages. openSUSE users have just had their lives made easier, and hopefully more distributions will benefit with time.

Categories: Tech Blogs

Khorben: Releasing a new snapshot of the DeforaOS smartphone environment on hackable:1

Planet OpenMoko - August 30, 2010 - 4:57am
I have managed yesterday to release a new snapshot of the DeforaOS smartphone environment, as found packaged on top of the hackable:1 distribution. Unfortunately, there is still one obvious blocker bug before it can be easily tested as a real phone at the moment: as it seems, the modem "forgets" the PIN code a few seconds after accepting it, and is then unable to register correctly.
Of course, my current plan is to investigate and fix this as soon as possible (with a new snapshot). Yet, among the changes since the last release of the environment, you will already find:
  • a new finger keyboard, with popup keys (and using Gtk+' theme)
  • the addition of a phone log;
  • preferences windows for the phone application;
  • the return of the background picture, and a preferences window to easily change it;
  • last but not least, the final version of my initial attempt at SMS encryption.
With this, I will continue my work on the user experience:
  • fix and update the web browser (broken since the switch to Debian testing);
  • continue improvements to the finger keyboard (bigger keys, multiple layouts)
  • nicer Gtk+ theme and artwork if I manage (screenshots!)
  • more actual tests and usability improvements to the phone application;
  • power management;
  • GPRS support.
I have also begun to implement an application to configure access to wireless networks, with wpa_supplicant's help. It will take another while though.

For more information, as always, check either http://www.defora.org/, the IRC channel of hackable:1 (#hackable1 on Freenode), the respective mailing-lists (devel@lists.defora.org, hackable1-dev@lists.hackable1.org...) or even, feel free to contact me directly of course: http://people.defora.org/~khorben/place/wiki/13/Contact

And before I forget, the snapshot itself is announced and available there: http://www.defora.org/os/news/3394/New-snapshot-of-the-DeforaOS-smartphone
Categories: Tech Blogs

QOTD: What's your killer app

OMG! SUSE! - August 30, 2010 - 4:00am

As I look around my office, a wasteland of machines I've collected over the years, I feel quite proud of how many of their lives have been extended thanks to open source operating systems. An iBook G4 running NetBSD serving up media, a partially disassembled Eee PC 701 with an Ubuntu Netbook Remix on it, a Soekris net4801 and a Thinkpad T43 running FreeBSD, a couple standard desktops and laptops running openSUSE and then...the Macs.

Years ago I was a Mac developer, I loved (and still do to some extent) the Mac platform for all its integrated goodness from a user's perspective but also from a developer's perspective. After the release of the iPhone, the writing on the wall was clear to me, this platform was doomed to be locked down, and I started migrating everything to open source operating systems.

Why do I still have machines running Mac OS X? Two words: net flix, okay, one word, Netflix.

I remember chiding friends who used Windows to "play games" for choosing to be locked into such a platform, and now I find myself in a similar boat. For them, their PC games were the biggest reason to stick to Windows, for me Netflix is the killer app.

Built on Silverlight, Netflix's streaming video solution is so close to being available for openSUSE users via the Moonlight project but Microsoft refuses to share Silverlight DRM framework with the Moonlight Team. Netflix alone has kept two Apple computers from succumbing to the ways of the Geeko, which leads me to the QOTD.

The question of the day is: What is the killer-app that prevents you from coming to Linux?


Categories: Tech Blogs

Códice Software: Rename support on merge

Monologue - August 27, 2010 - 7:32am
I'm going to go back to the basics today and describe how Plastic handles renames during merge with two different cases:
  • Rename a file, modify it in parallel in a second branch and check how the two branches are correctly merged back, which means: the result file is renamed and it contains the changes from the two branches.
  • Divergent merging: what if we rename a file in one branch and also in a second one to a different name and we merge back?

    As simple as it might sound, renaming during merging is one of the points where most of the SCMs break... And the good news is that Plastic simply excels there.

    Handling renames during merge
    The scenario is very simple:
  • Create branch task003, rename and modify file agent.cs there
  • Create branch task004 (in parallel with task003) and modify agent.cs there
  • Merge back both branches to main
    The expected result is: getting agent.cs renamed and including the changes from the two branches.

    This is what Plastic does, but systems like Subversion dramatically fail: SVN will create two files as result and won't directly merge the changes...

    The following screencast shows Plastic in action dealing with this example:



    Divergent renaming
    The scenario is the following:
  • Rename a file on a branch
  • Rename the file to a different name, in parallel, on a different branch
  • Merge the branches together

    Plastic is able to detect the double rename and come up with a solution: choose one of the names or propose a new one. But Plastic won't end up creating two files and leaving you alone to handle further merging (changes on the files) yourself.

    Interestingly this is exactly what Mercurial does: it will create two files with the two names and warn you to solve the situation somehow.



    Check it in action here:

  • Categories: Tech Blogs

    Khorben: Improvizing a talk at Debienna

    Planet OpenMoko - August 26, 2010 - 8:54am
    I have been staying a few days in Vienna a couple weeks ago, where I happened to join a Debienna [1] meeting. As things went it felt appropriate to introduce hackable:1 [2] (and my current work on it) to this fine crowd. I have therefore quickly prepared a presentation, of which slides can be found there [3].

    It was called "hackable:1 (and then more)", and I really appreciated this opportunity. See you guys!

    [1] http://www.debienna.at/
    [2] http://trac.hackable1.org/
    [3] http://people.defora.org/~khorben/papers/h1more/h1.html
    Categories: Tech Blogs

    Códice Software: Shell Extension tour

    Monologue - August 26, 2010 - 7:58am
    One of the key features in the new Plastic SCM 3.0 is the Windows Shell Extension integration.

    It's a feature that users coming from SVN or CVS were missing (the great "tortoise" family of tools, you know) so we finally cached up here, did our homework and released a very neat integration.



    The really cool thing about the ShellExt is that you can use the entire Plastic GUI from it: the branch explorer, running merges and diff, the changeset browser, code reviews... everything is just there... which ends up creating a very tightly integrated and neat interface. You can access all the replication functionalities too, of course.

    Here's a short screencast (remember we've a YouTube channel) here showing most of the views popping up and so on.


    The ShellExt shares most of the code with the Windows GUI, which is great for maintenance. We had to do a good refactor of some pieces (not that big at the end :P) in order to be able to display "views" on standalone windows, and then also some threading considerations to integrate with Explorer, but the result, IMHO, is really good.

    Enjoy!
    Categories: Tech Blogs