Posts Tagged ‘Development’

Paving the Road to OpenMP 4

The dust of SC’11 starts to settle and several announcements around OpenMP have been made in Seattle. There has been a change in the OpenMP Architecture Review Board and Language Committee. Several new members have joined the committee and started to actively participate in the development of future OpenMP versions. Also, Michael Wong (IBM) has been elected as the new CEO of the OpenMP ARB. Michael will lead the ARB towards the release of the next version of the OpenMP API Specification. Michael brings in a lot of expertise in being one of IBM’s representatives in the OpenMP committee as well as other standard bodies such as C++. At SC’11 he has introduced himself at SC’11 and gave a great inaugural speech at the OpenMP BOF session. You can find the slide deck here . In June 2011, the version 3.1 of the OpenMP 3.1 API Specification has been released and of course the current version of Intel® Composer XE 2011 already the supports the 3.1 specification. The GNU Compiler Collection is expected to support it when GCC 4.7 is released. In the meantime my friends in the OpenMP Language Committee continue working on version 4.0 of the OpenMP API Specification. Version 4.0 is planned for Nov 2012; SC’12 would be a great opportunity to announce the release of a new specification, isn’t it? There are several big additions that are under heavy investigation by the OpenMP Language Committee members. Accelerators and coprocessors, standardized affinity and new features around OpenMP tasks are just a few features that we are working on. My sub-group works on specifying an error model for the OpenMP API, so that programmers finally are able to handle runtime errors and C++ exceptions accordingly. This will make writing safe code less cumbersome. Programmers will be able to detect both runtime and user-defined error conditions (e.g. C++ exceptions) and react accordingly. During the last year, we have made some very good progress on investigating the requirements for the new features and carefully investigated existing approaches for error handling in parallel programming languages. In summary, the future of OpenMP looks bright from an OpenMP Language Committee perspective. Stay tuned!

Notepad++ Portable 5.9.5

Notepad++ Portable is the handy Notepad++ text editor packaged as a portable app so you can do your development on the go. It has all the same great features of Notepad++ including support for multiple languages and an extensive plugin system, but there´s nothing to install. Notepad++ is a free source editor and Notepad replacement with the syntax highlighting. It also gives the extra functionality to the general user: colorize the user defined words. You can print your source code in color (or whatever you want) if you have a color printer (WYSIWYG). Furthermore, Notepad++ includes the multi-view feature, which allows the user to edit the different documents at the same time, and even edit the same document synchronously in 2 different views. Notepad++ supports drag and drop: not only you can drop the file from explorer to open it, but also you can drag and drop a document from a view to another. With all the functionalities, Notepad++ runs as fast as Notepad provided by MS Windows. Features: Syntax Highlighting and Syntax Folding User Language Defined System Tabed document and Multi-View More than 50 languages supported Full Drag ‘N’ Drop supported Macro recording and playback Extensible with its plugin system What´s New in version 5.9.5: Fix Project Panel loading non-project file bug. Fix saving project file bug while saving it on the root. Fix adding/hidding Language Menue item problem in Preference dialog. Make Project Panel translatable. Homepage : http://notepad-plus.sourceforge.net/ Download : notepadplus/5.9.5/npp.5.9.5.bin.zip File Size : 7.65MB

Getting started on Android for x86: Step-by-step guide on setting up Android 2.2/2.3 for X86 testing environment in Oracle Virtualbox

