Search Results

Search found 8401 results on 337 pages for 'bad habits'.

Page 65/337 | < Previous Page | 61 62 63 64 65 66 67 68 69 70 71 72  | Next Page >

  • Why do programmers write closed source applications and then make them free? [closed]

    - by Ken
    As an entrepreneur/programmer who makes a good living from writing and selling software, I'm dumbfounded as to why developers write applications and then put them up on the Internet for free. You've found yourself in one of the most lucrative fields in the world. A business with 99% profit margin, where you have no physical product but can name your price; a business where you can ship a buggy product and the customer will still buy it. Occasionally some of our software will get a free competitor, and I think, this guy is crazy. He could be making a good living off of this but instead chose to make it free. Do you not like giant piles of money? Are you not confident that people would pay for it? Are you afraid of having to support it? It's bad for the business of programming because now customers expect to be able to find a free solution to every problem. (I see tweets like "is there any good FREE software for XYZ? or do I need to pay $20 for that".) It's also bad for customers because the free solutions eventually break (because of a new OS or what have you) and since it's free, the developer has no reason to fix it. Customers end up with free but stale software that no longer works and never gets updated. Customer cries. Developer still working day job cries in their cubicle. What gives? PS: I'm not looking to start an open-source/software should be free kind of debate. I'm talking about when developers make a closed source application and make it free.

    Read the article

  • How can rotating release managers improve a project's velocity and stability?

    - by Yannis Rizos
    The Wikipedia article on Parrot VM includes this unreferenced claim: Core committers take turns producing releases in a revolving schedule, where no single committer is responsible for multiple releases in a row. This practice has improved the project's velocity and stability. Parrot's Release Manager role documentation doesn't offer any further insight into the process, and I couldn't find any reference for the claim. My first thoughts were that rotating release managers seems like a good idea, sharing the responsibility between as many people as possible, and having a certain degree of polyphony in releases. Is it, though? Rotating release managers has been proposed for Launchpad, and there were some interesting counterarguments: Release management is something that requires a good understanding of all parts of the code and the authority to make calls under pressure if issues come up during the release itself The less change we can have to the release process the better from an operational perspective Don't really want an engineer to have to learn all this stuff on the job as well as have other things to take care of (regular development responsibilities) Any change of timezones of the releases would need to be approved with the SAs and: I think this would be a great idea (mainly because of my lust for power), but I also think that there should be some way making sure that a release manager doesn't get overwhelmed if something disastrous happens during release week, maybe by have a deputy release manager at the same time (maybe just falling back to Francis or Kiko would be sufficient). The practice doesn't appear to be very common, and the counterarguments seem reasonalbe and convincing. I'm quite confused on how it would improve a project's velocity and stability, is there something I'm missing, or is this just a bad edit on the Wikipedia article? Worth noting that the top voted answer in the related "Is rotating the lead developer a good or bad idea?" question boldly notes: Don't rotate.

    Read the article

  • Unable to mount an LVM Hard-drive after upgrade

    - by Bruce Staples
    I imagine this is a basic gotcha ... but I can't see it. I have a system with 2(physical) harddrives. The boot system (/dev/sda) was running 10.04 & the second drive (/dev/sdb) was just a mounted filesystem. I did a clean load of Ubuntu 12.04 overwriting /dev/sda (not an upgrade) & now cannot mount the second drive. so I do not know what to enter it into the fstab ... I had expected to use: /dev/sdb /tera ext4 defaults 0 2 But even manual mounting fails (I also have tried various "-t" options on the off chance!) sudo mount -t ext4 /dev/sdb1 /tera mount: wrong fs type, bad option, bad superblock on /dev/sdb1, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so Output from disk queries indicate that it is a Linux LVM & a healthy disk still. sudo lshw -C disk *-disk:0 description: ATA Disk product: WDC WD5000AACS-0 vendor: Western Digital physical id: 0 bus info: scsi@2:0.0.0 logical name: /dev/sda version: 01.0 serial: WD-WCASU1401098 size: 465GiB (500GB) capabilities: partitioned partitioned:dos configuration: ansiversion=5 signature=00015a55 *-disk:1 description: ATA Disk product: WDC WD10EADS-00L vendor: Western Digital physical id: 1 bus info: scsi@3:0.0.0 logical name: /dev/sdb version: 01.0 serial: WD-WCAU47836304 size: 931GiB (1TB) capabilities: partitioned partitioned:dos configuration: ansiversion=5 sudo fdisk -l Disk /dev/sda: 500.1 GB, 500106780160 bytes 255 heads, 63 sectors/track, 60801 cylinders, total 976771055 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00015a55 Device Boot Start End Blocks Id System /dev/sda1 * 2048 972580863 486289408 83 Linux /dev/sda2 972582910 976769023 2093057 5 Extended /dev/sda5 972582912 976769023 2093056 82 Linux swap / Solaris Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sdb1 1 1953525167 976762583+ 8e Linux LVM LVM doesn't appear to be an option for mount or fstab. ... and here's a Smart data Screenshot from Disk Utility.

    Read the article

  • SEO - different data with same title and keywords

    - by Junaid Saeed
    here is my scenario i have a website where i redirect my users basing upon the device they were using, lets say a user is visiting from an iPad, i take him directly to the page of iPad wallpapers, the user selects iPad version & i take the user to the gallery of wallpapers where the user can select & download any wallpaper. Every wallpaper is the required resolution, i have my reasons for doing this, now the thing is there are diff. resolution. versions of an image appearing one 5 diff. sections of my website, each having their own view page Now there is only one record in db.table for the image, and basing on the my consistent naming convention of the images, i pick the required image. this means when 5 different pages are generated in 5 categorized sections of the website, due to a shared DB record, the keywords, the titles and every single detail of the 5 pages is same besides the resolution of the image, and the section specific details that the page has and yeah the pages also have different paths like wallpapers.com\ipad-1\cars\Ferrari-dino.html wallpapers.com\ipad-2\cars\Ferrari-dino.html wallpapers.com\ipad-3\cars\Ferrari-dino.html wallpapers.com\ipad-4\cars\Ferrari-dino.html wallpapers.com\ipad-5\cars\Ferrari-dino.html now this is my scenario, How do Search Engines see it and how do they rank it? Is it a Good or Normal or Bad SEO practice? If bad how dangerous it is for my sites SEO? i need your comments on my scenario.

    Read the article

  • How do you make people accept code review?

    - by user7197
    All programmers have their style of programming. But some of the styles are let’s say... let’s not say. So you have code review to try to impose certain rules for good design and good programming techniques. But most of the programmers don’t like code review. They don’t like other people criticizing their work. Who do they think they are to consider themselves better than me and tell me that this is bad design, this could be done in another way. It works right? What is the problem? This is something they might say (or think but not say which is just as bad if not worse). So how do you make people accept code review without starting a war? How can you convince them this is a good thing; that will only improve their programming skills and avoid a lot of work later to fix and patch a zillion times a thing that hey... "it works"? People will tell you how to make code review (peer-programming, formal inspections etc) what to look for in a code review, studies have been made to show the number of defects that can be discovered before the software hits production etc. But how do you convince programmers to accept a code review?

    Read the article

  • Putting DSMD into Remission

    - by Justin Greenwood
    As a programmer with over ten years of professional experience, I've often suffered from DSMD (distraction surplus/motivation deficit) disorder. I know I'm not alone. Many of my colleagues have shared their experiences with this productivity cancer to me in support groups or in moments of inebriated intimacy. Often, I observe friends unknowingly surrendering to it - sitting at their computer, cycling through the same set of web sites (blogs, facebook, youtube, news providers, wikipeida, etc.), over and over again. Intermittently, they get up, take a walk around the office, make small talk with their colleagues, get another cup of coffee, then sit down and start the cycle all over again. It is completely controlled by the subconscious mind and will destroy your ability to get into that groove you used to live in back in your better days. Programming requires extended periods of focused attention, and this type of behavior will really kill productivity and in the end, when deadlines are near, launch your stress level to near emotional breakdown levels.DiagnosisThe best way to diagnose infection is to completely disconnect your devices from the internet while working. If you find yourself launching web browsers every minute or so, then you're down with the sickness.TreatmentA few techniques I've found that will help send this ailment into regression are as follows:Segment your day into two to three hour work segments. For example: 9:00-11:00, 1:00-3:00, 3:30-5:00.Define a few small one to two hour tasks you want to accomplish in your day. Assign each of those tasks to one of the short work segments.If possible, turn off the internet and any other distractions during these work segments (at least until you regain control of your browsing habits) - this includes instant messaging and email. You can check your email and waste time surfing in the hours between work segments.Reward yourself on productive days with a beer or whatever butters your muffins.

    Read the article

  • Review of TechEd 2012 - so far

    - by Stefan Barrett
    Disclaimer: probably going to next years TechEd.  (but not 100% sure) As with most TechEd's, this is not one of the best - but it's not bad.  Some impressions so far: The food is not bad, through perhaps not as much choice as in previous years.  The snacks, while a bit limited, are at least available.  The alumni lounge is ok, through perhaps not as good as last years.  Wifi is a bit worse than previous years - not really working in the big room, and a bit sporadic in the rest of the building. The device seems to make a big difference - the iPad seems to connect the easiest, while the iPhone & Lumia 800 are really struggling.  The real problem is the content - not as developer focused as in previous years.  This shows up in a number of different ways, for example while there is a visual studio booth, there is not much sign of anybody from the language teams.  This is one of few TechEd's where I don't feel very surprised about anything - seen most of the developer stuff in previews. One example where I was surprised was the pre-conf on c++ - its been years since I did any c++, but based on that session perhaps I should start again. While there are sessions, I'm not finding my schedule very challenged. For each time-slot there only seems to 1, or rarely 2, interesting sessions.  The focus seems to be on windows 8, Azure and the phone, which while interesting (might give win8 a go), are not enough.

    Read the article

  • what languages are good selling points on resume? [closed]

    - by Thomas Galvin
    I have a good amount of experience with C# and Java at the moment but after education and whatnot I wish to be able in more than just 2 high-level, comparatively limited languages, and from what I've seen languages like C(++) or PHP are in demand at the moment. I've thought about learning the following: C. Very standard, lightweight and available on everything. However very old and mostly procedural. C++. Standard like C but I've read in some places that it encourages bad programming design and use of dodgy libraries - but similar things have been said about C too so I'll take that with a grain of salt. D. Quite new but looks promising, but will it be relevant or applicable in the future though? PHP. With the internet becoming ever more important I think this might be the one to go with, but the code itself isn't very intuitive. CoffeeScript (or plain JavaScript). With Microsoft's new idea of HTML5+JS for everything under the sun this doesn't look like a bad choice. However things do change and I wish to be primarily a software dev, not web dev. So out of the above list, or any others that you could suggest, what would you say I should begin to focus on? What is your opinion on staying with C#?

    Read the article

  • Companies and Ships

    - by TechnicalWriting
    I have worked for small, medium, large, and extra large companies and they have something in common with ships. These metaphors have been used before, I know, but I will have a go at them.The small company is like a speed boat, exciting and fast, and can turn on a dime, literally. Captain and crew share a lot of the work. A speed boat has a short range and needs to refuel a lot. It has difficulty getting through bad weather. (Small companies often live quarter to quarter. By the way, if a larger company is living quarter to quarter, it is taking on water.)The medium company is is like a battleship. It can maneuver, has a longer range, and the crew is focused on its mission. Its main concern are the other battleships trying to blow it out of the water, but it can respond quickly. Bad weather can jostle it, but it can get through most storms.The large company is like an aircraft carrier; a floating city. It is well-provisioned and can carry a specialized load for a very long range. Because of its size and complexity, it has to be well-organized to be effective and most of its functions are specialized (with little to no functional cross-over). There are many divisions and layers between Captain and crew. It is not very maneuverable; it has to set its course well in advance and have a plan of action.The extra large company is like a cruise liner. It also has to be well-organized and changes in direction are often slow. Some of the people are hard at work behind the scenes to run the ship; others can be along for the ride. They sail the same routes over and over again (often happily) with the occasional cosmetic face-lift to the ship and entertainment. It should stay in warm, friendly waters and avoid risky speed through fields of ice bergs.I have enjoyed my career on the various Ships of Technical Writing, but I get the most of my juice from the battleship where I am closer to the campaign and my contributions have the greater impact on success.Mark Metcalfewww.linkedin.com/in/MarkMetcalfe

    Read the article

  • Class Design - Space Simulator

    - by Peteyslatts
    I have pretty much taught myself everything I know about programming, so while I know how to teach myself (books, internet and reading API's), I'm finding that there hasn't been a whole lot in the way of good programming. So I have two questions: First the broad one: Does anyone have suggestions as to sources for learning about good programming habits and techniques? I'd prefer it if the resource wasn't a 5000 page tome. The more I can read it in installments the better. More specifically: I am finishing up learning the basics of XNA and I want to create a space simulator to test my knowledge. This isn't a full scale simulator, but just something that covers everything I learned. It's also going to be modular so I can build on it, after I get the basics down. One of the early features I want to implement is AI. And I want to take this into account as I'm designing my classes so I can minimize rewriting code. So my question: How should I design ship classes so that both the player and AI can use them? The only idea I have so far is: Create a ship class that contains stats, models, textures, collision data etc. The player and AI would then have the data for position, rotation, health, etc and would base their status off of the ship stats.

    Read the article

  • Valid reason for employer to breach freelance contract

    - by Costas
    Please don't close this as offtopic. According to the FAQ I can post programming related questions. I was working on a project and when it was half way completed (1 weeks work), the employer backs out and refuses to pay me. Shortly before this he was being very rude. He was having problems configuring the server and he told me it was my fault and that I had to fix it. After I spent several hours trying to figure out the problem, it turned out to be his fault. After this when I put the code on the server. He found 1 bug that I had missed. He freaked out, accused me of being a bad programmer and told me that the code was shit and that he couldn't use it. He said that if there is a bug in the code, that means the code is bad and he can't use it. He would have to throw the code away and hire someone else. His kept reiterating his argument: "why should I pay for code that I can't use". And I kept telling him the code was fine and urged him to have another programmer give him a second opinion. But he would have none of that. He said he would compensate me for my troubles by paying me 250$. Then he changes his mind and lowers that to 200$. Then a third time he changes his mind and says he doesn't want to compensate me at all. I'm left frustrated because besides being rude, he did not at any time tell me he was unhappy with the work that I was doing. So my question is; Is the above a valid reason to back out of a verbal contract in your opinion?

    Read the article

  • Repair ext4 filesystem on USB drive

    - by phineas
    Yet another filesystem question. I wanted to use a USB drive that I hadn't mounted for a month or so and was surprised by the fact Ubuntu was unable to mount it. I looked it up in the disk utility and it said it discovered a device with 17 MB instead of 2 GB. The hardware looks intact, I hope for the best for repairing the ext4 filesystem. I followed the instructions from HOWTO: Repair a broken Ext4 Superblock in Ubuntu, but I wasn't successful. # fsck.ext4 -v /dev/sdb e2fsck 1.42.5 (29-Jul-2012) ext2fs_open2: Bad magic number in super-block fsck.ext4: Superblock invalid, trying backup blocks... fsck.ext4: Bad magic number in super-block while trying to open /dev/sdb The superblock could not be read or does not describe a correct ext2 filesystem. If the device is valid and it really contains an ext2 filesystem (and not swap or ufs or something else), then the superblock is corrupt, and you might try running e2fsck with an alternate superblock: e2fsck -b 8193 Filesystem blocks are invalid, however when I run the recommended solution to try the alternate superblock, I get the following output: # e2fsck -b 8193 /dev/sdb e2fsck 1.42.5 (29-Jul-2012) e2fsck: Invalid argument while trying to open /dev/sdb plus the same error message as in the last paragraph above. Any ideas how to recover the drive? Thank you very much! Edit: testdisk won't help. I'm still stunned why the tools only discover 17 MB.

    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

  • People != Resources

    - by eddraper
    Ken Tabor’s blog post “They Are not Resources – We Are People” struck a chord with me.  I distinctly remember hearing the term “resources” within the context of “people” for the first time back in the late 90’s.  I was in a meeting at Compaq and a manager had been faced with some new scope for an IT project he was managing.  His response was that he needed more “resources” in order to get the job done.  As I knew the timeline for the project was fixed and the process for acquiring additional funding would almost certainly extend beyond his expected delivery date, I wondered what he meant.  After the meeting, I asked him what he meant… his response was that he needed some more “bodies” to get the job done.  For a minute, my mind whirred… why is it so difficult to simply say “people?”  This particular manager was neither a bad person nor a bad manager… quite the contrary.  I respected him quite a bit and still do.  Over time, I began to notice that he was what could be termed an “early adopter” of many “Business speak” terms – such as “sooner rather than later,” “thrown a curve,” “boil the ocean” etcetera.  Over time, I’ve discovered that much of this lexicon can actually be useful, though cliché and overused.  For example, “Boil the ocean” does serve a useful purpose in distilling a lot of verbiage and meaning into three simple words that paint a clear mental picture.  The term “resources” would serve a similar purpose if it were applied to the concept of time, funding, or people.  The problem is that this never happened.  “Resources”, “bodies”, “ICs” (individual contributors)… this is what “people” have become in the IT business world.  Why?  We’re talking about simple word choices here.  Why have human beings been deliberately dehumanized and abstracted in this manner? What useful purpose does it serve other than to demean and denigrate?

    Read the article

  • C++: calling non-member functions with the same syntax of member ones

    - by peoro
    One thing I'd like to do in C++ is to call non-member functions with the same syntax you call member functions: class A { }; void f( A & this ) { /* ... */ } // ... A a; a.f(); // this is the same as f(a); Of course this could only work as long as f is not virtual (since it cannot appear in A's virtual table. f doesn't need to access A's non-public members. f doesn't conflict with a function declared in A (A::f). I'd like such a syntax because in my opinion it would be quite comfortable and would push good habits: calling str.strip() on a std::string (where strip is a function defined by the user) would sound a lot better than calling strip( str );. most of the times (always?) classes provide some member functions which don't require to be member (ie: are not virtual and don't use non-public members). This breaks encapsulation, but is the most practical thing to do (due to point 1). My question here is: what do you think of such feature? Do you think it would be something nice, or something that would introduce more issues than the ones it aims to solve? Could it make sense to propose such a feature to the next standard (the one after C++0x)? Of course this is just a brief description of this idea; it is not complete; we'd probably need to explicitly mark a function with a special keyword to let it work like this and many other stuff.

    Read the article

  • What's wrong with circular references?

    - by dash-tom-bang
    I was involved in a programming discussion today where I made some statements that basically assumed axiomatically that circular references (between modules, classes, whatever) are generally bad. Once I got through with my pitch, my coworker asked, "what's wrong with circular references?" I've got strong feelings on this, but it's hard for me to verbalize concisely and concretely. Any explanation that I may come up with tends to rely on other items that I too consider axioms ("can't use in isolation, so can't test", "unknown/undefined behavior as state mutates in the participating objects", etc.), but I'd love to hear a concise reason for why circular references are bad that don't take the kinds of leaps of faith that my own brain does, having spent many hours over the years untangling them to understand, fix, and extend various bits of code. Edit: I am not asking about homogenous circular references, like those in a doubly-linked list or pointer-to-parent. This question is really asking about "larger scope" circular references, like libA calling libB which calls back to libA. Substitute 'module' for 'lib' if you like. Thanks for all of the answers so far!

    Read the article

  • What does my blog says about me?

    - by subodhnpushpak
    Somebody said that “a person is as good as he/she THINKS”. Recently, over conversation, one of my close “blog friend” remarked that a blog post revealed so much about the person who has written it; and though we never met physically / or even talked over phone… (we have only exchanged technical talks over chats and blogs); this friend of mine correctly predicted my personality and even my habits!! I also came across with this site http://www.typealyzer.com/?lang=en. Just put a blog address and it will predict the bloggers mindset!! Here is what I get when I put across my blog ..   very flattering… I must say. Why don’t you discover yours?? Do share the results with me.. BTW.. now a days I am working on Windows Phone 7 and am loving it. Have lots of gotchas to blog but simply no time (only 14 hrs a day )

    Read the article

  • Graphics hardware warning when updating to 14.04

    - by pacomet
    As I use Ubuntu at work I just update only LTS versions but now I'm not sure if I can/should. As my computer is now ten years old I would change if was mine but as it is owned by my employer I have to work with it. It's not a bad one, it runs fine (this was not true when still had Windows on it ;-). When updating to 14.04, it warns about possible bad/slow performance with Unity 3D so I stop updating as I am at work, not my own computer. As I understand from http://askubuntu.com/a/438958/25305 Nvidia Geforce FX 5500 graphics card is still supported in 14.04. Now, in 12.04, I have driver version 173 and unity 2d runs fine for me. output of /usr/lib/nux/unity_support_test -p OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce FX 5500/AGP/SSE2 OpenGL version string: 2.1.2 NVIDIA 173.14.39 Not software rendered: yes Not blacklisted: no GLX fbconfig: yes GLX texture from pixmap: yes GL npot or rect textures: yes GL vertex program: yes GL fragment program: yes GL vertex buffer object: yes GL framebuffer object: yes GL version is 1.4+: yes Unity 3D supported: no Should I update? Is it better to stay with 12.04? Thanks

    Read the article

  • Is version history really sacred or is it better to rebase?

    - by dukeofgaming
    I've always agreed with Mercurial's mantra, however, now that Mercurial comes bundled with the rebase extension and it is a popular practice in git, I'm wondering if it could really be regarded as a "bad practice", or at least bad enough to avoid using. In any case, I'm aware of rebasing being dangerous after pushing. OTOH, I see the point of trying to package 5 commits in a single one to make it look niftier (specially at in a production branch), however, personally I think would be better to be able to see partial commits to a feature where some experimentation is done, even if it is not as nifty, but seeing something like "Tried to do it way X but it is not as optimal as Y after all, doing it Z taking Y as base" would IMHO have good value to those studying the codebase and follow the developers train of thought. My very opinionated (as in dumb, visceral, biased) point of view is that programmers like rebase to hide mistakes... and I don't think this is good for the project at all. So my question is: have you really found valuable to have such "organic commits" (i.e. untampered history) in practice?, or conversely, do you prefer to run into nifty well-packed commits and disregard the programmers' experimentation process?; whichever one you chose, why does that work for you? (having other team members to keep history, or alternatively, rebasing it).

    Read the article

  • In MVC, why can't a model create a view?

    - by MUY Belgium
    I have a web application written in Perl with a controller, some "views" and some "Models". Each "Model" is corresponding to one "View". The controller (one file) creates an Model object corresponding to each view (view is a CGI argument) then retrieve the view from the module it has just created. Indeed, this should be bad thing but can you argue a bit more about it. My first idea was that since the object "Model" depends upon the "view", then the "model" is actually a view. But also the fact that ALL the cgi parameters are passed to the Model causes the "Model" to become not truelly a view but to loose all interest, since it is only related to the current implementation of the web apps. On other words, that the "Model" keep model but loose its "comprehensiveness" ("Model" is not easily understandable). I'm am quite new in project analysis, so please do not be too harsh. Why is this bad? I have made a prototype with the main structures I have understood of this web application, made as short as possible. #Model.pm package Model; import { # this requires an attribute called "view" # and this require an argument which is the cgi params } ... #View1.pm package View1; ... #Model1.pm package ModelView1 ; base Model; use View1; sub new { my $class = shift; my $arg = shift; Model::DoSomething($arg); $self->view = new View1($arg); ... } #controller.cgi my $model = 0; ... $model = new Model1( cgi_param => params() ); #there is severall models here ... print $model->get_view()->get_html();

    Read the article

  • how to fully unit test functions and their internal validation

    - by Patrick
    I am just now getting into formal unit testing and have come across an issue in testing separate internal parts of functions. I have created a base class of data manipulation (i.e.- moving files, chmodding file, etc) and in moveFile() I have multiple levels of validation to pinpoint when a moveFile() fails (i.e.- source file not readable, destination not writeable). I can't seem to figure out how to force a couple particular validations to fail while not tripping the previous validations. Example: I want the copying of a file to fail, but by the time I've gotten to the actual copying, I've checked for everything that can go wrong before copying. Code Snippit: (Bad code on the fifth line...) // if the change permissions is set, change the file permissions if($chmod !== null) { $mod_result = chmod($destination_directory.DIRECTORY_SEPARATOR.$new_filename, $chmod); if($mod_result === false || $source_directory.DIRECTORY_SEPARATOR.$source_filename == '/home/k...../file_chmod_failed.qif') { DataMan::logRawMessage('File permissions update failed on moveFile [ERR0009] - ['.$destination_directory.DIRECTORY_SEPARATOR.$new_filename.' - '.$chmod.']', sfLogger::ALERT); return array('success' => false, 'type' => 'Internal Server Error [ERR0009]'); } } So how do I simulate the copy failing. My stop-gap measure was to perform a validation on the filename being copied and if it's absolute path matched my testing file, force the failure. I know this is very bad to put testing code into the actual code that will be used to run on the production server but I'm not sure how else to do it. Note: I am on PHP 5.2, symfony, using lime_test(). EDIT I am testing the chmodding and ensuring that the array('success' = false, 'type' = ..) is returned

    Read the article

  • Ternary and Artificial Intelligence

    - by user2957844
    Not much of a programmer myself, however I have been thinking about the future of AI. If a fully functional AI is programmed in a binary environment as is used in current computing, would that create a bit of a black and white personality? As in just yes/no, on/off, 1/0? I will use the Skynet computer from the Terminator series as a bad analogy; it is brought online and comes to the conclusion that humanity should just be destroyed so the problem is resolved, basically its only options were; fire the missiles or not. (The films do not really go into what its moves would be after doing such a thing, but that goes into the realms of AI evolution so does not really fit with this question.) It may also have been badly programmed. Now, the human mind has been akin to a ternary system which allows our "out of the box" thinking along with all the other wonderful things our minds can do. So, would it not be more prudent to create a functional ternary system and program an AI using it so the resulting personality would be able to benefit from the third "maybe" (so to speak) option? I understand that in binary there are ways to get around the whole yes/no etc. way of things, however the basic operations are still just 1's and 0's. Again with using the above bad Skynet analogy; if it could have had that third "maybe" option as part of its core system, it may have decided to not launch due to being able to make sense of the intricacies of human nature and the politics of such a move etc. In effect, my question is; Would an AI benefit more from ternary computing as opposed to binary due to the inclusion of -1, or 2, dependent on the system ("maybe," as I call it)?

    Read the article

  • What is a good way to refactor a large, terribly written code base by myself? [closed]

    - by AgentKC
    Possible Duplicate: Techniques to re-factor garbage and maintain sanity? I have a fairly large PHP code base that I have been writing for the past 3 years. The problem is, I wrote this code when I was a terrible programmer and now it's tens of thousands of lines of conditionals and random MySQL queries everywhere. As you can imagine, there are a ton of bugs and they are extremely hard to find and fix. So I would like a good method to refactor this code so that it is much more manageable. The source code is quite bad; I did not even use classes or functions when I originally wrote it. At this point, I am considering rewriting the whole thing. I am the only developer and my time is pretty limited. I would like to get this done as quickly as possible, so I can get back to writing new features. Since rewriting the code would take a long time, I am looking for some methods that I can use to clean up the code as quickly as possible without leaving more bad architecture that will come back to haunt me later. So this is the basic question: What is a good way for a single developer to take a fairly large code base that has no architecture and refactor it into something with reasonable architecture that is not a nightmare to maintain and expand?

    Read the article

  • Dealing with under performing co-worker

    - by PSU_Kardi
    I'm going to try to keep this topic as generic as I can so the question isn't closed as too specific or whatever. Anyway, let's get to it. I currently work on a somewhat small project with 15-20 developers. We recently hired a few new people because we had the hours and it synched up well with the schedule. It was refreshing to see hiring done this way and not just throwing hours & employees at a problem. Alas, I could argue the hiring process still isn't perfect but that's another story for another day. Anyway, one of these developers is really under performing. The developer is green and has a lot of bad habits. Comes in later than I do and leaving earlier than I am. This in and of itself isn't an issue, but the lack of quality work makes it become a bit frustrating. When giving out tasking the question is no longer, what can realistically be given but now becomes - How much of the work will we have to redo? So as the project goes on, I'm afraid this might cause issues with the schedule. The schedule could have been defined as a bit aggressive; however, given that this person is under performing it now in my mind goes from aggressive to potentially chaotic. Yes, one person shouldn't make or break a schedule and that in and of itself is an issue too but please let's ignore that for right now. What's the best way to deal with this? I'm not the boss, I'm not the project lead but I've been around for a while now and am not sure how to proceed. Complaining to management comes across as childish and doing nothing seems wrong. I'll ask the community for insight/advice/suggestions.

    Read the article

  • Transformation?

    - by Joe G
    I started working at Oracle in 1997.  Since then, we (and most everyone) have been talking about transforming finance operations....but what does that mean exactly?  From my perspective, I thought it meant eliminate waste and menial tasks and giving your finance team more time to work on more strategic things.  That seems logical and simplistic, but how much progress have finance teams (and their IT departments) really made over the past fifteen years? I have yet to talk to a customer that doesn't have one amusing task that makes me chuckle.  Sometimes they still print hard copies of transactions to "file," or sometimes they print 700 pages of data to "analyze," or sometimes they cut and paste from one or more reports into a spreadsheet.  Upon hearing these things, my first question is always, "Why do you do that?" to which their response is rarely the same.    Sometimes it's related to trust (both the employee and the system).  Sometimes, it's habit-based.  And sometimes it is just impossible to accomplish the end result without some manual effort. I will say that I used to print nearly everything that I needed to review.  Partly, because I liked having the ability to scribble notes on the paper, and partly, because it was uncomfortable to read online.  However, I have changed. Rarely do I print anything anymore.  It's easier for me to read and notate online, and well, I guess I've just changed my habits. So where do you think our resistance to change comes from?  Is it truly deficits in our systems, or is it our own personal resistance to change?  What's your most annoying & untransformed task?

    Read the article

< Previous Page | 61 62 63 64 65 66 67 68 69 70 71 72  | Next Page >