text:
If you have been on the lookout for a few home improvement ideas that will not take a lot of time, you're on the correct page. This blog is for you, particularly if you're a busy homeowner. Continue reading.
Fixing a seat
An old seat? If so, we propose drilling pilot holes and driving screws through the rungs underside and into the seat legs.
If your vinyl windows or doors do not open or close correctly, the frames could have accumulated gunk and allowed rodents in. Occasionally, even clean windows and doors may bind. You might spray WD-40 on the goal areas and then use a rag to wash it off and call Critter Control Cost.
If you want to repair a broken shower head or a pipe that is wobbly, you can use some expanding foam. Then you can encase the pipe and repair it. This will get rid of the wobble.
If you do not have sufficient money or time, you might choose to cover ceiling hole using a smoke detector.
If you would like to fix weathered flooring, use a stud finder to get the flooring joists. You can add in a twist by means of a mat, carpeting and the subfloor to attain the floor joist. Just be certain that the upper area of the screw does not have any threads. Ideally, you might choose to utilize trim screws because they have larger heads. If that is true, you might choose to pull the screw up and then tighten it again.
Eliminate Water Stains
Before tearing down the ceiling, you might choose to try this trick. It is possible to use a combination of bleach and water and then await a couple of days. If the stain is older, you can try out a mold and mildew product. This suggestion may work both on horizontal and textured ceilings.
To correct a wallpaper seam, it's possible to soak a rag in lukewarm water and then apply the glue around the seam. You might choose to hold the rag there for a few moments and then open the seam somewhat for more room to put the seam sealer. Set the liquid into the gap and then push the paper from the wall by means of a roller.
These are a few fast and effortless home improvement tips.


text:
"Manifestation Pour L'égalité" – a protest in support of marriage equality
In response to a manifestation 2 weeks ago (see the post below this one) against new legislation in France which would allow same-sex mariage, between 125,000 and 400,000 people marched through Paris Sunday. The demonstration "Manifestation pour l'égalité" marched to the Bastille, waving rainbow flags and chanting calls for equality in mariage and adoption for same-sex couples.
Much like the march 2 weeks ago demonstrators marched peacefully to the sounds of pop music and with support both inside and outside the demonstration. Tuesday (tomorrow) debate begins in the National Assembly on the new law, which many believe is likely to pass.

subset: commoncrawl