Background With Google and Intel announcing collaboration on Android for X86 Intel Architecture last month on Intel IDF, it is official that the door is open for Android to, besides ARM, support Intel CPU family. As the only open source virtual software solution under the terms of the GNU GPL v2, cross-platforms Virtualbox provide a fast and simple solution to open source Android for x86. It allows developers to develop, test or port their existing  apps quickly without hardware. Standardized system images(iso/vdi) from Intel, Google and OEM partners repositories allow developer to test and validate their apps on designated platforms and get accepted earlier for targeted apps store. This is the first of a blog series  aiming at introducing a customer driven solution of developing, testing and validating apps with virtual Android, unconventional installation via VDI conversion, bridged networking and integration with Android Eclipse/DDMS platform. Oracle full visualizer for Intel X86 architecture Oracle Virtualbox platform packages are Open Source and Cross-Platforms which support Windows, IOS, Linux and Solaris. The binaries are released under the terms of the GPL version 2 and can be downloaded at: http://www.virtualbox.org/wiki/Downloads .  It support same virtual OS( in a single .vdi file) run on Windows, Linux and IOS, and is a critical key player in open source & cross-platforms ecosystem(Host OS, Virtualbox, Eclipse( Android)). Download Google Android X86 iso image from Google Go to Google Code site ( http://code.google.com/p/android-x86/downloads/detail?name=android-x86-2.2-generic.iso&can=2&q= ), and download the Android of your preference. However, Android-x86 version 2.2  Generic and 2.3 Ginger Bread  are the versions that have been tested and confirmed the support of both LAN and Wireless connection via bridged network adapter configuration. Same iso image can also been located at www.android-86.org . Install and setup Android in Virtualbox Start Oracle VM Virtualbox Manager, and follow the steps below: Start New:  1) Name: Android-x86 2.2 Generic, 2). Operating System : Linux, 3). Version : Linux 2.6. Memory : 256- 512MB ( Dependent on how much memory your laptop/desktop has). Virtual Hard Disk : Create new hard disk Hard Disk Storage Type : Fixed-size storage Virtual Disk Location and Size : default is 8GB. Select your preferred location for the single vdi. file Before installation, make sure your parameters are set as below: Click Settings on the top menu, and select Storage. Click the Green + icon next to IDE Controller and add Android-x86-2.2 Generic iso image you just downloaded from Google.  Then click OK. Click Start to continue the installation: Use Up and Down Key to move the highlighted selection to Installation – Install Android-x86 to harddisk , and then press Tab key to enter edit mode, and enter the following (case sensitive. See above): DATA=sda1 SDCARD=sda5 This step is very important as we need to set primary partition for Android and a logical partition for SD Card so that you can use simulated SD Card latter to transfer files. You will find this very handy. On next screens, do the following sequentially: Create/Modify Partition Highlight the Free Space, and use key to select New Select Primary Set 7000MB for your sda1 partition ( or your prefered size if you have a big disk) Select Beginning Select Bootable Select Write Select Yes to confirm Write Highlight the remaining Free Space Select New Select Logical Select all remain harddisk size Make sure do not make this sda5 bootable (do not select Bootable) Write the sda5 partition and confirm with yes. Select Quit You will see the following table is created: Click OK to continue to install and complete the steps below: Format sda1 as ext3 Click Yes to install the boot loader grub Click Yes to install /system directory as read-write Select  Create a fake SD card Use all default 2047MB size Now sit back and relax until the installation is complete. Before reboot, just remeber that you still have a Android 2.2 installation iso image loaded as virtual boot CD-rom. So you have to go back to Setting-> Storage to remove the iso image. Now reboot: Before startting to run virtual Android, you first need to click Machine on top menu and select Disable Mouse Integration . By clicking any area in Android, you mouse icon will change to a darker color, and now you are free to run Virtual Android on your laptop just like a real Android device.  The complete virtual Android is saved as a single .vdi file and you can find it at C:Usersyourname.VirtualBox: Popular keys for virtual Android-X86 on  laptop At the very first start, you will need to click Machine on the top menu, and select Disable Mouse Integration to enter into virtual Android( right ctrl release the mouse) : Esc key = Back 1 screen Window  key =back to Home Key Right Ctrl = Release Mouse key lock Right Click Mouse: Back Key Home = Home Button Alt-F1 = Enter terminal Alt-F7  = exit   Terminal Menu key: Android Bottom menu Alt-F4: Power off Set up SD card Virtualbox Android  has pretty much all the functionality of an Android device except for the ability of making calls, location service and proximity sensor etc (same as any emulator including Google AVD). In addition, having the ability to run Android virtually, provides an alternative solution for those who do not want to set aside a computer for this purpose. To get startted, the first step you need to do is to install the SD Card and enable install from outside Android InMarket. To Do this, first go to Setting: Go to Setting -> Appstore -> Storage settings -> SD card Mount SD card Format SD Card. Connect your Virtual Android to internet as a real device Dependent on how you connect your host laptop to Internet, you will need different network setting to connect your Android to internet: Wireless : If you are connected to internet via wireless adapter, before you start your virtual Android, you need to go to Setting -> Network   to Enable your wireless network Adapter:   Network Cable(Cat5): If you are connected to internet via your network port via cat5 cable,  before you start your virtual Android, you need to go to Setting -> Network   to Enable your network Adapter: Bridged adapter option. All network functionalities are exactly same as real device, and offers: Bi-directional access for Guest and Host in single laptop. Bi-directional Access on a subnet. Bi-directional access between virtual Android’s After selecting correct network adapter, now start your Android. Unlock your screen and type Alt+F1 to enter into Android terminal window, and enter very typical Linux command: netcfg .  If you see your eth0 obtained an IP address from your DHCP server, your Android is connected to Internet: Lets get some free apps loaded before shopping Google  Android Market Start your Brower and confirm that your virtual Android is connected to internet like a real device: Then, start AndAppStore , and get some free apps for your Android Apps development and testing. Currently there are around 5000 apps listed in Android-x86 2.2 AndAppStore : One of app that I found of most useful is File Expert ( Utilities::File & Disk Management ) that you can setup a Web share and FTP share on your virtual Android so that you can freely download and upload files,  which are very convenient when you start to build your development environment: You can set up your own user name and password for increased security. Develop and test your Android Apps ( .apk package) Google apps are all packaged with .apk extension, and put in /system/app folder.  With virtual Android-x86, you can easily upload/download your .apk package: After you upload your .apk package to /system/app folder,  you can get access to terminal via Alt-F1 and run the following command: chown 1000:1000 /system/app/yourpackage.apk Then your app will show up in Android menu. Test different screen size and resolution By default, Android in virtualbox is displayed in 800×600. You can easily change the screen size and resolution to your prefered size or the same size of your targeted Android  device. To do this, you need to press”e”  twice at Android start menu to reach grub edit menu and enter vga=ask at the end of entry as below: Then press “b” to boot your Android, and the screen size and resolution options are displayed as below.  You can select whatever the size/resolution you want to start the Android: Android-x86 in Virtualbox  vs  Google  Android Virtual Device (AVD)? There is no doubt, Android-x86 in Virtualbox is way faster than Google AVD. Below are some difference: Virtual Box: Fast: X86 based ( same as iOS or WP7 emulator) Only emulate User-mode OS image(.vdi) easy to transfer, customizable to meet different needs. Allow quick and convenient Snapshot Google AVD in Google Android SDK: Slow- ARM based(ARM-eabi) Full system QEMU: emulate whole guest system. Additional Dalvik VM, need to run bytecodes for Android Apps Coming Next I will continue to blog on my projects: Android SDK Integration- Android Debugging Environment and DDMS Use Eclipse ADT to Remote test/push apps to Android Virtualbox Virtual Android 3.2 Honeycomb in Virtualbox and on real device. If you are on some of those topics, lets collaborate.

