Search Results

Search found 31882 results on 1276 pages for 'mailing list'.

Page 631/1276 | < Previous Page | 627 628 629 630 631 632 633 634 635 636 637 638  | Next Page >

  • Silverlight and Windows Phone 7 Sessions from MIX 10

    I had a great time at MIX 10 last week meeting so many people and being part of so  much of the activities. One of the side effects is that it was next to impossible to catch all of the great content while at MIX, so Ive been catching up by watching many of the videos online. Here is a list with all of the Windows Phone 7 and Silverlight sessions where you can grab the videos and/or slides.   Title WMV ...Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • What grammatical tense should I write my specifications in?

    - by John
    We are currently writing functional and technical specifications in a two column format; summary sentence and technical detail. The details often refer to an appendix with diagrams, layout designs ect. However I am struggling with what tense to write it in: With past tense as if the work is done I struggle to show highlight extensions of exiting work. Future tense as in it needs to do X starts to sound like a to do list or Tense neutral very hard as it has either going to be done or is done. To add further confusion this specification may be read by people who do not have English as a first language.

    Read the article

  • Help me upgrade my pf.conf for OpenBSD 4.7

    - by polemon
    I'm planning on upgrading my OpenBSD to 4.7 (from 4.6) and as you may or may not know, they changed the syntax for pf.conf. This is the relevant portion from the upgrade guide: pf(4) NAT syntax change As described in more detail in this mailing list post, PF's separate nat/rdr/binat (translation) rules have been replaced with actions on regular match/filter rules. Simple rulesets may be converted like this: nat on $ext_if from 10/8 -> ($ext_if) rdr on $ext_if to ($ext_if) -> 1.2.3.4 becomes match out on $ext_if from 10/8 nat-to ($ext_if) match in on $ext_if to ($ext_if) rdr-to 1.2.3.4 and... binat on $ext_if from $web_serv_int to any -> $web_serv_ext becomes match on $ext_if from $web_serv_int to any binat-to $web_serv_ext nat-anchor and/or rdr-anchor lines, e.g. for relayd(8), ftp-proxy(8) and tftp-proxy(8), are no longer used and should be removed from pf.conf(5), leaving only the anchor lines. Translation rules relating to these and spamd(8) will need to be adjusted as appropriate. N.B.: Previously, translation rules had "stop at first match" behaviour, with binat being evaluated first, followed by nat/rdr depending on direction of the packet. Now the filter rules are subject to the usual "last match" behaviour, so care must be taken with rule ordering when converting. pf(4) route-to/reply-to syntax change The route-to, reply-to, dup-to and fastroute options in pf.conf move to filteropts; pass in on $ext_if route-to (em1 192.168.1.1) from 10.1.1.1 pass in on $ext_if reply-to (em1 192.168.1.1) to 10.1.1.1 becomes pass in on $ext_if from 10.1.1.1 route-to (em1 192.168.1.1) pass in on $ext_if to 10.1.1.1 reply-to (em1 192.168.1.1) Now, this is my current pf.conf: # $OpenBSD: pf.conf,v 1.38 2009/02/23 01:18:36 deraadt Exp $ # # See pf.conf(5) for syntax and examples; this sample ruleset uses # require-order to permit mixing of NAT/RDR and filter rules. # Remember to set net.inet.ip.forwarding=1 and/or net.inet6.ip6.forwarding=1 # in /etc/sysctl.conf if packets are to be forwarded between interfaces. ext_if="pppoe0" int_if="nfe0" int_net="192.168.0.0/24" polemon="192.168.0.10" poletopw="192.168.0.12" segatop="192.168.0.20" table <leechers> persist set loginterface $ext_if set skip on lo match on $ext_if all scrub (no-df max-mss 1440) altq on $ext_if priq bandwidth 950Kb queue {q_pri, q_hi, q_std, q_low} queue q_pri priority 15 queue q_hi priority 10 queue q_std priority 7 priq(default) queue q_low priority 0 nat-anchor "ftp-proxy/*" rdr-anchor "ftp-proxy/*" nat on $ext_if from !($ext_if) -> ($ext_if) rdr pass on $int_if proto tcp to port ftp -> 127.0.0.1 port 8021 rdr pass on $ext_if proto tcp to port 2080 -> $segatop port 80 rdr pass on $ext_if proto tcp to port 2022 -> $segatop port 22 rdr pass on $ext_if proto tcp to port 4000 -> $polemon port 4000 rdr pass on $ext_if proto tcp to port 6600 -> $polemon port 6600 anchor "ftp-proxy/*" block pass on $int_if queue(q_hi, q_pri) pass out on $ext_if queue(q_std, q_pri) pass out on $ext_if proto icmp queue q_pri pass out on $ext_if proto {tcp, udp} to any port ssh queue(q_hi, q_pri) pass out on $ext_if proto {tcp, udp} to any port http queue(q_std, q_pri) #pass out on $ext_if proto {tcp, udp} all queue(q_low, q_hi) pass out on $ext_if proto {tcp, udp} from <leechers> queue(q_low, q_std) pass in on $ext_if proto tcp to ($ext_if) port ident queue(q_hi, q_pri) pass in on $ext_if proto tcp to ($ext_if) port ssh queue(q_hi, q_pri) pass in on $ext_if proto tcp to ($ext_if) port http queue(q_hi, q_pri) pass in on $ext_if inet proto icmp all icmp-type echoreq queue q_pri If someone has experience with porting the 4.6 pf.conf to 4.7, please help me do the correct changes. OK, this is how far I've got: I commented out nat-anchor and rdr-anchor, as describted in the guide: #nat-anchor "ftp-proxy/*" #rdr-anchor "ftp-proxy/*" And this is how I've "converted" the rdr rules: #nat on $ext_if from !($ext_if) -> ($ext_if) match out on $ext_if from !($ext_if) nat-to ($ext_if) #rdr pass on $int_if proto tcp to port ftp -> 127.0.0.1 port 8021 match in on $int_if proto tcp to port ftp rdr-to 127.0.0.1 port 8021 #rdr pass on $ext_if proto tcp to port 2080 -> $segatop port 80 match in on $ext_if proto tcp tp port 2080 rdr-to $segatop port 80 #rdr pass on $ext_if proto tcp to port 2022 -> $segatop port 22 match in on $ext_if proto tcp tp port 2022 rdr-to $segatop port 22 rdr pass on $ext_if proto tcp to port 4000 -> $polemon port 4000 match in on $ext_if proto tcp tp port 4000 rdr-to $polemon port 4000 rdr pass on $ext_if proto tcp to port 6600 -> $polemon port 6600 match in on $ext_if proto tcp tp port 6600 rdr-to $polemon port 6600 Did I miss anything? Is the anchor for ftp-proxy OK as it is now? Do I need to change something in the other pass in on... lines?

    Read the article

  • Get Your Workshop Hands On!

    - by Justin Kestelyn
    Now that 2010 is behind us, that means a fresh set of Developer Day workshops (still free, always free) are ahead of us! Developer Day workshops are free, hands-on workshops that give you the software and skills to tame that learning curve and reach the next level in your technical knowledge. We have a range of entrees on the menu, including Java Development, Database Application Development, Fusion Development (Oracle ADF), and more. Most of these workshops let you walk away with a fully functional, VirtualBox-based software appliance that you can use for continued learning. Here's a short list of workshops for which you can register right now: - Java: Boston, March 8- Database App Development: Dallas, March 9- SOA Development: Reston, March 9- Data Integration: Seattle, March 15 + others planned for Toronto, Philadelphia, Shanghai, Perth, Istanbul, and many other cities in 2011! See this URL for more workshop info as it becomes available.

    Read the article

  • Few New Features Added to Geekswithblogs.net

    - by Staff of Geeks
    After reviewing some of the feedback from our bloggers we added a couple new features to Geekswithblogs.net and there are still more to come.  Here is a list of the features we added.   Fixed the Twitter parser to better support URLs and Hash Tags Added some hooks behind the scenes to tags posts with common keywords automatically Added Facebook likes and Tweets to the bottom of every post Cleaned up a few skins Images on the main page for bloggers who use Gravatar or Twitter integration Random bug fixes based on Log   We are definitely working to make Geekswithblogs.net faster and better.  If you have any suggestions, please feel free to share them with the team.  On a side note, if that suggestion is move to WordPress, I will reply to you with stop writing ASP.NET for your day job and move to PHP.  That request is the equivalent in my eyes.  If we have enough bloggers leave the Microsoft .NET Platform for their main source of income, we might consider it.   Technorati Tags: Geekswithblogs.net,Features,Version 4.0

    Read the article

  • Network Manager troubleshooting

    - by Anero
    I'm having some issues when connecting to my house's wifi from my Ubuntu 10.10 laptop. If the connection doesn't exists, when selecting the network (and after entering the WPA2 password) I'm able to connect. Once the connection is saved, when trying to reconnect, Network Manager works for a minute or so and then fails; the only way to reconnect then is to delete the saved connection and re-select the network from the list of available wireless networks. The same network works with no issues on the same laptop when running Win7, and on other wireless networks when running Ubuntu. Is there a Network Manager log which I can take a look at for troubleshooting the issue? Are there any tools for checking the wifi status?

    Read the article

  • What grammatical tense should I write my specifications in?

    - by John
    We are currently writing functional and technical specifications in a two column format; summary sentence and technical detail. The details often refer to an appendix with diagrams, layout designs ect. However I am struggling with what tense to write it in: With past tense as if the work is done I struggle to show highlight extensions of exiting work. Future tense as in it needs to do X starts to sound like a to do list or Tense neutral very hard as it has either going to be done or is done. To add further confusion this specification may be read by people who do not have English as a first language.

    Read the article

  • Is wikipedia a valuable resource for studying data structures? (can we call it complete?)

    - by Amir Nasr
    Can I depend on wikipedia to learn data structures fully using the list of data structures http://en.wikipedia.org/wiki/List_of_data_structures and the links they refer to? The same question for algorithms http://en.wikipedia.org/wiki/List_of_algorithm_general_topics ?... What's after learning algorithms and data structures? Specializing in a certain field of algorithms such as computer graohics, memory management...etc? or what could be the plan for mastering programming after knowing the language syntax and the background about program design and programming logic? I asked about wikipedia because i would like to find a complete resource or are least a resource which would be enough for the field of data structures instead of searching for separate articles in different places in other words an alternative to books which may even be more complete.

    Read the article

  • eepc 100h ubuntu 12.04 external monitor higher resolution modes force a rotated display

    - by Acky
    Hi I have a eeepc 1000h netbook. I've just installed ubuntu. I mainly use an external display (samsung ta350 full hd 22 inch affair) but when I select 1080 from the dropdown list, my only options are for a rotated portrait. My neck's non too supple, so tilting my head for extended periods is not really viable. :-) Any ideas on making ubuntu display 1080 normal landscape? It must surely be possible. My gparted boot cd does it perfectly. Any help greatly appreciated. Cheers!

    Read the article

  • The Best Apps and Cloud Services for Taking, Storing, and Sharing Notes

    - by Lori Kaufman
    Is your desk and computer covered with sticky notes? Do you have miscellaneous pieces of paper with bits of information buried in drawers, your laptop case, backpack, purse, etc.? Get rid of all the chaos and get organized with note-taking software and services. We’ve collected a list of the best desktop applications and cloud-based services for taking, storing, and sharing information. How To Customize Your Wallpaper with Google Image Searches, RSS Feeds, and More 47 Keyboard Shortcuts That Work in All Web Browsers How To Hide Passwords in an Encrypted Drive Even the FBI Can’t Get Into

    Read the article

  • Synergy - easy share of keyboard and mouse between multiple computers

    Did you ever have the urge to share one set of keyboard and mouse between multiple machines? If so, please read on... Using multiple machines Honestly, as a software craftsman it is my daily business to run multiple machines - either physical or virtual - to be able to solve my customers' requirements. Recent hardware equipment allows this very easily. For laptops it's a no-brainer to attach a second or even a third screen in order to extend your native display. This works quite handy and in my case I used to attached two additional screens - one via HD15 connector, the other via HDMI. But... as it's a laptop and therefore a mobile unit there are slight restrictions. Detaching and re-attaching all cables when changing locations is one of them but hardware limitations, too. After all, it's a laptop and not a workstation. I guess, that anyone working in IT (or ICT) has more than one machine at their workplace or their home office and at least I find it quite annoying to have multiple sets of keyboard and mouse conquering my remaining space on my desk. Despite the ugly looks of all those cables and whatsoever 'chaos of distraction' I prefer a more clean solution and working environment. This allows me to actually focus on my work and tasks to do rather than to worry about choosing the right combination of keyboard/mouse. My current workplace is a patch work of various pieces of hardware (approx. 2-3 years): DIY desktop on Ubuntu 12.04 64-bit, Core2 Duo (E7400, 2.8GHz), 4GB RAM, 2x 250GB HDD, nVidia GPU 512MB Dell Inspiron 1525 on Windows 8 64-bit, 4GB RAM, 200GB HDD HP Compaq 6720s on Windows Vista 32-bit, Core2 Duo (T5670, 1.8GHz), 2GB RAM, 160GB HDD Mac mini on Mac OS X 10.7, Core i5 (2.3 GHz), 2GB RAM, 500GB HDD I know... Not the latest and greatest but a decent combination to work with. New system(s) is/are already on the shopping list but I live in the 'wrong' country to buy computer hardware. So, the next trip abroad will provide me with some new stuff. Using multiple operating systems The list of hardware above already names different operating systems, and actually I have only one preference: Linux. But still my job as a software craftsman for Visual FoxPro and .NET development requires other OSes, too. Not a big deal, it's just like this. Additionally to those physical machines, there are a bunch of virtual machines around. Most of them running either Windows XP or Windows 7. Since years I have the practice that each development for one customer is isolated into its own virtual machine and environment. This keeps it clean and version-safe. But as you can easily imagine with that setup there are a couple of constraints referring to keyboard and mouse. Usually, those systems require their own pieces of hardware attached. As stated, I don't like clutter on my desk's surface, so a cross-platform solution has to come in here. In the past, I tried it with various applications, hardware or network protocols like X11, RDP, NX, TeamViewer, RAdmin, KVM switch, etc. but the problem in this case is that they either allow you to remotely connect to the other system or exclusively 'bind' your peripherals to the active system. Not optimal after all. Synergy to the rescue Quote from their website: "Synergy lets you easily share your mouse and keyboard between multiple computers on your desk, and it's Free and Open Source. Just move your mouse off the edge of one computer's screen on to another. You can even share all of your clipboards. All you need is a network connection. Synergy is cross-platform (works on Windows, Mac OS X and Linux)." Yep, that's it! All I need for my setup here... Actually, I couldn't believe it myself that I didn't stumble over synergy earlier but 'Get over it' and there we go. And despite the fact that it is Open Source, no, it's also for free. Donations for the developers are very welcome and recently they introduced Synergy Premium. A possibility to buy so-called premium votes that can be used to put more weight / importance on specific issues or bugs that you would like the developers to look into. Installation and configuration Simply download the installation packages for your systems of choice, run the installer and enter some minor information about your network setup. I chose my desktop machine for the role of the Synergy server and configured my screen setup as follows: The screen setup allows you currently to build or connect up to 15 machines. The number of screens can be higher as those machine might have multiple screens physically attached. Synergy takes this into the overall calculations and simply works as expected. I tried it for fun with a second monitor each connected to both laptops to have a total number of 6 active screens. No flaws after all - stunning! All the other machines are configured as clients like so: Side note: The screenshot was taken on Windows 8 and pasted via clipboard into Gimp running on Ubuntu. Resume Synergy is now definitely in my box of tools for my daily work, and amongst the first pieces of software I install after the operating system. It just simplifies my life and cleans my desk. Never again without Synergy!Now, only waiting for an Android version to integrate my Galaxy Tab 10.1, too. ;-) Please, check out that superb product and enjoy sharing one keyboard, one mouse and one clipboard between your various machines and operating systems.

    Read the article

  • Windows 8 Consumer Preview and SkyDrive

    - by John Paul Cook
    SkyDrive integrates very nicely with Windows 8. More on that later. First, let’s discuss using Windows 8 x64 on VirtualBox. Since I wanted to test with x64 and didn’t have a Hyper-V server available, I used VirtualBox. The latest version of VirtualBox does list Windows 8 as a guest operating system choice. The first time I attempted the installation, I chose the experimental Direct3D graphics support. That didn’t work well. After what seemed like FOREVER looking at a completely black screen, I decided...(read more)

    Read the article

  • Why does grub selection no longer appear on my dual-boot system?

    - by ksinkar
    I had installed a Ubuntu 12.04 and Fedora 17 dual boot on my system. During the installation I had installed Ubuntu first and Fedora later. Fedora had recognized Ubuntu and added it to the GRUB OS selection list. Afterwards I installed some routine updates on my Ubuntu and after that I am just not able to see the GRUB OS selection anymore when I boot. I am unable to understand what happened, both Fedora and Ubuntu use GRUB 2.0. Also it seems Ubuntu is not able to recognize other existing linux operating systems; because in the beginning I had installed Fedora first and Ubuntu later, but Ubuntu did not recognize Fedora at all, while Fedora recognized Ubuntu when I installed the other way round.

    Read the article

  • Good application for taking notes on 12.04?

    - by Ankit
    Is there a good note taking application in ubuntu like Evernote exists for windows and Mac users. Requirements for good applications:- A thumbnail/list preview for all the created notes. An integration with the email address so that we can view the notes anywhere anytime. Any easy way to input text, video, pdf, images etc. I have tried tomboy, basket notes. They aren't that good. Edit: Trying to install nevernote from an external source. But it has not satisfiable Further trying to install libssl gives the following error The following information may help to resolve the situation: The following packages have unmet dependencies: libssreflect-coq : Depends: coq-8.3pl3+3.12.1 but it is not installable libssreflect-ocaml : Depends: libcoq-ocaml-4zyg6 but it is not installable libssreflect-ocaml-dev : Depends: libcoq-ocaml-dev-4zyg6 but it is not installable E: Unable to correct problems, you have held broken packages. Anything that I might be doing wrong?

    Read the article

  • Form Validation, Dependant Drop Downs, Data Level Security in OWS for DotNetNuke - 5 Videos

    In this tutorial we demonstrate some very advanced techniques for building a car parts application in Open Web Studio. Throughout the tutorial we cover form input, validation, how to use dependant drop down lists, populating checkbox lists and introduce a new concept of data level security. Data level security allows you to control which data a user can access within a module. The videos contain: Video 1 - How to Setup Form Validation Video 2 - Car Parts Application, Assigning Security Roles into a Global Session Variable Video 3 - How to Build the Categories Module with Data Level Security Video 4 - How to Build the SubCategories Module and Use SubQuery Video 5 - How to Build the Car Parts List Module Total Time Length: 44min 19secsDid you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • Increase motivation in Our Project's Wiki with achievements?

    - by ZoolWay
    We are currently running a mediawiki for our developers and most developers are not adding entries if they find something to document. Instead the mail it so a list containing all developers and most often I add the entries. I just thought adding something like score, achievements, badges or similar could add motivation but I cannot find a extension for media wiki. Is there such an extension? Is one of these recommended? Funny fact: Currently I think the StackExchange system would fit much better but we need it internally ;)

    Read the article

  • What do you use to organize your team knowledge?

    - by Stefano Verna
    Last year, me and three good old friends of mine founded a small web/mobile development team. Things are going pretty well. We're learning a lot, and new people are joining the group. Keeping knowledge always updated and in-sync is vital for us. Long emails threads are simply not the way to go for us: too dispersing and confusing, and hard to retrieve after a while. How your team manages and organizes common knowledge? How do you collect and share useful resources (articles, links, libraries, etc) inside your team? Update: Thanks for the feedback. More than using a wiki to share team common procedures or informations, I'd like to share external links, articles, code libraries, and be able to comment them easily within my team. I was particularly interested in knowing if you're aware of any way/webservice to share a reading list with a team. I mean, something like Readitlater/Instapaper, but for teams, maybe with some stats available, like "# of coworkers who read it".

    Read the article

  • What is a dotted pair's analogy in other Lisp implementations?

    - by octopusgrabbus
    What is Scheme's dotted pair construct analogous to in other Lisp implementations? I can make a vector or list quite easily, and understand those in Clojure, even though the syntax is a little different, like Clojure's vectors use square brackets []. However, seeing a dotted pair for the first time threw me. It almost looks like it is an implementation of of map. I'm not looking for a discussion, but more for use or the dotted pair equivalent in other Lisp dialects, like Clojure, or even Python. Thanks.

    Read the article

  • Where to find PHP version usage stats?

    - by Darren Cook
    My original question was: what percentage of sites are using php 5.4.x? (As it has some very interesting new features.) With secondary questions like how many of the cheap web hosting places have upgraded, which versions of the linux distros include it, etc. But I'm coming up blanks. http://php.net/usage.php stops at July 2007, and the nexen.net website seems to have stopped in 2008. At SecuritySpace they only list the web servers, not php versions. The TIOBE link isn't what I'm after (it doesn't -- and couldn't -- break down by version number. I thought php.net might show download numbers, but I cannot see them anywhere. I kind of answered the distro question, but it requires a lot of clicking around at distrowatch.com. E.g. I see here that Ubuntu offers php 5.4.6 in the latest snapshot, but the latest release (Ubuntu 12.04) has 5.3.10.

    Read the article

  • Options for Opensource license?

    - by foodil
    I am choosing a license for my open source software and I've learned about GPL, EBMS and BSD. GPL seems to be most popular one. The problems are: Would anybody kindly name a few popular opensource licenses? Since I do not see any EBMS BSD license is popular. Are there any chart or table that have list out the advantages/disadvantages of using anyone? Why is the GPL always the license developers choose from, what are its benefits? Thank you.

    Read the article

  • HP mini 5102 Ethernet does not work after suspend on Lubuntu 12.10

    - by Marcin
    Ethernet works fine after system is rebooted The onboard card is seen in 'lspci' as: 43:00.0 Ethernet controller: Marvell Technology Group Ltd. Yukon Optima 88E8059 [PCIe Gigabit Ethernet Controller with AVB] (rev 11) After system being suspended the sky2 driver loads but does not enable the NIC. I have noticed that it happens when PC is left suspended for longer period of time (few houres) Trying to reproduce it I have tried to load the sky2 driver with 'modprobe sky2'. Unfortunately typing 'ifconfig -a' for the onboard ethernet adapter does not list the driver once the sky2 driver is loaded. I have searched internet and I found some information about a bug in kernel. Hovewer it was reported in 2010 so I hope it has been fixed. Here it is http://lists.opensuse.org/opensuse-bugs/2010-02/msg01473.html

    Read the article

  • How to balance this Pokémon simulator metagame by feedback?

    - by Dokkat
    This is a Pokémon simulator where you build a team of 6 pokémon and battle with someone. Unfortunately, some Pokémon are stronger than others and only a few of the hundredth species are practical. I'm trying to create a metagame where all of them are competitive. For this, I am tagging a Pokémon with a parameter (level) that changes it's strength and scales up/down depending on the it's performance. That is, if the system detects Mewtwo is overperforming, it should decrease it's level tag until Mewtwo is balanced. The question is: how can I identify if a Pokémon is causing an unbalance? The data I have is the historic of the battles (player 1, player 2, pokémon list, winner). The most basic solution I can think of is victory/loss counting.

    Read the article

  • More confusion over SEO Cname and 301 redirect

    - by Alasdair
    Previous answers on this topic don't really help me with my query, so any help appreciated for a bit of a newbie. I have a new domain "domain#1.mobi" Its hosted with godaddy and has a cname and forwarding, pointing it to "domain#1.elsewhere.us" It has no content. The content is all hosted on "domain#1.elsewhere.us" which is what Google is now listing in its results. I want Google to ignore that and only list "domain#1.mobi" in its listings. How do I achieve this?

    Read the article

  • Helvetica Neue font defaults to medium instead of regular

    - by teppic
    I've installed the set of Helvetica Neue truetype fonts in my ~/.fonts directory, and they all show up correctly with fc-list. However, if an application selects the standard font, it's returning the medium style instead of the regular, e.g.: $ fc-match "Helvetica Neue" HelveticaNeueMedium.ttf: "Helvetica Neue" "??" If I remove the medium font from the system, it gets the correct one: $ fc-match "Helvetica Neue" HelveticaNeue.ttf: "Helvetica Neue" "???" I'm sure this can be corrected in fonts.conf, but what's the entry required? The only workaround I have right now is to remove the medium style as above, but this means I can't access it at all.

    Read the article

  • LINQ and ArcObjects

    - by Marko Apfel
    Motivation LINQ (language integrated query) is a component of the Microsoft. NET Framework since version 3.5. It allows a SQL-like query to various data sources such as SQL, XML etc. Like SQL also LINQ to SQL provides a declarative notation of problem solving – i.e. you don’t need describe in detail how a task could be solved, you describe what to be solved at all. This frees the developer from error-prone iterator constructs. Ideally, of course, would be to access features with this way. Then this construct is conceivable: var largeFeatures = from feature in features where (feature.GetValue("SHAPE_Area").ToDouble() > 3000) select feature; or its equivalent as a lambda expression: var largeFeatures = features.Where(feature => (feature.GetValue("SHAPE_Area").ToDouble() > 3000)); This requires an appropriate provider, which manages the corresponding iterator logic. This is easier than you might think at first sight - you have to deliver only the desired entities as IEnumerable<IFeature>. LINQ automatically establishes a state machine in the background, whose execution is delayed (deferred execution) - when you are really request entities (foreach, Count (), ToList (), ..) an instantiation processing takes place, although it was already created at a completely different place. Especially in multiple iteration through entities in the first debuggings you are rubbing your eyes when the execution pointer jumps magically back in the iterator logic. Realization A very concise logic for constructing IEnumerable<IFeature> can be achieved by running through a IFeatureCursor. You return each feature via yield. For an easier usage I have put the logic in an extension method Getfeatures() for IFeatureClass: public static IEnumerable<IFeature> GetFeatures(this IFeatureClass featureClass, IQueryFilter queryFilter, RecyclingPolicy policy) { IFeatureCursor featureCursor = featureClass.Search(queryFilter, RecyclingPolicy.Recycle == policy); IFeature feature; while (null != (feature = featureCursor.NextFeature())) { yield return feature; } //this is skipped in unit tests with cursor-mock if (Marshal.IsComObject(featureCursor)) { Marshal.ReleaseComObject(featureCursor); } } So you can now easily generate the IEnumerable<IFeature>: IEnumerable<IFeature> features = _featureClass.GetFeatures(RecyclingPolicy.DoNotRecycle); You have to be careful with the recycling cursor. After a delayed execution in the same context it is not a good idea to re-iterated on the features. In this case only the content of the last (recycled) features is provided and all the features are the same in the second set. Therefore, this expression would be critical: largeFeatures.ToList(). ForEach(feature => Debug.WriteLine(feature.OID)); because ToList() iterates once through the list and so the the cursor was once moved through the features. So the extension method ForEach() always delivers the same feature. In such situations, you must not use a recycling cursor. Repeated executions of ForEach() is not a problem, because for every time the state machine is re-instantiated and thus the cursor runs again - that's the magic already mentioned above. Perspective Now you can also go one step further and realize your own implementation for the interface IEnumerable<IFeature>. This requires that only the method and property to access the enumerator have to be programmed. In the enumerator himself in the Reset() method you organize the re-executing of the search. This could be archived with an appropriate delegate in the constructor: new FeatureEnumerator<IFeatureclass>(_featureClass, featureClass => featureClass.Search(_filter, isRecyclingCursor)); which is called in Reset(): public void Reset() { _featureCursor = _resetCursor(_t); } In this manner, enumerators for completely different scenarios could be implemented, which are used on the client side completely identical like described above. Thus cursors, selection sets, etc. merge into a single matter and the reusability of code is increasing immensely. On top of that in automated unit tests an IEnumerable could be mocked very easily - a major step towards better software quality. Conclusion Nevertheless, caution should be exercised with these constructs in performance-relevant queries. Because of managing a state machine in the background, a lot of overhead is created. The processing costs additional time - about 20 to 100 percent. In addition, working without a recycling cursor is fast a performance gap. However declarative LINQ code is much more elegant, flawless and easy to maintain than manually iterating, compare and establish a list of results. The code size is reduced according to experience an average of 75 to 90 percent! So I like to wait a few milliseconds longer. As so often it has to be balanced between maintainability and performance - which for me is gaining in priority maintainability. In times of multi-core processors, the processing time of most business processes is anyway not dominated by code execution but by waiting for user input. Demo source code The source code for this prototype with several unit tests, you can download here: https://github.com/esride-apf/Linq2ArcObjects. .

    Read the article

< Previous Page | 627 628 629 630 631 632 633 634 635 636 637 638  | Next Page >