Search Results

Search found 4882 results on 196 pages for 'odd behaviour'.

Page 94/196 | < Previous Page | 90 91 92 93 94 95 96 97 98 99 100 101  | Next Page >

  • Compiz: How can I pin osd-lyrics to the Desktop?

    - by joebuntu
    Hey ya, I have certain applications pinned to my desktop. such as Rainlendar (1), which offers this option in the settings window conky (2), with "own_window_type normal" in my ~/.conkyrc Rhythmbox's Desktop Cover Art plugin (3), a python plugin sticked to the desktop. They all hide nicely below all other Windows. I set Compiz to not minimize them on "show desktop" command using "window rules". I also use [osd-lyrics][1] to display music lyrics. It's default behaviour is to stick always on top, which is irritating sometimes and, in my case, looks rather fugly. (4) See screenshot at: http://i.imgur.com/ie16K.jpg Now how can I tell Compiz to pin the osd-lyrics bar to the desktop below all other windows and not minimize it? I tried all sorts of window rules and exceptions, e.g. using "class=osd-lyrics", "title=osd-lyrics" but the OSD doesn't seem to match any of these. Any ideas? Running: Ubuntu 10.10 Maverick Meerkat, Compiz 0.8.6, osd-lyrics 0.3 from code.google.com/p/osd-lyrics

    Read the article

  • Tracking down memory issues affecting a website

    - by gaoshan88
    I've got a website (Wordpress based) that became unresponsive. I SSH'd into the server and saw that we were out of memory. Errors in my apache log files indicated the same... things failing to be allocated due to lack of memory). Restarting the server fixes it. So I look in access.log and error.log around the time of the incident but I see nothing strange. No extra traffic, no unusual requests. In fact the only request around the time of the problem was one from Googlebot for an rss feed... at that point I start to see 500 response codes in the logs until the machine was rebooted. I look in message.log hoping to see something but there is nothing at all for that entire day (which is odd as there are entries for every other day). The site has a large amount of memory allocated to it and normally runs using about 30% of what is available. My question... how would you go about trying to track this down at this point? What are some other log files I could check or strategies I could take?

    Read the article

  • Point in Polygon, Ray Method: ending infinite line

    - by user2878528
    Having a bit of trouble with point in polygon collision detection using the ray method i.e. http://en.wikipedia.org/wiki/Point_in_polygon My problem is I need to give an end to the infinite line created. As with this infinite line I always get an even number of intersections and hence an invalid result. i.e. ignore or intersection to the right of the point being checked what I have what I want My current code based of Mecki awesome response for (int side = 0; side < vertices.Length; side++) { // Test if current side intersects with ray. // create infinite line // See: http://en.wikipedia.org/wiki/Linear_equation a = end_point.Y - start_point.Y; b = start_point.X - end_point.X; c = end_point.X * start_point.Y - start_point.X * end_point.Y; //insert points of vector d2 = a * vertices[side].Position.X + b * vertices[side].Position.Y + c; if (side - 1 < 0) d1 = a * vertices[vertices.Length - 1].Position.X + b * vertices[vertices.Length - 1].Position.Y + c; else d1 = a * vertices[side-1].Position.X + b * vertices[side-1].Position.Y + c; // If points have opposite sides, intersections++; if (d1 > 0 && d2 < 0 ) intersections++; if (d1 < 0 && d2 > 0 ) intersections++; } //if intersections odd inside = true if ((intersections % 2) == 1) inside = true; else inside = false;

    Read the article

  • .htaccess rules to rewrite URLs to front end page?

    - by Dizzley
    I am adding a new application to my site at example.com/app. I want views at that URL to always open myapp.php. E.g. example.com/app -> example.com/app/myapp.php and example.com/app/ -> example.com/app/myapp.php What's the correct form of rewrite rules in the .htaccess file? I've got: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /app/ RewriteRule ^myapp\.php$ - [L] RewriteRule ^myapp.php$ - [L] RewriteRule . - [L] </IfModule> ...based on what the Wordpress front-end does. But all I see at example.com/app is a directory of files. :( (I put those rewrites at the top of my .htaccess file). Any ideas? Update What actually worked: RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^/app(/.*)?$ [NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule . /app/myapp.php [L] This is good because: Explicit or implicit calls to app/myapp.php work. example.com/app redirects to app/myapp.php example.com/app/ redirects to app/myapp.php example.com/app/subfunction redirects to app/myapp.php All other calls to example.com/otherstuff are untouched. Item 4 is Wordpress-like Front Controller pattern behaviour. I think that rule RewriteCond %{REQUEST_URI} ^/app.*$ [NC] needs refining as it allows /app-oh-my-goodness etc. through too. Thanks for the answers.

    Read the article

  • How do I write to an outer truecrypt volume when the inner volume protection prevents writng?

    - by con-f-use
    In a nutshell After some time using the outer volume of a hidden volume in Truecrypt I cannot write to the outer volume anymore. The protection of the inner volume always kicks in before. How do I fix this? Details I'm using truecrypt's two layered encryption of a USB stick. The outer container carries my semi-sensitive stuff while the inner hidden values has a bit more valuable information. I use both, the inner and outer volume regularly and that is part of the problem. Truecrypt can mount the outer volume for writing while protecting the inner. Usually the inner volume, when not protected this way (or mounted read-only) would be indistinguishable from free space. That is of course part of the plausible deniability scheme of truecrypt. At the beginning, everything worked as expected. I could copy and delete data to the outer volume as I pleased. Now it seams that I have written and deleted enough data to have filled the outer volume once. Despite the write protection Ubuntu tries now to write to the continuous "free space" that is the inner volume. It does that although enough other free space is on the outer volume. But on this free space there used to be data so its fragmented and the file system write prefers continuous space. The write on the continuous free space of the outer volume of course fails (with the error message in the picture above) as Truecrypt's inner-volume-protection kicks in. The Question I know this is expected behaviour, but is there a better way to write to the outer volume that does not attempt to write to the hidden free space at the end? The whole question could be more generally rephrased to: How do I control, where on a partition data is written in Ubuntu?

    Read the article

  • I can't get grub menu to show up during boot

    - by wim
    After trying (and failing) to install better ATI drivers in 11.10, I've somehow lost my grub menu at boot time. The screen does change to the familiar purple colour, but instead of a list of boot options it's just blank solid colour, and then disappears quickly and boots into the default entry normally. How can I get the bootloader back? I've tried sudo update-grub and also various different combinations of resolutions and colour depths in startupmanager application with no success (640x480, 1024x768, 1600x1200, 16 bits, 8 bits, 10 second delay, 7 second delay, 2 second delay...) edit: I have already tried holding down Shift during bootup and it does not seem to change the behaviour. I get the message "GRUB Loading" in the terminal, but then the place where the grub menu normally appears I get a solid blank magenta screen for a while. Here are the contents of /etc/default/grub # If you change this file, run 'update-grub' afterwards to update # /boot/grub/grub.cfg. # For full documentation of the options in this file, see: # info -f grub -n 'Simple configuration' GRUB_DEFAULT=0 GRUB_HIDDEN_TIMEOUT=0 GRUB_HIDDEN_TIMEOUT_QUIET=true GRUB_TIMEOUT=10 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" GRUB_CMDLINE_LINUX=" vga=798 splash" # Uncomment to enable BadRAM filtering, modify to suit your needs # This works with Linux (no patch required) and with any kernel that obtains # the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...) #GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef" # Uncomment to disable graphical terminal (grub-pc only) #GRUB_TERMINAL=console # The resolution used on graphical terminal # note that you can use only modes which your graphic card supports via VBE # you can see them in real GRUB with the command `vbeinfo' #GRUB_GFXMODE=640x480 # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux #GRUB_DISABLE_LINUX_UUID=true # Uncomment to disable generation of recovery mode menu entries #GRUB_DISABLE_RECOVERY="true" # Uncomment to get a beep at grub start #GRUB_INIT_TUNE="480 440 1"

    Read the article

  • Useful WatiN Extension Methods

    - by Steve Wilkes
    I've been doing a fair amount of UI testing using WatiN recently – here’s some extension methods I've found useful. This checks if a WatiN TextField is actually a hidden field. WatiN makes no distinction between text and hidden inputs, so this can come in handy if you render an input sometimes as hidden and sometimes as a visible text field. Note that this doesn't check if an input is visible (I've got another extension method for that in a moment), it checks if it’s hidden. public static bool IsHiddenField(this TextField textField) { if (textField == null || !textField.Exists) { return false; } var textFieldType = textField.GetAttributeValue("type"); return (textFieldType != null) && textFieldType.ToLowerInvariant() == "hidden"; } The next method quickly sets the value of a text field to a given string. By default WatiN types the text you give it into a text field one character at a time which can be necessary if you have behaviour you want to test which is triggered by individual key presses, but which most of time is just painfully slow; this method dumps the text in in one go. Note that if it's not a hidden field then it gives it focus first; this helps trigger validation once the value has been set and focus moves elsewhere. public static void SetText(this TextField textField, string value) { if ((textField == null) || !textField.Exists) { return; } if (!textField.IsHiddenField()) { textField.Focus(); } textField.Value = value; } Finally, here's a method which checks if an Element is currently visible. It does so by walking up the DOM and checking for a Style.Display of 'none' on any element between the one on which the method is invoked, and any of its ancestors. public static bool IsElementVisible(this Element element) { if ((element == null) || !element.Exists) { return false; } while ((element != null) && element.Exists) { if (element.Style.Display.ToLowerInvariant().Contains("none")) { return false; } element = element.Parent; } return true; } Hope they come in handy

    Read the article

  • Touchpad not working on HP

    - by Grayson
    Everything worked fine in Ubuntu 10.04, flawless in fact, I admired the way the Operating System had handled such a unique touchpad so well. I have an HP Pavilion dv6. The touchpad and left, middle, and right click buttons are all on the trackpad, and it the bottom end depresses to click accordingly for each kind of click. In 10.04, everything worked fine, upon upgrading to Ubuntu 10.10 things became... odd. The scroll on the side would work, as would the left click. The right click wouldn't work however, but if you would lightly tap the exact right corner of the touchpad, the right click menu would come up, though it was inconsistent and difficult to make it do so. I have applied a fix I found on the older Ubuntu Forums for a similar issue, and it restored the normal left and right click, but it isn't as fluid, and there isn't the vertical scroll feature, which I do rather like to have... I would just like things to be as it was, if this is possible, please, please tell me how to do so. Thank you.

    Read the article

  • Which things instantly ring alarm bells when looking at code? [closed]

    - by FinnNk
    I attended a software craftsmanship event a couple of weeks ago and one of the comments made was "I'm sure we all recognize bad code when we see it" and everyone nodded sagely without further discussion. This sort of thing always worries me as there's that truism that everyone thinks they're an above average driver. Although I think I can recognize bad code I'd love to learn more about what other people consider to be code smells as it's rarely discussed in detail on people's blogs and only in a handful of books. In particular I think it'd be interesting to hear about anything that's a code smell in one language but not another. I'll start off with an easy one: Code in source control that has a high proportion of commented out code - why is it there? was it meant to be deleted? is it a half finished piece of work? maybe it shouldn't have been commented out and was only done when someone was testing something out? Personally I find this sort of thing really annoying even if it's just the odd line here and there, but when you see large blocks interspersed with the rest of the code it's totally unacceptable. It's also usually an indication that the rest of the code is likely to be of dubious quality as well.

    Read the article

  • Google penalty recovery

    - by sajeev
    I have a site, which is a spiritual site and has nothing to do with commercial or business thing. It was in the first page with the keyword RADHANATH SWAMI. Then suddenly, in sep'13, the site went out from google search. When I checked my WebmasterTools, I saw that there were 40,000 backlinks from a site named http://freeguestbooks.net. But manual action section in WebmasterToolssaid "No Manual webspam actions found" and till date, it shows the same. Then I contacted the webmaster of freeguestbooks.net and requested him to remove the 40K odd backlinks and he very kindly removed it. The WebmasterTools now shows 21,777 backlinks from this site. But since 2 months, the decrease rate of these backlinks is very slow, almost zero. Again, I had contacted the webmaster of freeguestbooks.net and he confirmed that there are no backlinks pointing to his site. I am also told that my anchor text is over-optimised... Total backlinks to my site as per WebmasterTools is only 24,937 out of which 21,777 are the links from freeguestbooks.net as shown in WebmasterTools. Could an expert suggest a way out to get back into google.... Sajeev, India

    Read the article

  • Execution plan warnings–All that glitters is not gold

    - by Dave Ballantyne
    In a previous post, I showed you the new execution plan warnings related to implicit and explicit warnings.  Pretty much as soon as i hit ’post’,  I noticed something rather odd happening. This statement : select top(10) SalesOrderHeader.SalesOrderID, SalesOrderNumberfrom Sales.SalesOrderHeaderjoin Sales.SalesOrderDetail on SalesOrderHeader.SalesOrderID = SalesOrderDetail.SalesOrderID   Throws the “Type conversion may affect cardinality estimation” warning.     Ive done no such conversion in my statement why would that be ?  Well, SalesOrderNumber is a computed column , “(isnull(N'SO'+CONVERT([nvarchar](23),[SalesOrderID],0),N'*** ERROR ***'))”,  so thats where the conversion is.   Wait!!! Am i saying that every type conversion will throw the warning ?  Thankfully, no.  It only appears for columns that are used in predicates ,even if the predicate / join condition is fine ,  and the column is indexed ( and/or , presumably has statistics).    Hopefully , this wont lead to to many wild goose chases, but is definitely something to bear in mind.  If you want to see this fixed then upvote my connect item here.

    Read the article

  • Windows Azure AppFabric SDK - June CTP - Download issues

    - by Charles Young
    Microsoft has announced availability of the June CTP for Windows Azure AppFabric. See http://blogs.msdn.com/b/appfabric/archive/2011/06/20/announcing-the-windows-azure-appfabric-june-ctp.aspx. This is an exciting release and provides greater insight into where the AppFabric team is heading in terms of developer and management tooling. Microsoft is offering space in the cloud to experiment with the CTP, but this is limited, so register early to get a namespace! You can download the SDK for the June CTP. However, we ran into a lot of trouble trying to do this today. Whenever we followed the link, we ended up on the page for the May CTP. We found what appeared to be a workaround which we were able to repeat on another box (and which I reported on Connect), but then a few minutes later I couldn't repeat it. Just now, the given link appears to be working every time in IE, but not in Firefox!   Frankly, the behaviour seems random!   It looks like the same URL points to two different pages, and I suspect that which page you end up on is hit and miss. The link to the download page is http://www.microsoft.com/download/en/details.aspx?id=17691. If you end up on the wrong page, try again later and you may get to the right place. Or try googling "Windows Azure AppFabric SDK CTP – June Update" and following a link to this page. For some reason, that sometimes seems to work. Good luck!

    Read the article

  • Grub2 attempting to boot hd1 when it should boot hd0

    - by JoBu1324
    I'm attempting to perform a "normal" install on a USB3 SSD (I don't know if it is noteworthy, but I don't have a swap partition). The installation proceeds normally (I'm installing from a USB2 device I created using LiLi Boot, with a copy of Ubuntu 12.10 64bit that I downloaded directly from the source. The system I'm running Ubuntu on has had a more traditional installation of ubuntu running on it without issue (also 12.10), so I know that everything works A-OK when booting from a 7200RPM internal disk. There are a number of oddities that I've noticed so far, including graphics corruption, but the first and most pressing issue is that Grub2 refuses to recognize the correct hd. From /boot/grub/grub.cfg: if [ x$feature_default_font_path = xy ] ; then font=unicode else insmod part_msdos insmod ext2 set root='hd1,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 b58ee4f7-d41d-400a-b7b8-18bd1f0ae9d3 else search --no-floppy --fs-uuid --set=root b58ee4f7-d41d-400a-b7b8-18bd1f0ae9d3 fi font="/usr/share/grub/unicode.pf2" fi This is from a 100% fresh install of linux (first boot), which was installed while no hard drives were connected to the system, other than the USB2 LiLi drive. The system refuses to boot unless I change the hd1,msdos1 - hd0,msdos1 in the grub menu at boot, when it is the only disk device connected to the PC. What options are left for me to troubleshoot this issue? I've been racking my brains and taxing the internet trying to dig up something on this problem, but now I'd like to see if the Ubuntu community can rise to the challenge and help me fix this boot problem. This is the second time I've attempted this particular setup. The first time, after days of wasted time, I managed to get it to boot every other boot - i.e. every even boot it would boot into Ubuntu like it was happy; every odd boot it would boot into the BusyBox or Grub prompt. At one point it complained that it couldn't find /dev/disk/by-uuid/[the disk], which I found most perplexing, since the disk was there and booted before and after the occurrence (with intervention).

    Read the article

  • Cannot access windows share

    - by Wrigley
    I have an accounting program specifically tailored to the IT industry, its called Fincon (exe based). It basically works on a client to server directory base system. the server is currently running on a windows 7 machine with a NTFS partition. I have installed Wine. Have the shared Windows directory mounted with what I assume is the correct command for such being (mount -tsmbfs //servername/sharedir /mnt/fincon -0 usename=username,password=password). I can see the shared dir although it does take a bit long to access it on the Ubuntu machine via the mapped directory but instant via normal network browsing. I have also set up the mapped directory to my D: drive in Wine and have pointed the fincon.ini to read server field from D: directly. Here's my issue, it seems that for some odd reason I cant write to the mapped directory from Ubuntu, yet I can with my Windows machines, the permissions are set correct on the Windows 7 share and I really dunno what I'm missing. I'm quite a Linux noob just switched yesterday. Thanks guys for any help in this would be quite appreciated. As I'm pulling out my hair here and really want to migrate my work PCs to a Linux OS as it just gives less issues than Windows does ever.

    Read the article

  • Why is Ubuntu unmounting my primary hard drive?

    - by Twisol
    I'm running Ubuntu 10.10 on my laptop (an Asus G73j), dual-booting Windows 7 if that matters. After using the computer for couple of hours or so, I get a popup complaining that a file was unmounted, then my GNOME desktop panels disappear. I can't save any unsaved work (the file browser shows "Filesystem" as totally empty), and other programs break in odd ways (like Chrome can't browse to any new pages, but keeps current ones going... at least I still have Pandora to listen to when this happens!). I've tried looking in the system logs to no avail; I'm assuming that it can't write any errors to the logs because, of course, the logs are on the primary hard drives. This started happening maybe a few days ago. Yesterday I upgraded from 10.4, but I believe it was happening before then. Any advice for figuring this out? EDIT: It just happened again, and I heard a small little clicky sound from the hard drive about five seconds before things went south. I'm thinking I should start backing up ASAP. In response to a comment, here's the dmesg output: http://askubuntu.pastebin.com/uYGshBay Also, the SMART status says the disk has a few bad sectors, and the detailed data says there are 14. It says it passed the self-assessment though. Lastly, this doesn't seem to be happening when I'm on Windows. I recently re-enabled ureadahead (which I disabled ages ago because it was causing Ubuntu to hang at the startup logo), could that be the source of the problem? I've disabled it again to see.

    Read the article

  • Override methods should call base method?

    - by Trevor Pilley
    I'm just running NDepend against some code that I have written and one of the warnings is Overrides of Method() should call base.Method(). The places this occurs are where I have a base class which has virtual properties and methods with default behaviour but which can be overridden by a class which inherits from the base class and doesn't call the overridden method. For example, in the base class I have a property defined like this: protected virtual char CloseQuote { get { return '"'; } } And then in an inheriting class which uses a different close quote: protected override char CloseQuote { get { return ']'; } } Not all classes which inherit from the base class use different quote characters hence my initial design. The alternatives I thought of were have get/set properties in the base class with the defaults set in the constructor: protected BaseClass() { this.CloseQuote = '"'; } protected char CloseQuote { get; set; } public InheritingClass() { this.CloseQuote = ']'; } Or make the base class require the values as constructor args: protected BaseClass(char closeQuote, ...) { this.CloseQuote = '"'; } protected char CloseQuote { get; private set; } public InheritingClass() base (closeQuote: ']', ...) { } Should I use virtual in a scenario where the base implementation may be replaced instead of extended or should I opt for one of the alternatives I thought of? If so, which would be preferable and why?

    Read the article

  • Contractor - Mispaid again - Walked out

    - by MeshMan
    Hi all, I'm wondering whether or not I've done the right thing as a contractor. Basically I'm in to my 3rd month, and my current client messed up the payment in the first month, and I just found out that they are again late in paying me for my 2nd month. It wouldn't be so bad if I wasn't in a bit of a financial situation due to this being my first contract experience. But as a matter of principal, I walked out on them and will be telling them that I will not be going back in until they resolve the pay. Part of me feels as though this was not a very professional thing to do, but I also don't feel that it was very professional for them to mess my payments up, twice in a row. Did I make the right decision? I still want to work for these guys and enjoy the job, but I have a life to attend to that requires finances and I can't afford to keep getting messed up with pay like this. I attempted to phrase the question to be oriented around contractors behaviour around clients that mis-treat them, and as some of the answers that have been posted so far, it's a good discussion. The answers coming in are great around different subjective situations.

    Read the article

  • Project Euler Problem 14

    - by MarkPearl
    The Problem The following iterative sequence is defined for the set of positive integers: n n/2 (n is even) n 3n + 1 (n is odd) Using the rule above and starting with 13, we generate the following sequence: 13 40 20 10 5 16 8 4 2 1 It can be seen that this sequence (starting at 13 and finishing at 1) contains 10 terms. Although it has not been proved yet (Collatz Problem), it is thought that all starting numbers finish at 1. Which starting number, under one million, produces the longest chain? NOTE: Once the chain starts the terms are allowed to go above one million. The Solution   public static long NextResultOdd(long n) { return (3 * n) + 1; } public static long NextResultEven(long n) { return n / 2; } public static long TraverseSequence(long n) { long x = n; long count = 1; while (x > 1) { if (x % 2 == 0) x = NextResultEven(x); else x = NextResultOdd(x); count++; } return count; } static void Main(string[] args) { long largest = 0; long pos = 0; for (long i = 1000000; i > 1; i--) { long temp = TraverseSequence(i); if (temp > largest) { largest = temp; pos = i; } } Console.WriteLine("{0} - {1}", pos, largest); Console.ReadLine(); }

    Read the article

  • Ubuntu 11.10 loads from live usb fine, but boots to black screen from harddrive. Why?

    - by Estel
    A few days ago I had a hard drive failure, which was running Windows XP (32-bit) just fine. The second hard drive in my computer held a few unimportant files, so I formatted it in the Ubuntu setup and installed 11.10 without a hitch. I had been using it for about a week, but decided to install Windows 7 (64-bit) in order to utilize Networking with my home server (running Windows Server 2000). My system is 64-bit based, and thus I had no problems installing other than a basic RAM error that required me to remove my RAM down to a single stick. I played with the settings in Windows 7 for around an hour before I shut down. After reinstalling the RAM, Windows 7 would not boot. In this, I then assumed that something about my system was rejecting Win7 and I reinstalled Ubuntu. However, now Ubuntu (11.10) boots into black screen, and I've already attempted activating the grub menu with the shift key, and following steps listed here: https://wiki.ubuntu.com/X/Troubleshooting/BlankScreen but nothing seems to work. I've reinstalled twice now, with the same result each time. Now, the very odd part about this whole scenario is that the USB I installed from has no problems booting as a live USB. This puzzles me greatly, because the hard drive boots straight to black screen and the live USB loads normally. At this point, my only theory is that the boot sector of the hard disk was somehow corrupted with Win7, and that Ubuntu was unable to completely write through. I used Darik's Boot n Nuke to wipe the drive, but was met with an error, this also puzzles me because the hard disk has no promblems reading or writing. Any suggestions/comments are appreciated. If you have a theory, I will be more than happy to oblige. Additional information: Intel Core2 Duo e6400 2.13GHz nVidia GeForce 7-series (7900 GS) 4 GB DDR2 333MHz (2x 2GB) Dell XPS 410 BIOS Revision 2.5.3

    Read the article

  • How to implement isValid correctly?

    - by Songo
    I'm trying to provide a mechanism for validating my object like this: class SomeObject { private $_inputString; private $_errors=array(); public function __construct($inputString) { $this->_inputString = $inputString; } public function getErrors() { return $this->_errors; } public function isValid() { $isValid = preg_match("/Some regular expression here/", $this->_inputString); if($isValid==0){ $this->_errors[]= 'Error was found in the input'; } return $isValid==1; } } Then when I'm testing my code I'm doing it like this: $obj = new SomeObject('an INVALID input string'); $isValid = $obj->isValid(); $errors=$obj->getErrors(); $this->assertFalse($isValid); $this->assertNotEmpty($errors); Now the test passes correctly, but I noticed a design problem here. What if the user called $obj->getErrors() before calling $obj->isValid()? The test will fail because the user has to validate the object first before checking the error resulting from validation. I think this way the user depends on a sequence of action to work properly which I think is a bad thing because it exposes the internal behaviour of the class. How do I solve this problem? Should I tell the user explicitly to validate first? Where do I mention that? Should I change the way I validate? Is there a better solution for this? UPDATE: I'm still developing the class so changes are easy and renaming functions and refactoring them is possible.

    Read the article

  • Matlab: Why is '1' + 1 == 50? [migrated]

    - by phi
    Matlab has weak dynamic typing, which is what causes this weird behaviour. What I do not understand is what exactly happens, as this result really surprises me. Edit: To clarify, what I'm describing is clearly a result of Matlab storing chars in ASCII-format, which was also mentioned in the comments. I'm more interested in the way Matlab handles its variables, and specifically, how and when it assigns a type/tag to the values. Thanks. '1' is a 1-by-1 matrix of chars in matlab and '123' is a 1-by-3 matrix of chars. As expected, 1 returns a 1-by-1 double. Now if I enter '1' + 1 I get 50 as a 1-by-1 double, and if I enter '123' + 1 I get a 1-by-3 double [ 50 51 52 ] Furthermore, if I type 'a' + 1 the result is 98 in a 1-by-1 double. I assume this has to do with how Matlab stores char-variables in ascii form, but how exactly is it handling these? Are the data actually unityped and tagged, or how does it work? Thanks.

    Read the article

  • Client-server application design issue

    - by user2547823
    I have a collection of clients on server's side. And there are some objects that need to work with that collection - adding and removing clients, sending message to them, updating connection settings and so on. They should perform these actions simultaneously, so mutex or another synchronization primitive is required. I want to share one instance of collection between these objects, but all of them require access to private fields of collection. I hope that code sample makes it more clear[C++]: class Collection { std::vector< Client* > clients; Mutex mLock; ... } class ClientNotifier { void sendMessage() { mLock.lock(); // loop over clients and send message to each of them } } class ConnectionSettingsUpdater { void changeSettings( const std::string& name ) { mLock.lock(); // if client with this name is inside collection, change its settings } } As you can see, all these classes require direct access to Collection's private fields. Can you give me an advice about how to implement such behaviour correctly, i.e. keeping Collection's interface simple without it knowing about its users?

    Read the article

  • Client/Server game even in solo: any big problem?

    - by Klaim
    I'm making a game which have strong basic design based on multiplayer but also should provide a really interesting and self-sufficient solo game. A bit like a real-time strategy game. The events and actions taken shouldn't be as massive and immediate as in a FPS, so you can also think the networking like for an RTS. It's a PC game, targetting Windows, MacOSX and Linux (Ubuntu & Fedora). It's programmed in C++, using a variety of open source libraries, so I have great (potential) control over the performances. So far I always considered that just making the game work with two applications, client & server, even in solo mode was ok. However, as I'm in the process of starting the network code I'm having doubts about if it's a good idea. I'm not a specialist so I might be missing something in my analysis. I see these pros and cons: Pros: The game works only one way so if I fix a bug it should apply on all game modes, whatever the distance with the server is; Basic networking issues would be detected early, including behaviour with the protection softwares (firewall) installed (i am not specialist so this might be wrong); Cons: I suppose that even if it should be really fast enough, networking client and server on the same computer would still be slower than no networking and message passing in (one) process memory. Maybe debugging would be more difficult? I don't have experience in this case but so far I assume that debugging with Visual Studio allows me to debug multiple process so it shouldn't be really different. Also, remote debugging. My question is: is there a big disadvantage that I missed? Or maybe there are advantages that I missed and that should encourage me to just continue with only client-server game sessions?

    Read the article

  • Having extreme issues getting Compiz working on Ubuntu 11.10 (32-bit)

    - by Josh Hornell
    I have been working very hard the past few days to try to get Compiz configured and working correctly but I have been running into a lot of issues. I first installed the CompizConfig Settings Manager and tried different features such as the desktop cube and couldn't get any of them to work. Then I read that I may not have the right graphics card drivers installed (Nvidia GT540m). So I went into the Additional Drivers tool and it shows that 'no proprietary drivers are in use on this system', which struck me as a bit odd as when I very first installed Ubuntu it showed that my Nvidia drivers were installed an active until I downloaded and installed the updates to Ubuntu and since then it's shown empty. I then tried to install my graphics card drivers manually via this article How do I install the latest Nvidia drivers via the Additional Drivers tool?. I rebooted and had no issue although I tried to go back into the CompizConfig Settings Manager and couldn't get anything to work as well as my Additional Drivers tool still showed no drivers installed. I feel like I've tried about everything I can think of and any help would be much appreciated!

    Read the article

  • frequent abnormal shutdowns/system crashes

    - by user110353
    It's been almost 5 days since I have installed Ubuntu and almost 6th time that my laptop has been crashed entirely and it shuts down abnormally. Actually, it heats up and I have to wait for 20 odd minutes before I can turn it on again. A message appears that my PC crashed due to overheating which may damage my hard disk. The crashes happened when I tried to open some application that freeze my PC not even giving me enough time to go to system monitor and end process. Sometimes the culprit application which caused crash is Ever-pad, sometime it's team-viewer, sometimes it's some other. This is something very serious. The last crash occurred at 09:14:40. Kindly click here to view system log. I want to stick to Ubuntu and the same laptop as I had serious issues with Windows and I nearly went out to dump my laptop and purchase a more powerful system. Below are my hw/os specs. Kindly advice on how to resolve this issue Ubuntu 12.10 Kernal 3.5.0-18-generic GNOME 3.6.0 Memory 2.0GB Processor: Genuine Intel CPU [email protected] x 2 Available Disk Space: 63.7 GB Thanks in advance

    Read the article

< Previous Page | 90 91 92 93 94 95 96 97 98 99 100 101  | Next Page >