Meshcentral.com – Mac OS X Remote Desktop

Today we released a new version of the Mesh Agent with a big new feature, web based remote desktop for Mac OS X. It’s been a while since we updated the Mac OS X Mesh agent, prior to this release, the last mesh agent was pretty old. This new version 1.46 brings the Mac agent on par with the Windows and Linux agents with built-in support for remote desktop. I can take no credit for this work, my summer intern Madhukar Kedlaya had been working on the Mac OS X project for over a month, and with his internship ending over a week ago it’s time to release the code. The web based remote desktop for Mac is pretty amazing. It’s very different from Windows and Linux solutions we have in the other agents, he had to rebuild it completely (a few times in fact). What I find amazing about it is that he was able to grab the login screen of Max OS X and send mouse movements and key strokes to that screen. Getting the desktop image when logged in is on thing, getting the login screen is another completely. Because of how the mesh agent is installed, people already using the mesh agent on OS X will have to manually re-install the new version. So, going to meshcentral.com and re-running the install script will be a requirement. Sadly, I am not able to remotely perform the update. As always bug reports and feedback is appreciated! below are two screen shots I took from Meshcentral.com remoting my development Mac OS X machine. Ylian meshcentral.com

Interview with Professor Souqun Lu: Open Source Software Innovation in China (Meego, Android and beyond)

