Daily Archives

Articles indexed Sunday April 25 2010

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

  • Compiler construction and DirectX

    - by otkins
    Hi! I am a beginner in the process of designing and coding a project, I already have all the ideas on my head, but I have a problem impeding me of continuing this project. I feel the code is ugly and unreadable and I cannot continue it this way. The project is a programming language I have on my mind, and it has small graphics capabilities. Even being beginner, I want to code it using DirectX because everybody wants it. And I want to code it entirely, not depend on any wrapper libraries like SDL. I did a refactoring of the DirectX module and it exposed all the weaks. There is Direct3D code everywhere, but the code itself does very little! I would start building a project like this using DirectX or I should use just GDI and the Multimedia API of Windows? This is a good progress for a beginner?

    Read the article

  • Functional Adaptation

    - by Charles Courchaine
    In real life and OO programming we’re often faced with using adapters, DVI to VGA, 1/4” to 1/8” audio connections, 110V to 220V, wrapping an incompatible interface with a new one, and so on.  Where the adapter pattern is generally considered for interfaces and classes a similar technique can be applied to method signatures.  To be fair, this adaptation is generally used to reduce the number of parameters but I’m sure there are other clever possibilities to be had.  As Jan questioned in the last post, how can we use a common method to execute an action if the action has a differing number of parameters, going back to the greeting example it was suggested having an AddName method that takes a first and last name as parameters.  This is exactly what we’ll address in this post. Let’s set the stage with some review and some code changes.  First, our method that handles the setup/tear-down infrastructure for our WCF service: 1: private static TResult ExecuteGreetingFunc<TResult>(Func<IGreeting, TResult> theGreetingFunc) 2: { 3: IGreeting aGreetingService = null; 4: try 5: { 6: aGreetingService = GetGreetingChannel(); 7: return theGreetingFunc(aGreetingService); 8: } 9: finally 10: { 11: CloseWCFChannel((IChannel)aGreetingService); 12: } 13: } Our original AddName method: 1: private static string AddName(string theName) 2: { 3: return ExecuteGreetingFunc<string>(theGreetingService => theGreetingService.AddName(theName)); 4: } Our new AddName method: 1: private static int AddName(string firstName, string lastName) 2: { 3: return ExecuteGreetingFunc<int>(theGreetingService => theGreetingService.AddName(firstName, lastName)); 4: } Let’s change the AddName method, just a little bit more for this example and have it take the greeting service as a parameter. 1: private static int AddName(IGreeting greetingService, string firstName, string lastName) 2: { 3: return greetingService.AddName(firstName, lastName); 4: } The new signature of AddName using the Func delegate is now Func<IGreeting, string, string, int>, which can’t be used with ExecuteGreetingFunc as is because it expects Func<IGreeting, TResult>.  Somehow we have to eliminate the two string parameters before we can use this with our existing method.  This is where we need to adapt AddName to match what ExecuteGreetingFunc expects, and we’ll do so in the following progression. 1: Func<IGreeting, string, string, int> -> Func<IGreeting, string, int> 2: Func<IGreeting, string, int> -> Func<IGreeting, int>   For the first step, we’ll create a method using the lambda syntax that will “eliminate” the last name parameter: 1: string lastNameToAdd = "Smith"; 2: //Func<IGreeting, string, string, int> -> Func<IGreeting, string, int> 3: Func<IGreeting, string, int> addName = (greetingService, firstName) => AddName(greetingService, firstName, lastNameToAdd); The new addName method gets us one step close to the signature we need.  Let’s say we’re going to call this in a loop to add several names, we’ll take the final step from Func<IGreeting, string, int> -> Func<IGreeting, int> in line as a lambda passed to ExecuteGreetingFunc like so: 1: List<string> firstNames = new List<string>() { "Bob", "John" }; 2: int aID; 3: foreach (string firstName in firstNames) 4: { 5: //Func<IGreeting, string, int> -> Func<IGreeting, int> 6: aID = ExecuteGreetingFunc<int>(greetingService => addName(greetingService, firstName)); 7: Console.WriteLine(GetGreeting(aID)); 8: } If for some reason you needed to break out the lambda on line 6 you could replace it with 1: aID = ExecuteGreetingFunc<int>(ApplyAddName(addName, firstName)); and use this method: 1: private static Func<IGreeting, int> ApplyAddName(Func<IGreeting, string, int> addName, string lastName) 2: { 3: return greetingService => addName(greetingService, lastName); 4: } Splitting out a lambda into its own method is useful both in this style of coding as well as LINQ queries to improve the debugging experience.  It is not strictly necessary to break apart the steps & functions as was shown above; the lambda in line 6 (of the foreach example) could include both the last name and first name instead of being composed of two functions.  The process demonstrated above is one of partially applying functions, this could have also been done with Currying (also see Dustin Campbell’s excellent post on Currying for the canonical curried add example).  Matthew Podwysocki also has some good posts explaining both Currying and partial application and a follow up post that further clarifies the difference between Currying and partial application.  In either technique the ultimate goal is to reduce the number of parameters passed to a function.  Currying makes it a single parameter passed at each step, where partial application allows one to use multiple parameters at a time as we’ve done here.  This technique isn’t for everyone or every problem, but can be extremely handy when you need to adapt a call to something you don’t control.

    Read the article

  • Word 2010 Navigation Pane and more

    I have been using Office 2010 since Beta1 and have not looked back since. I am currently on an internal RC, but will upgrade tomorrow to the RTM version. There are a plethora of new productivity features and for Word 2010 the one that overshadows everything else, IMO, is the Navigation Pane. I could spend time describing it here, but I'll never be able to cover it more thoroughly than what the product team has on their blog post. You enable it via the "Navigation Pane" checkbox in...Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • Road Trip with Carl Franklin and Richard Campbell

    I was lucky enough to got invited to join Carl and Richard on their road trip from Redlands to Phoenix. You can be the lucky one on their next stop. What an experience to share 5 hours on a RV with them, there isnt anywhere to hide in a RV, they pretty much gracefully answered all my questions. No many times you are given the chance to borrow brilliant minds. I can listen to them all day long talking about technology and what the industry changes during the year, I enjoyed the laid down from...Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here.

    Read the article

  • Rails: ruby script/generate model, where are the docs?

    - by yar
    I am running ruby script/generate scaffold or ruby script/generate model and I know the basic syntax, like ruby script/generate scaffold Dude name:string face:boolean but I do not know things like: should names of variables have underscores or be camelCased? what kind of variable types are acceptable? Where can I find such information? THANKS! P.S. The answers to my two questions would help for now, too :)

    Read the article

  • Can a shell loop unzip all the files in a directory?

    - by helpwithshell
    I've seen loops to unzip all zip files in a directory. However, before I run this, I would rather make sure what I'm about to run will work right: for i in dir; do cd $i; unzip '*.zip'; rm -rf *.zip; cd ..; done Basically I want it to look at the output of "dir" see all the folders, for each directory cd into it, unzip all the zip archives, then remove them, then cd back and do it again until there are no more. Is this something I should do in a single command or should I consider doing this in Perl?

    Read the article

  • does TFS easily allow you to share testresults with people who don't have TFS?

    - by jcollum
    I'd like to publish a set of test results to a place where team members who don't have TFS can see the results. Does TFS do anything like this easily? I see that that test results do get published, but without a TFS license I don't see any way for people to view them. I think I can do this easily by pulling the XML from the test results and then pushing that out to a central location, but I was wondering if there's anything like an "official" way to do this. TFS is hard to work with when you have some people who have access to it and others who don't... I really wish there was some sort of read-only access to the server (let people get files but not check them out for instance).

    Read the article

  • Should app using VCL migrate?

    - by Fdr
    Is VCL dead, or does it have a future as a GUI library? As CLX ended, is there any chance for cross-platform support in future releases? I've had to do some work with legacy app that uses Borland's VCL(BCB6). Now that new features have to be implemented, it's necessary to revalue alternatives. Whether to stick with VCL or migrate to some other library/framework. I've never read much what's happening in the field Embarcadero(Borland) tools. At least there seems to be only few VCL tagged questions here in SO and no much luck with google either.

    Read the article

  • PHP & MySQL storing multiple values in a database.

    - by R.I.P.coalMINERS
    I'm basically a front end designer and new to PHP and MySQL but I want a user to be able to store multiple names and there meanings in a MySQL database table named names using PHP I will dynamically create form fields with JQuery every time a user clicks on a link so a user can enter 1 to 1,000,000 different names and there meanings which will be stored in a table called names. All I want to know is how can I store multiple names and there meanings in a database and then display them back to the user for them to edit or delete using PHP MySQL? I created the MySQL table already. CREATE TABLE names ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, userID INT NOT NULL, name VARCHAR(255) NOT NULL, meaning VARCHAR(255) NOT NULL, PRIMARY KEY (id) ); Here is the HTML. <form method="post" action="index.php"> <ul> <li><label for="name">Name: </label><input type="text" name="name" id="name" /></li> <li><label for="meaning">Meaning: </label><input type="text" name="meaning" id="meaning" /></li> <li><input type="submit" name="submit" value="Save" /> <input type="hidden" name="submit" value="true" /></li> </ul> </form>

    Read the article

  • Simple Java AMPQ server

    - by splix
    Are there exists an simple AMPQ server/broker implementation written in Java? I need it only for local integration tests, starting it from ant/maven, and i don't need any features like a clustering, persistence, performance and so on. Just a fake RabbitMQ-like instance, without installation (just as a dependency at maven pom) and configuration.

    Read the article

  • Implementing Clonable in Java

    - by Artium
    In which cases should I use this way: public A clone() throws CloneNotSupportedException { A clone = (A)super.clone(); clone.x= this.x; return clone; } And in which cases should I use that way: public ShiftedStack clone() throws CloneNotSupportedException { return new A(this.x); } What should I do if x is final and I want to use the first way? Regarding the first way, I understand it like this: we clone the super class and up-cast it, leading to some members uninitialized. After this initialize these members. Is my understanding correct? Thank you.

    Read the article

  • How do I know my laptop is 64 bit compatible?

    - by c.sokun
    I recently plan to buy a new laptop to run 64 bit OS, but I friend told me that my current laptop is 64 bit but I am not sure how do I verify if my laptop is ready to load 64 bit OS? Here is the result from cpuz edit: come say something at less if you want to vote this down :)

    Read the article

  • Laptops with easy heat sink service?

    - by Niten
    Can you recommend a current laptop model with easy heat sink access – or better yet, a removable air intake filter – making it easy to periodically clean out the dust and lint that always packs up in these things? Every laptop I've owned has eventually overheated on account of a clogged heat sink. (I suppose it doesn't help that I have a cat who loves to hang out where I'm working, or that my laptop is almost always running.) One of the things I really love about my current system, a Dell Inspiron 1420n, is how easy it is to service its cooling system: whenever I notice the fan starting to work harder and the CPU temperature climbing higher than it should be, I merely have to unscrew a single panel from the bottom of the machine, clean out the heat sink, and then I'm good for another few months. Which current models of the "business laptop" variety offer similar easy cooling system service? I'm looking for something roughly along the lines of: 14- or 15-inch display Nehalem-based CPU Solid construction – magnesium chassis or better (like the Inspiron) TPM (for BitLocker) ideal, but not mandatory Docking adapter ideal, but not mandatory Good battery life For example, the ThinkPad T410 would have been my top choice, but it seems like it would be a serious chore to service its heat sink. For the current MacBook Pros it looks downright impossible. No matter how nice the laptop is in other respects, it'll be of no use to me when it's overheating. So, any suggestions? Thanks in advance... (I'm constantly surprised that customers and manufacturers don't pay more attention to this feature, at least in the business laptop subcategory. In the last couple months I've fixed two friends' laptops which were also overheating due to clogged cooling systems; clearly I'm not the only one affected by this.)

    Read the article

  • Why isn't Perl's File::GlobMapper exporting globmap?

    - by justintime
    The following is pretty well copied from the documentation. use File::GlobMapper qw( globmap ); for my $pair (globmap '<*.tar.gz>' => '<#1.tgz>' ) { } And it gives String found where operator expected at globmapper_test1.pl line 4, near "globmap '<*.tar.gz>'" (Do you need to predeclare globmap?) (Using ActivePerl 5.10.0 on Windows) Side questions - if GlobMapper only exports one function, why is it set so you have to export it explicitly?

    Read the article

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