2 weeks, 6 days ago
After almost 9 years and 1833 comments, the famous Ubuntu bug #1, “Microsoft has a majority market share”, has been marked as fixed today by Mark Shuttleworth.
Ubuntu bug #1 states that “Microsoft has a majority market share in the new desktop PC marketplace
” but since it was reported, phones and tablets have become a lot more important and while Microsoft may still be winning on the desktop, in the consumer compute market it’s now 3rd, behind
Android and Apple.
Mark Shuttleworth notes in the comment that marks the bug as “fix released”:
“[…] Android may not be my or your first choice of Linux, but it is without doubt an open source platform that offers both practical and economic benefits to users and industry. So we have both competition, and good representation for open source, in personal computing.
Even though we have only played a small part in that shift, I think it’s important for us to recognize that the shift has taken place. So from Ubuntu’s perspective, this bug is now closed.
[…] Along those lines, it’s good to reflect on how much has changed since 2004, and how fast it’s changed. For Ubuntu, our goal remains to deliver fantastic experiences: for developers, for people building out production infrastructure, and for end-users on a range of devices. We are doing all of that in an environment that changes completely every decade. So we have to be willing to make big changes ourselves - in our processes, our practices, our tools, and our relationships. Change this bug status is but a tiny example.”
The full comment can be found HERE
1 month, 4 weeks ago
By Stephanie Taylor, Open Source team
Cross-posted from the Official Google Blog
If you’re a university student with CS chops looking to earn real-world experience this summer, consider writing code for a cool open source project with the Google Summer of Code program.
Over the past eight years more than 6,000 students have “graduated” from this global program, working with almost 400 different open source projects. Students who are accepted into the program will put the skills they have learned in university to good use by working on an actual software project over the summer. Students are paired with mentors to help address technical questions and concerns throughout the course of the project. With the knowledge and hands-on experience students gain during the summer they strengthen their future employment opportunities in fields related to their academic pursuits. Best of all, more source code is created and released for the use and benefit of all.
Interested students can submit proposals on the website
starting now through Friday, May 3 at 12:00pm PDT
. Get started by reviewing the ideas pages of the 177 open source projects
in this year’s program, and decide which projects you’re interested in. Because Google Summer of Code has a limited number of spots for students, writing a great project proposal is essential to being selected to the program. Be sure to check out the Student Manual
For ongoing information throughout the application period and beyond, see the Google Open Source blog
, join our Summer of Code mailing lists
or join us on Internet relay chat at #gsoc on Freenode
Good luck to all the open source coders out there, and remember to submit your proposals early—you only have until May 3 to apply!
Written by Stephanie Taylor, Open Source team
Posted by Scott Knaster, Editor
Author: Scott Knaster
3 months, 3 weeks ago
By Lode Vandevenne, Software Engineer, Compression Team
Cross-posted with the Google Open Source Blog
The Zopfli Compression Algorithm is a new open sourced general purpose data compression library that got its name from a Swiss bread recipe. It is an implementation of the Deflate compression algorithm that creates a smaller output size compared to previous techniques. The smaller compressed size allows for better space utilization, faster data transmission, and lower web page load latencies. Furthermore, the smaller compressed size has additional benefits in mobile use, such as lower data transfer fees and reduced battery use. The higher data density is achieved by using more exhaustive compression techniques, which make the compression a lot slower, but do not affect the decompression speed. The exhaustive method is based on iterating entropy modeling and a shortest path search algorithm to find a low bit cost path through the graph of all possible deflate representations.
The output generated by Zopfli is typically 3–8% smaller
compared to zlib
at maximum compression, and we believe that Zopfli represents the state of the art in Deflate-compatible compression. Zopfli is written in C for portability. It is a compression-only library; existing software can decompress the data. Zopfli is bit-stream compatible with compression used in gzip, Zip, PNG
requests, and others.
Due to the amount of CPU
time required — 2 to 3 orders of magnitude more than zlib at maximum quality — Zopfli is best suited for applications where data is compressed once and sent over a network many times, for example, static content for the web. By open sourcing Zopfli
, thus allowing webmasters to better optimize the size of frequently accessed static content, we hope to make the Internet a bit faster for all of us.
Lode Vandevenne is a software engineer based in Zürich. He has a special interest in compression algorithms, and implemented Zopfli as his 20% time activity.
Posted by Scott Knaster, Editor
Author: Emily Wood
4 months ago
With Steam officially being released for Linux I took some time out this evening to run a few benchmarks on my Ubuntu 12.04 based Bodhi system to see how a few of the different modern Linux desktops compare in terms of OpenGL performance with the source engine. Please do not take my numbers to be anything super scientific or precise. I simply recorded a short demo using Team Fortress 2, loaded TF2 from Steam under each of the Linux desktops with no other background applications running and ran the demo through a built in source engine bench marking tool.
The benchmarks were run on my very modest gaming laptop which sports an i7 processor, 6GB of RAM, and an nVidia 330m GT graphics card. I utilized the Steam recommended nVidia 310 driver for these tests. All the desktop setups I used were “stock” from the Ubuntu 12.04 repos, minus E17 which is using the E17.1 snapshot and Bodhi’s laptop profile with compositing enabled.
Lets get right to the data shall we? You all love charts I hope!
It is clear from the bar graph that E17 came out towards the top and Gnome Shell was near the bottom. Here are the numbers to a single decimal place:
- Gnome Shell - 51.5 FPS
- KDE - 55.0 FPS
- XFCE - 55.7 FPS
- Unity - 60.5 FPS
- KDE, Disable Compositing on Full Screen - 63.2 FPS
- LXDE - 66.5 FPS
- E17 - 66.7 FPS
I was not surprised when I saw E17 and LXDE had the best performance, they are after all some of the best light desktops today. What did shock me though was that XFCE - which claims to be fairly light - was very low in terms of performance!
Based on the above numbers XFCE
performed around 17% slower than both LXDE
and E17, while Unity was around 9% slower than the lighter desktops, and Gnome Shell was a staggering 23% behind. One other thing worth noting is that KDE
has a HUGE
performance difference when you check the “disable compositing on full screen applications” box in your Kwin settings. In fact ignoring this setting loses you around 13% in performance:
Obviously someone should run some further tests (I know I plan to when I get some more time), but from my initial small test it is obvious - if you are looking to game on Linux your choice of desktop very clearly matters!
Author: Jeff Hoogland
4 months, 2 weeks ago
The man behind Wine, the not-an-emulator which runs Windows applications on Linux, has been showing off an early version for those desperate to run MS Office on their Android device.
It was, according to Phoronix - who witnessed the demo - “horrendously slow”, and running on a Mac which was itself running an Android emulator. Nevertheless, he added, the demonstration at the FOSDEM open source meeting in Brussels did show Windows applications running on an Android platform, which is technically impressive even if difficult to justify.
This is a step forward for Wine (originally an acronym for “Wine Is Not an Emulator”) as it would extend its capability of running Windows applications on other operating systems. At the moment, it can load them on Linux, Mac OSX, & BSD. It achieves this by real-time translation of Windows API calls into POSIX calls.
Wine is funded largely by CodeWeavers, which makes money selling a supported version branded CrossOver, though Google has been known to send money Wine’s way and other companies have been involved when getting their Windows applications ported to Linux.
The idea of Wine isn’t to provide a Windows desktop, but to support the single killer application which is keeping someone from switching… of course, the problem is that everyone has a different reason not to switch. If Android proves popular on tablets then Windows apps could be similarly sticky, and CodeWeavers could make money selling CrossOver for Android.
But that’s for the future. What we have now is a very flaky demo which proves it can be done. While CodeWeavers sponsors some staff, the majority of Wine is the usual open-source mix of hobbyists and fanatics (sign up here), so future development will depend on that community, as well as the commercial potential of running Windows apps on Android devices.
Author: Ifeanyi Emeka
5 months ago
For those who aren’t aware Elementary is the top level building block for the Enlightenment Foundation Libraries (EFL). The EFLs reached their first stable release almost a year ago, but aside from E17 there haven’t been very many applications written using these libraries to date. Today I would like to highlight a few applications that are being developed using Python and Elementary that have reached a usable state.
Epour - Torrent Client:
Epour uses libtorrent as a back end and currently supports all the basic features you need for a functional torrent client. You can pause/resume torrents and it resumes a partially finished torrent just fine. Epour is currently being developed by Kai Huuhko.eCcess - System Tool
eCcess is intended to be a desktop neutral GUI
for managing various system tasks. It is still very much a work in progress, but currently it allows you to:
- Create users
- Delete users
- Change a user’s password
- Change the current time
- Change the current timezone
There is a small screenshot gallery here
. I am currently the driving force behind eCcess and I am very much open to ideas for what features it should include in the future.
Valosoitin is a audio player with a very simple playlist interface. Supports all audio formats supported by either Xine or GStreamer. Valosoitin is also being developed by Kai Huuhko.
I already mentioned
eAndora a couple of weeks ago, but I figured as long as I was talking about Elementary applications I would bring it up again. Since my first post it has gained a few new features. It now remembers the last station you had playing when you close/relaunch the program and you can now “like” and “ban” songs from your stations. I also improved some back end things so the application is more stable and times out far less with extended play.
Getting these applications:
If you are currently a Bodhi Linux
user all of the above applications are just an apt-get away. If you are using a different operating system just make sure you have the latest EFLs installed along with their Python Bindings and then check out the source code from the links I provided above.
Working with these libraries myself has been a lot of fun. I hope in the future we will see more application development using Elementary as it is a very powerful/flexible library.
Author: Jeff Hoogland
5 months, 2 weeks ago
A good deal of the work I do with the Bodhi project is packaging software/releases and managing things. One of my goals for this new year is to spend some time doing some actual development work with the Enlightenment Foundation Libraries and, more specifically, Elementary. I have a good bit of background with python programming, so my first leap into this field is writing a few small GUI applications in python and elementary.
I finally have enough work done on one of these projects that I feel OK sharing my work with the world. Today I would like to share with you a very, very early release of an application I am calling eAndora:
eAndora is a front end for Pandora Internet Radio
. I’ve started a git repository here
that I will be publishing updates to as I write them. The interface is still very basic, but the player is completely functional in the aspect that it allows you to browse and play your Pandora stations and skip tracks you don’t like. In addition to being developed with Elementary, eAndora differs from projects like Pithos
in the fact that it uses VLC
as a streaming back end as opposed to the more common gstreamer.
Here are a few screen shots of the first draft of the GUI
I’ve packaged eAndora for Bodhi Linux
and users can get it via a simple:
sudo apt-get install eandora
This package includes a launcher that is placed in your Audio menu.
Folks on other operating systems will need at least EFL
1.7.3, version 1.7.0 of the python EFL
bindings and VLC
2.0. Once you have all these installed simply clone the git repo
and launch eAndora with:
Please feel free to let me know any issues you find with eAndora by dropping a comment on this post. Do not
however report a lack of functionality as an issue - there is still a good deal of work that needs to be done on this project - I just believe in sharing early and often.
Author: Jeff Hoogland
6 months, 1 week ago
If you’re an architectural or engineering firm, you’ve undoubtedly confronted the difficulty of managing and collaborating on 3D assets like CAD drawings. The act of sharing massive files is hard but feasible, but it is significantly complicated by the inability to determine that you’re using the latest version. For the CAD-inclined, there’s hope. Jozef Dobos, a doctoral student at University College London (UCL), has applied the geospatial indexing capabilities of MongoDB a version control system for 3D assets called 3D Repo. Sponsored by Arup Foresight, the built environment innovation division of Arup Group Limited, a global design and business consulting firm with offices in over 30 countries, 3D Repo leverages the flexibility of MongoDB’s data model, not to mention its geospatial capabilities, to make collaboration on 3D assets easy.
Whether an architectural firm or a product design company, collaboration on large (500GB+) 3D assets is a critical but difficult task, one not solved simply by sending links around to these assets. The maintenance of assets in a large 3D visualisation can involve authors that are numerous, geographically dispersed, and diverse in their skillsets and tools.
This presents problems including, but not limited to, maintaining consistency of the models and dealing with concurrent edits in the same part of a 3D scene. For example, in the industry today, each user loads a particular 3D scene into a modeling tool, modifies it, and then re-saves the entire file again, making any version tracking and sharing unnecessarily unclear. By the time a simulation is completed, the design might progress so rapidly that the results are often inapplicable.
An SVN for 3D Assets
Looking for a better way to collaborate on 3D files, Dobos developed a unified and integrated framework, called 3D Repo, that supports collaborative editing and distribution of 3D assets. Think of it like Subversion (SVN), but for 3D assets, not code.
The 3D Repo framework tracks multiple revisions of 3D assets so that they can be integrated later on. It thus provides similar functionality to file-based revision control systems like SVN, but is built around MongoDB, thereby avoiding the constraints of a file-based system. The framework also supports distributed editing over the Internet and additional lightweight clients in web-browsers and mobile devices. Such an approach is expected to improve the engineering as well as public engagement and considerably reduce the costs of future industrial development.
While there are other proprietary and open-source databases that support spatial data directly - e.g. Oracle Spatial and PostGIS for PostgreSQL - these alternatives focus on 2D geometry, not 3D models and their properties. They also do not support the type of revision histories that is commonly required in 3D asset management.
MongoDB, on the other hand, avoids rigid data models and is optimized for large read-write operations. It is therefore possible to store 3D models in a database and, due to MongoDB’s schema flexibility, also track other associated data such as semantic relationships and even individual revisions, as is the case in 3D Repo.
As Dobos explains:
Basically, relational databases can in no way cut it. Rigid table structures are not suitable for highly diverse and large 3D data. In our case, a single 3D model or, better said, a “3D scene” is represented as a scene graph, where each node can be, and most of the time is, something different. It can be a node for a mesh, hence a large binary array, or a transformation, where transformation matrix is simply 16 numbers, or animation, bone, material, texture etc. Each of these is represented and stored differently. So key-value pairs are a match made in heaven for this type of data.
In MongoDB, 3D Repo assigns two collections (tables) per 3D scene, one for all the scene graph constituents and one for all the documents that belong to a revision history. Hence, each of these collections stores a directed acyclic graph, making the access implementation reusable. Once the data is in a database, access is implicitly supported in a distributed manner via a dedicated query language.
In order to offer a scalable visualization platform, 3D Repo streams decomposed scene graph components from MongoDB onto client devices, reconstructs their 3D representation and displays them for viewing.
This explains why MongoDB is superior to an RDBMS like Oracle for this kind of application, but it doesn’t address the possibility that Dobos could have turned to another NoSQL database, and particularly a graph database, given that a scene graph is a directed acyclic graph. Surely this should be a fit for a graph database?
Not really, as Dobos articulates:
Mostly simply stated, we don’t need any complicated graph traversal operations. We opted for MongoDB because of its efficiency with binary storage, BSON rather than ASCII (hence a clear winner over CouchDB, too), and due to its flexibility, not to mention its web-ready approach. MongoDB is proven to scale well, has sharding built-in and there is a thriving community to support it. Most of the design inspiration in our system actually comes from webinars by Wordnik and their experience. We are really grateful for those!
In sum, MongoDB delivers the flexibility and 3D geospatial capabilities necessary to making 3D Repo a reality.
The 3D Repo approach offers significant benefits over alternative techniques like geographic information systems (GIS), given the direct MongoDB database connection, the scalability of MongoDB, and its built-in support for geospatial indexing. In addition, MongoDB enables version control for 3D assets in a way impossible to proprietary or open-source RDBMS. Geographic information systems such as Oracle Spatial or PostGIS may be acceptable for 2D assets such as lines, but they cannot match MongoDB for representing 3D data efficiently and carrying metadata on top. Importantly, 3D Repo’s MongoDB-based solution can be extended to support various data types including building information modelling (BIM) or other representations.
Note: MongoDB does not currently support 3D geospatial indexing.
6 months, 3 weeks ago
I’ve been experiencing full system lockups on my netbook off and on for the last few weeks now. Up until recently though they had been few and far between so I’d just been ignoring the issue. A few days ago however they got bad enough to the point where I had to restart my system three times in the same hour.
Needless to say shortly after that I started running system checks. A quick boot into memtest showed that my RAM was A-OK (which is good considering one stick of RAM is stuck to the netbook’s mother board). The next piece of hardware I checked was my netbook’s SSD. Almost all modern hard drives have “SMART” controls today to allow you to check their current health status.
I booted my netbook from a Bodhi live USB drive and did a quick:
GSmartControl is a GUI
front end for smartmontools
- a library that lets you interface with your drive’s SMART
controls and run various health checks on the drive. The interface is fairly straight forward and right clicking on one of the displayed drives gives you the ability to begin checking it.
There are options for a short test (which takes a minute or two) or a longer test (which can take up to several hours on larger drives to complete - depends on the size of your drive).
After my netbook finished the longer test I was greeted with some bad news - my SSD
was failing in one area and getting close to failing in others:
At any rate GSmartControl is a fantastic tool for checking the health of your drive that is fairly easy to use. Hopefully the results of your drive check will be better than my own!
Author: Jeff Hoogland
7 months, 2 weeks ago
My fiance started a new class this week - an MIS (Management Information Systems) class. While we were having dinner tonight she brought up the fact there are some - lets say - colorful definitions of Linux in her wonderful “Experiencing MIS” text book.
Under a section titled “What Does a Manager Need to Know About Software?” there are a number of things presented to the reader as “facts” that I just have to disagree with. It starts with a nice table describing that describes typical users for Windows, OSX, Unix and Linux desktop users. What is the description of a typical Linux user you ask?
“rare - used where budget is very limited”
That is right - the only reason to use Linux on the desktop is when you are strapped for cash. I guess Google never got that memo
. The extra kick in the pants? Apparently the only commonly used application Linux has is:
“Open Office (Microsoft Office look-alike)”
Never mind that Open Office contains a sane menu interface instead of “ribbons”.
In case the avid reader is curious about who created Linux - that information is here as well. Linux is developed by the “open-source community” which is described as:
“a loosely coupled group of programmers who mostly volunteer their time”
I guess they never got the memo that nearly 75% of kernel work is done by paid developers
This is what is holding Linux back on the desktop folks. Not a lack of hardware support. Not a lack of user friendliness. Just good old fashion Linux FUD
. The best thing you can do to fight things like this is to speak up and let the people spreading the FUD
know it is not OK
to spread misinformation. Although I must say it really irks me seeing information like this appearing in a higher education setting.
What is this wonderful text book you ask? As mentioned above it is titled “Experiencing MIS
“, written by a man named “David Kroenke
“, and published by none other than Pearson Education
Author: Jeff Hoogland