Last month, China Computer World Magazine, IT168 (China top IT portal), Daily News of Communication Industry and China Software and Information Service Magazine, co-interviewed Professor Lu Shouqun on  open source software innovation status in China.  Professor Lu is chairman of China Open Source Software Promotion Union (COSSPU), and  honorary president of China Linux University Promotion Alliance (CLUPA). He is also  adviser for Beijing Municipal government and China State Information Center, and is senior information technology consultant for China Huaneng Group, Corporation chairman for China Great Wall Computer Group and adviser of Open Source Development Labs. He also served as deputy director of the China State Council Information Office. Below is detail of media’s coverage on this interview and  Professor Lu’s blog on Meego’s innovation model, and how it matters to China. What is Open Source Software Ridding on the fast blooming of open source development in China, in server, mobile Internet terminal, Internet web sites, high performance computing and embedded categories, the market share for Linux based open source OS has jump to unprecedented level, and open source software has became the major player as more fundamental Internet  backbone software ( operation system, database, middle-ware, and office suites) are developed. By simple logic, we call any software that can be freely acquired, modified  and source code derived and republished as open source software ( the definition does not involve the commercial purpose of  open source software and other legal implication). Certainly different open source has different degree of freedom and openness. But strictly, by Open Source Initiatives ( OSI), Open source software must meet ten open source codes definition (so called Eric Raymond initiative): Free Redistribution. Source Code: all open source software must include source code and guarantee the openness of source code. Derived Works: Open Source license must allow revise and derive work ( develop and revise based on original software source code) Integrity of the Author’s Source Code: To respect the right of original authors, when revised open source software to be published, it must accompany the original source code. No Discrimination Against Persons or Groups: keep openness, encourage maximum participation, collaboration and co-authorization. No Discrimination Against Fields of Endeavor. For example, no discrimination against open source software used in security or commercial purpose. Distribution of License: The license of  open source software apply to all recipients without implementing any limited condition. License Must Not Be Specific to a Product License Must Not Restrict Other Software License Must Be Technology Neutral We must point out that without  business model and monetization, Open source will have no chance of surviving and becoming a major player, and realizing the production and commercialization; For developing infrastructure software (including those developed using open source infrastructure software), if the software is not self-controllable, the infrastructure software can not be realized or can not guarantee China’s national security strategy. Then, the production and promotion to its use will be blocked; To by-pass this potential block, we must explore the innovation of open source software, to meet requirements for developing open source software in  fields such as security and commercial application. Not only should we inherit, promote and realize the value deposition of open and share of open source, but also must we control the potential legal risk of open source software. What Will be the Future Mobile Operation Systems? Currently, in global scope, the major mobile phone operation system are Android, Symbian (Open), iOS, Meego, Black Berry OS, Windows Phone(WP), WebOS etc. Among them, 2/3 are open source and 1/3 are proprietorial. Some mobile computing experts believe that, after fierce competition,  in mobile arena, the mobile OS that can survive maybe not more than 3-4;  From my personal view, I am putting my bid on Android, iOS, and Meego that will likely be the top winners. I have discussed five advantages of Meego in my previous article”Open Source Based Operation System” (Open source, high efficiency in development environment, Open  development environment and architecture, developers from Intel and Nokia QT team,  integrated technologies),  recently there are two additional advantages surfing out: Meego’s simple and near primitive  development environment and application architecture, not as complicated as Android, which stepped on the hidden mine of patent infraction, and lead to $5-15 patent fees that Mobile phone maker GTC and Samsung etc has to pay to Microsoft and Apple . In 2011, there are significant numbers of organizations in different segment ( company, institutions, and government) that are developing customized Android OS. One way of another, Patent infractions will most likely be an agenda item on the table. The open source nature of Meego and its innovation model is likely the only solution for an open source operation system to be adopted in commercial and security business and government. What is the difference between Meego and Android Meego and Android are all open source operation system based on Linux Kernel. The major difference are: The kernel of Meego is Linux Kernel, so called major distribution kernel released by official Linux Foundation. While Kernel of Android is the branch kernel released by Google, and authorized and approved by Linux Foundation. Meego uses Qt as it development environment and development framework ( Qt abide the single LGPL Open Source license);  while the development environment of Android is diversified and tangled, adopting development tools and software from multiple sources, and abide different open source licenses, may including hidden patents. Meego’s application frameworks or function modules ( components)  are mostly LGPL open source licenses (there are also small percentage of framework use other open source, but has not private consultations signed mutual beneficial open source agreement).While Android’s application frameworks or function modules are based on Apache-2 Open Source License ( including Java virtual layer), and consists of 185 software framework, and use 19 open source licenses ( including many frameworks not approved by OSI, but signed by private limited mutual beneficial open source agreement: Reciprocal). Among them are some unavoidable hidden patent. Meego and Android independently develop and design its own user interface (UI) based on different mobile terminal device (such as Smart phone, Tablet, IVI and Internet TV etc), develop and integrate various Applications and focusing on User Experience ( UE=UI+Applications). In China, and may be other countries, the majority of development work for UE for both Meego and Android has been subcontracted to mobile terminal devices (MTD) manufacturers. Android platform is focused on  3rd party application development and integration, and managed using Google Android Market App Store (Got polluted by  quite a lot of virus and junk ads due to the loose management at the earlier stage). While Meego is temporarily be supported by Intel’s Appup.com and responsible by Meego.com of Linux Foundation. Meego’s innovative solution which singles out security strategy and security software from operation system, and allowed separate configuration, and independent development to guarantee the safety independence and controllability of operation system (Meego) Meego’s innovative solution which allow modifications, change and independent development of: 1): User Experience ( User Interface and various applications including popular applications provided in OS); 2): Some functional modules ( framework) of middleware. Those changed software part could be either open or proprietary. This guarantee that this OS can be independently owned and controlled by anyone, and a trusted foundation that a commercial model could be safely build on. In Which Direction the Open Source OS in China Will Go In the past, most open source OS developed by enterprises in China, are based on Linux Kernel, and transplanted with software from other open source OS . Most companies only organize their own development and own user experience on user interface and some applications (Including integrating some localized software with OS platform, and taking order for customer specified application), and use testing technologies and development tools to Debug, Bug fix and Patch to achieve software  stability, optimization and performance gaining  ( IBM even support the quality certification for Redflag Linux)  . As a mater of fact, Some OEM’s of Mobile OS in Taiwan have been doing the something long time ago, except that it took about 6 months of development circle and testing/validation are conducted in a more strict way with more regulations. Recently some well-known companies in China also  jump into the mobile OS development business, and started hardware and whole system design for its mobile device, and adding its own User Experience ( UE=UI+Applications) software on transplanted Android OS . S ome even developed its own application frame work software. In general,  independently developed Mobile OS’s by China domestic companies are mostly self-allied, isolated and mainly based on transplanted version from open source software outside China. Since only a small portion of the software are self developed, it is very hard for a Mobile OS of this kind to surf out as one of major mobile OS version in the world, and barely have space for improvement and promotion. Development of the domestic mobile operating system for China market, taking a completely closed “from the ground start” development mode is not desirable; The best choice is development based on open source software OS and it must also meet the two criteria: Meet the requirement for China’s national security strategy. Meet the requirements of commercialization for enterprises. Thus, a complete adoption of  original version of “fully open” OS is off the table. Also some deviated version of open source OS developed domestically does not conform to the needs of self-control; thus developing an innovative model of open source software OS has become a priority. Why We Need to Develop an Innovative Model of Meego With regards to developing an open source Operation System in an innovative model, Meego has more advantage than Android in many aspects. Meego’s development is  sheep-herded by Linux Foundation.  Mr. Jim Zemlin, Chair and executive director of Linux foundation, fully understand this. He wrote to Professor  Lu in June when 6th Open Source China Open Source World Summit was held Beijing”  I hope you can participate this summit, and we have opportunity to discuss the innovative model for open source, especially from the point of view of Chinese government (in consideration of national security strategy ) and entrepreneur (in consideration of commercialization and monetization) on open source development”, ” explorer together and find out the new innovation model for Meego open source software”. Professor Lu noted that the bigest shortfall of Meego development is that so far there  are missing heavy weight corporation partners in building Meego eco-system. He encourage Linux Foundation and any corporation (big or small) to come to China to find one, and jointly develop Meego operation system, especially the innovative model for Meego open source software development.

