Search Results

Search found 18700 results on 748 pages for 'isolated network'.

Page 441/748 | < Previous Page | 437 438 439 440 441 442 443 444 445 446 447 448  | Next Page >

  • Open World Day 3

    - by Antony Reynolds
    A Day in the Life of an Oracle OpenWorld Attendee Part IV My third day was exhibition day for me!  I took the opportunity to wander around the JavaOne and OpenWorld exhibitions to see what might be useful for me when selling WebLogic, Coherence & SOA Suite.  I found a number of interesting vendors and thought I would share what I found here.  These are not necessarily endorsements, but observations on companies that I thought had interesting looking products that fill a need I have seen at customers. Highly Available EBS Upgrades A few years ago I worked with a customer that was a port authority.  They wanted to tie E-Business Suite into their operations to provide faster processing of cargo and passengers.  However they only had a 2 hour downtime window to perform upgrades.  This was not a problem for core database and middleware technology, this could accommodate those upgrade timescales easily.  It was a problem for EBS however so I intrigued to find Rapid E-Suite Inc offering an 11i to 12i upgrade service that claims to require no outage.  This could be a real boon to EBS customers like my port friends that need to upgrade without disruption to their business. Mobile on WebLogic I have come across a number of customers who want a comprehensive mobile solution, connected and disconnected operation and so forth.  ADF only addresses part of these requirements currently so I was excited to discover mFrontiers Inc offering an apparently comprehensive solution that should integrate easily with Oracle SOA Suite to mobile enable a SOA infrastructure.  The ability to operate without a network is important for many applications, particularly in industries that require their engineers to enter buildings to perform maintenance or repairs, because network access is not always available – many of my colleagues don’t have mobile access from their homes because they live in the middle of nowhere – and disconnected support is crucial in these situations. Sharepoint Connector for WebCenter Content Obviously Sharepoint is an evil pernicious intrusion into a companies IT estate but it is widely deployed and many people like it but also would like to take advantage of Oracle products such as WebCenter Content.  So I was encouraged to see that Fishbowl Solutions have created a connector for Sharepoint that allows it to bring in content from WebCenter, it looks like a valuable way to maintain the Sharepoint interface end users are used to but extend the range of content by pulling stuff (technical term for content) from WebCenter.   Load Balancing The Enterprise Deployment Guides are Oracles bible on building highly available FMW environments, and each of them requires a front end load balancer.  I have been asked to help configure F5 Load Balancers on a number of occasions over my time at Oracle and each time I come back to it I find more useful features have been added to the BigIP line of load balancers that F5 sell, many of their documents are tailored to FMW.  I like F5, they provide (relatively) easy to use products that do what they say on the side of the box.  They may not have all the bells and whistles of some of their more expensive competitors but they do the job and do it well!  Besides which I like their logo! Other Stuff I saw lots of other interesting products and services, such as a lightweight monitoring tool for Coherence, Forms migration services, JCAPS migration services and lots of cool freebies to take home to the children! A Quiet Night Wednesday night was the partner appreciation event and I had decided to go back to the hotel and have an early night.  I decided to attend the last session of the day – a Maven/Hudson/WebLogic tutorial.  I got the wrong hotel for the session and snuck in 20 minutes late at the back and starting working on the hands on workshop.  One of my co-attendees raised his hand for help and as the presenter came over to help he suddenly stopped and yelled – “Is that Antony”!  It was my old friend Steve Button who used to be based in Redwood Shores but is now a WebLogic guru PM in Australia.  It was good to catch up with him.  As he yelled out a guy with really bad posture turned around to see who he was talking to, this turned out to be my friend Simon Haslan, Oracle ACE from the UK.  After the tutorial Simon and I retired to the coffee shop to catch up and share stories.  2 and half hours later we decided it was time to retire, so much for an early night but great to renew old friendships and find out what real customers are worrying about.

    Read the article

  • Presentations on OVCA & OVN

    - by uwes
    The following three presentations regarding Oracle Virtual Compute Appliance and Oracle SDN from Oracle Open World sessions are now available for download from eSTEP portal. Oracle Virtual Compute Appliance: From Power On to Production in About an Hour Charlie Boyle and Premal Savla give an overview of the Oracle Virtual Compute Appliance. This presentation is a mix of the business and technical slides. Rapid Application Deployment with Oracle Virtual Compute Appliance Kurt Hackel and Saar Maoz, both in Product Development, explain how to use Oracle VM templates to deploy applications faster and walk through a demo with Oracle VM templates for Oracle Database.  Oracle SDN: Software-Defined Networking in a Hybrid, Open Data Center Krishna Srinivasan and Ronen Kofman explain Oracle SDN and provide use cases for multi-tenant private cloud, IaaS, serving Tier 1 application and virtual network services. The presentation can be downloaded from eSTEP portal. URL: http://launch.oracle.com/ PIN: eSTEP_2011 The material can be found under tab eSTEP Download Located under: Recent Updates and Engineered Sysytems/Optimized Solutions

    Read the article

  • Canon Mx772 printer recognized, drivers loaded...but all print jobs "Held"

    - by user212169
    BRAND NEW to Ubuntu but loving it so far. I have a Canon MX772 wireless printing running on my network and am able to print fine from a PC and Mac. Using the printers IP, Ubuntu was able to find it and I accepted all of the "recommended" items (it found a Canon MX770 driver). Everything seems to load fine...but the test page does not print, nor does any print commands make it to the printer. If I open the print dialogue jobs are shown as "held" and when I look at the jobs attributes, I see "Job printer state message=cannot specify model number" and then a few lines down "job state reasons=aborted by system". If I try to "resume" it immediately goes back to "held". I can successfully ping the IP of the printer. Would be very appreciative of other ideas...printing is the last check in the box before I am all set up. Thanks!

    Read the article

  • The Best How-To Geek Articles for November 2011

    - by Asian Angel
    It has been a busy month here at HTG where we covered topics such as how to see which websites your computer is secretly connecting to, reviewed the new Amazon Kindle Fire Tablet, learned how to improve your Google search skills, and more. Join us as we look back at the most popular articles from this past month. Note: Articles are listed as #10 through #1. Beyond Barrel Roll: 10 Hidden Google Tricks If Google’s recent Easter Egg–query “do a barrel roll” if you haven’t tried it already–has you curious about other search tricks, this collection of Easter Eggs will keep you busy for awhile. HTG Explains: Understanding Routers, Switches, and Network Hardware How to Use Offline Files in Windows to Cache Your Networked Files Offline How to See What Web Sites Your Computer is Secretly Connecting To

    Read the article

  • ubuntu 12.04.3 - Reverse DNS issue - slow ping interval but normal ping value

    - by McArthor Lee
    i'm running ubuntu 12.04.3 x86 desktop in my corporation environment. I join the corp domain by Likewise open. But when I ping another pc, say hostname is pc-test, "ping pc-test" or "ping pc-test.domain.name" returns slow interval (about 5 seconds) but the ping value is below 1 ms. When I use "ping -n pc-test", everything works well. So I conclude this is about reverse DNS issue. how to fix this issue? many thanks! Edit: In my understanding, reverse DNS issue is related to DNS server or Wins server, not only an ubuntu issue, is this right? if I wanna fix this issue as much as possible on ubuntu but not on network servers, what to do?

    Read the article

  • advertising servers / advert delivery solutions for C#/Asp.Net

    - by Karl Cassar
    We have a website which we want to show adverts in - However, these are custom adverts uploaded by the webmaster, not the Google adverts, or any adverts the network chooses. Ideally, there would be both options. We were considering developing our own advert-management system, but looking at the big picture, it might be better to consider other alternatives. Website is currently developed in C# / ASP.Net (Web Forms) Are there any recommendations to some open-source delivery networks and/or external hosted advert delivery networks? Personally I've used Google's DFP, however sometimes it is not so easy to get a Google AdSense account approved, especially while developing a new website and it not yet being launched. Not sure if this is the best place to ask this kind of question!

    Read the article

  • User Independant Share Folder

    - by ell
    At the moment, I have a folder in my home directory that is shared on my laptop and can also be accessed by the other windows desktop pcs in my network but now I have decided to make my home folder inaccessible by other users on my laptop so other people cannot look at my files if they have a user on my laptop. I set the permissions to none for everyone apart from me. I then changed the share folder (/home/elliot/Shared) to allow all access but my windows computers and other users on my laptop cannot access it even though they have the right permission, I think this is because they don't have access to the home folder in which the Shared folder is stored. Where should I store a new Shared folder on my laptop? Should I put it as /home/Shared? Or, alternatively is there a way I can allow other users to access my /home/elliot/Shared folder even if /home/elliot is inaccessible? Thanks in advance, ell.

    Read the article

  • HTTPS Everywhere Extension Updates to Version 3.0, Adds Protection for 1,500 More Websites

    - by Asian Angel
    If one of your security goals is to encrypt your communication with websites as much as possible, then you will definitely be pleased with the latest update to the HTTPS Everywhere extension for Firefox and Chrome. This latest release adds encryption protection for an additional 1,500 websites to help make your browsing experience more secure than ever. Images shown above courtesy of EFF. You can learn more about this latest release along with installing the extension for Firefox and/or Chrome directly from the blog post linked below… HTTPS Everywhere 3.0 protects 1,500 more sites [via Softpedia] HTG Explains: What is the Windows Page File and Should You Disable It? How To Get a Better Wireless Signal and Reduce Wireless Network Interference How To Troubleshoot Internet Connection Problems

    Read the article

  • Announcing: Oracle Solaris Cluster Product Bulletin, May 2014

    - by uwes
    New qualifications announcements and general news for Oracle Solaris Cluster products can be found in the new Product Bulletin Hardware Qualifications New Oracle ZFS Storage Appliance Kit versions with Oracle Solaris Cluster 4.1 geographic cluster Pillar AXIOM 600 with Oracle Solaris Cluster 4.1 on x86 Software Qualifications SAP Livecache 7.9 and MAXDB 7.9 Oracle Weblogic Server 12.1.2 Latest Support Information Oracle Solaris Cluster 4.1 SRU 7 (4.1.7) Oracle Solaris Cluster 3.3 3/13 patch train #5 Resources Configuration guides and documentation Product Update Bulletin Archives Contacts Please read the Product Bulletin on Oracle HW TRC for more details. (If you are not registered on Oracle HW TRC, click here ... and follow the instructions..) _____________________________________________________________________ For More Information Go To:Oracle.com Oracle Solaris Cluster page Oracle Technology Network Oracle Solaris Cluster pageOracle Solaris Cluster MOS communityPartner web Oracle Solaris Cluster pageOracle Solaris Cluster Blog

    Read the article

  • Advice On Price Comparison Affiliate Programs

    - by pixelcook
    I want a price comparison feature on my site similar to Consumer Reports' "Price & Shop" section. They use PriceGrabber.com, but as far as I can tell they have a special deal with CR, so I can't get a similar service for my site. I've gathered that I need to use an affiliate network, but the whole thing seems so shady, I don't really know what sites are legit, and I don't know what sites offer the price comparison feature. Datafeedfile.com comes up a lot during my searches, but the ugly site makes me wary. Does anyone have any experience with this? What affiliate networks do you recommend? Or should I be looking at something else altogether?

    Read the article

  • Announcing: Oracle's Sun Flash Accelerator F80 PCIe Card

    - by uwes
    Ramp Up Your Server Performance with Oracle's Sun Flash Accelerator F80 PCIe Card! Oracle’s Sun Flash Accelerator F80 PCIe Card accelerates IO-starved applications and server performance by reducing storage latencies and increasing I/O throughput for greater productivity and business response! Sun Flash Accelerator F80 PCIe Card offers the following: Helps servers and their applications run faster and more efficient, while reducing power and space With 800GB capacity, delivers 2x the capacity of the previous F40 Flash Card for less than half the $/GB Accelerates I/O constrained databases with increased IOPS and consistent low-latency response timers Current and planned server support includes: The F80 is currently supported in Oracle’s SPARC T4-1, T4-2 and X4-2L servers.  SPARC T5, M5, M6 and Fujitsu M10 server support is planned for December 2013 (Preliminary only) Please read the Sales Bulletin on Oracle HW TRC for more details. (If you are not registered on Oracle HW TRC, click here ... and follow the instructions..) For More Information Go To: Oracle.com Flash Page Oracle Technology Network Flash Page

    Read the article

  • Ubuntu One Bookmark sync not working.

    - by Rob
    Everything in Ubuntu One sync works great except bookmark sync. I tried the wiki answer that said to run: killall beam.smp beam rm ~/.config/desktop-couch/desktop-couchdb.ini dbus-send --session --dest=org.desktopcouch.CouchDB --print-reply --type=method_call / org.desktopcouch.CouchDB.getPort This is what my terminal came back with: robin@robin-MIDWAY:~$ killall beam.smp beam beam: no process found robin@robin-MIDWAY:~$ rm ~/.config/desktop-couch/desktop-couchdb.ini rm: cannot remove `/home/robin/.config/desktop-couch/desktop-couchdb.ini': No such file or directory robin@robin-MIDWAY:~$ dbus-send --session --dest=org.desktopcouch.CouchDB --print-reply --type=method_call / org.desktopcouch.CouchDB.getPort Error org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. robin@robin-MIDWAY:~$ I'm a computer "newbie" so it's possible I'm doing something wrong, are there any tutorials out there on how to use the CouchDB? I have Bindwood installed.

    Read the article

  • About Me

    - by Jeffrey West
    I’m new to blogging.  This is the second blog post that I have written, and before I go too much further I wanted the readers of my blog to know a bit more about me… Kid’s Stuff By trade, I am a programmer (or coder, developer, engineer, architect, etc).  I started programming when I was 12 years old.  When I was 7, we got our first ‘family’ computer – an Apple IIc.  It was great to play games on, and of course what else was a 7-year-old going to do with it.  I did have one problem with it, though.  When I put in my 5.25” floppy to play a game, sometimes, instead loading my game I would get a mysterious ‘]’ on the screen with a flashing cursor.  This, of course, was not my game.  Much like the standard ‘Microsoft fix’ is to reboot, back then you would take the floppy out, shake it, and restart the computer and pray for a different result. One day, I learned at school that I could topple my nemesis – the ‘]’ and flashing cursor – by typing ‘load’ and pressing enter.  Most of the time, this would load my game and then I would get to play.  Problem solved.  However, I began to wonder – what else can I make it do? When I was in 5th grade my dad got a bright idea to buy me a Tandy 1000HX.  He didn’t know what I was going to do with it, and neither did I.  Least of all, my mom wasn’t happy about buying a 5th grader a $1,000 computer.  Nonetheless, Over time, I learned how to write simple basic programs out of the back of my Math book: 10 x=5 20 y=6 30 PRINT x+y That was fun for all of about 5 minutes.  I needed more – more challenges, more things that I could make the computer do.  In order to quench this thirst my parents sent me to National Computer Camps in Connecticut.  It was one of the best experiences of my childhood, and I spent 3 weeks each summer after that learning BASIC, Pascal, Turbo C and some C++.  There weren’t many kids at the time who knew anything about computers, and lets just say my knowledge of and interest in computers didn’t score me many ‘cool’ points.  My experiences at NCC set me on the path that I find myself on now, and I am very thankful for the experience.  Real Life I have held various positions in the past at different levels within the IT layer cake.  I started out as a Software Developer for a startup in the Dallas, TX area building software for semiconductor testing statistical process control and sampling.  I was the second Java developer that was hired, and the ninth employee overall, so I got a great deal of experience developing software.  Since there weren’t that many people in the organization, I also got a lot of field experience which meant that if I screwed up the code, I got yelled at (figuratively) by both my boss AND the customer.  Fun Times!  What made it better was that I got to help run pilot programs in Taiwan, Singapore, Malaysia and Malta.  Getting yelled at in Taiwan is slightly less annoying that getting yelled at in Dallas… I spent the next 5 years at Accenture doing systems integration in the ‘SOA’ group.  I joined as a Consultant and left as a Senior Manager.  I started out writing code in WebLogic Integration and left after I wrapped up project where I led a team of 25 to develop the next generation of a digital media platform to deliver HD content in a digital format.  At Accenture, I had the pleasure of working with some truly amazing people – mentoring some and learning from many others – and on some incredible real-world IT projects.  Given my background with the BEA stack of products I was often called in to troubleshoot and tune WebLogic, ALBPM and ALSB installations and have logged many hours digging through thread dumps, running performance tests with SoapUI and decompiling Java classes we didn’t have the source for so I could see what was going on in the code. I am now a Senior Principal Product Manager at Oracle in the Application Grid practice.  The term ‘Application Grid’ refers to a collection of software and hardware products within Oracle that enables customers to build horizontally scalable systems.  This collection of products includes WebLogic, GlassFish, Coherence, Tuxedo and the JRockit/HotSpot JVMs (HotSprocket, maybe?).  Now, with the introduction of Exalogic it has grown to include hardware as well. Wrapping it up… I love technology and have a diverse background ranging from software development to HW and network architecture & tuning.  I have held certifications for being an Oracle Certified DBA, MSCE and Cisco Certified Network Professional (CCNP), among others and I have put those to great use over my career.  I am excited about programming & technology and I enjoy helping people learn and be successful.  If you are having challenges with WebLogic, BPM or Service Bus feel free to reach out to me and I’ll be happy to help as I have time. Thanks for stopping by!   --Jeff

    Read the article

  • Sigmatel sound card not working on an Dell XPS m2010

    - by ralph crowhurst
    I've installed Ubuntu 11.4 on my dell xps m2010 using wubi. Then booted up and could not connect to the Internet using 3three huawei e122 usb mobile broadband (I would like this to work also). I've managed to connect through a wireless network, I went to my favorite sites and was told I needed to install adobe flash player.This what I did players run and picture is good. But there is no sound! Then I've tried to play songs in Banshee, but no sound. I have checked everything in sound preferences including test speaker, there is sound. I have sigmatel sound card. Thanks

    Read the article

  • Is there a Content Management System that allows multiple & independent blogs to be running on one domain?

    - by Ron
    Hello Webmasters, I am a Wordpress fan, and I'm now building a new site and I'm not sure which CMS can achieve what I'm trying to do. I am building a food blog network for a bunch of cities in the US, and I want to my city pages to be independently running blogs themselves. So basically... Home Page - Its own blog with its own users, talking about Food in general Dallas Page (child of home page) - Its own blog with its own users Chicago Page ..... so on and so forth. The web layout and design will be all the same, but just trying to achieve 25~50 independent blogs on one domain. How can I achieve this? I'm hoping that I don't have to install Wordpress into as many subdomains that I create... Thank you for your help in advance. -RP

    Read the article

  • Getting fingerprint from Apache certificate (combined with key)

    - by Alois Mahdal
    I have just created a certificate for my Apache SSL host using: make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/ssl/private/myhost.crt Now that is the correct way to get the fingerprint out of it? (So I can keep it in other place for visual comparison---in case I need to connect and really don't trust the network?) openssl sha1 /etc/ssl/private/myhost.crt returns different SHA1 than Opera tells me about the cert. Is this because it's combined with the key? (...or am I spoofed already? :-)).

    Read the article

  • Need assistance for domain forwarding

    - by Yusuf Andre
    Briefly my question is about combining my registered domain with the websites listening on port 80/8080 on my server. I have a web server IIS on windows 7 and two web sites listening on port 80 and 8080. I have successfully forwarded any incoming request to port 80 and 8080 to my web server. So everything works like a charm when I try to access these websites entering http://myglobalip:80/Index.aspx or http://myglobalip:8080/Index.aspx from a computer outside of the local network. So I have a domain registered, lets say www.mydomain.com. What steps should I follow in which sequence? What should I consider to do? I need a step by step guide to follow. I have registered my domain on godaddy's website and only configured forwarding so the domain forward to my webserver but when I attempt to access the web page, It always try and try until It times out.

    Read the article

  • How to mount a disk that supports Samba sharing (Using Disk Utility)

    - by Luis Alvarado - The Wolverine
    This might be a tricky question but here is the objective: Manage to mount a disk/partition automatically without (or at least trying to avoid): Editing any Samba configuration file Editing the fstab file and to make it a little bit harder, this needs to be done with the options for "Mount Options" in the Disk Utility: Note that if left as it is, every time a user mounts a partition/disk and then tries to share a folder in it, Windows users can see the share but can not access it, with a permission warning appearing. The point of all of this is to find the most user friendly (Oriented towards a GUI) way of enabling a partition to be mounted, accessed by the local user (Read, Write, Execute) and to also be able to, when needed, share a folder and have no problems reading/writing on it from another Ubuntu/Windows/Mac remote computer (Assuming both are in the same LAN network).

    Read the article

  • Sharing my home folders with other users on the same PC

    - by Stephen Myall
    After reviewing similar questions on the same subject Im still none the wiser. I want to share my music, pictures and video folders with other users on my pc. I am using 11.10 and will be upgrading to 12.04. The method I have tried is to right click on the folder (as Administrator), select "Sharing Options" check all the necessary fields and give the share a name like "music-shared". Another dialog pops up then and I select "Set nautilus Permissions". When the other user logs on they go to their Home folder click on the network and can see the "music-shared" folder, but they get a message that the do not have the necessary permissions to view the content. Im sure I'm missing something simple. My Home folder is encrypted and i am willing to unencrypt to make this work Unlike other questions on this site, I dont have a partition etc. i would be grateful for any help.

    Read the article

  • PARTNER WEBCAST : Nimble SmartStack for Oracle with Cisco UCS (Nov 12)

    - by Zeynep Koch
    You are invited to the live webcast with Nimble Storage, Oracle and Cisco where we will talk about the new SmartStack solution from Nimble Storage that features Oracle Linux, Oracle VM and Cisco UCS products. When : Tuesday, November 12, 2013, 11:00 AM Pacific Time Panelists: Michele Resta, Director of Linux and Virtualization Alliances, Oracle John McAbel, Senior Product Manager, Cisco Ibby Rahmani, Solutions Marketing, Nimble Storage SmartStack™solutions provide pre-validated reference architectures that speed deployments and minimize risk. All SmartStack solutions incorporate Cisco UCS as the compute and network infrastructure. In this webinar, you will learn how Nimble Storage SmartStack with Oracle and Cisco provides a converged infrastructure for Oracle Database environments with Oracle Linux and Oracle VM. SmartStack, built on best-of-breed components, delivers the performance and reliability needed for deploying Oracle on a single symmetric multiprocessing (SMP) server or Oracle Real Application Clusters (RAC) on multiple nodes.  Register today 

    Read the article

  • Can't get HP Officejet 6500 card reader to work.

    - by Dennis
    This network (wired) printer works great using the latest HPLIP drivers. However when I plug in an SD card, it just blinks and never shows up mounted anywhere. Has anyone come up with a way to mount these? I'm using Lucid, 10.04. re: version, hp-info says xxxxx@lucid:~$ hp-info HP Linux Imaging and Printing System (ver. 3.10.5) Device Information Utility ver. 5.2 Copyright (c) 2001-9 Hewlett-Packard Development Company, LP This software comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to distribute it under certain conditions. See COPYING file for more details. Using device: hp:/net/Officejet_6500_E709a?zc=HP05857E

    Read the article

  • Installing gdm on headless Server Edition

    - by Andrew Koester
    I have Ubuntu Server running on a headless box, which is right now, almost entirely doing only software RAID and feels a little underused. I'd like to get into using Ubuntu as a desktop a little more. What do I need to do (install/etc.) to get Gnome while keeping the box itself headless? I'm not sure which packages to install or which steps to take. I figure I'll just use X over the network (Xming or the like) but something like NX might work.

    Read the article

  • web server response code 500

    - by Bryan Kemp
    I realize that this may spur a religious discussion, but I discussed this with friends and get great, but conflicting answers and the actual documentation is of little help. What does the 500 series response codes mean from the webserver? Internal Server Error, but that is vague. My assumption is that it means that something bad happened to the server (file system corruption, no connection to the database, network issue, etc.) but not specifically a data driven error (divide by zero, record missing, bad parameter, etc). Something to note, there are some web client implementations (the default Android and Blackberry httpclients) that do not allow access to the html boddy if the server response is 500 so there is no way to determine what caused the issue from the client. What I have been been implementing recently is a web service that returns a json payload wrapped in a response object that contains more specific error information if it is data related, but the server response will be 200 since it finished the actual processing. Thoughts?

    Read the article

  • An update process that is even worse than Windows updates

    - by fatherjack
    I'm sorry EA but your game update process stinks. I am not a hardcore gamer but I own a Playstation3 and have been playing Battlefield Bad Company 2 (BFBC2) a bit since I got it for my birthday and there have been two recent updates to the game. Now I like the idea of games getting updates via downloadable content. You can buy a game and if there are changes that are needed (service packs if you will) then they can be distributed over the games console network. Great. Sometimes it fixes problems,...(read more)

    Read the article

  • C# async and actors

    - by Alex.Davies
    If you read my last post about async, you might be wondering what drove me to write such odd code in the first place. The short answer is that .NET Demon is written using NAct Actors. Actors are an old idea, which I believe deserve a renaissance under C# 5. The idea is to isolate each stateful object so that only one thread has access to its state at any point in time. That much should be familiar, it's equivalent to traditional lock-based synchronization. The different part is that actors pass "messages" to each other rather than calling a method and waiting for it to return. By doing that, each thread can only ever be holding one lock. This completely eliminates deadlocks, my least favourite concurrency problem. Most people who use actors take this quite literally, and there are plenty of frameworks which help you to create message classes and loops which can receive the messages, inspect what type of message they are, and process them accordingly. But I write C# for a reason. Do I really have to choose between using actors and everything I love about object orientation in C#? Type safety Interfaces Inheritance Generics As it turns out, no. You don't need to choose between messages and method calls. A method call makes a perfectly good message, as long as you don't wait for it to return. This is where asynchonous methods come in. I have used NAct for a while to wrap my objects in a proxy layer. As long as I followed the rule that methods must always return void, NAct queued up the call for later, and immediately released my thread. When I needed to get information out of other actors, I could use EventHandlers and callbacks (continuation passing style, for any CS geeks reading), and NAct would call me back in my isolated thread without blocking the actor that raised the event. Using callbacks looks horrible though. To remind you: m_BuildControl.FilterEnabledForBuilding(    projects,    enabledProjects = m_OutOfDateProjectFinder.FilterNeedsBuilding(        enabledProjects,             newDirtyProjects =             {                 ....... Which is why I'm really happy that NAct now supports async methods. Now, methods are allowed to return Task rather than just void. I can await those methods, and C# 5 will turn the rest of my method into a continuation for me. NAct will run the other method in the other actor's context, but will make sure that when my method resumes, we're back in my context. Neither actor was ever blocked waiting for the other one. Apart from when they were actually busy doing something, they were responsive to concurrent messages from other sources. To be fair, you could use async methods with lock statements to achieve exactly the same thing, but it's ugly. Here's a realistic example of an object that has a queue of data that gets passed to another object to be processed: class QueueProcessor {    private readonly ItemProcessor m_ItemProcessor = ...     private readonly object m_Sync = new object();    private Queue<object> m_DataQueue = ...    private List<object> m_Results = ...     public async Task ProcessOne() {         object data = null;         lock (m_Sync)         {             data = m_DataQueue.Dequeue();         }         var processedData = await m_ItemProcessor.ProcessData(data); lock (m_Sync)         {             m_Results.Add(processedData);         }     } } We needed to write two lock blocks, one to get the data to process, one to store the result. The worrying part is how easily we could have forgotten one of the locks. Compare that to the version using NAct: class QueueProcessorActor : IActor { private readonly ItemProcessor m_ItemProcessor = ... private Queue<object> m_DataQueue = ... private List<object> m_Results = ... public async Task ProcessOne()     {         // We are an actor, it's always thread-safe to access our private fields         var data = m_DataQueue.Dequeue();         var processedData = await m_ItemProcessor.ProcessData(data);         m_Results.Add(processedData);     } } You don't have to explicitly lock anywhere, NAct ensures that your code will only ever run on one thread, because it's an actor. Either way, async is definitely better than traditional synchronous code. Here's a diagram of what a typical synchronous implementation might do: The left side shows what is running on the thread that has the lock required to access the QueueProcessor's data. The red section is where that lock is held, but doesn't need to be. Contrast that with the async version we wrote above: Here, the lock is released in the middle. The QueueProcessor is free to do something else. Most importantly, even if the ItemProcessor sometimes calls the QueueProcessor, they can never deadlock waiting for each other. So I thoroughly recommend you use async for all code that has to wait a while for things. And if you find yourself writing lots of lock statements, think about using actors as well. Using actors and async together really takes the misery out of concurrent programming.

    Read the article

< Previous Page | 437 438 439 440 441 442 443 444 445 446 447 448  | Next Page >