Search Results

Search found 20015 results on 801 pages for 'free certificate programs'.

Page 53/801 | < Previous Page | 49 50 51 52 53 54 55 56 57 58 59 60  | Next Page >

  • Remastered King’s Quest Games Offer Classic Gaming on Modern Machines

    - by ETC
    If you were a fan of the King’s Quest series of adventure games from the 1980s and 1990s, you’ll be thrilled to see them remastered with enhanced graphics, polished voice acting, and more. Gaming studio AGD Interactive has been engaged in a multi-year project to remaster and freely release the classic King’s Quest games. They started with King’s Quest I in 2001, moved on to King’s Quest II, and just recently released King’s Quest III (see in the screenshot above). The gameplay for all three games is excellent and really captures the feel of the original games (with better graphics, quality voice acting, and adjustments made for modern computers). When you run the game you first get a small pre-launch console. There you can make adjusts to the game before launching it. We’d recommend you enable the pixel doubling filter. It make the game a little blockier (hey you are playing a 1980s remake!) but it fills up high resolution monitors more effectively. Hit up the link below to download King’s Quest Redux I-III free of charge for both Windows and Mac computers. King’s Quest Redux [AGD Interactive via @cbeust] Latest Features How-To Geek ETC Should You Delete Windows 7 Service Pack Backup Files to Save Space? What Can Super Mario Teach Us About Graphics Technology? Windows 7 Service Pack 1 is Released: But Should You Install It? How To Make Hundreds of Complex Photo Edits in Seconds With Photoshop Actions How to Enable User-Specific Wireless Networks in Windows 7 How to Use Google Chrome as Your Default PDF Reader (the Easy Way) Manage Your Favorite Social Accounts in Chrome and Iron with Seesmic E.T. II – Extinction [Fake Movie Sequel Video] Remastered King’s Quest Games Offer Classic Gaming on Modern Machines Compare Your Internet Cost and Speed to Global Averages [Infographic] Orbital Battle for Terra Wallpaper WizMouse Enables Mouse Over Scrolling on Any Window

    Read the article

  • Get the MakeUseOf eBook Guide to Hacker Proofing Your PC

    - by ETC
    If you’re interested in checking out a solid overview of PC security best practices and tips, our friends over at MakeUseOf.com have released another free book in their computer-oriented eBook series. The fifty-page ebook HackerProof: Your Guide to PC Security covers a variety of topics including types of malware, operating systems and their inherent vulnerabilities, security best practices, tools for protecting your PC, the importance of security prep and backups, and recovering from malware attacks. It’s a nice and compact text, perfect for brushing up on security best practices for your own machine or sending to friends and relatives that could use a little after-school tutoring on keeping their computer secure and out of trouble. The best tip from the book? The overall message to be cautious and be preemptive in your security efforts is a great meta-tip to take away. Up-to-date definition files and a healthy sense of random links and emails attachments goes a long, long way towards staying safe. HackerProof: Your Guide to PC Security [Direct Link via MakeUseOf] Latest Features How-To Geek ETC How to Get Amazing Color from Photos in Photoshop, GIMP, and Paint.NET Learn To Adjust Contrast Like a Pro in Photoshop, GIMP, and Paint.NET Have You Ever Wondered How Your Operating System Got Its Name? Should You Delete Windows 7 Service Pack Backup Files to Save Space? What Can Super Mario Teach Us About Graphics Technology? Windows 7 Service Pack 1 is Released: But Should You Install It? Get the MakeUseOf eBook Guide to Hacker Proofing Your PC Sync Your Windows Computer with Your Ubuntu One Account [Desktop Client] Awesome 10 Meter Curved Touchscreen at the University of Groningen [Video] TV Antenna Helper Makes HDTV Antenna Calibration a Snap Turn a Green Laser into a Microscope Projector [Science] The Open Road Awaits [Wallpaper]

    Read the article

  • I don't program in my spare time. Does that make me a bad developer?

    - by not-my-real-name
    A lot of blogs and advice on the web seem to suggest that in order to become a great developer, doing just your day job is not enough. For example, you should contribute to open source projects in your spare time, write smartphone apps, etc. In fact a lot of this advice seems to suggest that if you don't love programming enough to do it all day long then you're probably in the wrong career. That doesn't ring true with me. I enjoy my work, but when I come home from the office I'm not in the mood to jump straight back onto the computer and start coding away until bedtime. I only have a certain number of hours free time each day, and I'd rather spend them on other hobbies, seeing friends or going outside than in front of the computer. I do get a kick out of programming, and do hack around outside of work occasionally. I'm committed to my personal development and spend time reading tech blogs and books as a way to keep learning and becoming better. But that doesn't extend so far as to my wanting to use all my spare time for coding. Does this mean I'm not a 'true' software developer at heart? Is it possible to become a good software developer without doing extra outside your job? I'd be very interested to hear what you think.

    Read the article

  • How can I disable Lumension Sanctuary

    - by Mr. Flibble
    I'm an administrator on my computer but I can't work out how to uninstall/disable Lumension Sanctuary. There is no Uninstall button in the uninstall programs list. I've disabled the service (Sanctuary command and control) but it's had no effect. Any ideas? I'm on Windows XP BTW.

    Read the article

  • Run Program on Startup?

    - by Maddest Hatter
    How is it possible to have an executable run automatically on startup? Is it possible by having a shortcut to the .exe in the startup folder in the All programs section of the start menu? If that is correct, what is the full directory of the start up folder? C:/

    Read the article

  • Uninstalled programs cleaner

    - by ldigas
    Generally, I'm looking for a recommendation for an uninstalled programs cleaner ? What is it ? You have a program, you uninstall it, and it leaves a bunch of crap on your machine, starting from registry entries, to shortcuts that lead nowhere, up to a bunch of no more used files in Program Files and so ... Registry cleaners usually do some of this stuff, but 'twas wondering, what are good tools that have it all in one package ? I know such tools exist, 'cause in the past I've met with a few. Only I didn't need them then ;)

    Read the article

  • Keep programs from using My Documents

    - by muntoo
    Is there any way to keep programs from using the My Documents folder (on Windows 7)? Everything program seems to want to get in there. I know I could manually symlink each folder a program decides to create, but I would rather not have to do that for each program. Another alternative is to put my stuff in a different location than My Documents, but then I wonder why Microsoft named it 'My Documents' and not 'Applications: put all your stuff here'... probably because filenames cannot have colons on them, but still. I'll probably end up partitioning my drive as I have been doing before, but I was wondering if there was any way to fix this painful annoyance.

    Read the article

  • Server 2008 R2 .Net 4 Programs running from Network share won't work

    - by Lim
    we have several .Net Apps stored on a Network share on our old Server (Windows Server 2003). These Apps get called by Windows 7 32bit Clients and work perfectly fine. We recently wanted to upgrade our Server to Windows Server 2008 R2 and moved the Apps from the old share to our new share on the new Server. The problem started right afterwards since all of our .Net Programs won't start anymore from the new share (2008 R2). The Error that comes up is: "This application could not be started." and with a link to Microsoft: http://support.microsoft.com/kb/2715633 (This Error also shows up when i start a simple console HelloWorld from the server share created in VS2012) Does anyone have any Idea why this is not working anymore on the new Servershare? We've been searching for two days now with no result at all. Any Tips / Help / Questions appreciated :) Greetings Lim

    Read the article

  • Driverpack Solution makes a whole bunch of programs

    - by Markasoftware
    I am using Driver Pack solution 12.3 to update my drivers. I used it and installed 55 drivers. I noticed that there are now several dozen new entries in add/remove programs under the name Windows Driver Package - Intel hdc, Windows Driver Package - Intel System, and Windows Driver Package - Intel USB with the driverpack solution logo next to them. When I hit uninstall for any of these, it says all devices using this driver will be removed, and I am scared of uninstalling anything I do not know about. I have no system restore points before I updated my driver. Will these extra driver packages slow down my computer or take up extra disk space? Can I uninstall them safely? I am using Windows 8, so refreshing the computer is an option.

    Read the article

  • Force Steam (and other programs that do not specify proxy settings) to use a proxy

    - by joshhunt
    My school requires a proxy for all internet access. If you want to use the internet, it is impossible to not use a proxy. This makes it a problem for many programs that don't seem to let you enter proxy settings. How can I use Steam when I am behind a proxy? Is it possible to somehow enter the details into a configuration file, or force it to get the settings from Internet Explorer? If not, does software exist for creating a 'virtual' network adapter which will pass all traffic (or all protocol x traffic) through the proxy? Although I am facing this specific problem on Windows 7, solutions for all operating systems are welcome.

    Read the article

  • No option for keeping installed programs when upgrading Windows 7 to Windows 8

    - by Nison Maël
    (Related : How can I upgrade from Windows 7 to Windows 8 and keep my files and applications? ) I'm trying to upgrade my Windows 7 Pro (msdnaa) to Windows 8 Pro (msdnaa). The Windows 8 is the final version (I don't have access to previews on msdnaa anymore). As you can see on the related question accepted answer, Windows 8 should give an option to keep installed programs. But it does not. The only available options are "Keep only personal datas" and "Nothing". Any idea ? I'm running with SP1. I've got two partitions (one of them only contains data of a virtual machine). The two operating systems have the same architecture (64 bits). Screenshot:

    Read the article

  • Linux Programs for pulling measurements from graphics

    - by Zack
    As a front-end developer, I'm often given graphics of web sites and told pretty much, "Make it work." I've recently started working on Linux 100% of the time and was wondering if there's any programs out there that're good for "digesting" graphics. All I do, pretty much, is draw little selection boxes and takes notes on their dimensions; I also slice out a piece of the graphic (i.e. copy out just the part of the graphic I need for to make the same effect in CSS). Before now I've been very happy with Fireworks, but I need something for Linux, any suggestions? As a note, I mainly deal with pixel based graphics, so the program being vector based isn't a necessity.

    Read the article

  • Cannot set "Language for Non-Unicode Programs" in Regional and Language Settings

    - by cornjuliox
    I'm trying to set the Language for Non-Unicode Programs from English to Japanese (I'm using Windows XP SP 3), but it won't let me. It looks like I've got the East Asian Language packs installed, but when I select "Japanese" from the drop-down box and hit "Apply" I get an error that says "Setup was unable to install the chosen locale. Please contact your system administrator". I'm already logged in as the administrator, and I've restarted several times but it still won't let me. Can anyone give me an idea as to how to solve this problem? Reinstalling Windows is absolutely out of the question.

    Read the article

  • Programs still opening websites through Google Chrome, despite its removal

    - by Russsell Feldman
    Even after I've uninstalled Google Chrome, when other programs want to open a website (e.g.: Yahoo! Messenger getting a profile) they will still attempt to do so through Chrome, and fail looking for it. I've read all the advice on how to make Firefox or IE for Windows 7 the default browser. I don't think Google would do this sort of "hijack the default browser" thing and I'm convinced it must be a trojan or virus or even a registry hack. If so, any ideas on how I would go about fixing this without purchasing every virus/trojan program until it was removed? That method could be an expensive fix.

    Read the article

  • Allowing non-admins to run programs as admins on Windows 7

    - by Josh
    On *nix, admins can use the setuid flag to allow non-admins to run certain programs that would otherwise require admin privileges. Is there any way to do something similar in Windows 7? This question has been asked here before for Windows XP, and the answers were generally unsatisfying. I'm wondering if Windows 7 provides a better way. One idea I can think of would be to use Microsoft's Subsystem for UNIX Applications, but I'd rather not install that on every user's system if I can avoid it. Another idea I can think of (which would work on XP too, but I haven't seen it mentioned anywhere) would be to create a RunAsAdmin application that runs as a service, that takes a whitelist of "safe" apps and can be asked (from a command line, batch file or script) to run any program on the list as LocalSystem or whatever account the service uses. Is this possible? Are there any solutions that aren't as clunky as those? Or, has anyone implemented either of the above techniques successfully?

    Read the article

  • Windows 8 Start Screen: Show programs in order of most frequently used

    - by Johnny W
    For me the Windows 8 Start Screen is just a great bit version of the old Start Menu, but unlike the Start Menu, it doesn't seem to order programs by frequency of use? Consider the following: While I DO use Chrome, Steam, and iTunes a lot. I've never ran Adobe Media Encoder, nor Adobe Extension Manager, nor Acrobat Distiller, or indeed most of the things on that list! Or there a way to change sorting to most frequently clicked on? Or perhaps even create FOLDERS in which to group items (e.g. "Adobe Apps" or "Games" or "Microsoft Office"?). Dragging them one at a time takes an age!

    Read the article

  • Start Menu freezes when highlighting 'All Programs'

    - by gergesi
    Hey all, A friends machine is lagging for about 30 seconds when they highlight 'All Programs'. A gray box popus up where the program menu would be, but it doesnt populate for nearly 30 seconds. This seems to happen if he hasn't open the start menu for a bit.. but if he get's it working once, doing it immediatly afterwards will usually not have the same lag. Assuming computer hardware isn't an issue, any ideas what the problem may be? Sidenote: He mentioned making desktop shortcuts is taking long as well, does that give any clues?

    Read the article

  • Windows 7 'All Programs' folders self-close on right-click

    - by Madmanguruman
    Odd issue on my Windows 7 Professional (32-bit) system. If I click on the Start 'orb' then navigate to 'All Programs', then navigate to any of the folders that appear at the bottom of the list (like Accessories) and left-click, the folder contents expand with no issue. If I right-click, the context menu appears for half-a-second or so, then the popup goes away and the entire start menu dismisses. I'm not sure how to debug this issue - I'm considering using Autoruns to try and disable things hooked into the shell one-by-one. Is there a way to use a tool like Process Explorer to narrow down the process that's actually dismissing the menus?

    Read the article

  • Windows Server R2 Task Scheduler - Open Programs On Startup

    - by Markive
    I want Fiddler and some other programs to run on startup, so it's there and running every time I bring up an instance of my test server on EC2. There's a few questions about running scripts on Startup with Task Scheduler, but this needs to work slightly differently. I have set this up to run on startup but when I RDP into the server I can see Fiddler is running in Task Manager (so I can't manually run a second instance of the program), but it's not viewable on the task bar? So I can't actually see the interface? Here's my setup: General Tab Running with highest privileges Run whether user is logged on or not Configure for Windows 2008 server R2 Triggers Tab At startup Others are obvious and defaults.. What am I doing wrong?

    Read the article

  • Almost all of my programs arn't recognized anymore.

    - by alaster
    I had a virus on my computer and was able to remove it, however, now almost all of my programs won't work. Even trying to open freecell pulls up the "select a software to run this in" window. I can't even install software anymore because after downloading a setup file and clicking on it, it too opens the "choose a program to run this in" window. I'm trying to find a way to fix without reinstalling the OS. Does anyone know a way to restore the file/files that are missing that are causing this problem without starting over?

    Read the article

  • Smart Auto-completion in SVN (and other programs!)

    - by Jimmy
    When I type "svn add path/to/somefile..." and tab to autocomplete, the system should ONLY complete files/directories that are NOT under currently under SVN control. Likewise, when I commit, remove or resolve files, the tab completion should only complete files that are relevant to what I'm doing. This is especially important in SVN where I can waste thousands of keystrokes typing long path and file names, but it of applies to other programs. I know bash has a bash_completion file that can be used to programatically alter this behaviour but I've not found a decent example of SVN completion which actually completes file names rather than SVN command names. My question is: Does anyone have such a setup? Does anyone use a different shell or tool that does something similar? Has anyone given this any thought?

    Read the article

  • Microsoft hosting free Hyper-V training for VMware Pros

    - by Ryan Roussel
    Microsoft will be hosting free training for virtualization professionals focused on Hyper-V, System Center, and virtualization architecture.  Details are below:   Just one week after Microsoft Management Summit 2011 (MMS), Microsoft Learning will be hosting an exclusive three-day Jump Start class specially tailored for VMware and Microsoft virtualization technology pros.  Registration for “Microsoft Virtualization for VMware Professionals” is open now and will be delivered as an online class on March 29-31, 2010 from 10:00am-4:00pm PDT.    The course is COMPLETELY FREE and OPEN TO ANYONE!  Please share with your customers, blog, Tweet, etc. – help us get the word out to strengthen support for Microsoft’s virtualization offerings. What’s the high-level overview? This cutting edge course will feature expert instruction and real-world demonstrations of Hyper-V and brand new releases from System Center Virtual Machine Manager 2012 Beta (many of which will be announced just one week earlier at MMS).  Register Now!   Day 1 will focus on “Platform” (Hyper-V, virtualization architecture, high availability & clustering) 10:00am – 10:30pm PDT:  Virtualization 360 Overview 10:30am – 12:00pm:  Microsoft Hyper-V Deployment Options & Architecture 1:00pm – 2:00pm:  Differentiating Microsoft and VMware (terminology, etc.) 2:00pm – 4:00pm:  High Availability & Clustering Day 2 will focus on “Management” (System Center Suite, SCVMM 2012 Beta, Opalis, Private Cloud solutions) 10:00am – 11:00pm PDT:  System Center Suite Overview w/ focus on DPM 11:00am – 12:00pm:  Virtual Machine Manager 2012 | Part 1 1:00pm –   1:30pm:  Virtual Machine Manager 2012 | Part 2 1:30pm – 2:30pm:  Automation with System Center Opalis & PowerShell 2:30pm – 4:00pm:  Private Cloud Solutions, Architecture & VMM SSP 2.0 Day 3 will focus on “VDI” (VDI Infrastructure/architecture, v-Alliance, application delivery via VDI) 10:00am – 11:00pm PDT:  Virtual Desktop Infrastructure (VDI) Architecture | Part 1 11:00am – 12:00pm:  Virtual Desktop Infrastructure (VDI) Architecture | Part 2 1:00pm – 2:30pm:  v-Alliance Solution Overview 2:30pm – 4:00pm:  Application Delivery for VDI     Every section will be team-taught by two of the most respected authorities on virtualization technologies: Microsoft Technical Evangelist Symon Perriman and leading Hyper-V, VMware, and XEN infrastructure consultant, Corey Hynes Who is the target audience for this training? Suggested prerequisite skills include real-world experience with Windows Server 2008 R2, virtualization and datacenter management. The course is tailored to these types of roles: · IT Professional · IT Decision Maker · Network Administrators & Architects · Storage/Infrastructure Administrators & Architects How do I to register and learn more about this great training opportunity? · Register: Visit the Registration Page and sign up for all three sessions · Blog: Learn more from the Microsoft Learning Blog · Twitter: Here are a few posts you can retweet: o Mar. 29-31 "Microsoft #Virtualization for VMware Pros" @SymonPerriman Corey Hynes http://bit.ly/JS-Hyper-V @MSLearning #Hyper-V o @SysCtrOpalis Mar. 29-31 "Microsoft #Virtualization for VMware Pros" @SymonPerriman Corey Hynes http://bit.ly/JS-Hyper-V #Hyper-V o Learn all the cool new features in Hyper-V & System Center 2012! SCVMM, Self-Service Portal 2.0, http://bit.ly/JS-Hyper-V #Hyper-V #Opalis What is a “Jump Start” course? A “Jump Start” course is “team-taught” by two expert instructors in an engaging radio talk show style format. The idea is to deliver readiness training on strategic and emerging technologies that drive awareness at scale before Microsoft Learning develops mainstream Microsoft Official Courses (MOC) that map to certifications.  All sessions are professionally recorded and distributed through MS Showcase, Channel 9, Zune Marketplace and iTunes for broader reach.

    Read the article

  • Free Windows Store and Phone Developer Accounts for MSDN Subscribers

    - by Clint Edmonson
    If you are a member/subscriber to any of the following programs you are eligible to receive one-time, 12-month Windows Store and Windows Phone developer accounts.  Visual Studio Professional with MSDN Visual Studio Test Professional with MSDN Visual Studio Premium with MSDN Visual Studio Ultimate with MSDN BizSpark On September 11, 2012 Microsoft announced that Windows Store is open to individual developers (Company only registration became available on August 1st). This means that eligible MSDN subscribers will be able to select between an individual and company account when registering for their developer account benefit.   New or existing subscribers will see developer accounts listed as a benefit on the Getting Started page as well as various MSDN overview pages. Now that you have this benefit why not get started.  To activate this benefit, subscribers are provided with a unique token for each of the developer accounts. The tokens will work for both individual and company registration. To acquire and redeem the token: 1. Log into My Account. 2. Click on ‘Get Code’. A unique token will be delivered to each subscriber. 3. Click on ‘How to Register’ (link will appear once code is claimed). A developer account details page will display that includes an overview of the benefit, token and registration information. 4. Click on the link to ‘Register your code’.  This launches the developer account registration process. Ready to start developing?  Head over to Generation App to get started.

    Read the article

  • Not enough free disk space

    - by carmatt95
    I'm new to Ubuntu and I'm getting an error in software updater. When I try and do my daily updates, it says: The upgrade needs a total of 25.3 M free space on disk /boot. Please free at least an additional 25.3 M of disk space on /boot. Empty your trash and remove temporary packages of former installations using sudo apt-get clean. I tried typing in sudo apt-get clean into the terminal but I still get the message. All of the pages I read seem to be for experianced Ubuntuers. Any help would be appreciated. I'm running Ubuntu 12.10. I want to upgrade to 13.04 but understand I have to finish these first. EDIT: @Alaa, This is the output from typing in cat /etc/fstab into the terminal: # /etc/fstab: static file system information. # # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> /dev/mapper/ubuntu-root / ext4 errors=remount-ro 0 1 # /boot was on /dev/sda1 during installation UUID=fa55c082-112d-4b10-bcf3-e7ffec6cebbc /boot ext2 defaults 0 2 /dev/mapper/ubuntu-swap_1 none swap sw 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0 matty@matty-G41M-ES2L:~$ df -h: Filesystem Size Used Avail Use% Mounted on /dev/mapper/ubuntu-root 915G 27G 842G 4% / udev 984M 4.0K 984M 1% /dev tmpfs 397M 1.1M 396M 1% /run none 5.0M 0 5.0M 0% /run/lock none 992M 1.8M 990M 1% /run/shm none 100M 52K 100M 1% /run/user /dev/sda1 228M 222M 0 100% /boot matty@matty-G41M-ES2L:~$ dpkg -l | grep linux-image: ii linux-image-3.5.0-17-generic 3.5.0-17.28 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP ii linux-image-3.5.0-18-generic 3.5.0-18.29 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP ii linux-image-3.5.0-19-generic 3.5.0-19.30 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP ii linux-image-3.5.0-21-generic 3.5.0-21.32 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP ii linux-image-3.5.0-22-generic 3.5.0-22.34 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP ii linux-image-3.5.0-23-generic 3.5.0-23.35 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP ii linux-image-3.5.0-24-generic 3.5.0-24.37 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP ii linux-image-3.5.0-25-generic 3.5.0-25.39 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP ii linux-image-3.5.0-26-generic 3.5.0-26.42 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP iF linux-image-3.5.0-28-generic 3.5.0-28.48 i386 Linux kernel image for version 3.5.0 on 32 bit x86 SMP

    Read the article

  • The long road to bug-free software

    - by Tony Davis
    The past decade has seen a burgeoning interest in functional programming languages such as Haskell or, in the Microsoft world, F#. Though still on the periphery of mainstream programming, functional programming concepts are gradually seeping into the imperative C# language (for example, Lambda expressions have their root in functional programming). One of the more interesting concepts from functional programming languages is the use of formal methods, the lofty ideal behind which is bug-free software. The idea is that we write a specification that describes exactly how our function (say) should behave. We then prove that our function conforms to it, and in doing so have proved beyond any doubt that it is free from bugs. All programmers already use one form of specification, specifically their programming language's type system. If a value has a specific type then, in a type-safe language, the compiler guarantees that value cannot be an instance of a different type. Many extensions to existing type systems, such as generics in Java and .NET, extend the range of programs that can be type-checked. Unfortunately, type systems can only prevent some bugs. To take a classic problem of retrieving an index value from an array, since the type system doesn't specify the length of the array, the compiler has no way of knowing that a request for the "value of index 4" from an array of only two elements is "unsafe". We restore safety via exception handling, but the ideal type system will prevent us from doing anything that is unsafe in the first place and this is where we start to borrow ideas from a language such as Haskell, with its concept of "dependent types". If the type of an array includes its length, we can ensure that any index accesses into the array are valid. The problem is that we now need to carry around the length of arrays and the values of indices throughout our code so that it can be type-checked. In general, writing the specification to prove a positive property, even for a problem very amenable to specification, such as a simple sorting algorithm, turns out to be very hard and the specification will be different for every program. Extend this to writing a specification for, say, Microsoft Word and we can see that the specification would end up being no simpler, and therefore no less buggy, than the implementation. Fortunately, it is easier to write a specification that proves that a program doesn't have certain, specific and undesirable properties, such as infinite loops or accesses to the wrong bit of memory. If we can write the specifications to prove that a program is immune to such problems, we could reuse them in many places. The problem is the lack of specification "provers" that can do this without a lot of manual intervention (i.e. hints from the programmer). All this might feel a very long way off, but computing power and our understanding of the theory of "provers" advances quickly, and Microsoft is doing some of it already. Via their Terminator research project they have started to prove that their device drivers will always terminate, and in so doing have suddenly eliminated a vast range of possible bugs. This is a huge step forward from saying, "we've tested it lots and it seems fine". What do you think? What might be good targets for specification and verification? SQL could be one: the cost of a bug in SQL Server is quite high given how many important systems rely on it, so there's a good incentive to eliminate bugs, even at high initial cost. [Many thanks to Mike Williamson for guidance and useful conversations during the writing of this piece] Cheers, Tony.

    Read the article

< Previous Page | 49 50 51 52 53 54 55 56 57 58 59 60  | Next Page >