Fresh Yocto Code – the M2 Milestone release for embedded Linux goodness

Cross-posted from my blog on the Yocto Project site. Head over to http://www.yoctoproject.org for more information about the project, resources and all around good stuff Today we dropped another development milestone build for the Yocto Project. Introducing the M2 build . Our intent for these regular milestone drops is to synch up everything in the project and pause feature develoment, stabilize the software through some QA runs and bug fixing, and make it available to you, the community. This way you can evaluate the progress we have made, help identify and/or fix bugs and accelerate us to completion. It’s also a way for us to be totally transparent in the project. (And in the interest of complete transparency, I need to confess that I’m writing this in a little rental house on the Oregon coast, where at least part of my family is visiting with friends from college and their kids. For the Oregon beach, the weather is amazingly good – no wind, sun blazing away. But the sun, surf and sand does not excuse me from getting a blog post done). Beth Flanagan gave a very good description of our M2 release on the Yocto Project mailing list . I thought I would highlight a couple of important features which are available now: The Hob – As we have announced previously, we providing in the next release a user experience which provides access to the build system without editing a bunch of text files and running a command-line program. Now it’s possible to do most system development tasks from within the UX. Our goal is for any regular system developer to develop their custom OS quicker than working without it. (More below on a couple of warnings for using this version). Joshua Lock has been the lead on this feature, though there are many others contributing as well. Check out this wiki page for some rough info about Hob and its various cohorts. Layer Tools – This is a major extension of the Yocto Project to make it easy to develop independent layers. These can be maintained in separate repositories and combined together into a single distribution, you get enhanced warnings and notices when something seems messed up in yourlayer setup. And remote layers are supported now, thanks to an important contribution from Montavista. There are a number of features and improvements. Paul Eggleton has spearheaded this feature although there are many others who have contributed. There are other important features and updates and performance improvements in this milestone, along with a number of bug fixes. Check Beth’s release notes for details. A word on this version of the Hob: There are a couple of issues which are present in this version, and which are being fixed. These are eay to work around, and we would appreciate it if you would try out this version with these caveats and give us your feedback. First, before you try the Hob, we recommend that you do a bitbake build of an image from the command line. Then, Hob should work fine for generating images. So if the build directory is new, I recommend that you do: $ bitbake core-image-minimal before you try to use Hob. Second, there is a problem if you disable packages in Hob. Some of the code paths work, but there are several which do not. Best bet for the M2 version of Hob is not to play with package disabling. This should be fixed in the M3 version, which should be coming out in a few weeks. Launching the Hob in the M2 version is as simple as typing $ bitbake -t xmlrpc -u hob … once you have sun the usual environment setup script and done a minimal image build, as mentioned above.  This will be even simpler in a future milestone release, which will introduce a wrapper script. Thanks again for checking out the M2 version of the Yocto Project. We really appreciate the contributions and support of the community, and we’re interested in your feedback.