text:
I have been using Google Apps for a number of years now and I have gotten so used to it that I cannot fathom any other way of operating. I am sure that some of you share that sentiment. :)
Up until a few months ago, Google Apps had its limitations. The actual Apps was in some sort of a jailshell, isolated from the whole Google suite of applications. For that reason you could not use your Google Apps login to enjoy the service of Google Reader for instance. You had to be sneaky about it. You had to create a Google Account with the same username (and password if you liked) as your Google Apps domain and although the two did not communicate, you could have effectively "one login" for all services.
This limitation became more apparent with the increased usage of Android phones (where you need to have a Google Account on your phone) as well as Google Voice. Users have been asking about the "merge" and Google responded with significant infrastructure changes to cater for the transition. In my blog post Google Apps and Google Accounts Merge I present additional information about this, inclusive of a How-To on the transition for administrators of Google Apps. Unfortunately the process is not perfect and there are still some services that are not fully integrated with the new infrastructure (but will be in the future). For instance in my domain, since I use Google Voice with my domain email account, I am still on the "old" system because the account could not be transitioned. It will happen in the end, it just takes time.
The biggest issue for me that was related to these two separated accounts (Google Apps Account vs. Google Account) was Picasa and Google Docs.
I have been very methodical in my filing, utilizing electronic storage as much as possible. For that reason I have been scanning documents and uploading them to Google Docs (or if they were available in PDF format I would just upload them). The documents would range from personal, utility bills, bank statements, anything that I want to store. Soon I realized that the 1GB that Google Apps offers for documents will not cut it. I therefore created a new account which I named DocsMule1 (clearly to signify its purpose). I created one folder in that account, uploaded as many documents as I could there and shared that document with my own account as well as my wife's. Soon I found more limitations since I ended up with 3 mule accounts. Since there was no option for me to upgrade the storage (even if I paid for it), I had to change my strategy. Managing documents from 3 or more different accounts is not an easy and convenient task.
I downloaded all my documents back to my computer (gotta love Google's Data Liberation) and deleted them from the Google Apps mule accounts and then deleted those accounts - just to keep everything tidy. I then launched my Gmail account and signed into Google Docs. I created one folder which I shared with my Google Apps accounts (my wife's and mine) and then paid $50.00 for a whole year - which provided me with 200GB of space. You can always check how much space you are using by visiting the Manage Storage page of your Google Account.
Once that was done, I started creating my folders (collections now) and uploaded all my documents up there. In addition to that, since my parents live in Greece, they rely on VoIP chat as well as my Picasa to stay in touch with their grandchildren. My wife and I, through the use of our mini camera as well as our Android phones, take a lot of pictures of the kids, documenting the little things that they do on a regular basis. This serves as a good archive for them when they grow up but also as a good way to stay in touch with my parents. Google's additional storage was the solution.
Problem solved. With minimal money I had everything sorted out. It did however inconvenience me quite a bit in the end, since a lot of my data was scattered now. The GMail account would keep Picasa and Docs, the Google Apps account my email, my Google account my Reader, Web history etc. Not very convenient but it works.
Around February, Google announced that they will be offering the option to Google Apps users to purchase additional storage. I was really happy about that since I could therefore ditch the GMail account for handling my docs and keep everything under the domain account. However something was wrong. When Google revealed their pricing (the announcement is not there any more but the prices I am quoting are real), I quickly found out that for the storage I currently have, I would need to spend $700.00 a year instead of $50.00. That did not make sense at all. Needless to say, I stayed with my existing plan.
Storage Price (per year)
A few days ago, Google announced changes in the pricing of additional storage for Google Apps users as well as changes to the free storage that Google offers for Picasa. Picasa Web Albums does offer 1GB of free storage but now photos of 800x800 pixels or less as well as videos of 15 minutes or less do not count against the 1GB of storage. You can read more about the Picasa Web Albums storage in the relevant help page.
Storage Price (per year)
As far as the new pricing is concerned, Google brought everything in line with Google Accounts pricing (effectively scrapping the initial - expensive - pricing plan for extra storage). The help page Google Storage - How it Works offers additional information for those that want to use/upgrade their storage while using a Google Apps account. Effectively it now costs exactly the same to purchase additional space for your Google Apps account (to store documents) as it would if you were using a different Google Account. That probably means that I have to download everything to my computer and re-upload it to my Google Apps account....
To take advantage of this feature, you will have to go to the Purchase additional storage page while logged in with the Google Apps account that you wish to purchase storage for. Note that there is a warning that appears in red (see image) that warns you that you are using a Google Apps account. Google provides this information since your Google Apps account relies on the Google Apps administrator. If you have an account on Google Apps and you purchase storage, that storage will be gone if the administrator deletes or restricts access to your account.
In my view, Google has done it again. They now offer an extremely affordable and secure way of storing your data. There are loads of people that have concerns about where their data is stored, who has ownership of the data stored, what does Google do with the data etc. A lot of these questions can easily be answered if you google (duh) the relevant terms or search in Google's Help Center. Data Liberation allows you to retrieve your data whenever you want to. If on the other hand you are skeptical and do not wish to store your data there, don't. It is your choice.
Anyone that has a Google Apps account and wants to access other services like Google Reader, Google Voice etc. knows that the username and password of the Google Apps account does not work for these services, since those are not available for Google Apps accounts. To get around this limitation, what you could do (and what I have done in the past) is to sign up for a new Google Account with the same email address as your Google Apps account. This of course creates confusion at times, duplication of data and disassociation of services. The most obvious example of this is on an Android device. To use my phone, I need to sign in with my Google Apps account. However, to use my Google Voice number, I have to use sign in again for that service but now using my Google Account (which uses the same email address). This works but I still have to keep two sets of contacts - one for the Google Apps and one in Google Voice.
According to Google, 9 of the top 20 requests> from Google Apps customers are for their accounts to work with more services from Google. To facilitate this, the Google Apps account had to be merged with the Google Account. This page in Google Apps Help describes the transition.
Unfortunately this was not a simple flip of a switch for Google. Significant infrastructure changes had to be in place prior to the merging of the accounts. We were promised that this change would be in place by fall and we have not been disappointed. Google is rolling out the update slowly but if you want to 'speed up' the process, you can sign up for an early round of testing of the new infrastructure. I have signed up for several of my Google Apps domains a couple of weeks ago.
I am happy to announce that one of my domains has already gone through the merge process. The domain is BeautyAndTheGeek.IT which is a Google Apps Premier edition. My other domains that are hosted in Google Apps have not transitioned yet and I suspect that Google is first merging Premium accounts, then Educational, Government and it will finish up with the Standard edition of Google Apps, which kind of makes sense (paid customers first!).
The merge process works as follows:
If your Google Apps account email address has never been used to access Google products such as Google Reader, Google Voice, Google Code etc. then your Google Apps account will be converted to a Google Account.
If your Google Apps account email address has been used to access Google products such as Google Reader, Google Voice, Google Code etc. then your Google Apps account is conflicting with your Google Account. This page in Google Apps Administrator Help provides an overview of conflicting accounts. In short both of your accounts will merge and the data will be associated with your Google Apps account, which will now be the same as your Google Account.
There are certain limitations to this merge (as one would expect :)). These are as follows:
Resources: Transition readiness checklist, Conflicting accounts, Early adopters, Additional storage for Google Apps, Google Apps Administrator Help Center
Once I logged in my Google Apps Administration area, the Dashboard presented a new notice at the top. In short the notice states that new services will be available to the Google Apps accounts. This will be achieved with the transition of the Google Apps Account to a Google Account. The update is free and Google will automatically roll it out on September 30, 2010.
Resource: Google Apps core suite
Clicking the "Get Started" button at the bottom of the notice will start a wizard that helps with the transition of the domain's accounts to Google accounts of your users (some or all). The first screen contains information that aids in understanding the transition and what is involved. Moving to the new infrastructure will update your control panel and give you control over which Google services your users can access with their accounts.
Resource: Transition readiness checklist, Google Apps Administrator Help Center
Based on the services that are available for your domain user accounts, the screen above might be slightly different. It does however give you (the administrator) the ability to enable or disable services for your users. Note that turning off a service will disallow your users to sign up for that service using their Google Apps account for your domain. It will however not stop them from using a totally different Google Account (personal for instance) to access that service.
Confirming the new services, the wizard will display a new screen, that will allow you to notify those users that have conflicting accounts. This screen provides information on how many users have conflicting accounts (in my case only 1), what happens to those accounts (the merge process) and what should you do as the administrator. Google will not provide information on which of your users have conflicting accounts. What they will however do, is offer you a temporary email address and an email template, that you can use to email your users. The email template is shown in the "Google Apps - Email to User" section below.
Clicking Continue, brings up the User Selection screen. Here the administrator can select whose account will be transitioned for now. You can choose to pilot test this transition with a small set of users or everyone. The difference is that if you choose a small set of users to pilot test this transition, you can revert their accounts back to what they were prior to this step. If you choose "Everyone" from this screen, the change will be across the organization and cannot be undone. Reminder here that the transition will happen either way by the end of September, 2010. Finally you have the option to inform the users when their account transition is complete. This generates an email (in English) to the user with relevant information. You can see the email in section "Google Apps - Email to User" below.
Resource: Early adopters
Clicking Continue again will bring up the final screen which is the confirmation page. Google is very thorough and I like the confirmation screen. The information in this screen is a summary of what the wizard collected in previous steps. You (the administrator) will have to confirm in several places that you have understood the process, read the agreement and then accept the whole process. Clicking I accept. Start the transition. will make things happen :)
Resources: Transition readiness checklist
Navigating back to the dashboard, you will see a message notifying you that there is a transition in place for the accounts of your domain and can take up to 24 hours to be completed. This serves as a reminder on what has just happened. The notice will disappear once the transition is completed.
If you (the administrator) chose to notify your users of this transition (see step Select Users above), they will receive an email like the one shown above. If you chose to notify your users with a different message then that message should have been sent to the temporary email address that Google has provided (see step Notifying Conflicting Accounts above)
Resources: Data ownership, Transition readiness checklist, Google Apps Administrator Help Center
Finally another email will be sent to the user summarizing what has happened with their account. This email contains links to additional resources.
Resources: List of products, New sign in option, Data ownership, What is a browser?, Using multiple accounts, Help Center for Admins, Google Apps Administrator Help Center
Once the transition operation is completed, the next time the user logs in their account, they will see the screen above. In short this screen informs the user of what has happened and provides links to online resources for help. The user must click I accept. Continue to my account for them to have access to their account. This is a one off process.
Resources: Google Apps Administrator Help Center, Google Security and Privacy, Using multiple accounts, Terms of Service
Without a doubt this is a huge step forward for Google and for us as admins or users. The ability to have a single sign on to use their products not only helps them but us by simplifying everything. That also means that if a hacker guesses that my password is password1 they have access to all my Google related services... but oh well :)
Joking apart though, I am really excited that this change has finally occurred. I am guessing that the next steps would be to give users or admins the ability to purchase additional storage for a single account is something that in my view will make quite a lot of money for Google. A lot of people will want to keep all their emails and are nearing or have reached their email quota. Administrators would be happy to pay for certain users that have depleted their email storage allocation without converting their whole Google Apps edition to the Premier one. After all, if your organization has 100 users and 5 of them are near capacity, even if you pay $20 per user it will cost $100 per year. If however the whole account is changed to a Premier account (with 25Gb per mailbox) the cost will go up to $5,000.
Some questions come to mind:
Still a long way to go until everything clears up. I am not sure that Google has all the answers yet but they are moving forward and this is the most encouraging news of all!
The newest version of the Android Operating System has been codenamed Froyo (as in Frozen Yogurt).
Although I have heard of the name, I was not following very closely the development of the said OS, so I did not know what to expect. The presentation on Day 2 at Google I/O was more than impressive so I had to get my hands on it :)
After the GoogleIO presentation, I was regularly checking (Settings – About Phone – System Updates) my phone to see what kind of version I am running and whether the update was waiting for me. Unfortunately I was disappointed every time, therefore I resigned to the idea that it will update when it is pushed to my phone.
A few days later though, reports on the blogosphere started appearing of users now running on Froyo. The update started rolling out so it was a matter of time for me. Most of the reports were coming from California, so if I were to look at the geography, it would take the update quite a bit of time to reach West Virginia :)
Through my regular research on the Internet, I found a few interesting blog posts that claimed that one can update the Nexus One without waiting for the update to be rolled out. Having nothing to lose, I decided to try it on my phone and see what happens.
Below is how I upgraded my Nexus One to Froyo. I had a couple of failed attempts, loads of Googling but I finally managed to get it to work. Luckily a couple of days later an article appeared on Lifehacker which confirmed that the steps I took were the correct ones!
I connected my Nexus One to my computer using the USB cable.
The phone was detected and I mounted the SD card from the phone (bring down the notification area and select the USB connection – select mount to mount the SD card)
When I performed these steps I had to navigate to a URL on the Android website (see article on Lifehacker).
I copied the file and pasted it on my newly mounted drive which was the SD card of my Nexus One
The file is 45Mb and when the copy was completed, I unmounted the SD card from the computer initially (click the status area and select Safely remove
The update instructions below are the original work of SimonNWalker and can be referenced here.
With the update file uploaded on the Nexus One, all I had to do is shut down the device so that I can reboot it in recovery mode. The steps I took are as follows:
I clicked and held the power button until the menu appeared. I selected Power Off, confirming that I wish the phone to power off.
Once the phone powered off completely, I pressed and held the trackball button down and then pressed the power button. A new screen appeared (which, like myself, you probably have never seen before) with three androids on skateboards at the bottom and several options at the top.
I navigated using the power and the volume buttons. I selected the first option (Bootloader) using the volume buttons and pressed the power button to activate it.
A new menu appeared with the following options:
I navigated to RECOVERY and selected it
The familiar Nexus One X appeared on the screen. A few seconds later, a little android with a big exclamation mark in a triangle replaced the X.
The next step I took was to press simultaneously the power button and the volume up button.
This brought a new menu at the top.
The options available were:
Using the trackball, I navigated to the second option and pressed the trackball button down.
At this point the update started and some information was flashing on the screen for a while, where some files were patched, some deleted, new ones copied and others replaced accordingly. The whole process took roughly 5 minutes from start to finish.
Please note that these are my own observations. Some of the features here might have been present in the previous version of Android (Eclair) and I simply did not notice them. If that is the case please let me know and I will correct the post accordingly.
This is one of the updates that I just love. Froyo allows you to search a lot of content that is stored on your phone. The content includes your contacts, sms messages, applications, twitter feeds and many more. With all this power it is very easy to find the information you are looking for with the press of a few keys on the virtual keyboard (Figure 4).
Since with great power comes great responsibility, Froyo allows you to select what can be searched. Go to Settings - Search - Searchable Items and you will find the following options:
I am sure that the search extends to other applications. Your results might vary based on the apps you have installed.
When I first heard about this feature during the presentation of Froyo at Google I/O>, I was really excited.
I spend every day 3 hours on the train, where I mostly work on my notebook. Having the ability to tether my phone and work online is essential. A couple of years back when I bought my first iPhone, I managed to jailbreak it and installed iPhoneModem on it to achieve the functionality that I wanted (tethering). It wasn't fancy (after all don't expect miracles with AT&T's EDGE network) but it worked. I could get my emails reply quickly and disconnect.
When I got my Nexus One, I bought PDA Net to achieve the same result. It worked too but again in a very basic mode but it was draining the battery very fast and was running the phone very hot.
After I upgraded to Froyo, I uninstalled PDA Net and have been working with the built in functionality ever since.
To access the Tethering options, you will need to go to Settings - Wireless & Networks - Tethering & portable hotspot. The options shown on Figure 6 appear, which allow you to switch the Wi-Fi hotspot on or off. A USB tethering option also exists for those that want to keep their phone charged with the power that comes from their notebook or attached device. Once the hotspot is enabled, a blue icon appears at the top notification bar. The configuration of the hotspot is really easy and can be seen in figures 7 and 8. For those wondering why I chose the SSID of my hotspot to be one of the most infectious (Windows) viruses ever, it is exactly for that reason. Apart from the WPA2 encryption, the name itself is a deterrent for anyone that might get ideas in stealing bandwidth.
Everything works perfectly apart from AT&T's EDGE network, which is really slow. The Nexus One I have can support T-Mobile's 3G network. I haven't switched to T-Mobile yet since there was no need. I fear though that I will not be able to escape the inevitable.
On June 2nd AT&T issued press release where they showed us once again that they don't give a damn about their customers since they lie, deceive and overcharge for a mediocre (at best) service. You can read the press release and draw your own conclusions but to me it seemed once again a slap in the face.
No more unlimited data plans for new customers, yet it is not clear what will happen to existing customers such as myself. I read somewhere in the blogosphere that those plans will remain as is, but this is AT&T that we are talking about - the same company that claims that calls to 1-800 numbers are free yet they charge you minutes for it.
I have signed for the unlimited data plan, yet AT&T does not allow me to tether. Why? What difference does it make? They still offer the same crappy EDGE network whether I watch a YouTube video on my phone or on my computer. The answer is in the press release. They want more money. As phones get 'smarter' they phone companies get greedier. John Gruber offers a good analysis of the new AT&T data plans.
I do not know how this will evolve but I will definitely continue using the Wi-Fi hotspot on my train ride, whether this will be with AT&T or T-Mobile. Perhaps if I change to T-Mobile I will be able to have better coverage. AT&T in West Virginia is not the greatest carrier. Notable is a recent phone conversation that I had with my wife while I was driving (I am wearing the headsets btw) where the line dropped 9 times :(
This was something that was needed in my opinion (Figure 9). I was pressing way too many buttons to get to the phone, especially if I was not on the main screen. This little shortcut is very well received and thought of. I do not think that there is enough space for an additional 2 buttons (for the future release of Android) but you never know.
Perhaps a future version will allow you to customize those buttons.
Android development though has to be very cautious when releasing functionality. I am sure that Apple is checking everything that Android does with a microscope. With their enormous patent book near by, they will not hesitate to sue Android (or Google for that matter) for patent infringement (see Apple sues HTC).
This area can be accessed via Settings - Accounts & sync settings<.
I noticed that not only my regular GMail and Google Apps accounts appear but also YouTube as well as Twitter. I have installed the official Twitter application so I am pretty sure that this synchronization appears because of that application.
I have not tried it with Seesmic or any other twitter application, so if you have any additional information please let me know and I will modify this post accordingly.
I would also be very interested to know which other applications offer synchronization capabilities or take advantage of Android's synchronization API. If you have any other applications that synchronize on your phone, please let me know and I will include it in this post too.
When I switched from an iPhone to an Android based phone, certain things were just "not right", not because there was something wrong with them - it was how I was used to things being done. One of those areas was the email. With the iPhone I was used to a traditional listing of accounts and then once something was selected I would go into the folders and then emails. If I wanted to change accounts I would have to go back two steps and then enter the account that I wanted.
This seems a very logical approach and it is easy to get used to. Although the Android has a better email management interface, it lacked the ability to quickly switch accounts and thus not spend time tapping away going back or forth. In that area the iPhone was better. Note the was. It was not because the user will tap less times, but because you would tap the back button twice which was located in the same area of the screen at all times. For the Android you had to press the menu button and then select Accounts. This was again the same amount of steps but the iPhone approach felt more natural.
With Froyo a new button appears at the top right of your email screen which will allow you to quickly go to the account selection screen. This effectively reduces the steps by one.
Analyzing briefly my emails, I can say that on average I receive 25 emails on my personal account and 35 on my business (I chose the two accounts that I get the most traffic). So if in theory I get two emails every time I check my email, that would mean that I am checking my phone 12 - 17 times a day (assuming again that I get the batches of emails on both accounts at the same time). It would therefore be safe to assume that I check my emails 15 times a day where I need to switch from one account to another.
So the math gives us:
|Average Email Checks per Day
Clearly with the above I am using now half of the screen taps than I used to with Android Eclair or with the iPhone. However the this rough calculation shows how much I was tapping in the past prior to Froyo. Goodbye RSI. :)
If you are like me and use Google Apps or GMail, you are by now accustomed to the colored labels on your emails, that you don't know what you have been doing without them all this time.
With Froyo, this functionality is now available in my mobile device allowing me to visually identify emails of high interest.
For instance, Figure 12 shows my setup. As you can see I mark clients with a green label color and financial institutions (bills mainly) with a red color. When an email reaches my mailbox and is automatically labeled due to a relevant filter, I can easily identify its importance using this color coding.
Having this functionality on my mobile device is invaluable!
Easier navigation between emails - New < > buttons appear on the phone to get you from email to email
Another huge improvement in the navigation part as far as emails are concerned came in the screen where I read a specific email.
There are two extra buttons at the bottom of that screen which allow navigation to the previous or next message.
Another great tap saving feature!
I had some problems with this feature from time to time primarily due to my accent – a blend of Greek – English British – German and English American. After a few tries on the new system, I can say that there is improvement since it recognized now queries that it had failed in the past.
The voice search will probably never be able to detect everything that everyone is saying due to the different accents and voices of people but it is getting pretty close to perfect in my case.
One thing that I love about voice search is the voice navigation. I have purchased the car dock for my Nexus One and I use the voice navigation almost everywhere I go. Understanding that I want to go to Rockville, MD instead of Rock Creek is awesome!
This feature was missing and was probably one of the ones that were mostly requested by the users. The Update All to the installed applications.
Luckily the Android developers have heard our pleas and Froyo now features an Update All button at the bottom of the Downloads section in the Marketplace application.
Adding to this functionality, the user now has the ability to automatically update selected (or all) applications. When clicking on one of the applications to update, a checkbox appears which allows for automatic updates. If the checkbox is checked, the next time the selected application has an update, the phone will download it and install it.
There will always be a notification regarding the action in the notification area, but unless you know where the application is coming from (and you trust the source) you should keep this checked off. I know I might be getting a bit paranoid here but that is what I did.
I am not sure if this existed in Eclair but I just noticed it. When an email arrives, the trackball will start glowing briefly in regular intervals with a white color to visually notify me about the email(s) waiting for me.
If I receive a Google Voice message though, the trackball will still start glowing but this time it will be with a green color. This way I know that a text message is waiting for me.
I have sent a text message to my AT&T number and did see the trackball glowing but this time it was only white. It appears that the green trackball notification is a feature of Google Voice on Froyo or again it was always a Google Voice feature and I hadn't noticed, at which point I am getting excited for nothing :)
These ones I loved them the first time I saw them. If USB debugging is enabled (Settings - Applications - Development - USB Debugging), the minute the phone is connected to the computer using the USB cable, a new icon will appear in the notification area (Figure 15). It appears that it is an android bug of sorts :)
When the phone is connected to the computer via the USB cable, the user has the ability to use the SD card as a storage device. Once the relevant entry in the notification bar is tapped, the screen with the "Turn on USB storage" will appear. If I switch the USB storage on, the screen changes slightly.
These were two really cool (in my view) new screens that engage the user even more in exploring their device!
A new enhancement appeared in the Camera application (Figure 18).
The new menu that changes position based on the orientation of your phone (horizontal or vertical) allow for zooming, flash control, white balance control, geolocation and exposure.
The options available are:
Unfortunately these controls only appear when taking photos and not when shooting video. I am sure however that this functionality (and more) will be extended to the video capturing aspect of the camera application.
This is an area where the iPhone was far better than the Eclair and unfortunately still is with Froyo. The gap though has decreased significantly.
With Froyo I can now select text from say an email and paste it somewhere else - even a different application. The Select Text option is hidden under the More menu button and once selected, it creates a small mouse pointer. That is the start of where it will start selecting (Figure 20).
I simply point to the top left area I want to copy from and drag my finger diagonally to end up at the bottom right of the area I want to select. This will select the text in a very appealing pink color and as soon as I lift my finger from the screen it will copy the text on the keyboard (Figure 21).
The technique on the iPhone is better but not by much - as I wrote the gap has decreased significantly. On the iPhone you have a magnifying glass where you can pinpoint exactly where you want to start copying (or inserting text - same functionality).
Again unfortunately this functionality (the one with the magnifying glass for selecting text) is patented by Apple Inc. and will not be seen on an Android based phone but I am sure that the Android developers will come up with something that will give us the same if not better user experience.
Steve Jobs never kept secret his thoughts about Flash support on an iPhone. Although many people were hopeful that something will be worked out with Adobe in the end, Mr. Jobs shut the door on Adobe. Adobe then invested time and resources to work something out and right before they were able to release their solution Apple changed the iPhone Developer License Agreement to allow only applications written in Objective-C, C, C++ or Javascript and executed by the OS Webkit engine. Adobe had enough and issued a 'screw you apple' (not officially of course).
The presentation on Day 2 at Google I/O included the news that Flash will be allowed and supported on Android based phones that run Froyo (or newer versions).
I have to admit, the first version of Flash that I installed (it is still in BETA) was really slow. However three versions later, I am happy to announce that it works as well as a desktop machine. I have not tried to load a heavy flash based website but my brother in law's website (www.dnm.gr) loads just fine and you can see all the information that you need to see :)
I am sure that in the coming months we will see a lot more progress in that area.
The Android 2.2 (Froyo) is a huge step forward. It provides users with a lot of functionality that transforms a phone to a multifunction communication device. The only thing that we are missing now is proper coverage from the national carriers (AT&T this one is for you) and without having to sell our first born children to pay for the monthly bills (AT&T this one is for you too).
There has been another blog post on AndroidAndMe explaining how to update Froyo to the latest build (this one is a patch not the real thing).
Happy 4th of July! It came with the update for Froyo (officially now) on my cellphone. I am now running the FFR91 build (and so does my wife).
Everyone more or less has some sort of electronic presence. That presence can easily be seen on Twitter, Facebook, Google Plus, personal blog etc.
What most people neglect to realize that this is only the tip of the iceberg. How about the information your bank stores about you? Isn't that an electronic/online presence? Some server contains vital information about you and your bank uses that information to identify you against someone else. If your bank provides online banking, then the Internet becomes the interface that you use to access your own personal information (mainly funds) which again is stored somewhere else.
The same happens when you purchase something online. Say you want to purchase flowers for your loved one. You will be probably asked to create an account with the florists's website and you will need to provide payment for the flowers. The authenticator, in this case, is some company that will check your credit card against an online record (again stored somewhere) in order to authorize the payment.
With this in mind, I have been wondering lately why all of a sudden everyone seems to be trying to stab Google, due to some mishaps with Buzz? Were the controls that Buzz had initially set correctly? You might say no here and I would have to respectfully disagree. The point is that there was the option for people to opt out, the terms of service were there for everyone to read (I am wondering who did if any) so why was something set incorrectly? Why complain if the information was available for everyone to make an intelligent and educated choice as to use the new tool or not? If you did not investigate and read all there is to it regarding Buzz then you are responsible for anything that comes with it.
I hear already people screaming at me that this was supposed to be an opt-in not an opt-out service. I agree and disagree there. Allow me to elaborate.
For starters Google offers Buzz (and GMail) for free. How come all of a sudden this free product (which mind you is of extremely high quality) became everyone's right and stopped being a privilege? Yeah sure, Google runs ads and displays them on the right side of your GMail. That is how they offset their costs. Is anything wrong with that? I don't think so. Yet you have people that try to download special extensions to block ads, they change their signature to contain certain keywords that Google has deemed inappropriate - in short endangering everyone's use of GMail because if it turns out to be totally not profitable for Google they will simply close down the service or start charging for it. If that happens the first people that will complain are going to be the ones that caused this i.e. the ones that were blocking ads.
Everyone complained about Buzz. It was not secure enough, it exposed personal information etc. If you looked closely, the choice to opt out was available. People will argue that it was not the default value but that is not the point. The option was available (and still is) and people should start reading what they sign up to. Terms and conditions exist for a reason and people should start reading that stuff and exploring the options/settings prior to signing up to something!
A few days ago I got a letter from Flagstar Bank, which is (was) my mortgage bank. It appears that they sold my mortgage to EverHome (just another mortgage company). This is a really common practice over the course of a mortgage. Thus far (6 months into my mortgage), I have changed 3 companies. I would be interested to see what will happen in the course of 30 years :).
After receiving this notice from Flagstar Bank, I got a new letter from EverHome with some interesting information. The most interesting part of this documentation was the Privacy policy of EverHome. Here is what is in store for me (emphasis mine):
Do we disclose your information to non-affiliated third parties?
We may disclose all of the information about you, as described above, to certain people, subject to legal restrictions, and subject to your right to ask us not to share your information. Your right to ask us not to disclose your information is referred to as your "Opt-Out Rights" and is more fully described below.
To what non-affiliated parties do we disclose your information?
Subject to your Opt-Out Rights described below, we may disclose your nonpublic personal information to the following types of third parties:
- Financial service providers, such as banks, mortgage companies, mortgage brokers, consumer credit companies, investment advisors and similar companies;
- Insurance providers, such as life insurance companies, credit insurance companies, hazard insurance companies, automobile insurance companies; and<
- Other optional service providers and organizations.
Even if you opt-out of information sharing, we will still share information about you with certain third parties as permitted by law or regulation. This may include but not limited to, disclosing information:
- To parties assisting in servicing or processing of your loan;
- To our lawyers, accountants, auditors, regulators and advisors;
- To protect our rights relating to, and the security of, your loan, our website, or our telephone customer service center;
- To verify the existence or status of your loan for a third party;
- To companies that perform marketing services on our behalf, or jointly with us;
- To other financial institutions with whom we have joint marketing agreements; and
- When you ask or give us permission to do so.
Do we share your information with our affiliates?
We are affiliated with several types of companies including but not limited to other financial service , such as banks, mortgage companies, and title insurance agents. Even if you exercise your Opt-Out Rights, we may share with our affiliates information about our direct transactions and experiences with you.
Subject to your Opt-Out Rights, we may share information about you obtained from third parties with our affiliates, including:
- Information from your application, such as your age, gender, marital status, number of dependents, assets, debts, income, employment information, address and the address of the property securing your loan;
- Information from a consumer report, including information about your credit worthiness, financial circumstances, and credit history, including any bankruptcies or foreclosures;
- Information to verify representations made by you, such as verification of your income, employment, and open lines of credit with others; and
- Information from a person about his or her employment, credit, or other relationship with you, such as your employment history with your employer, or credit history with another financial institution.
How can you Opt-Out?
If you do not want us to disclose nonpublic personal information about you to non affiliated third parties, or if you want to limit the nonpublic personal information we may disclose to our affiliates, you may Opt-Out
Please remember that even if you choose to opt-out, we will still disclose information about you as permitted by law or regulation.
From what I have heard from friends, this is pretty much standard text for almost every mortgage company. Let's have a look a bit on a couple of interesting points and how that relates to Google and Buzz.
This post is not to bad mouth or disgrace EverHome. Far from it. This post is to condemn hypocrisy. I have read many blogs from people condemning Google for their Opt-Out policy in Buzz - whereas it should have been Opt-In. Yeah fine, I agree to that. But then again, less than a month later Google changed their policy to an Opt-In, introduced more alerts, controls and visual effects to ensure that the user wants to Opt-In. That is Google.
Where are the blog posts complaining about the Opt-Out policies that other companies that we use their services on a daily basis? Did anyone bother to read the terms and conditions of say Verizon, AT&T for your cellphone, Satellite service (Dish/DirecTV) etc.? I dare you to check your paperwork; you will be shocked to find that almost everyone uses the Opt-Out approach and not the Opt-In.
Consider also your regular mail. Whatever the postman brings. How much junk do you really get in your mailbox, just because you got a store card, ordered once from a website and now you cannot get them to stop? My wife got a gift certificate once for a motorbike accessory store for our cousin and since then we receive this really nice magazine concerning motorbikes. We returned it rejected more than 5 times but they do not get the hint. Did we ask for it? No. Do they have the right to do that? No, but they do not care. Did anyone complain about all this? Not as much as they complained about Buzz....
Google is not the devil. I do believe that they adhere by the "Don't be evil" motto. I use their products and I am happy that I do because the quality of products offered help me do my job better. Do I read all the disclaimers and terms and conditions? Yes I do and if there is something I do not like I do not use it. If I click 'I accept the Terms' then I have no right to complain for something that was there and I did not read it or pay attention to it. If you don't like them, don't like their policies, do not use their products. Export your data from GMail (since Google adheres to the Data Liberation principles) to your computer or a different provider, delete your Google Account and stop complaining. There is a difference between making suggestions towards making a product better and bitching about something that is mostly your fault (i.e. reading Terms and Conditions and checking settings).
I always remind myself that the free Google services are a privilege to me and not my right. Shouldn't you do the same if using those same free products?
Rant on!
References: Leaving the iPhone by Matt Cutts, Android Equivalency Table and Good Things: Ubuntu and Android by Alex Payne. I am pretty sure that there are other reviews and how-to's on the Internet, outlining that one of the above (or none) is the killer of the other. I am just posting what I did to switch effortlessly.
Of the applications currently installed on my iPhone, some are really very essential (i.e. email, web, podcast manager etc.) and some I can easily live without (Sportacular). Below is a list of the applications that I have listed in importance order and their counterparts in Android.
|iPhone App
|Nexus One App
|Calendar (built in - syncs automatically with the account you log in)
|Google Voice
|Google Voice (integrates with the Nexus One so you call using your Voice number)
|GV Mobile
|Google Voice
|PDANet ($30) or if you root your Nexus One other applications. PDANet requires Bluetooth or the USB cable, the others can hook up a WiFi connection
|Listen (by Google)
|Mail (built in - allows for IMAP, Exchange, POP - it also syncs easily Google based email)
|Web based
|Phone (built in - can be replaced by Google Voice)
|Solitaire (not as advanced as the paid Solebon but it will do)
|Apparently Panda Reader is out but I could not find it. I gave up on this since I mostly work on the notebook and not longer read books on my mobile device
|Streamfurious - not as good as WunderRadio but it has the stations I listen to
|Web based
|Key Ring Reward Cards
|Clock - does not have countdown or stopwatch
|Camera (built in)
|Google Earth
|Google Earth
|Android Marketplace
|Lattitude (a lot of privacy warnings - even an email - to ensure that you want to switch it on)
|Barcode Scanner
|Goggles, Barcode Scanner
|Remote VNC Lite
|Messages (built in - integrates with Google Voice)
|Evernote, like a billion other note apps some of which sync to Google Docs or other similar services, Tomdroid
|A lot of applications, Pregnancy Assistant one that comes close to Pregnancy for the iPhone - either way I won't need this after May (I think :))
|Fring, I also use Skype Go so no problem for me there
|INRIX Traffic
|USAA Mobile
|Voice Memos
|Google Voice
|Weather on the top bar of one of the screens, News and Weather application
I knew I wanted to buy the Nexus One the minute it was presented to the world :) There were however a lot of factors to take into account, the applications that I had and what their replacements will be (see table above), whether it would work reliably with AT&T's network or whether I would have to switch to T-Mobile etc.
I have been following closely web posts regarding experiences with the Nexus One and I must admit, it was one of the main factors that helped me make the decision to switch. The icing on the cake was Matt Cutts's post regarding the same issue: Leaving the iPhone. I decided that I would get the phone and if it works satisfactory on AT& T I will stay with them, otherwise I will switch to T-Mobile.
I discussed the issue with the boss (my wife who else :)) and the purchase was approved. As a matter of fact she was disappointed when I told her that I am going to order it because she had plans to buy it for me for my birthday in April. My eagerness to get the new phone spoiled the surprise but we both agreed that I got my birthday present two months in advance :)
The purchase was really trouble free. I also purchased the dock and the really nice surprise is that Google offers free overnight FedEx to your location. It came in handy since I really wanted the phone there and then!
The phone arrived while I was at work. When I came back home, two really nice boxes were waiting for me. As you can see the packaging is really nice and the Google colors appear subtly on it.
The packaging is simply awesome. Great ergonomics which easily match the ones of the iPhone. The Nexus One was wrapped in a plastic protective wrap, while in the package there was a protective sleeve, the USB cable, the headset and the charger. The packaging for the Nexus One Dock was equally good and it contained the dock and its charger.
Abiding to the instructions, I opened the phone, inserted the battery and plugged it in so that I will get a full charge prior to doing anything else.
As soon as I put the battery in, the phone booted up. Really slick graphics!
While the Nexus One was charging, I inspected my iPhone once more and synced it to my computer so that I do not lose any data. Once the phone was fully charged, I removed the battery and inserted the AT& T card in it. The network was identified immediately and I was able to log in using my Google Apps account! :) After a few steps of setting up the phone was ready for use.
I plugged in the dock and set the phone up on it so that it charges prior to turning in. A nice surprise was the again subtle green digital clock that appeared on the phone while it is docked. I always wanted to have a nice clock on my bed stand - now I got it :)
I started the day with the attitude of Forget the iPhone and start anew. It was difficult, I must admit, but I think I managed quite well. The more I was using the Nexus One the more I liked it. I installed all the applications that I wanted (see table above) and set up the screens with the relevant application icons, trying to resemble what I had on the iPhone so that I won't spend much time looking for application icons.
I set up Google Voice and that was one thing that really impressed me. The task was completed in a matter of minutes and now everyone will receive calls from my Google Voice number and not from my AT& T number. I no longer have to go to GV Mobile or the web based application to search for a contact and then call using Google Voice. Big plus here for Nexus One over the iPhone.
Another pleasant surprise came a bit later when my wife and I had to go to a car dealer to view some cars (minivan here we come). I had the instructions and I had added the address of the car dealer in the event in Google Calendar. Usually I would use Google Maps and calculate the mileage that I travel with what Google Maps says and before I reach the next milestone I look at the map again. This time I saw a 'Navigate' link in the menu that appeared and for the fun of it I chose it. I was in turn greeted with a female voice telling me exactly where to go. As I am really notorious for getting lost, the female voice proceeded to tell me to make a U-turn to get back on track :) Really slick and accurate! Big plus again for the Nexus One over the iPhone.
The notifications for the emails (I set up all my email accounts) are equally good for both phones. The Nexus One has a very slight advantage here in my opinion, since the notification area pulls up all the notifications that you have - from installed applications, text messages, missed phone calls, new emails etc. On the iPhone you get notifications on a per application basis so you need to be on the screen that lists the application that you received a notification for. Plus again for the Nexus One over the iPhone.
Website rendering is where the Nexus One gets another plus. I think it is hardware since I am using the same AT&T network but the sites load noticeably faster on the Nexus One over the iPhone. This is normal browsing in the house so the location is pretty much the same. Big plus again for the Nexus One over the iPhone.
Email management is where the iPhone is better. If I have say 4 emails to read and I click on one of them, I have to click the menu and then the 'Newer' button to get to the next email that I have not read. On the iPhone you have an up and a down arrow that allows you to navigate a lot easier. Also on the iPhone there is a logical hierarchy of accounts and folders, so you go back to change to a different account. Although this is a lot more work than it should, it seems a lot more logical than the approach the Nexus One has. With the Nexus One all you have to do is click the menu button and click Accounts to quickly access another account. It is a lot less clicks and I guess it would have made perfect sense should I had just come from a flip phone and never knew the iPhone. Still personal preference goes with the iPhone implementation, despite the fact that I am getting used to the new way of doing things :) Big plus for the iPhone over the Nexus One.
Multitasking - multiple application notifications. This one has been the most discussed thing on the Internet regarding the iPhone (and now the iPad). You cannot run multiple applications at the same time. I just received a notification that I have a new email and someone replied to one of my tweets. The Nexus One notification bar showed both notifications and I read both messages in no time. On the iPhone though I had to keep the TweetDeck application on so that I can get the notification OR the Mail application on so that I can get the email. Huge plus for the Nexus One over the iPhone.
There are other areas that I could discuss here but they are mostly focused on personal preferences on how things are done or should be done.
Overall I am really glad that I made the switch. The screen and camera are amazing, the phone is really responsive and apart from a couple of times that I didn't know how to do something and I had to Google it, I am using it as if I had it for a long time. I have no restrictions, I don't have to jailbreak the device so that I can get some applications that Apple deemed that they ruin the user experience (according to their reply to the FCC regarding Google Voice), my data is synchronized with the cloud and I can get it out of there at will. I can even develop my own application and install it if I wish to. This is something that the iPhone does not provide and notable is the fact that I had to retype all my store cards that I used Cardscan for in the Key Card scanner and there is no way for me to get the data that FuelGauge has stored in it and potentially transfer it to aCar.
I would say that the iPhone would suit someone that is not that tech savvy and is not impressed by the technical abilities of the phone, rather is focused on the amount of applications that exist for that phone (iPhone is superior there). The Nexus One though raised the bar way high and it will take a long time for the iPhone to even come close to it. Once the Apple introduces the ability to allow multiple applications to run at the same time, provide the liberty to get your data out of it if you wish to, stop trying to police people by restricting applications, then the gap would have been bridged but until then... in my humble opinion the Nexus One is king!
Continued from Part II
I had to shut the computer down because I had a train to catch. However booting up again the computer on the train and trying to enter the chroot environment produced some errors. It might very well be the fact that I do not have an Internet connection (at least a reliable one).
So this post will have to wait until I get back home so that I can continue the installation. The key point here will be how to add the Chromium OS image over the second partition of my hard drive so that I can keep my dual boot system. I will run Image for DOS and clone my hard drive, in an effort to keep a mirror backup of my notebook at this particular point in time - you never know when you will use it.
So I booted again into Ubuntu and started the process. I run
but it complained that a chroot already exists. I then run
./create_chroot.sh --delete
which effectively removed the existing chroot and replaced it with a new one. Little did I know that I only had to run
to re-enter my previous chroot and continue where I left off. Oh well, you live and learn :)
Just to be on the safe side I rerun the
./build_kernel.sh and
./build_image.sh scripts. I am now exactly where I was prior to shutting the computer off. I have built the platform packages, the kernel and the image.
I will mount the image locally to ensure that everything is OK. Please note that the folder below is the one created on my machine and might very well be different than yours. At the end of the build_image.sh script you will see a message that will reveal where your image folder is.
cd ~/trunk/src/build/images/999.999.32909.021312-a1/
sudo mount -o loop rootfs.image rootfs
sudo chroot rootfs
Inside the image basic commands will reveal success or failure:
dpkg -l
Once everything is OK (or at least seems OK) I exit and unmount the image.
sudo umount rootfs
Although I got a
cannot read table of mounted file systems: No such file or directory when I run
dpkg had a long list of packages installed. I will for the moment ignore the df output and proceed to the next steps.
Somehow I have misplaced my 16GB USB drive so I had to borrow a 4GB one from a friend of mine. This step copies the actual image from the hard drive to the USB drive. The drive itself is wiped clean so make sure that you have backed up the data that you have on it prior to running this step.
You need to find out the device that your USB drive corresponds to. Running:
sudo fdisk -l
will reveal which device is the USB drive. For my system it is
/dev/sdc1. Outside the chroot you run the script
image_to_usb.sh. The command is:
./image_to_usb.sh --from=~/chromiumos/src/build/images/SUBDIR --to=/dev/USBKEYDEV
and for my system the command was:
./image_to_usb.sh --from=~/chromiumos/src/build/images/999.999.32909.021312-a1/ --to=/dev/sdc1
The output on the screen running the above command is:
[email protected]:~/chromiumos/src/scripts$ ./image_to_usb.sh --from=~/chromiumos/src/build/images/999.999.32909.021312-a1/ --to=/dev/sdc1
Copying USB image /usr/local/chromiumos/chromiumos.git/src/build/images/999.999.32909.021312-a1 to device /dev/sdc1...
This will erase all data on this device:
Disk /dev/sdc1: 4013 MB, 4013917184 bytes
Are you sure (y/N)? y
attempting to unmount any mounts on the USB device
Copying root fs...
opening for read /usr/local/chromiumos/chromiumos.git/src/build/images/999.999.32909.021312-a1/rootfs.image
opening for write /dev/sdc1
seeking to 1992294912 bytes in output file
copy 996147200 bytes took 102.384 s
speed: 9.7 MB/s
Creating stateful partition...
mke2fs 1.41.9 (22-Aug-2009)
Filesystem label=C-STATE
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
60800 inodes, 243200 blocks
12160 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=251658240
8 block groups
32768 blocks per group, 32768 fragments per group
7600 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
Copying MBR...
opening for read /usr/local/chromiumos/chromiumos.git/src/build/images/999.999.32909.021312-a1/mbr.image
opening for write /dev/sdc1
copy 512 bytes took 0.001 s
speed: 0.0 MB/s
I have booted the system using the USB drive and I logged in the system using my google account. Using Ctrl+Alt+T I open a terminal and enter:
This asks now for the password that I have set up earlier (the one stored in the text file) and then it nukes the hard drive replacing everything (make sure you backup your hard drive).
A bit later I unpluged the USB drive and rebooted. Unfortunately things did not work very well but that is probably due to my particular hardware. I will retry this on my other notebook and update this blog post.
Continued from Part I
The download took quite a while, so I thought it might be a good idea to split this post in parts, so as to ensure good readability.
I need to create some symlinks. Also a good place to add my repository is /usr/local hence the commands for Chromium OS and Chromium respectively.
sudo mv chromiumos/ /usr/local/
sudo mv chromium/ /usr/local/
and now adding the symbolic links
ln -s /usr/local/chromiumos/chromiumos.git ~/chromiumos
ln -s /usr/local/chromium ~/chromium
All the scripts are in the src/script folder. So let's go to that folder (the symbolic link set earlier helps :))
cd ~/chromiumos/src/scripts
and running the command to create the local repository:
This command will ask you for your password - and bare in mind you must run all this as a normal user with sudo access - and then it will create a debootstrap. It will fetch the necessary packages from the Chromium OS Package Management.
If something fails you will need to do
rm -rf ~/chromiumos/repo
and then rerun the
./make_local_repo.sh script again.
All we need to do is run the following command:
The script will check if all the dependencies are satisfied, and if something is missing it will pull the necessary files and compile them as necessary. Although I did not encounter any problems, the documentation states that the /etc/apt/sources.list is used for retrieving the packages. If your setup is pulling packages from somewhere else then you may need to get the most recent packages from the repository. You can do that by running:
./make_chroot.sh --mirror=http://build.chromium.org/buildbot/packages --suite=chromeos_dev
I need to build Chromium first (since I chose to download it too). This is necessary since your build will fail if you try it the other way around :)
./build_chrome.sh --chrome_dir ~/chromium
Run the following command gets us back in the chroot environment (you will be asked for your password)
This is a one-off step for those of us that want to be able to sudo from a terminal. I am setting the shared user password running the following script:
This will prompt for the password and the output will be stored in the
./shared_user_password.txt file. Don't worry the password is encrypted so if you do not have anyone watching over your shoulder while typing your password you are OK. Just to be on the safe side, clear the screen.
In the chroot environment run
Unfortunately I hit a snag :( The
build_platform_packages script produced an error:
Checking for latest build of Chrome
Downloading http://chrome-web/buildbot/snapshots/chromium-rel-linux-chromiumos/LATEST
--2009-11-24 19:44:49-- http://chrome-web/buildbot/snapshots/chromium-rel-linux-chromiumos/LATEST
Resolving chrome-web... failed: Name or service not known.
wget: unable to resolve host address `chrome-web'
make: *** [build-stamp] Error 1
I quickly found what I need to do (Google is your friend :)). It appears that this is known bug and it is easily fixable. All I had to do is edit the
copy_chrome_zip.sh file. I tried using nano in the chroot environment but it was not there. For that I exited the chroot and edited the file.
nano -w ~/chromiumos/src/platform/chrome/copy_chrome_zip.sh
Locate the line with the
BASE_URL variable and change
chrome-web to
build.chromium.org and save the file. After that enter again the chroot and rerun the
build_platform_packages.sh script.
Quite a bit later the script execution ended with All packages built :)
In the chroot environment run
A bit later I am looking at this message and grinning :)
Kernel build successful, check /home/ndimopoulos/trunk/src/build/x86/local_packages/linux-image-2.6.30-chromeos-intel-menlow_002_i386.deb
In the chroot environment run
The script starts with validations, configurations, unpacking and compilations - all too fast for my eye to capture.
The script finished compiling and there are warnings and errors :(. They all have to do with the disk geometry and partition 1 extends past the end of the disk /shrug again....
In the end I get this on the screen which hopefully is OK...
Re-reading the partition table ...
BLKRRPART: Inappropriate ioctl for device
If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
Done. Image created in /home/ndimopoulos/trunk/src/build/images/999.999.32809.203441-a1
To copy to USB keyfob, outside the chroot, do something like:
./image_to_usb.sh --from=/usr/local/chromiumos/chromiumos.git/src/build/images/999.999.32809.203441-a1 --to=/dev/sdb
To convert to VMWare image, outside the chroot, do something like:
./image_to_vmware.sh --from=/usr/local/chromiumos/chromiumos.git/src/build/images/999.999.32809.203441-a1
Continued in Part III
A lot of hype has been generated on the Internet a few months back regarding Google's announcement that they are building a new operating system. The announcement was met with skepticism but also enthusiasm/anticipation by a lot of people who are puzzled as to what direction Google is taking and where are they looking themselves positioned in the computer industry.
Google has already established themselves in the mobile operating system with Android which for many is better than Apple's iPhone. What managed to get Google very high up in user satisfaction with Android was the fact that it is open source. It is backed by Google and they are putting a lot of effort into this but the fact that anyone can download the source code and build the operating system themselves is amazing. Giving people the freedom to choose should be something that every company should do (personal opinion).
On Friday I watched the Chromium OS Webcast. A lot of people have been waiting for a presentation from Google of the new operating system. Google provided just that but with a small twist. The presenters outlined the features of the new operating system: Fast, Fast, Fast.
Although the presenters clearly stated that they will not provide any links to hardware, what is supported, where Chromium OS runs etc. they made sure to address one of the core features of Chromium OS. It is Open Sourced! That alone gives people again freedom. Freedom to choose what they want to have as their operating system in their computer.
The website for the new operating system is located here and there are instructions on how you can build this new OS even in its current state - which is not production ready.
Curious (as usual) I tried installing the Chromium OS on a virtual machine. My experience installing the new OS and other comments is outlined below:
My DELL Studio 17 has two hard drives and because I really really do not like Windows Vista, I have installed Ubuntu 9.10 32bit on the second partition. The notebook enjoys a 2.4GHz Intel processor and 6GB RAM.
I applied all the relevant updates (just to be on the safe side) and a couple of reboots later I am ready to venture in the unknown. The documentation outlines the minimum required packages:
Building on Linux requires the following software.
Optional (currently, all of these are only used by layout tests):
Because I didn't want to go and check the version of every package mentioned above I run the following command (mentioned also in the documentation)
sudo apt-get install subversion pkg-config python perl g++ g++-multilib bison flex gperf libnss3-dev libgtk2.0-dev libnspr4-0d libasound2-dev libnspr4-dev msttcorefonts libgconf2-dev libcairo2-dev libdbus-1-dev
And then the optional extras:
sudo apt-get install wdiff lighttpd php5-cgi sun-java6-fonts
A few minutes later the necessary packages had been downloaded and installed. One step closer to my goal :)
Now that all the prerequisites have been satisfied. I need to get the code!
Navigating to this link in the chromium.org wiki, I get all the instructions on how to get the code. There are some prerequisites there (i.e. your system needs to be able to uncompress tar files) but nothing out of the ordinary.
I installed the depot_tools which was really a two step process - svn checkout the tools and add the tools path in the current path. After that I installed the
sudo apt-get install git-core
I will pull the source code from the SVN repository. I can just as easy download the tarball and unzip it. The instructions in the chromium.org wiki explain both options.
I am ready to get the source code for the Chromium OS package. You can get the code with the Chromium browser or without it. I am opting to get it with the Chromium browser. The following commands retrieve the necessary files for the OS as well as dependencies for the browser:
mkdir ~/chroomiumos
cd ~/chromiumos
gclient config http://src.chromium.org/git/chromiumos.git
gclient sync --deps="unix,chromeos" --force
The download takes a bit of time since there are a lot of files that we need to retrieve. In situations like these, browsing, reading a book, going to get something to eat or working on the other computer are some of the activities you can engage yourself in so as to kill time. That is of course if you do not have a T1 or FIOS at which point this step will be finished by the time you read this sentence :) (/sigh I miss FIOS).
I open another terminal window in order to retrieve the Chromium source code (the browser now).
mkdir ~/chromium
cd ~/chromium
gclient config http://src.chromium.org/svn/trunk/src
gclient sync
and the wait continues....
Continued in Part II
A week or so ago I read a blog post in my Google Reader about Google providing now more storage for less money.
To be quite frank I did not read the whole post but I did get the message. Google was offering 10GB for $20.00 and now they are offering 20GB for $5.00. This extra storage is mostly for Picasa and web albums but it can be used for other products like GMail (if you ever get above the 7.5GB that you already have there).
Although I was really happy to see such a move, I was kinda saddened since not more than a month ago I decided to purchase the 10GB for $20.00 and I didn't take advantage of the new rate. The reason for the extra storage is that I can store pictures and videos for my family to see. Since most of my part of the family is located in Greece and my family and I are in the US, it only makes sense to take advantage of the Internet to keep in touch. Photographs of different events that we attend are available now to them too, while we keep a good journal of events through the years.
Logging into my web album in Picasa I was pleasantly surprised to see that my storage is not 10GB but 81GB! I could not believe my eyes and frankly I thought that Google made a mistake. I dug up the blog post and found out what had happened. It appears that by not reading the whole article, I missed the
and people who have extra storage will be automatically upgraded.
The funny thing is that they even counted the 1GB that Picasa comes with (for free) once you sign up for their web albums.
All I can say is that now I will probably store more and more media online, not only for my family abroad to watch but for backup reasons too.
All we need now is a GDrive - a drive extension to connect to our online storage so that we can store everything online and never worry about anything - computer crashes and all....
I was one of the first people to beta test GMail when the only way you could get an account was by an invitation. I did manage to get one and created an email account which I still use until now.
Since then Google Mail has grown and has been enhanced so much that in my view made it the best webmail software there is.
The ability to group emails in discussions, add multiple labels to an email conversation and the powerful search make GMail my only webmail application.
With the introduction of Google Documents and Dpreadsheets and the fact that most of my documents are either OpenOffice Writer or OpenOffice Calc (MS Word or MS Excel for Microsoft users), I started considering the totally mobile office. After all, most of the documents that I have are sitting there in a corner of my hard drive collecting electronic dust. I do however need to access them whenever I need to and sometimes I might not have my notebook with me. Google Documents and Spreadsheets gave me the solution that I was looking for.
I always had problems with SPAM. Buy this, enhance that, you all know what I am talking about. The last year though the situation became unbearable. The spammers would find ways to bypass the spam filter of my domain and eventually get through. I would even have 50 spam emails per day at times, increasing the chance of me deleting a valid email from a customer or a friend.
A couple of months back I saw that Google offers services for domain holders. Effectively you can migrate your whole domain to Google and your email most importantly. In an interface familiar to me (like GMail) I now have all my domain's emails handled by Google and to my pleasant surprise I have no spam at all. The filters set by Google are very good since I only saw one message come through in the past two months. There is ample space (2Gb) and of course the option to upgrade if one needs more at a small fee.
Most of this domain is handled by Google Apps :)
Not everything is perfect though. There is still work to be done, like integrating more Google Apps to the hosted solution but I am sure those will come in due course. Thus far though, I am impressed and satisfied by the technology offered.
I know that some might turn and say that I am biased and I only see the good things about Google Apps and that there are other products out there, potentially better. I agree to that. However in my view, Google has set the benchmark on what people should do to catch them and surpass them. I am glad that technology progresses the way it is, since the end users benefit from enhanced tools to make our lives better and more efficient :)
Boldly goes where no other coder has gone before.... and other ramblings
© 2018 niden.net


text:
Please add your content here.
It's all about People
Successfully buying and selling real estate is mostly about fulfilling people's needs, dreams and aspirations.
That's why Harcourts people not only receive in-depth professional training which has become recognised as the benchmark for the entire industry, but they are committed to building meaningful and genuine relationships with their clients. And the huge volume of referrals and repeat business that generates is proof that this combination works to everyone's satisfaction.
A totally consultative approach is what makes the Harcourts way of doing things so seamless. Trust, honesty and integrity remain the company's personal hallmarks. Add to those attributes an intimate knowledge of the local market and current property trends, a solid work ethic plus well-developed negotiation skills and you have the perfect recipe for success.
"We are absolutely committed to providing exceptional personal service to our real estate clients in Launceston. We don't just pay lip service to our internal mission statement: 'To create clients for life through the finest service'. It is Harcourts heart and soul, and is fundamental to the positive attitude and success of our people."
Tony Morrison, CEO Harcourts Tasmania
We know that real estate clients want to deal with consultants that have knowledge, expertise, honesty and integrity, and are committed to achieving the best possible result for them. Above all they want to deal with real people - that's why we put absolute focus on creating a relationship of trust and respect with all our clients. We've found that this philosophy is great for achieving personal satisfaction, high morale and continued success.
This service is free to Harcourts clients and provides all the relevant real estate services that you will require before, during or after your transaction. We will take care of a wide range of services including arranging your connections, your disconnections, conveyancing, home loans and insurance.
At Harcourts we are committed to providing our clients with the complete service.
Harcourts Bluebook features both Tasmanian and Victorian homes. Published monthly this magazine is unique to Harcourts.
To view our E-Bluebook click here
We are proud supporters of The Harcourts Foundation, a charitable foundation set up "To provide support that helps, grows and enriches our communities." To view our Harcourts Foundation Website click here
We are proud supporters of The Harcourts Foundation, a charitable foundation set up "To provide support that helps, grows and enriches our communities."
To view our Harcourts Foundation Website click here
Sell your property through the Harcourts Team today and be eligible to obtain your very own Harcourts Loyalty Card. The Card provides you with great savings across a variety of different businesses throughout the State.Click Here for more infomation.


text:
Matthew J. Meier
Matthew J. Meier, 5, of Oak Lawn died Feb. 28. Visitation was held Thursday at Robert J. Sheehy and Sons Funeral Homer in Orland Park. A funeral service was held Friday at at Living Word Lutheran Church in Orland Park. Interment was at Holy Sepulchre Cemetery.
He was survived by parents Matthew and Amy (Conta) Meier.


text:
A Proposal for a Year-Long Seminar at the Center for Advanced Judaic Studies, University of Pennsylvania
For most of the modern period, the Jews of Eastern Europe constituted the single greatest reservoir of Jewish civilization in the world, the seat of Jewish learning and the inspiration for Dubnov's theory of "hegemonic centers" in Jewish history. Among the Jews of Poland, Lithuania, Galicia, Russia, and Ukraine there formed many of the key religious, intellectual, and political currents that shape Jewish life even today, and from their ranks emerged the dominant new "centers" of the twentieth century in Israel and North America.
During the last two decades, East European Jewry has begun to move to the center of the study of modern Jewish history and culture. Fresh questions and new areas of inquiry -- now fueled by unprecedented access to long-hidden archival riches in Eastern Europe and the former Soviet Union -- have stimulated a new generation of scholarship. Drawing on expertise in the areas of history, literature, religion, folklore, and allied fields, we propose to create an inter-disciplinary seminar at the CAJS whose goal will be to assemble and place in perspective the fruits of this new scholarship.
We anticipate that several broad concerns will structure the research and dialogue that develop over the course of the year. First, in scholarship concerning East European Jewry from the seventeenth century to the present, the dominant mode of explanation for all kinds of historical and cultural change has been the idea of "crisis." What appears to be a virtually unending series of "crises" includes the 1648 Chmielnicki uprising, the messianic "crises" associated with Shabbetai Tsevi and Jacob Frank, the breakup of the Council of the Four Lands and of the Polish-Lithuanian Commonwealth, the emergence of Hasidism and Haskalah as responses to an alleged "crisis" in traditional society, the forcible imposition of military service and the Pale of Settlement, abolition of the kahal, the pogroms of 1881-82 and the accompanying "crisis" of the Haskalah and liberal politics, the First World War and the Russian Revolution, Sovietization and mass urbanization, and finally - and most emphatically - the Holocaust. Three centuries of East European Jewish history, in other words, have served as evidence for the idea that the path away from "tradition" leads inexorably through "crisis" - personal and collective. How far then have we moved from what Salo Baron famously disparaged as the "lachrymose conception" of the Jewish past? Has the paradigm of crisis merely taken its place? Recent studies of East European Jewry have stepped back to explore the ideas of crisis and catastrophe as Jewish cultural motifs, while others have called into question the crisis model with respect to a wide range of historical episodes and movements. As yet, however, there has been no comprehensive discussion of alternative modes of change. Are there deep continuities in East European Jewish history and culture that bridge the recurrent ruptures?
Second, the seminar will provide a much-needed opportunity to bring together the study of elite and popular culture, and to encourage dialogue among disciplines that rarely speak to each other in any sustained way. Areas in need of cross-disciplinary exploration include the intersection of Kabbalah and various forms of popular magic, including practices absorbed from surrounding Slavic populations; the emergence of an East European orthodoxy within the force-field of the struggle between Hasidism and Haskalah; the evolution of the various strands of Hasidism after their crystallization in the early decades of the 19th century; the political mobilization of the Jewish "silent majority" at the beginning of the 20th; the popular reception of a socialist Yiddish culture in the early Soviet period; and the resurgence of Jewish national identity in the USSR during the Cold War.
We expect that the interstices between history and literature will provide a particularly rich arena for discussion and debate. Scholars of the Yiddish and Hebrew literature that flowered in Eastern Europe have now placed the shtetl, the family, and the search for a modern, emancipated self (and its characteristic genre, the autobiography) at the heart of their work. Historians are only beginning systematically to investigate the specific historical contexts that conditioned Jewish cultural modernism. The extraordinary place of literature and literary criticism in late 19th- and early 20th-century East European Jewish society also has yet to be fully explored, including its relationship to parallel developments in the surrounding Slavic populations.
Third, the seminar would begin the work of critically examining the foundations of modern Jewish scholarship in Eastern Europe, and in particular its strikingly ethnographic, not to say populist, orientation. The scholarly study of East European Jewry began with a generation of fin-de-siècle intellectuals, writers, and artists who in many cases had repudiated the Haskalah as politically naive even as they inherited the role of the maskilim as social critics. As Jewish Studies becomes more self-conscious about the roots of its own enterprise, we need to investigate scholarship in Eastern Europe as intensively as has been done for the Wissenschaft des Judentums. The founding generation of the East European Jewish intelligentsia, from Ansky to Zinberg, fashioned an interpretive lens (including the paradigm of crisis) through which we still perceive much of the East European Jewish past. In addition, many of them led politically engaged lives that intersected with their work (and personal lives) in ways that have scarcely been explored. Greater attention to the pioneering figures who first conceived of East European Jewry as a distinct historical entity promises to cast in sharper relief the categories and assumptions that became the field's intellectual lineage.
Finally, there is the question of whether and in what manner the Jews of Eastern Europe constituted a single society with a distinct culture. To what extent did they remain a coherent entity across the various upheavals (internal and external) and recastings of political boundaries, in the course of which they became subjects, and occasionally citizens, of a wide range of states and empires, from the Poland of the magnates to the Russia of the Commissars? How did East European Jews define themselves vis-à-vis their host societies, and other segments of world Jewry, and how did this self-definition change over time?
These are just a few of the arenas in which the seminar might focus its work. The list of lacunae in the field is, not surprisingly, considerably longer. In fact, so many scholars are now turning their attention to the East European Jewish past, and from such diverse vantage points, that it is impossible to predict the full range of questions that will guide the work of the seminar's participants. We believe that an interdisciplinary seminar on East European Jewry will generate a large pool of applicants representing an extraordinary breadth and depth of expertise. An informal roster includes over one hundred potential applicants (this list is not meant to be comprehensive):
Henry Abramson, Carol Avins, Carole Balin, Jeremy Dauber, David Engel, Lisa Epstein, David Fishman, Robert Freedman, ChaeRan Freeze, Ken Freiden, Roni Gechtman, Zvi Gitelman, Musya Glants, Sascha Goluboff, Itzik Gottesman, Erich Haberer, Janet Hadda, Joel Hecker, Celia Heller, Kathryn Hellerstein, Brian Horowitz, Gerson Hundert, Sam Kassow, Hillel Kieval, Barbara Kirshenblatt-Gimblett, Rebecca Kobrin, Cecilia Kuznets, Olga Litvak, Shulamit Magnes, David Miller, Dan Miron, Marcus Mosely, Allen Nadler, Alice Nakhimovsky, Benjamin Nathans, Anita Norich, Magdalena Opalski, Alex Orbach, Antony Polonsky, Paul Radensky, Steve Rappaport, Hans Rogger, David Roskies, Gabriella Safran, Robert Seltzer, Jeff Shandler, Nancy Sinkoff, Michael Stanislawski, Michael Steinlauf, Jeffrey Veidlinger, Ted Weeks, Eli Weinerman, Ruth Wisse, Seth Wolitz, Josh Zimmerman, Steve Zipperstein
Oleg Budnitskii, Vera Doehrn, Dmitrii Eliashevich, Christoph Gassenschmidt, Sylvie Goldberg, François Guesnet, Gabriella Freitag, Viktor Kelner, Yvonne Kleinmann, John Klier, Mikhail Krutikov, Alexander Lokshin, Naftali Lowenstern, Shimon Markish, Suzanne Martin-Finnis, Yohanan Petrovksy, Ada Rapoport-Albert, Laura Salmon, Vasilii Schedrin, Anna Shternshis
Mordechai Altshuler, I. M. Aronson, David Assaf, Gerson Bacon, Israel Bartal, Chava Ben Sasson, Mikhael Beizer, Emannuel Etkes, Shmuel Feiner, Ted Framm, Jonathan Frankel, Yehuda Friedlander, Avraham Greenbaum, Vera Kaplan, Eli Lederhendler, Dov Levin, Vladimir Levin, Ilya Lurie, Ezra Mendelsohn, Metatyahu Mintz, Wolf Moskovich, Avram Novershtern, Dov Noy, Ben-Zion Pinchuk, Benjamin Pinkus, Shimon Redlich, Elkhanan Reiner, Yaacov Ro'i, Moshe Rosman, Efraim Sicher, Yechiel Szeintuch, Michael Silber, Shaul Stampfer, Adam Teller, Chava Turnianski, Scott Uri, Shmuel Werses, Motti Zalkin, Arkadi Zeltser
Z. Baker.
In addition to the outstanding holdings of the CAJS and Van Pelt libraries, we expect that many fellows will want to utilize the unparalleled archival and library collections of the YIVO Institute for Jewish Research in New York, now in its new home at the Center for Jewish History. In fact, collaborating with YIVO in the organization of lectures by individual fellows, a public conference, an exhibition, and/or publication of fellows research, could considerably expand the audience for the seminar's work. Similar forms of collaboration could be explored with the National Yiddish Book Center in Amherst. Given the widespread interest among the broader Jewish community in the history and culture of East European Jewry, we anticipate that fellows will have ample opportunities during the seminar year to share their research beyond the walls of the academy.
Submitted by Benjamin Nathans (University of Pennsylvania), David Roskies (Jewish Theological Seminary), and Israel Bartal (Hebrew University of Jerusalem)


text:
I have recently joined all the twits at www.twitter.com. Now you can track my comings and goings on the right hand side here under the heading Greg@twitter. This is the internet phenomenon that everyone from Stephen Fry to Demi Moore is using to keep their "followers" updated on their daily doings. So I now have it to keep you updated on what we are up to. Who knows who might do this next, maybe Andrea or Lena?
Posts tagged code


text:
The formulation of the Provincial Development and Physical Framework Plan (PDPFP) is anchored on the NEDA-DILG-DBM-DOF Joint Memorandum Circular No. 1, series of 2007. The JMC set the Guidelines on the Harmonization of Local Planning, Investment Programming, Revenue Administration, Budgeting and Expenditure Management. Furthermore, Section 3.7 of the JMC prescribes that the PDPFP "merges the traditionally separate provincial framework plan and provincial development plan to address the disconnect between spatial and sectoral factors and between medium- and long-term concerns."
To carry out the requirements of Republic Act No. 10121 of 2010, Disaster Risk Reduction and Climate Change Adaptation (DRR/CCA) is mainstreamed in the DRR/CCA enhanced-PDPFP as policy formulation, socio-economic development planning.
The DRR/CCA-enhanced PDPFP of Cotabato Province is a six-year medium-term development plan, guided by a long-term vision. It is intended to coincide with two three-year political terms of the Governor, and can be aligned with a full term of national leadership. Planning analyses, however, extended beyond the medium-term to consider longer-term trends. These are necessary inputs to the identification of strategies and PPAs for the six-year plan period. Kidapawan City and the 17 municipalities served as the major level of analytical disaggregation. The planning environment considers all major sectors relevant to the development of the province which revolves around the following core elements: population, economic activity, physical resources, income/access to services and land use.
The DRR/CCA Enhanced PDPFP is organized as follows:
1. Introduction: This lays down the backdrop of enhanced PDPFP, its objectives, context, process and coverage
2. Vision: The long-term vision for the Province is discussed in this section. It is a shared vision of the constituents of Cotabato Province as expressed through its leadership in consultation with stakeholders.
3. Planning Environment: This section provides the description and analyses of the social, economic, physical environment, hazard and climate change profile of the Province that serve as basis for identifying development challenges and issues, and subsequent courses of action (strategies, plans, programs, and activities).
4. Development Issues/Problems, Goals, Objectives, and Targets: The DRR/CCA-enhanced PDPFP aIso tackles issues, challenges, and opportunities facing and accompanying the task of accomplishing the identified development goals, objectives and targets.
5. Programs, Plans, Strategies and Activities: Specific strategies, plans, programs, and activities are identified in the plan to address development issues and accomplish objectives are identified in the plan.
6. Plan Implementation Mechanism: The last chapter discusses the steps, processes and support systems to ensure that the DRR/CCA-enahanced-PDPFP is implemented.
Leave a Reply:


text:
chitosan product Companies serving Marshall Islands
Need help finding the right suppliers? Try XPRT Sourcing. Let the XPRTs do the work for you
Related terms for "chitosan product ": water treatment chitosan product companies , chitosan product for water treatment companies , chitosan product for water purification companies
Vincent Corporation specializes in the design, engineering and manufacture of screw presses. These are machines that squeeze liquid out of organic material, operating in a continuous (not batch) mode. We offer small 4` laboratory models on up to giant 50 ton machines with screws that are 40` in ...
based in Tampa, FLORIDA (USA).
Vobis has over 20 years experience in two primary technology areas, evaporation / crystallization and granulation / microencapsulation. These two technology programs include the design and manufacture of various evaporation systems (including WFE, SPD, forced circulation, rising film, falling film, ...
based in Easton, PENNSYLVANIA (USA).
PSS Polymer Standards Service GmbH (PSS) was founded in 1985 as a highquality chemical manufacturer spin-off from the University of Mainz, Germany. Our high caliber staff is experienced, creative and trained in problem solving. PSS laboratories are equipped with the most advanced instrumentation ...
based in Mainz, GERMANY.
Allgaier Process Technology can look back on 50 years of experience and today is an important supplier for a variety of industries including, but not limited to, the waste, recycling, mining, non-metallic mineral processing, chemical, food, fodder, lumber, ceramic, plastic, and metallurgical ...
based in Uhingen, GERMANY.
WaterTectonics designs and manufactures water treatment solutions for clients in oil & gas, mining, industrial, and construction applications. The company specializes in innovative electrocoagulation and electrochemical technologies and integration within larger solutions. A comprehensive suite of ...
based in Everett, WASHINGTON (USA).
Need help finding the right suppliers? Try XPRT Sourcing. Let the XPRTs do the work for you
Thank you for subscribing to our eBulletins
You can modify your subscriptions at any time by logging in to your Environmental XPRT account.
Already have an account? Login here