Search Results

Search found 3524 results on 141 pages for 'chris hoffman'.

Page 32/141 | < Previous Page | 28 29 30 31 32 33 34 35 36 37 38 39  | Next Page >

  • We have moved to larger offices

    - by Chris Houston
    First of all we should probably apologise for the complete lack of blogging over the last 6 months! As web developers we are constantly telling our clients that they should keep their blogs up to date and it seems we have been ignoring our own advice.That being said, we have been very busy moving offices and helping our new host QV Offices setup their new business. As well as all the moving we have not been sitting on our hands, we have built the new site for DairyMaster over in Ireland as well as a separate private website for their global distributor network.As Umbraco Gold Partners we have found more and more that we are working on projects where we are the silent development partners, so although we cannot talk publicly about a lot of the sites we develop, we have some real beauties now in our portfolio :)Now that the dust has settled in our new office ( and has been hovered up! ) we are read for the new year and are looking forward to working on some exciting projects that are currently in the pipeline.We are also intending to run some Hacking sessions for Umbraco as we now have lots of space for developers to come and work with us, so if you have any ideas of a theme for an Umbraco Hackathon then do let us know.And with that it just remains to say Happy Christmas to you all and see you in the new year!

    Read the article

  • Using jQuery to customize the styles in table cells

    - by Chris Hammond
    Originally posted on ChrisHammond.com I was trying to do some work with the Form and List module in DotNetNuke today and I needed to apply some custom styles to the LIST view of a module, without going in and creating a full XSL template for the module to use, I wanted to style the default table based grid view. In order to customize this view though I needed to do some custom jQuery that runs after the table is loaded, the jQuery then goes through and looks for columns, and based on the number of...(read more)

    Read the article

  • Character movement on a 2D tile map

    - by Chris Morris
    I'm working at making a HTML5 game. Top down, closest thing I can equate it to is the gameboy zeldas, but open world and no rooms. What I have so far is a procedurally generated map in a multi dimensional array. And a starting position on the map. Along with this I have an array of movable and non movable tile ID's. I also have a class for my player and have him being rendered out in the center of the starting tile. My problem however is getting the movement sorted out for the player. I want to be able to have the character free move around the map (pixel by pixel essentially) ontop of this 2D generated world. Ideally this would allow the user to move around the walk able area of the canvas. this is simple enough for me to do, but I am having problems now moving the world. If the user is 20% from the edge of the screen i want the world to start panning in the direction the player is heading. But I'm rather lacking in ideas of how to do this. I've looked around for some tutorials, but am coming up blank on ideas of how to generate the playable area (zoomed in) and to then move this generated area under the player when they reach near the end of the screen. My current idea was to generate a certain amount of tiles full size to fill the screen and place the player i the middle. Then when the user approaches the edge of the screen start generating the tiles offset by the distance moved and the direction. I can kind of see this working but I really have no idea if this is the best or easiest to code of methods for generating the world. sorry for the lack of code but I'm still just in the theory stages of working this all out.

    Read the article

  • Antenna Aligner Part 3: Kaspersky

    - by Chris George
    Quick one today. Since starting this project, I've been encountering times where Nomad fails to build my app. It would then take repeated attempts at building to then see a build go through successfully. Rob, who works on Nomad at Red Gate, investigated this and it showed that certain parts of the message required to trigger the 'cloud build' were not getting through to the Nomad app, causing the HTTP connection to stall until timeout. After much scratching heads, it turns out that the Kaspersky Internet Security system I have installed on my laptop at home, was being very aggressive and was causing the problem. Perhaps it's trying to protect me from myself? Anyway, we came up with an interim solution why the Nomad guys investigate with Kaspersky by setting Visual Studio to be a trusted application with the Kaspersky settings and setting it to not scan network traffic. Hey presto! This worked and I have not had a single build problem since (other than losing internet connection, or that embarrassing moment when you blame everyone else then realise you've accidentally switched off your wireless on the laptop).

    Read the article

  • If-Else V.S. Switch end of flow

    - by Chris Okyen
    I was wondering the if if-else statements, is like a switch statement that does not have a break statement.To clarify with an example, will the if-else statement go through all the boolean expressions even if comes to one that is true before the final one... I.E., if boolean_expression_1 was true, would it check if boolean_expression_2 is true? If not, why do switch statements need break statements but if-else statements do not? And if they do, I ask the opposite sort question proposed in the previous sentence. if( boolean_expression_1 ) statement_1 else if( boolean_expression_2 ) statement_2 else default_statement switch( controlling_expression ) { case: ( A ) .... case: ( z ) }

    Read the article

  • Twin Cities Code Camp 8 (EIGHT?!?)

    - by Chris Williams
    Yep, Twin Cities Code Camp EIGHT is just around the corner (11 days from this writing.) We've got some great sessions lined up, and a mini-mountain of swag to give away. If you haven't registered yet, we're ALMOST at capacity... so don't delay. See you there...

    Read the article

  • Learning Electronics & the Arduino Microcontroller

    - by Chris Williams
    Lately, I've had a growing interest in Electronics & Microcontrollers. I'm a loyal reader of Make Magazine and thoroughly enjoy seeing all the various projects in each issue, even though I rarely try to make any of them. I've been reading and watching videos about the Arduino, which is an open source Microcontroller and software project that the people at Make (and a lot of other folks) are pretty hot about. Even the prebuilt hardware is remarkably inexpensive , although there are kits available to build one from the base components. (Full disclosure: I bought my first soldering iron... EVER... just last week, so I fully acknowledge the likelihood of making some mistakes. That's why I'm not trying to do the "build it yourself" kit just yet. It's also another reason to be happy the hardware is so cheap.) There are a number of different Arduino boards available, but the two that have really piqued my interest are the Arduino UNO and the NETduino. The UNO is a very popular board, with a number of features and is under $35 which means I won't hurl myself off a bridge when I inevitably destroy it. The NETduino is very similar to the Arduino UNO and has the added advantage of being programmable with... you guessed it... C#. I'm actually ordering both boards and some miscellaneous other doodads to go with them.  There are a few good websites for this sort of thing, including www.makershed.com and www.adafruit.com. The price difference is negligible, so in my case, I'm ordering from Maker Shed (the Make Magazine people) because I want to support them. :) I've also picked up a few O'Reilly books on the subject which I am looking forward to reading & reviewing: Make: Electronics, Arduino: A Quick Start Guide and Getting Started With Arduino (all three of which arrived on my doorstep today.) This ties in with my "learn more about robotics" goals as well, since I'll need a good understanding of Electronics if I want to move past Lego Mindstorms eventually.

    Read the article

  • Clickworthy tweets, the sequel&hellip;

    - by Chris Williams
    Twitter moves fast, and if you don’t stay on top of it, you can miss a lot. I don’t follow a ton of people, but I combine it with topic searches. Here are a few things I’ve found that are worth your time and attention, especially if you’re into video games… development or playing: The 15 Greatest Sci-Fi/Horror Games for the Commodore 64 - http://moe.vg/bovATG  (via @jlist)  Practical Tactics for Dealing with Haters! - http://www.fourhourworkweek.com/blog/2010/05/18/tim-ferriss-scam-practical-tactics-for-dealing-with-haters/ (via @The_Zman) Assassin’s Creed 2 + $10 Video Game Credit + $5 MP3 Credit - $24.99 on Amazon.com – http://amzn.to/bvRI9h (via @Assassin10k) Make Small Good – A design article about not trying to compete with ginormous AAA multimillion dollar titles. - http://www.gamasutra.com/blogs/AlexanderBrandon/20100518/5067/Make_Small_Good.php (via @Kei_tchan) (CW: Excellent article, I do this a lot in my roguelike games!) Purposes for Randomization in Game Design – http://bit.ly/cAH7PG  (via @gamasutra)

    Read the article

  • No longer able to boot stuck in busybox shell

    - by Chris J. Lee
    I've installed win 7 and ubuntu 11.04. After a storm killed the power. i'm unable to boot. I'm stuck in the busybox shell (ash). Here's what happens when i boot: Bios loads Grub displays option to load: ubuntu ubuntu recovery memtest another memtest option win7 win 7 recovery I load Ubuntu This cause it to load and i see no normal ubuntu screen just the busybox shell I try loading ubuntu via fsck -l; and it returns me a /bin/sh not found error. I load windows 7 and i'm unable to boot. I get a blue screen of death I then load ubuntu recovery and i don't have any luck either. Any ideas where to go from here?

    Read the article

  • Web.NET is Closing Fast

    - by Chris Massey
    The voting for sessions has now closed, and sadly only half of the potential sessions could make it through. On the plus side, the sessions that floated to the top look great and, with the votes in, Simone and Ugo have moved right along and created a draft agenda to whet our appetites. Take a look, and let them know what you think. I’d also strongly recommend that you get ready to grab your tickets when they become available next week (specifically, September 18th), as places are going to be snapped up fast. In case you need a reminder as to why Web.NET is worth your time: Complete focus on web development Awesome sessions All-night hackathon Free (although I urge you to make a donation to help Simone and Ugo create the best possible event) Put October 20th in your calendar, and start packing. I’ve already booked my flights, and am perusing the list of hotels while I eat my lunch. Bonus Material There will be a full day of RavenDB training on Monday the 22nd of October, run by Ayende himself, and attending Web.NET will get you a 30% discount on the cost of the session.

    Read the article

  • DNNWorld 2012, The Trailer

    - by Chris Hammond
    Some people in the asp.net community love to hate on DotNetNuke ( see Shaun's latest blog post comments ), that’s fine, the rest of us are off having a good time with it and the community! Check out the trailer for DNNWorld 2012, coming up in Orlando Florida in October (you can register for DNN World at http://dnnworld.dotnetnuke.com ). For those of you who love to hate on DNN, I challenge you to give it another look. A lot has changed with the platform in the past 10 years, most recently in the...(read more)

    Read the article

  • DotNetNuke 6 beta released

    - by Chris Hammond
    DotNetNuke 6 is coming, DotNetNuke 6 is coming! That’s right, we’re getting close, close enough that we had our first “beta” for DNN6 today. While we’ve had a couple of CTP (community technology preview) releases, the beta today has quite a bit of things wrapped up and addressed. There are a number of new things coming in DotNetNuke 6, and rather than try to explain them all I’ll point you to Joe Brinkman’s blog post from this morning . The biggest thing is that most of the Admin and Module settings...(read more)

    Read the article

  • Which Open Source Licenses can address concerns for an Open Source Game Engine?

    - by Chris
    I am on a team that is looking to open source an engine we are building. It's intended as an engine for Online RPG style games. We're writing it to work on both desktops and android platforms. I've been over to the OSI http://opensource.org/licenses/category to check out the most common licenses. However, this will be my first time going into an open source project and I wanted to know if the community had some insight into which licenses might be best suited. Key licensing concerns: Removing or limiting our liability (most already seem to cover this, but stating for completeness). We want other developers to be able to take part or all of our project and use it in their own projects with proper accreditation to our project. Licensing should not hinder someone's ability to quickly use the engine. They should be able to download a release and start using it without needing to wait on licensing issues. Game content (gfx, sound, etc.) that is not part of the engine should be allowed to be licensed separately. If someone is using our engine, they can retain full copy right of their content, including engine generated data. Our primary goal is exposure, which is why we're going open source to start with. Both for the project and for the individuals developing it. Are there any licenses that can require accreditation visible to players? While I'd put our primary goal as exposure, for licensing the accreditation is less of a concern. From what I've read through (and have been able to understand) it doesn't seem like any of the licenses cover anything that is produced by the licensed software. Are there any that state this specifically, or does simply not mentioning it leave it open for other licensing? Are there any other concerns that we should consider? Has anyone had any issues using any of these licenses?

    Read the article

  • Is it possible to run the GNOME user manager from XFCE4?

    - by Chris Moore
    If I run 'gnome-control-center' and click on the 'User Accounts' icon, the gnome-control-center crashes. I built it from source to see what's going on, and it turns out it's doing a if (strcmp(getenv("XDG_CURRENT_DESKTOP"), "GNOME")) in panels/user-accounts/um-password-dialog.c, line 690. I don't have an environment variable "XDG_CURRENT_DESKTOP", so the getenv is returning NULL, and the strcmp is segfaulting Where is XDG_CURRENT_DESKTOP meant to be defined? And shouldn't gnome-control-center check the pointer returned by getenv before passing it to strcmp? Does xfce4 have its own 'User Accounts' tool for creating new users?

    Read the article

  • Simple monitoring of a Raspberry Pi powered screen - Part 2

    - by Chris Houston
    If you have read my previous blog post Raspberry Pi entrance signed backed by Umbraco - Part 1 which describes how we used a Raspberry Pi to drive an Entrance sign for QV Offices you will have seen I mentioned a follow up post about monitoring the sign.As the sign is mounted in the entrance of the building on the ground floor and the reception is on the 1st floor, this meant that if there was a fault of any kind showing on the screen, the first person to see this was inevitably one of QV Offices' clients as they walked into the building.Although the QV Offices' team were able to check the Umbraco website address that the sign uses, this did not always mean that everything was working as expected. We noticed a couple of times that the sign had Wifi issues (it is now hard wired) and this caused the Chromium browser to render a 404 error when it tried to refresh the screen.The simple monitoring solutionWe added the following line to our refresh script, so that after the sign had been refreshed a screen shot of the Raspberry Pi would be taken:import -display :0 -window root ~/screenshot.jpgFinally we wrote a small Crontab task that ran on a QV Offices Mac that grabs this screen shot and saved it on the desktop, admittedly we have used a package that it not mega secure, but in reality this is an internal system that only runs an office sign, so we are not to concerned about it being hacked.*/5 * * * * /usr/local/bin/sshpass -p 'password' /usr/bin/scp [email protected]:screenshot.jpg Desktop/QVScreenShot.jpgAs the file icon updates, if the image changes, this gives a quick visual indication of the status of the sign, if for some reason the icon does not look correct the QV Offices administrator can just click on the file to see the exact image currently displayed on the sign.Sometimes a quick and easy solution is better than a more complex and expensive one.

    Read the article

  • The November 12 Edition is Here - Oracle Virtualization Newsletter

    - by Chris Kawalek
    We are pleased to announce the November 2012 edition of the Oracle Virtualization newsletter is now ready for you to read! It has a shiny new look and lots of great content, including: Oracle OpenWorld 2012 highlights and videos Advanced I/O Virtualization Architecture for Consolidating High-Performance Workloads video What's New in Oracle Secure Global Desktop 4.7 video  Self-paced Oracle VM hands on labs news Information on the Oracle VM Storage Connect Plug-in For NetApp Storage Webcasts, white papers, events, and more...   Read the November edition here. Subscribe now. 

    Read the article

  • Switch from encrypted partition to unencrypted (Error: cryptsetup: evms_activate is not available)

    - by Chris Lercher
    I initially installed Ubuntu 11.04 with an encrypted file system (from the alternate install CD: Guided Partitioning, LVM encrypted). Now I wanted to change this setup to have my root file system on an unencrypted partition. I had the following setup before: /dev/mapper/my-root on / type ext4 (rw,noatime,errors=remount-ro,commit=0,commit=0) /dev/sda1 on /boot type ext2 (rw,noatime) I backed up /, reformatted /dev/sda5 (which had contained the encrypted LVM device) to an ext3 partition, and restored / to that partition. I edited /etc/fstab, removed the line /dev/mapper/my-root / ..., and added the line: /dev/sda5 / ext3 noatime,rw,errors=remount-ro,commit=0 0 1 I edited /etc/crypttab, and commented out the single entry. On reboot, I get the grub screen as usual, but then I get the message cryptsetup:evms_activate is not available, waiting for encrypted source device. I tried reinstalling Grub2 using a LiveCD with the ChRoot method, but that didn't make any difference. Why is Ubuntu still searching for an encrypted device?

    Read the article

  • How do I fix gnome shell themes?

    - by Chris
    This is my fifth full format and install of Ubuntu in under a month. I finally have my Gnome 3 desktop working again, but again, the Gnome shell themes is not select-able. I have asked the question of how to fix this common issue before, but I have seen no positive resolution. Does anybody know of a simple fix? This is a common issue and I have seen hundreds of postings related to it, but other users only seem to get half-way answers also and it goes unresolved. Would it be advisable to completely purge Gnome desktop and reinstall? If so how would I do this? I cannot use any extensions if the shell is not working, so I am desperately seeking resolution for the issue. Thanks in advance.

    Read the article

  • Bing Maps WPF Hack

    - by Chris Gardner
    I've spent the past couple of days adding the Bing Maps WFP Control to an application I'm developing. I kept running into a strange thing that was driving me crazy. I have the control in the bottom of a StackPanel, under a Grid. No matter how hard I tried, setting the Height of the Bing control to Auto would cause the ActualHeight to always be 60.93. Now, I still don't know why this is happening. Truth be told, I'm not too sure I care. I did, however, find a reasonable hack around the problem. I do know the size of everything else. As such, I tied into the SizeChanged Event of the StackPanel. Using this, I could set the Height to the correct size based on the new size of the panel. private void ResizeMap( object sender, SizeChangedEventArgs e ) { myMap.Height = ((StackPanel)sender).ActualHeight - 75.0; } The hard-coded number is was because I had a fixed height of controls above my map. If you have dynamic elements, you could easily iterate through them and delete out the portions. So, there you have it. It's not much, but it annoyed the Smurf out of me for a brief period of time. Since I never found an answer, I figured I'd share.

    Read the article

  • 10.10 - Error compiling kernel in iw_ndis.c

    - by chris
    I just wanted to compile a kernel (as described here), but I got this error: ubuntu/ndiswrapper/iw_ndis.c:1966: error: unknown field ‘num_private’ specified in initializer ubuntu/ndiswrapper/iw_ndis.c:1966: warning: initialization makes pointer from integer without a cast ubuntu/ndiswrapper/iw_ndis.c:1967: error: unknown field ‘num_private_args’ specified in initializer ubuntu/ndiswrapper/iw_ndis.c:1967: warning: excess elements in struct initializer ubuntu/ndiswrapper/iw_ndis.c:1967: warning: (near initialization for ‘ndis_handler_def’) ubuntu/ndiswrapper/iw_ndis.c:1970: error: unknown field ‘private’ specified in initializer ubuntu/ndiswrapper/iw_ndis.c:1970: warning: initialization makes integer from pointer without a cast ubuntu/ndiswrapper/iw_ndis.c:1970: error: initializer element is not computable at load time ubuntu/ndiswrapper/iw_ndis.c:1970: error: (near initialization for ‘ndis_handler_def.num_standard’) ubuntu/ndiswrapper/iw_ndis.c:1971: error: unknown field ‘private_args’ specified in initializer ubuntu/ndiswrapper/iw_ndis.c:1971: warning: initialization from incompatible pointer type Can anyone tell me what it means? Googling just came up with a result here on this site, where there was no answer, so maybe now someone knows.

    Read the article

  • No Rest for the Virtuous

    - by Chris Massey
    It has been an impressively brutal month in terms of security breaches, and across a whole range of fronts. The "Cablegate" leaks, courtesy of Wikileaks, appear to be in a league of their own. The "Operation Payback" DDoS attacks against PayPal, MasterCard and Visa (not to mention the less successful attack against Amazon) are equally impressive. Even more recently, the Gawker Media Network was subjected to a relatively sophisticated hack attack by Gnosis, with the hackers gaining access to some...(read more)

    Read the article

  • links worth clicking&hellip;

    - by Chris Williams
    Scanning my Twitter feed almost always proves to be fruitful when looking for cool/interesting links to share. Here are a few of the highlights: I read this blog post from Justin Angel today, pretty interesting stuff: Windows Phone 7 – Unlocked ROMs  Looks like there’s a lot of good stuff floating just under the surface in the latest build of the WP7 Emulator. (Courtesy of @JustinAngel) Next up is this video titled Game Design Tutorials: From Seconds to Hours of Gameplay. If you’re into Indie Game Development, or just like watching videos… this one is pretty short at 5 minutes, but contains some good information about increasing the duration of fun gameplay in your game. (Courtesy of @Kei_tchan) If you are a Firefly (or Castle, or Dr. Horrible’s Singalong Blog) fan, check out this Facebook campaign to get Nathan Fillion to host SNL: http://tinyurl.com/2dh5m67  It worked for Betty White, so why not, right? (Courtesy of @DGalloway42)

    Read the article

  • Proprietary Driver missing after Kernel upgrade

    - by Chris
    I recently upgraded my kernel to the Linux 3.4 kernel. Upon doing so, I found that it zapped my proprietary driver for my graphics card. As an alternative, I had saved Catalyst 12.8, but now it will not open through Software Center. I tried several other terminal methods, but it seems that many of these postings are bunk. They only work until you're almost done and then you get errors. I just need a little help from somebody who has been there, as I am new to Ubuntu. I'm kind of afraid to reboot because this is my 3rd full load of Ubuntu. Any ideas?

    Read the article

  • Friday Tips #3

    - by Chris Kawalek
    Even though yesterday was Thanksgiving here in the US, we still have a Friday tip for those of you around your computers today. In fact, we have two! The first one came in last week via our #AskOracleVirtualization Twitter hashtag. The tweet has disappeared into the ether now, but we remember the gist, so here it is: Question: Will there be an Oracle Virtual Desktop Client for Android? Answer by our desktop virtualization product development team: We are looking at Android as a supported platform for future releases. Question: How can I make a Sun Ray Client automatically connect to a virtual machine? Answer by Rick Butland, Principal Sales Consultant, Oracle Desktop Virtualization: Someone recently asked how they can assign VM’s to specific Sun Ray Desktop Units (“DTU’s”) without any user interfaction being required, without the “Desktop Selector” being displayed, or any User Directory.  That is, they wanted each Sun Ray to power on and immediately connect to a pre-assigned Solaris VM.   This can be achieved by using “tokens” for user assignment – that is, the tokens found on Smart Cards, DTU’s, or OVDC clients can be used in place of user credentials.  Note, however, that mixing “token-only” assignments and “User Directories” in the same VDI Center won’t work.   Much of this procedure is covered in the documentation, particularly here. But it can useful to have everything in one place, “cookbook-style”:  1. Create the “token-only” directory type: From the VDI administration interface, select:  “Settings”, “Company”, “New”, select the “None” radio button, and click “Next.” Enter a name for the new “Company”, and click “Next”, then “Finish.” 2. Create Desktop Providers, Pools, and VM’s as appropriate. 3. Access the Sun Ray administration interface at http://servername:1660 and login using “root” credentials, and access the token-id’s you wish to use for assignment.  If you’re using DTU tokens rather than Smart Card tokens, these can be found under the “Tokens” tab, and “Search-ing” using the “Currently Used Tokens” tab.  DTU’s can be identified by the prefix “psuedo.”   For example: 4. Copy/paste this token into the VDI administrative interface, by selecting “Users”, “New”, and pasting in the token ID, and click “OK” - for example: 5. Assign the token (DTU) to a desktop, that is, in the VDI Admin Gui, select “Pool”, “Desktop”, select the VM, and click "Assign" and select the token you want, for example: In addition to assigning tokens to desktops, you'll need to bypass the login screen.  To do this, you need to do two things:  1.  Disable VDI client authentication with:  /opt/SUNWvda/sbin/vda settings-setprops -p clientauthentication=Disabled 2. Disable the VDI login screen – to do this,  add a kiosk argument of "-n" to the Sun Ray kiosk arguments screen.   You set this on the Sun Ray administration page - "Advanced", "Kiosk Mode", "Edit", and add the “-n” option to the arguments screen, for example: 3.  Restart both the Sun Ray and VDI services: # /opt/SUNWut/sbin/utstart –c # /opt/SUNWvda/sbin/vda-service restart Remember, if you have a question for us, please post on Twitter with our hashtag (again, it's #AskOracleVirtualization), and we'll try to answer it if we can. See you next time!

    Read the article

  • Antenna Aligner part 1: In the beginning.

    - by Chris George
    Picture the scene, it's 9pm, I'm in my caravan (yes I know, I've heard all the jokes!) with my family and I'm trying to tune the tv by moving the aerial, retuning, moving the aerial again, retuning... 45 mins and much cursing later I succeed. Surely there must be an easier way than this? Aha, an app; there must be an app for that? So I search in the AppStore for such an app, but curiously drew a blank. Then the seeds of the idea started to grow. I can code, I work in a software house with lots of very clever people, surely I can make an app that points to the nearest digital tv transmitter! Not having looked into app development before, I investigated how one goes about making an iPhone app and was quickly greeted by a now familiar answer "Buy a mac!". That was not an option for many reasons, mostly wife related! My dreams were starting to fade until one of my colleagues pointed out that within Red Gate, the very company I work for, there was on-going development on a piece of software that would allow me to write an app using Visual Studio on a Windows machine, Nomad! Once I signed up for the beta program I got to work learning the Jquery mobile / Phonegap framework. Within a couple of hours I had written (in Visual Studio), built in the cloud (using Nomad) and published (via TestFlight) my first iPhone app onto my iPhone ! It didn't do much, but it was a step in the right direction. To be continued...

    Read the article

< Previous Page | 28 29 30 31 32 33 34 35 36 37 38 39  | Next Page >