Flight routes and schedules through Google search

Google, which has invested $700 million in ITA Software, has announced a few new flight research features. One can now find out the schedule of all non-stop flights from one place to another of all airlines and also their timings. Full timetable is available with a click on “schedule of non-stop flights.”      List of destinations of non-stop flights of various airlines from a particular place to another is also available. And with a click on “show all non-stop routes” you can get more flight details. Google software engineer Peter Wedum says in the post that the company is keen to develop new flight search tools which are integrated with ITA software. The DOJ has laid down a number of conditions that Google has to follow with ITA’s presence and integration into the search. Not all are impressed with this development as consumers mention that these are available in other search engines and that Google needs to be more innovative. For instance add a price comparison between flights to make it more useful. We can look forward to something interesting from Google on the travel and flight research

Not exactly as planned……..luckily

  At the beginning of 2010 I had the opportunity to travel to Bangalore, India to meet with several ISVs.  The main purpose of the visit was to gain some insight to help with the development of the Manageability Checker, a tool created to help with AMT development and to test uses cases.   I also got the chance to casually talk to the ISVs about vPro and their enabling efforts to support the technology.  I gained a lot of knowledge during the trip and many of my learnings were incorporated into actionable plans to help ISVs with their development. One of the ISVs that I met with was Artin Dynamics.  They were kind enough to travel over 13 hours by bus to spend some time with me.  Oh sure, they were polite enough to answer my questions about the Manageability Checker.  But what they really were enthused about was the chance to show me their power management product, Spara, and how it worked to reduce energy costs.  Their excitement was evident and we then spent some time discussing how to incorporate vPro into the mix to take their solution to the next level.  We brainstormed for a while and adjourned with both of us optimistic that they would find a way.  With a little time and a lot of passion, Artin Dynamics has incorporated vPro technology into Spara, offering their customers the opportunity to manage power states across several hardware scenarios. What started out as a simple meeting to help me with my tool development, turned into a opportunity for Artin to extend Spara’s functionality.  If you want to read more about Spara and Artin Dynamic’s incorporation of vPro, click the image below. Tweet

A Step by Step Guide: Build A Virtual Meego Tablet on Oracle Virtualbox for Meego Apps Development and Testing

