Search Results

Search found 428 results on 18 pages for 'contrast'.

Page 10/18 | < Previous Page | 6 7 8 9 10 11 12 13 14 15 16 17  | Next Page >

  • Optimal communication pattern to update subscribers

    - by hpc
    What is the optimal way to update the subscriber's local model on changes C on a central model M? ( M + C - M_c) The update can be done by the following methods: Publish the updated model M_c to all subscribers. Drawback: if the model is big in contrast to the change it results in much more data to be communicated. Publish change C to all subscribes. The subscribers will then update their local model in the same way as the server does. Drawback: The client needs to know the business logic to update the model in the same way as the server. It must be assured that the subscribed model stays equal to the central model. Calculate the delta (or patch) of the change (M_c - M = D_c) and transfer the delta. Drawback: This requires that calculating and applying the delta (M + D_c = M_c) is an cheap/easy operation. If a client newly subscribes it must be initialized. This involves sending the current model M. So method 1 is always required. Think of playing chess as a concrete example: Subscribers send moves and want to see the latest chess board state. The server checks validity of the move and applies it to the chess board. The server can then send the updated chessboard (method 1) or just send the move (method 2) or send the delta (method 3): remove piece on field D4, put tower on field D8.

    Read the article

  • How to adjust the appearance of the Unity in 12.10?

    - by piedro
    Now I updated to 12.10 and would like to adjust the desktop, well unity, appearance. I know there is the theme setting, but I cannot adjust the symbol theme or windows decoration with the systemsettings. I used to use the tool "unsettings" but it doesn't work with 12.10 anymore. Ubuntu Tweak used to be an option but at this point many features are broken and a lot of settings seem to mess up my system or they don't change anything at all (I understand that there has been a design settings change - gsettings, dconf, something ...) myunity has some options to change stuff but I couldn't find it for 12.10 ... not to forget "gnome-tweak-tool" which seems to work for most settings but not for all, e.g. it doesn't change the mouse cursor and the windows decorations do not show some decorations I'd like to use and I am also afraid of messing things up because it is supposed to be used in gnomeshell ... actually as I found out right now it really messes things up: fonts get inverted, suddenly high contrast accessibility setings are used in some windows, nautilus has white fonts on white background and even the login manager is a mess now ... So: How can I adjust the theme, symbol, decorations, fonts for the normal user and for the desktop and for the applications including the applications started as sudo user? I should mention that I upgraded from 12.04 and that some applications like synaptic completely ignore any settings ... sadly it is a mess, there was a time when gnome theming was really well done and very adjustable, I wonder what happened ... Just now I read that further development of Ubuntu Tweak has been stopped. The developer announced that he won't go any further with the software and the online services ... That is sad and destroys my hope for easy appearance editing just by waiting ... has been such a nice tool for 12.04 ... r.i.p.

    Read the article

  • RS-232 vs. RS-485

    - by user60524
    Doing a little research on the two to figure out which one may better suit my purposes (communications amongst different hardware). How do they fare against one another? Im far from being a specialist and have no idea where I would even start looking for data to compare and contrast. If possible can someone please answer the following questions in regards to each of these. Can they be networked amongst each other? Can they be easily networked over ethernet? What speeds do they transfer at? (Min, Max, Etc.) Reliability? Best framework to build on top of to support the above? Any standard communications programs? Debugging capability? Any help would be very much appreciated, thanks.

    Read the article

  • Korea&rsquo;s Anti Abortion / Pro Life Movement

    - by Randy Walker
    The South Korean government is in dire straits.  The national birth rate continues to decline and as the population grows older, there aren’t enough children being born to support the country long term.  The social issues of post Korean War are coming back to haunt the empowered nation.  Being torn apart by the Korean War (nicknamed the forgotten war in America) and with a nation facing starvation, South Korea allowed hundreds of thousands of their children to be adopted abroad.  This has created a problem of epidemic proportions, essentially devaluing life in Korea and child rearing. In an effort to encourage birth rates, the government encouraged their workers to go home early and procreate by turning off the lights in buildings.  Something unknown to me, was the illegalization of abortion except in special cases. According to the this article, http://joongangdaily.joins.com it’s working.  Abortions are down and women are being encouraged to give birth.  However the flip side is illegal risky abortions are on the rise, with potential back alley abortions looming.  But with a nation facing it’s potential implosion, it has to continue it’s efforts to encourage mothers to give birth. Many of the issues that America has faced is in stark contrast to South Korea.  Abortion has been a generally accepted procedure for some time.  If you’ll recall, I mentioned South Korea devalued their children.  But the nation’s problems lie so much deeper.  Being an Asian nation, saving “face” is an important aspect of life.  And being an unwed mother disgraces the family.  Living as a single mother in South Korea is a difficult life.  Most married mothers stay at home to take care of the children.  Being a shunned single mother that has a hard time getting a job (because you are a single mother) and affording child care isn’t like life in America. If we in the states suddenly faced a birthrate crisis, what would the U.S. government do?

    Read the article

  • How do I simplify a 2D game grid for level management while keeping its by-pixel features?

    - by Eric Thoma
    (I cross-posted this from StackOverflow as this seems to be a more appropriate forum. I've looked around a little here and I did not find an answer, so I hope this is not a recurring question.) This is a question dealing with 2D world design. I am playing around by creating a 2D bird's eye view shooter game, and I am looking to make the game sleek and advanced. I hope to be able to write physics so projectiles have momentum and knock-down properties. I am immediately running into the problem of world design. I need a way to have level files that store everything there is about a game. This is easiest by just having a grid of objects. But there are thin-walls and other objects that don't seem to fit into a traditional cell of a grid. I want to be able to fit all these together so I can streamline level design; so I don't have to put in the exact pixel-specific start and end of a wall. There doesn't seem to be an obvious translation from level file to game without forcing myself into a pacman-life scenario, meaning a scenario where the game feels boxy and discrete. There is a contrast between the smoothly (relatively) moving characters and finite jumps in a grid. I would appreciate an answer that would describe implementation options or point me to resources that do. I would also appreciate references to sites that teach game design. The language I am using is Java (although I would love to use C or C++, but I can never find convenient resources in those languages). Thank you for any answers. Please leave any questions in the space below; I will be able to answer them later tonight (28th Nov).

    Read the article

  • Pure functional programming and game state

    - by Fu86
    Is there a common technique to handle state (in general) in a functional programming language? There are solutions in every (functional) programming language to handle global state, but I want to avoid this as far as I could. All state in a pure functional manner are function parameters. So I need to put the whole game state (a gigantic hashmap with the world, players, positions, score, assets, enemies, ...)) as a parameter to all functions which wants to manipulate the world on a given input or trigger. The function itself picks the relevant information from the gamestate blob, do something with it, manipulate the gamestate and return the gamestate. But this looks like a poor mans solution for the problem. If I put the whole gamestate into all functions, there is no benefit for me in contrast to global variables or the imperative approach. I could put just the relevant information into the functions and return the actions which will be taken for the given input. And one single function apply all the actions to the gamestate. But most functions need a lot of "relevant" information. move() need the object position, the velocity, the map for collision, position of all enemys, current health, ... So this approach does not seem to work either. So my question is how do I handle the massive amount of state in a functional programming language -- especially for game development?

    Read the article

  • Windows 8 Color Settings (Window Title)

    - by xixixao
    In Windows 7, the window title's color (by default black, to see the title in the title bar fire up Windows Media Player for example) is stored in [HKEY_CURRENT_USER\Control Panel\Desktop\Colors] TitleText value. This is not the case in Windows 8, since this value is only used when using high contrast theme. It looks like noone has come up with a way to change this color yet, so my question is, where to look? What tools can I use to see dependencies, what could be the way to find this value (I rightfully hope it's not a constant in code).

    Read the article

  • What is the Optimal Server Configuration for Split-Path Testing?

    - by doug
    I am far from an expert on Apache or any server for that matter, so i apologize if this question is poorly worded, which it likely is. We have always relied on a vendor for split-path testing (aka "AB Testing"). If you're not familiar with that term, it's a form of marketing research in which you slightly modify one of your web pages (usually one nearest the point of conversion), say for instance, by changing the position of the "Buy Now" button or its color/contrast/texture, then serving one of those two pages to a given user based on random selection. By doing split-path testing ourselves, I suspect we can do it far more cheaply and increase cycle times as well. What is the optimal set-up for these tests? "Optimal" is based on the following criteria: how quickly/easily new tests can be set-up and put online; and minimal disruption to overall site performance

    Read the article

  • Is the Entity Component System architecture object oriented by definition?

    - by tieTYT
    Is the Entity Component System architecture object oriented, by definition? It seems more procedural or functional to me. My opinion is that it doesn't prevent you from implementing it in an OO language, but it would not be idiomatic to do so in a staunchly OO way. It seems like ECS separates data (E & C) from behavior (S). As evidence: The idea is to have no game methods embedded in the entity. And: The component consists of a minimal set of data needed for a specific purpose Systems are single purpose functions that take a set of entities which have a specific component I think this is not object oriented because a big part of being object oriented is combining your data and behavior together. As evidence: In contrast, the object-oriented approach encourages the programmer to place data where it is not directly accessible by the rest of the program. Instead, the data is accessed by calling specially written functions, commonly called methods, which are bundled in with the data. ECS, on the other hand, seems to be all about separating your data from your behavior.

    Read the article

  • Options not available anymore in my Samsung 932bw lcd

    - by Sávio Mendes
    I think a friend messed up something in my monitor. I left him playing a game and when i came back, i noticed that the brightness was very high. I tried to change it but i couldn't, brithness, contrast, color warm and a few other options are marked as "not available" (he probably adjusted the brightness and changed something else too, that it's causing this thing). I updated the monitor driver, the vcard driver, plugged the monitor in other pc (I'm connected through dvi, but in the other pc i plugged through rgb) but nothing fixed it. Is there someway to force reset all the options or something like that to fix this? (I'm running Win7 RC1 but I don't think that it has something to do with it, it was working perfectly until he messed it up, and the other pc where I plugged it, runs winxp and the problem occurs too. And it doens't look like a the monitor is broken, it works like it always did, just these options are marked "not available" now...)

    Read the article

  • IIS + PHP Data Objects + MS SQL?

    - by jldugger
    We're migrating an LAOP server to Win 2k8 IIS7 MSSQL and PHP (WIMP?) at work, and I'm using the opportunity to clean up the PHP. Currently it doesn't use PDO, and I'd like to rewrite the PHP to use that instead. Challenge is, I don't know much about MSSQL and PHP deployment on Windows. The official MSSQL PDO object is experimental / depreicated and recommends PDO-ODBC. Microsoft just announced a driver supporting PDO. Is there no other PDO driver? How does SQLSRV contrast with PDO-ODBC?

    Read the article

  • Blank screen during boot after clean Ubuntu 11.10 install (Intel N10 graphics)

    - by Coen
    After a clean install of Ubuntu 11.10 on my Asus eee PC 1005p, Ubuntu seems to boot correctly, except for initialization of the LCD screen. What I observe: I choose Ubuntu 11.10 in the GRUB 2 menu A blank screen with a blinking cursor in the top left of the screen, for 15-20 seconds. The ubuntu logo with 5 red dots in the center of the screen, for 1 second. The LCD screen is entirely blank The startup sound plays (Ubuntu is configured to auto-login) Still, the LCD screen is entirely blank. When I press Fn-F8 (the switch between LCD screen and external VGA), the LCD screen shows my desktop correctly and everything seems to work fine. Except for the adjust contrast buttons (Fn-F5 and Fn-F6), these seem to cycle through random brightness modes. Something like: 0% - 50% - 20% - 0% - 20% - 0% Any ideas what's causing this or how to solve this? coen@elpicu:~$ lspci -v 00:02.0 VGA compatible controller: Intel Corporation N10 Family Integrated Graphics Controller (prog-if 00 [VGA controller]) Subsystem: ASUSTeK Computer Inc. Device 83ac Flags: bus master, fast devsel, latency 0, IRQ 44 Memory at f7e00000 (32-bit, non-prefetchable) [size=512K] I/O ports at dc00 [size=8] Memory at d0000000 (32-bit, prefetchable) [size=256M] Memory at f7d00000 (32-bit, non-prefetchable) [size=1M] Expansion ROM at <unassigned> [disabled] Capabilities: <access denied> Kernel driver in use: i915 Kernel modules: i915 00:02.1 Display controller: Intel Corporation N10 Family Integrated Graphics Controller Subsystem: ASUSTeK Computer Inc. Device 83ac Flags: bus master, fast devsel, latency 0 Memory at f7e80000 (32-bit, non-prefetchable) [size=512K] Capabilities: <access denied>

    Read the article

  • Eclipse and NetBeans replacing embedded IDEs (part 2 and part 3)

    - by Geertjan
    After part 1, in Embedded Insights, the series Eclipse and NetBeans replacing embedded IDEs by principal analyst Robert Cravotta continues below. Many embedded tool developers are choosing to migrate their embedded development toolset to an open source IDE platform for a number of reasons. Maintaining an up-to-date IDE with the latest ideas, innovations, and features requires continuous effort from the tool development team. In contrast to maintaining a proprietary IDE, adopting an open source IDE platform enables the tool developers to leverage the ideas and effort of the community and take advantage of advances in IDE features much sooner and without incurring the full risk of experimenting with new features in their own toolsets. Both the Eclipse and NetBeans platforms deliver regular releases that enable tool developers to more easily take advantage of the newest features in the platform architecture.  Read more of part 2 here, in an article published Thursday, May 17th, 2012. Both the NetBeans and Eclipse projects began as development environments and both evolved into platforms that support a wider array of software products. Both platforms have been actively supported and evolving open source projects that have competed and coexisted together for the past decade and this has led to a level a parity between the two platforms. From the perspective of a tool developer, applications are built the same way on either platform – the difference is in the specific terminology and tools. Read more of part 3 here, in an article published Tuesday, June 12th, 2012. And, as a bonus in this blog entry, here's how to get started creating an IDE on the NetBeans Platform:  http://netbeans.dzone.com/how-to-create-commercial-quality-ide

    Read the article

  • Should sanity be a property of a programmer or a program?

    - by toplel32
    I design and implement languages, that can range from object notations to markup languages. In many cases I have considered restrictions in favor of sanity (common knowledge), like in the case of control characters in identifiers. There are two consequences to consider before doing this: It takes extra computation It narrows liberty I'm interested to learn how developers think of decisions like this. As you may know Microsoft C# is very open on the contrary. If you really want to prefix your integer as Long with 'l' instead of 'L' and so risk other developers of confusing '1' and 'l', no problem. If you want to name your variables in non-latin script so they will contrast with C#'s latin keywords, no problem. Or if you want to distribute a string over multiple lines and so break a series of indentation, no problem. It is cheap to ensure consistency with restrictions and this makes it tempting to implement. But in the case of disallowing non-latin characters (concerning the second example), it means a discredit to Unicode, because one would not take full advantage of its capacity.

    Read the article

  • Best monitor for reading

    - by wajed
    Will response rate make a difference? What is good brightness? What is a good contrast ratio? Definitely there are other things to look for, so please give me your opinion. Also, what screen size is good for reading? What size would you choose from 17-22? I'm thinking of getting one 17-19 for reading, and one 22 for movies. Or maybe 2 22" one vertical and one horizontal is better? I think I should look for lower native res., right?

    Read the article

  • Slow remote desktop connection to VPS

    - by Jonathan
    When I use Windows 7's remote desktop connection to our company's VPS (Win Server 2008 32bit) I receive a very slow connection - most of the times it actually grinds down to a complete halt. This is in contrast to my team mates which have no problem remoting to the VPS. I'm using a brand new Dell Studio 1558 laptop with Intel Core i7 and 4GB RAM with a clean installation of Windows 7 64bit Ultimate. Any suggestions for how to diagnose \ solve \ workaround the problem would be appreciated. UPDATES: I checked, and it seems the problem exists with all the computers connected to my home LAN. Once I take my laptop to the nearest coffee shop it works fine. What could be the problem with the LAN?

    Read the article

  • Has anyone found a (eg bash) shell terminal for Windows as good as the OS X one?

    - by Anentropic
    I am mostly using 'git-bash' which came with the Windows install of Git vcs. I think it is the same one that comes with Cygwin. It works fine technically but the UI sucks: have to right-click the title bar and go to Properties to change the window width most annoyingly... copy and paste and highlight with the mouse are equally cumbersome In contrast, the Terminal app that comes with OS X manages these with aplomb and makes it so much more comfortable to work with. You can even drag and drop a file on it and it will paste the file path in at your cursor! I have also tried: http://sourceforge.net/projects/win-bash http://www.steve.org.uk/Software/bash/ http://www.hamiltonlabs.com/cshell.htm None of these do copy and paste of text without cumbersome right-clicking. I am specifically looking for a Unix-flavoured shell in Windows so I don't have to use different shells between my home dev (Windows), the live server (Linux) or dev at the office (Mac). Yes I have Googled and haven't found one yet...

    Read the article

  • Visually recognise active window

    - by mcaleaa
    Ubuntu 13.04 I work with two monitors, usually with lots of different windows open. I don't like to use the mouse, so swap between applications using alt-tab usually. The problem comes when I want to type something into an application. I need the active application to immediately obvious, usually so that I can tell which monitor to look at next. With default ubuntu (with appearance = ambiance), the only real visual indication of a window being active is that the header bar of the application is in a lighter font color. This is too subtle for me, so I find myself alt-tabbing and moving my mouse too much when switching applications, then clicking around with the mouse to give a particular window the focus. I want my switching to be more accurate, and for that I think I need better feedback on what window has the focus. This needs to be more obvious than it is now. I looked at the high contrast appearance, and it helps somewhat, but the inconsistency in the icon sets is far too distracting. I think what I need is a something like a bright border right around the window, or something like that, to make the active window really stand out. Or, maybe to have the non-active windows fade to the background a bit. I would appreciate tips on how others overcome this problem, to make the active window stand out visually from the other windows. Thank you!

    Read the article

  • External monitor turning black intermittently

    - by coding crow
    I have installed an external monitor (Dell ST2220L, 21.5 inch) on my laptop (Sony Vaio). I am using a DVI-D cable for connection. Since the laptop does not have a DVI-D port, I have connected a DVI-D to HDMI connector on the laptop end and inserted the cable in HDMI port of the laptop.. I have switched off the laptop display and adjusted the screen resolution on the Dell external monitor to 1920 x 1080 and adjusted colors for the Windows 7 and brightness and contrast from the monitor. The problem is the monitor turns of blank intermittently for 1-2 seconds and turns on again at random interval. What could be the reason for this and how to get rid of this problem?

    Read the article

  • Image annotation with Inkscape, Pointer and explanation for objects in picture

    - by None
    I need straight paths with end markers for associating text to parts of the image. For better readability, it needs to be high-contrast, i.e. a white line with black outline. Stroke to path will create a group of a box and a circle from the line with end marker. This makes placement of the markers more difficult, as with the node tool it is just a matter of dragging the end nodes of a line segment. I will try to place the markers as line for now and only finally converting them to an outline.

    Read the article

  • C#/.NET Little Wonders: The Useful But Overlooked Sets

    - by James Michael Hare
    Once again we consider some of the lesser known classes and keywords of C#.  Today we will be looking at two set implementations in the System.Collections.Generic namespace: HashSet<T> and SortedSet<T>.  Even though most people think of sets as mathematical constructs, they are actually very useful classes that can be used to help make your application more performant if used appropriately. A Background From Math In mathematical terms, a set is an unordered collection of unique items.  In other words, the set {2,3,5} is identical to the set {3,5,2}.  In addition, the set {2, 2, 4, 1} would be invalid because it would have a duplicate item (2).  In addition, you can perform set arithmetic on sets such as: Intersections: The intersection of two sets is the collection of elements common to both.  Example: The intersection of {1,2,5} and {2,4,9} is the set {2}. Unions: The union of two sets is the collection of unique items present in either or both set.  Example: The union of {1,2,5} and {2,4,9} is {1,2,4,5,9}. Differences: The difference of two sets is the removal of all items from the first set that are common between the sets.  Example: The difference of {1,2,5} and {2,4,9} is {1,5}. Supersets: One set is a superset of a second set if it contains all elements that are in the second set. Example: The set {1,2,5} is a superset of {1,5}. Subsets: One set is a subset of a second set if all the elements of that set are contained in the first set. Example: The set {1,5} is a subset of {1,2,5}. If We’re Not Doing Math, Why Do We Care? Now, you may be thinking: why bother with the set classes in C# if you have no need for mathematical set manipulation?  The answer is simple: they are extremely efficient ways to determine ownership in a collection. For example, let’s say you are designing an order system that tracks the price of a particular equity, and once it reaches a certain point will trigger an order.  Now, since there’s tens of thousands of equities on the markets, you don’t want to track market data for every ticker as that would be a waste of time and processing power for symbols you don’t have orders for.  Thus, we just want to subscribe to the stock symbol for an equity order only if it is a symbol we are not already subscribed to. Every time a new order comes in, we will check the list of subscriptions to see if the new order’s stock symbol is in that list.  If it is, great, we already have that market data feed!  If not, then and only then should we subscribe to the feed for that symbol. So far so good, we have a collection of symbols and we want to see if a symbol is present in that collection and if not, add it.  This really is the essence of set processing, but for the sake of comparison, let’s say you do a list instead: 1: // class that handles are order processing service 2: public sealed class OrderProcessor 3: { 4: // contains list of all symbols we are currently subscribed to 5: private readonly List<string> _subscriptions = new List<string>(); 6:  7: ... 8: } Now whenever you are adding a new order, it would look something like: 1: public PlaceOrderResponse PlaceOrder(Order newOrder) 2: { 3: // do some validation, of course... 4:  5: // check to see if already subscribed, if not add a subscription 6: if (!_subscriptions.Contains(newOrder.Symbol)) 7: { 8: // add the symbol to the list 9: _subscriptions.Add(newOrder.Symbol); 10: 11: // do whatever magic is needed to start a subscription for the symbol 12: } 13:  14: // place the order logic! 15: } What’s wrong with this?  In short: performance!  Finding an item inside a List<T> is a linear - O(n) – operation, which is not a very performant way to find if an item exists in a collection. (I used to teach algorithms and data structures in my spare time at a local university, and when you began talking about big-O notation you could immediately begin to see eyes glossing over as if it was pure, useless theory that would not apply in the real world, but I did and still do believe it is something worth understanding well to make the best choices in computer science). Let’s think about this: a linear operation means that as the number of items increases, the time that it takes to perform the operation tends to increase in a linear fashion.  Put crudely, this means if you double the collection size, you might expect the operation to take something like the order of twice as long.  Linear operations tend to be bad for performance because they mean that to perform some operation on a collection, you must potentially “visit” every item in the collection.  Consider finding an item in a List<T>: if you want to see if the list has an item, you must potentially check every item in the list before you find it or determine it’s not found. Now, we could of course sort our list and then perform a binary search on it, but sorting is typically a linear-logarithmic complexity – O(n * log n) - and could involve temporary storage.  So performing a sort after each add would probably add more time.  As an alternative, we could use a SortedList<TKey, TValue> which sorts the list on every Add(), but this has a similar level of complexity to move the items and also requires a key and value, and in our case the key is the value. This is why sets tend to be the best choice for this type of processing: they don’t rely on separate keys and values for ordering – so they save space – and they typically don’t care about ordering – so they tend to be extremely performant.  The .NET BCL (Base Class Library) has had the HashSet<T> since .NET 3.5, but at that time it did not implement the ISet<T> interface.  As of .NET 4.0, HashSet<T> implements ISet<T> and a new set, the SortedSet<T> was added that gives you a set with ordering. HashSet<T> – For Unordered Storage of Sets When used right, HashSet<T> is a beautiful collection, you can think of it as a simplified Dictionary<T,T>.  That is, a Dictionary where the TKey and TValue refer to the same object.  This is really an oversimplification, but logically it makes sense.  I’ve actually seen people code a Dictionary<T,T> where they store the same thing in the key and the value, and that’s just inefficient because of the extra storage to hold both the key and the value. As it’s name implies, the HashSet<T> uses a hashing algorithm to find the items in the set, which means it does take up some additional space, but it has lightning fast lookups!  Compare the times below between HashSet<T> and List<T>: Operation HashSet<T> List<T> Add() O(1) O(1) at end O(n) in middle Remove() O(1) O(n) Contains() O(1) O(n)   Now, these times are amortized and represent the typical case.  In the very worst case, the operations could be linear if they involve a resizing of the collection – but this is true for both the List and HashSet so that’s a less of an issue when comparing the two. The key thing to note is that in the general case, HashSet is constant time for adds, removes, and contains!  This means that no matter how large the collection is, it takes roughly the exact same amount of time to find an item or determine if it’s not in the collection.  Compare this to the List where almost any add or remove must rearrange potentially all the elements!  And to find an item in the list (if unsorted) you must search every item in the List. So as you can see, if you want to create an unordered collection and have very fast lookup and manipulation, the HashSet is a great collection. And since HashSet<T> implements ICollection<T> and IEnumerable<T>, it supports nearly all the same basic operations as the List<T> and can use the System.Linq extension methods as well. All we have to do to switch from a List<T> to a HashSet<T>  is change our declaration.  Since List and HashSet support many of the same members, chances are we won’t need to change much else. 1: public sealed class OrderProcessor 2: { 3: private readonly HashSet<string> _subscriptions = new HashSet<string>(); 4:  5: // ... 6:  7: public PlaceOrderResponse PlaceOrder(Order newOrder) 8: { 9: // do some validation, of course... 10: 11: // check to see if already subscribed, if not add a subscription 12: if (!_subscriptions.Contains(newOrder.Symbol)) 13: { 14: // add the symbol to the list 15: _subscriptions.Add(newOrder.Symbol); 16: 17: // do whatever magic is needed to start a subscription for the symbol 18: } 19: 20: // place the order logic! 21: } 22:  23: // ... 24: } 25: Notice, we didn’t change any code other than the declaration for _subscriptions to be a HashSet<T>.  Thus, we can pick up the performance improvements in this case with minimal code changes. SortedSet<T> – Ordered Storage of Sets Just like HashSet<T> is logically similar to Dictionary<T,T>, the SortedSet<T> is logically similar to the SortedDictionary<T,T>. The SortedSet can be used when you want to do set operations on a collection, but you want to maintain that collection in sorted order.  Now, this is not necessarily mathematically relevant, but if your collection needs do include order, this is the set to use. So the SortedSet seems to be implemented as a binary tree (possibly a red-black tree) internally.  Since binary trees are dynamic structures and non-contiguous (unlike List and SortedList) this means that inserts and deletes do not involve rearranging elements, or changing the linking of the nodes.  There is some overhead in keeping the nodes in order, but it is much smaller than a contiguous storage collection like a List<T>.  Let’s compare the three: Operation HashSet<T> SortedSet<T> List<T> Add() O(1) O(log n) O(1) at end O(n) in middle Remove() O(1) O(log n) O(n) Contains() O(1) O(log n) O(n)   The MSDN documentation seems to indicate that operations on SortedSet are O(1), but this seems to be inconsistent with its implementation and seems to be a documentation error.  There’s actually a separate MSDN document (here) on SortedSet that indicates that it is, in fact, logarithmic in complexity.  Let’s put it in layman’s terms: logarithmic means you can double the collection size and typically you only add a single extra “visit” to an item in the collection.  Take that in contrast to List<T>’s linear operation where if you double the size of the collection you double the “visits” to items in the collection.  This is very good performance!  It’s still not as performant as HashSet<T> where it always just visits one item (amortized), but for the addition of sorting this is a good thing. Consider the following table, now this is just illustrative data of the relative complexities, but it’s enough to get the point: Collection Size O(1) Visits O(log n) Visits O(n) Visits 1 1 1 1 10 1 4 10 100 1 7 100 1000 1 10 1000   Notice that the logarithmic – O(log n) – visit count goes up very slowly compare to the linear – O(n) – visit count.  This is because since the list is sorted, it can do one check in the middle of the list, determine which half of the collection the data is in, and discard the other half (binary search).  So, if you need your set to be sorted, you can use the SortedSet<T> just like the HashSet<T> and gain sorting for a small performance hit, but it’s still faster than a List<T>. Unique Set Operations Now, if you do want to perform more set-like operations, both implementations of ISet<T> support the following, which play back towards the mathematical set operations described before: IntersectWith() – Performs the set intersection of two sets.  Modifies the current set so that it only contains elements also in the second set. UnionWith() – Performs a set union of two sets.  Modifies the current set so it contains all elements present both in the current set and the second set. ExceptWith() – Performs a set difference of two sets.  Modifies the current set so that it removes all elements present in the second set. IsSupersetOf() – Checks if the current set is a superset of the second set. IsSubsetOf() – Checks if the current set is a subset of the second set. For more information on the set operations themselves, see the MSDN description of ISet<T> (here). What Sets Don’t Do Don’t get me wrong, sets are not silver bullets.  You don’t really want to use a set when you want separate key to value lookups, that’s what the IDictionary implementations are best for. Also sets don’t store temporal add-order.  That is, if you are adding items to the end of a list all the time, your list is ordered in terms of when items were added to it.  This is something the sets don’t do naturally (though you could use a SortedSet with an IComparer with a DateTime but that’s overkill) but List<T> can. Also, List<T> allows indexing which is a blazingly fast way to iterate through items in the collection.  Iterating over all the items in a List<T> is generally much, much faster than iterating over a set. Summary Sets are an excellent tool for maintaining a lookup table where the item is both the key and the value.  In addition, if you have need for the mathematical set operations, the C# sets support those as well.  The HashSet<T> is the set of choice if you want the fastest possible lookups but don’t care about order.  In contrast the SortedSet<T> will give you a sorted collection at a slight reduction in performance.   Technorati Tags: C#,.Net,Little Wonders,BlackRabbitCoder,ISet,HashSet,SortedSet

    Read the article

  • Laplacian of Gaussian: how does it work? (opencv)

    - by maximus
    Does anybody know how does it work and how to do it using opencv? Laplacian can be calculated using opencv, but the result is not what I expected. I mean I expect the image to be approximately constant contrast at background regions, but it is black, and edges are white. There are a lot of noise also, even after gauss filter. I filter image using gaussian filter and then apply laplace. I think what I want is done by a different way.

    Read the article

  • WCF REST vs. ADO.NET Data Services

    - by ray247
    Hi there, Could someone compare and contrast on WCF Rest services vs. ADO.NET Data Services? What is the difference and when to use which? Thanks, Ray. Edit: thanks to the first answer, just to give a bit background on what I'm looking to do: I have a web app I plan to put in the cloud (someday), the DAL is built with ADO.NET Entity Framework. And, I need to figure which web service data access technology would best fit my case.

    Read the article

  • Model availability inside ActionFilter

    - by Sayed Ibrahim Hashimi
    I have created a new ActionFilter for an ASP.NET MVC application that I'm creating. I have an action which accepts an Http Post and the argument of the action method accepts an object, for which I have created and registered a custom model binder. I noticed that inside the IActionFilter.OnActionExecuting the value for filterContext.Controller.ViewData.Model is always null despite the fact that it looks like the model binder is always invoked before the action filter OnActionExecuting method. In contrast to this inside the IActionFilter.OnActionExecuted method of the same action filter the value for filterContext.Controller.ViewData.Model is not null. Do you guys know if this is by design or a bug? If by design are their any links which describe why this is? Thanks.

    Read the article

  • Pre-built UI components for displaying SSRS Local Mode Parameters

    - by namenlos
    BACKGROUND Am writing a WinForm app that uses the SSRS Report Viewer control to render reports in local mode - there is no SSRS server involved at all I can successully create and execute reports in local mode What I want to do is add Parameters to the report THE PROBLEM When the Report Viewer control executes a report in local mode it does not provide any UI that allows the user to enter values for parameters defined in the report This is in contrast to to when the Report Viewer control is running a server report - parameters are shown. MY QUESTION Are there pre-built components or even sample code I can use that would provide a reasonble parameter user experience for this scenario (scenario = SSRS + Report Viewer Control + Local Mode)? Yes, I could write this UI code myself - what I am looking for is existing code to avoid having to implement this UI because I'd rather spend my time making the content of the report work well NOTES Switching to another reporting engine besides SSRS is not an option. Switching to server side reports is not an option.

    Read the article

< Previous Page | 6 7 8 9 10 11 12 13 14 15 16 17  | Next Page >