Background Last year, I built a  virtual Meego Netbook  using Open Sourced Oracle Virtualbox, and feel it is convenient and responsive compared with the Meego Netbook running from Emulator under Qemu. So, when first Meego Tablet Alpha version OS was released earlier this year, I have tried several time on building a virtual Meego Tablet on Virtualbox as a testing and validation platform.  My effort was not successful. Startting from Meego Tablet img/iso, I have tried many different installation methods( USB Stick, DVD etc), it always ended on a black screen after reboot. I could not figure which cross-road that I made a wrong turn, and google search on the internet neither landed any sourceful clue since Meego Tablet Alpha was very new. A lot of people asking the same questions as I did , but none of solution was documented or published.  However, the progress in this area is so critical as Meego Tablet OS’s birth unavoidedablely will experience certain degree of growing pain until it reachs its maturity. For Developers, getting a foot in the new emerging market is not easy, and your response time need to be very short, and actions be in leading edge. For Academic community. Educating student with latest technology when econemy is still in recovery needs some innovative solution.  Without need of any investement of Tablet hardware, by using Virtual Meego tablet platform, you will be able to develop, test and validiate Apps for Meego device, and get Apps being accepted by Intel Appup. No doubt it will be a very good way to test how deep the Meego river is. Not sure if  Android or IOS offer similiar opportunity. After …….., finally Iwas able to find a fast and simple way to build a responsive virtual Meego Tablet, and create this step by step guide to share with you. Hardware My laptop is a Lenovo T61 that I have been using for many years, even thoug it  was joked by friends as an “outdated laptop” at Intel Beijing IDF. I succesfully built a Virtual Meego Tablet for Meego App test and validation. It took about 4G of your harddisk, and is responsive, and about 3-5 times faster than the same virtual Meego netbook in Emulator under Qemu provided by Meego SDK. It is good enough for develop and test Meego Apps you developed using QT or Qt Quick. So here is the HW requirment based on my experience: 2G RAM Windows 7 or Windows XP (Inel Meego SDK for  Appup is ready) 4G Harddisk Medium price laptop in the market for around three years (Like my Lenovo T61) Installation process at the same level as that of an MS Office 2007  Download and Install Oracle Virtualbox First thing  you need to do is to go to Oracle website to download the Open Sourced Virtualbox:  Download VirtualBox . ( http://www.virtualbox.org/wiki/Downloads ). You certainly need to read and accept the agreements of using Oracle Open Source Virtualbox. I am using VirtualBox 4.0.6 for Windows hosts. You will also find out that Oracle Virtualbox is also cross platforms, and you can find Windows, Apple IOS,  Linux and Solaris which is great as it also mean that you can run Virtual Meego Tablet on those Platform once you are done with this step by step. Follow the default instruction to install  Virtualbox in your system, and get ready for next step. Create  Meego Image that is Compatibile with Oracle Virtual Box If Oracle Virtualbox is not new to you, certainly you can try the typical way of installation ( download iso to USB/CD and boot etc). You can try and good luck. Just warm up ( if you are not easily sweating like me).  Here what I will introduce to you is a very simple and conscise way of doing it differently . We first go directly to the backyard repository of Meego.com to grab the latest Meego Tablet image : http://repo.meego.com/MeeGo/builds/trunk/latest/images/meego-tablet-ia32-qemu/ After download the ~700M image, you can use Winzip or Winrar to unpack the package, you will get four files as below:   Here are the tricks that several of my Intel expert peers have uncovered, and I got it work after several tries.  This time we will use the Virtualbox Management Tool (VBoxManage.exe) that is provided by Oracle to directly convert the Meego Tablet’s raw  image to Oracle’s vdi image VirtualBox Disk Image (VDI), and by-pass the installation based on iso/img.  When you install Oracle VirtualBox, the VBoxManage.exe is placed at default installatio folder  at C:Program FilesOracleVirtualBox ).  I tried copyVBoxManage.exe out of this folder to do the conversion , but always got .dll missing error after several tries, and could not figure out the solution. So I get out of trouble shooting mood, and do the following: Copy the entire folder that you unziped Meego image from your download above, and contains the .raw image Meego to C:Program FilesOracleVirtualBox . For convenience, rename the folder name to meego. Start your DOS Window by Run as Administrator and cd to C:Program FilesOracleVirtualBox As the version of Meego image has being updated frequently, the version # is alway changing. However, the format is same: meego-tablet-ia32-qemu-${version}-sda-raw。The version I used is 1.1.99.4.20110426.4  as below, You will need to use your version # of your downoad, and execute command below :  C:Program FilesOracleVirtualBox> VBoxManage convertfromraw meegomeego-tablet-ia32-qemu-1.1.99.4.20110426.4-sda.raw meegomeego-tablet-ia32-qemu-1.1.99.4.20110426.4-sda.vdi  The terminal output will be:                    Converting from raw image file=”meegomeego-tablet-ia32-qemu-1.1.99.4.20110426.4-sda.raw” to file=”meegomeego-tablet-ia32-qemu-1.1.99.4.20110426.4-sda.vdi”…                   Creating dynamic image with size 3145728001 bytes (3001MB)…  After conversion is complete,prompt will return to C:Program FilesOracleVirtualBox> Congratulation!  you have just made a Oracle Meego VDI image based on the latest Meego Tablet image just published at Meego Repository. After this step, you can copy and move the vdi image ( around 1.7G) to the location of your choice, and get ready for the next step(A sweet reminder,  same vdi can also be used in the virtulbox on Linux, IOS and Solaris etc ). Create Virtual Meego Tablet in Oracle Virtual Box  Start Virtualbox and click NEW to create the new Meego Tablet Release: If you have use Oracle Virtubox before for Meego Netbook before, you know you will choose Fedora as the OS. This time is different, we will choose Operating System as Linux and Version as Linux 2.6 as above. The RAM of my old laptop Lenovo T61 is only 2GB, so I picked 360M of memory for Virtual Meego Tablet, it works pretty well For Virtual Hard Disk, make sure  Boot Hard Disk  is selected. Select Use Existing Hard Disk , and then open and select the Oracle .vdi image just created above by clicking and open the folder icon. To fully utilize the CPU virtual technology, you will need to select Extended Features Enable PAE/NX .  And also under Acceleration menu, you will need to select both Enable VT-x/AMD-V and Enable Nested Paging.    If VT on your laptopVT is not turned on yet, you can enable it in BIOS when you power on your laptop. Most laptops have VT support long time ago.  Then, have a quick check of your configuration at the Summary page Now, let’s start your Virtual Meego Tablet: Running Virtual Meego Tablet Oracle Virtualbox is loading about 3G of Software, so just  wait a little bit, and take your coffee: Now, with a Virtual Meego Tablet operating system on your screen, Touch screen, which is the major way of input and interaction for mobile device and tablet,  seems not an option anymore. If you are like me, which is not gifted and talented as my daughter as school, certainly you will get lost and fall into some kind of limbo. In fact,  it is actually quite simple than your thought. From now on, you will need to use Mouse to simulate your finger tip. Just move your mouse to the Lock–like Icon on the middle right of the screen, and press the left mouse button,  you will see a blue moon-like shape coming out. Continue to press the left mouse button and pull to the left, Magiclly, you put out the Meego Menu: If you are using the real Meego Tablet ( like an ExoPC, a Lenovo S10, or Webtab tablet etc), what you actually do is use your finger to press the white lock-like icon to pull out the menu ( if you have not setup the user password, or you will need to enter the password). In comparision with the real device and the Virtual Meego tablet, I can see Oracle Virtualbox did a great job, and create a Virtual environment that is much better than the Meego emulator running under Qemu. Once you get to the menu, here is another shock that you will have if you hanvn’t yet owned an iPad, iphone or Android device. If you get so used to the Windows, you will find out that every time you start a application in Virtual Meego Tablet ( Web browser, Photo Album, Movie, email etc), you will feel that you seems is driving into a highway that has not exit ramp, and there is no way out, and you unconscienously started looking for the familiar “X” on the top right corner of  Windows: Sure you will find that it is no longer avaialble anymore as we are in totally different User Interface for Meego Tablet, and you need to say Hello to Meego and Bye-Bye to Windows. If you owns a iPhone,  iPad or any touch screen device, you will likely know that closing a application is done by pressing the Home Key. So, actually what you  is the key that emulate ” HOME ” key. For Virtual Meego Tablet, this key is Window Home key: It is right, the “Window” key is the Home key for Virtual Meego Tablet,  By pressing the “Window” key, you will be able to exit any app that you are currently running and enter the following interface: On top left is the regular menu that display the frequently used items, and on the right are the complete menu of the system (see below). the top left displays the currently running Terminal  window. Congratulation!! you have just built a fast and convenient Virtual Meego Tablet, and start your journey, without any Tablet Hardware, to test out Meego.  Once you have start adding apps, the menu will extend to the top side and a page menu will appear. By default, Virtual Meego Tablet interface will automaticlly catch the Keyboard and Mouse input, if you want to go back to your Windows host  interface, just uses the right Ctrl key: Networking Virtual Meego Tablet with your Windows Host System  As Intel Appup Store alredy launched Intel Appup Meego SDK  for Windows ( Appup Meego SDK for Linux is coming soon), so currently the best Meego Apps Development solution is using Meego SDK 1.2 for Windows to develop apps and use real Meego tablet or Virtual Meego tablet for testing, validiatation and packaging for Intel Appup Store. By networking Virtual Meego Tablet with your Windows Host system ( two OS on same system), you will be able to directly test any Meego Apps you are developing directly on the same laptop, just like testing on a real Meego tablet device on your local IP network. To set up the Network connection, do below: Start Oracle VirtualBox and then Setting –> Network Change  Network Adapter Attached to to: Host-only Adapter , and then change   Name :to VirtualBox Host-only Ethernet Adapter . Then start the Meego Tablet, Open a terminal Window, use  ifconfig command to find the IP address of your Meego Tablet Virtual OS:   Start WinSCP ( If you haven’t yet install WinSCP, you can download from   HERE )。 Make sure  you set the port # as 22,  and the password for default User Meego  account is meego (latter we will also learn how to setup and push apps directly from QT to irtualbox):   Once the connection is established, you can upload the Development environment, update, Meego SDK and your apps into your Virtual Meego Tablet, and directly test and validate your apps. Push and Test  Apps  on Virtual Meebo Tablet  platform I will continusly blog on develop, test and validate Meego  app using Oracle Virtualbox as well as the packaging of Meego apps for Intel Appup. We are also releasing a Meego Curriculum Course that I am developing together with my Intel peers to Intel Academic Community. Feel free to provide any feedback or experience on this Virtual Meego Tablet step by Step Guide. Tweet

Does Parallelism Matter to Hiring Managers?

Kevin Goldmsith, Sr. Software Development Manager, Professional Digital Imaging Group, Adobe Do hiring Managers care about Parallelism? You’re thinking about making changes to your courses; you might even be hard at work figuring out how exactly to integrate parallelism into the entire curriculum.  Maybe you’re trying to sell these changes to your Dean.  It’s hard work, so why exactly are you doing it?   Probably because you took this job to help students get ahead  and it’s pretty clear that the new job market will demand those skills. So what are hiring managers looking for?  With his experience  interviewing potential employees for careers as software engineers and computer scientists, Kevin Goldsmith from Adobe Systems is in a position to know.  He believes that a solid background in Parallel Programming could be the key to competitiveness for new graduates.     Kevin has spoken on this topic at the Supercomputing Conferences, as well at Intel Development Forum, San Francisco.  Whether you agree or disagree, let’s start the conversation now. Put your thoughts, ideas and questions in the comment field below. We can discuss them online and then take them up with Kevin, May 17, 10AM PDT, when he appears on the  Teach Parallel show. Tune in live on May 17, 10:00 AM PDT Tweet