Search Results

Search found 20211 results on 809 pages for 'language implementation'.

Page 720/809 | < Previous Page | 716 717 718 719 720 721 722 723 724 725 726 727  | Next Page >

  • PARTNER WEBCAST SERIES: INNOVATIONS IN APPLICATIONS - PROGRAM

    - by mseika
    Dear Partner, We are pleased to invite you to join the Innovations in Applications webcast series. Innovations in Applications will present Oracle Product's new functions and features including sales positioning. The key objectives of these webcasts are to inspire Partner's personnel to conduct successful sales, after sales and delivery at their Customer. Moreover, we aim to inspire you to conduct further Product Training and Certifications. And finally we'll provide you a chance to join Ecosystem's Product specific Community to learn and to contribute. Innovations in Applications will be presented as per the schedule below after the billable day (4:00 to 5:00 PM CET). The webcast is intended for Partner's Implementation Certified Specialists but Innovations in Applications is open for other Partner's personnel as well. At first, Oracle representative will discuss Oracle's contribution to partners. Then you will see product breakout session followed by Q&A with Oracle Experts. Each session will last for maximum 1 hour. A Q&A document covering all questions and answers will be made available after the webcast. What are the Benefits for partners? Find out how Innovations in Applications helps you to improve your sales, after sales and delivery Discover new functions and features so you can enrich your Customers's solution Learn more about Oracle products, especially sales positioning Hear crucial questions raised by colleague alike, learn from their interest Engage and present your questions to subject experts Be inspired of the richness of Oracle's product portfolio – for your and your customer's benefit. Be inspired to seek further Product Training and Certifications - Make your competence known and recognized! Brand yourself! Note: Should you already be familiar with a specific Product, then choose another one. Doing so you would expand your knowledge of the overall product portfolio. Some presentations contain product demonstration, although these presentations are not intended to be extremely detailed technical presentations. Useful Links for you to bookmark: To access previously presented Products presentations and Public Sector Value Proposition presentations, please go to the Recordings tab. You might want to bookmark the Enablement blog page Oracle Partner Enablement. Please check this regularly as we publish lots of good content here just for you. You might want to bookmark the Knowledge Zones page for solution-focused pages designed to jump start your path towards Specialization. You might want to bookmark the global event calendar page events.oracle.com. Delivery Format Innovations in Applications – program is a series of FREE prerecorded Oracle product presentations followed by Q&A. It will be delivered over the Web. Participants have the opportunity to submit questions during the web cast via chat and subject matter experts will provide verbal answers live. Innovations in Applications consists of several parallel prerecorded product breakout sessions, each lasting for max. 1 hour. At first, Oracle representative will discuss Oracle's contribution to Partners. Then you'll see the product breakout sessions followed by Q&A with Oracle Experts. A Q&A document covering all questions and answers will be made available after the webcast. You can also see Innovations in Applications afterwards as its content will be available online for the next 6-12 months. The next Innovations in Applications webcasts will be presented as follows: July 1st 2013 (please see Next Webcast tab) For more information please click here. Note: Depending on local network bandwidth please allow some seconds time the presentations to download. You might want to refresh your screen by pressing F5. DurationMaximum 1 hour For further information please contact Markku Rouhiainen.

    Read the article

  • Does *every* project benefit from written specifications?

    - by nikie
    I know this is holy war territory, so please read the question to the end before answering. There are many cases where written specifications make a lot of sense. For example, if you're a contractor and you want to get paid, you need written specs. If you're working in a team with 20 persons, you need written specs. If you're writing a programming language compiler or interpreter (and it's not perl), you'll usually write a formal specification. I don't doubt that there are many more cases where written specifications are a really good idea. I just think that there are cases where there's so little benefit in written specs, that it doesn't outweigh the costs of writing and maintaining them. EDIT: The close votes say that "it is difficult to say what is asked here", so let me clarify: The usefulness of written, detailed specifications is often claimed like a dogma. (If you want examples, look at the comments.) But I don't see the use of them for the kind of development I'm doing. So what is asked here is: How would written specifications help me? Background information: I work for a small company that's developing vertical market software. If our product is easier to use and has better performance than the competition, it sells. If it's harder to use, even if it behaves 100% as the specification says, it doesn't sell. So there are no "external forces" for having written specs. The advantage would have to be somewhere in the development process. Now, I can see how frozen specifications would make a developer's life easier. But we'll never have frozen specs. If we see in the middle of development that feature X is not intuitive to use the way it's specified, then we can only choose between changing the specification or developing a product that won't sell. You'll probably ask by now: How do you know when you're done? Well, we're continually improving our product. The competition does the same. So (hopefully) we're never done. We keep improving the software, and when we reach a point when the benefits of the improvements we've added since the last release outweigh the costs of an update, we create a new release that is then tested, localized, documented and deployed. This also means that there's rarely any schedule pressure. Nobody has to do overtime to make a deadline. If the feature isn't done by the time we want to release the next version, it'll simply go into the next version. The next question might be: How do your developers know what they're supposed to implement? The answer is: They have a lot of domain knowledge. They know the customers business well enough, so a high-level description of the feature (or even just the problem that the customer needs solved) is enough to implement it. If it's not clear, the developer creates a few fake screens to get feedback from marketing/management or customers, but this is nowhere near the level of detail of actual specifications. This might be inefficient for larger teams, but for a small team with low turnover it works quite well. It has the additional benefit that the developer in question often comes up with a better solution than the person writing the specs might have. This question is already getting very long, but let me address one last point: Testing. Like I said in the beginning, if our software behaves 100% like the spec says, it still can be crap. In fact, if it's so unintuitive that you need a spec to know how to test it, it probably is crap. It makes sense to have fixed, written tests for some core functionality and for regression bugs, but again, this is nowhere near a full written spec of how the software should behave when. The main test is: hand the software to a user who doesn't know it yet and tell him to use the new feature X. If she can figure out how to use it and it works, it works.

    Read the article

  • Can anybody help me in designing my UITableView into MVC Pattern ?

    - by user2877880
    I have written a ViewController in which i get data from the internet and display it in a UItableview using a json parser which uses object for key to identify its objects. What i would like your help in is to convert it into MVC pattern to make it less clumsy instead of including everything in the same controller class. Please try explaining it to me in terms of my code. THANKS IN ADVANCE. The code is as given below #import "ViewController.h" #import "AFNetworking.h" #import "ModelTableArray.h" @implementation ViewController @synthesize tableView = _tableView, activityIndicatorView = _activityIndicatorView, movies = _movies; - (void)viewDidLoad { [super viewDidLoad]; // Setting Up Table View self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0.0, 0.0, self.view.bounds.size.width, self.view.bounds.size.height) style:UITableViewStylePlain]; self.tableView.dataSource = self; self.tableView.delegate = self; self.tableView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; self.tableView.hidden = YES; [self.view addSubview:self.tableView]; // Setting Up Activity Indicator View self.activityIndicatorView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; self.activityIndicatorView.hidesWhenStopped = YES; self.activityIndicatorView.center = self.view.center; [self.view addSubview:self.activityIndicatorView]; [self.activityIndicatorView startAnimating]; // Initializing Data Source self.movies = [[NSArray alloc] init]; NSURL *url = [[NSURL alloc] initWithString:@"http://itunes.apple.com/search?term=rocky&country=us&entity=movie"]; NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url]; UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init]; [refreshControl addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged]; [self.tableView addSubview:refreshControl]; [refreshControl endRefreshing]; AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) { self.movies = [JSON objectForKey:@"results"]; [self.activityIndicatorView stopAnimating]; [self.tableView setHidden:NO]; [self.tableView reloadData]; } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) { NSLog(@"Request Failed with Error: %@, %@", error, error.userInfo); }]; [operation start]; } - (void)refresh:(UIRefreshControl *)sender { NSURL *url = [[NSURL alloc] initWithString:@"http://itunes.apple.com/search?term=rambo&country=us&entity=movie"]; NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url]; AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) { self.movies = [JSON objectForKey:@"results"]; [self.activityIndicatorView stopAnimating]; [self.tableView setHidden:NO]; [self.tableView reloadData]; } failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) { NSLog(@"Request Failed with Error: %@, %@", error, error.userInfo); }]; [operation start]; [sender endRefreshing]; } - (void)viewDidUnload { [super viewDidUnload]; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return YES; } // Table View Data Source Methods - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { if (self.movies && self.movies.count) { return self.movies.count; } else { return 0; } } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *cellID = @"Cell Identifier"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID]; if (!cell) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellID]; } NSDictionary *movie = [self.movies objectAtIndex:indexPath.row]; cell.textLabel.text = [movie objectForKey:@"trackName"]; cell.detailTextLabel.text = [movie objectForKey:@"artistName"]; NSURL *url = [[NSURL alloc] initWithString:[movie objectForKey:@"artworkUrl100"]]; [cell.imageView setImageWithURL:url placeholderImage:[UIImage imageNamed:@"placeholder"]]; return cell; } @end

    Read the article

  • What's new in Servlet 3.1 ? - Java EE 7 moving forward

    - by arungupta
    Servlet 3.0 was released as part of Java EE 6 and made huge changes focused at ease-of-use. The idea was to leverage the latest language features such as annotations and generics and modernize how Servlets can be written. The web.xml was made as optional as possible. Servet 3.1 (JSR 340), scheduled to be part of Java EE 7, is an incremental release focusing on couple of key features and some clarifications in the specification. The main features of Servlet 3.1 are explained below: Non-blocking I/O - Servlet 3.0 allowed asynchronous request processing but only traditional I/O was permitted. This can restrict scalability of your applications. Non-blocking I/O allow to build scalable applications. TOTD #188 provide more details about how non-blocking I/O can be done using Servlet 3.1. HTTP protocol upgrade mechanism - Section 14.42 in the HTTP 1.1 specification (RFC 2616) defines an upgrade mechanism that allows to transition from HTTP 1.1 to some other, incompatible protocol. The capabilities and nature of the application-layer communication after the protocol change is entirely dependent upon the new protocol chosen. After an upgrade is negotiated between the client and the server, the subsequent requests use the new chosen protocol for message exchanges. A typical example is how WebSocket protocol is upgraded from HTTP as described in Opening Handshake section of RFC 6455. The decision to upgrade is made in Servlet.service method. This is achieved by adding a new method: HttpServletRequest.upgrade and two new interfaces: javax.servlet.http.HttpUpgradeHandler and javax.servlet.http.WebConnection. TyrusHttpUpgradeHandler shows how WebSocket protocol upgrade is done in Tyrus (Reference Implementation for Java API for WebSocket). Security enhancements Applying run-as security roles to #init and #destroy methods Session fixation attack by adding HttpServletRequest.changeSessionId and a new interface HttpSessionIdListener. You can listen for any session id changes using these methods. Default security semantic for non-specified HTTP method in <security-constraint> Clarifying the semantics if a parameter is specified in the URI and payload Miscellaneous ServletResponse.reset clears any data that exists in the buffer as well as the status code, headers. In addition, Servlet 3.1 will also clears the state of calling getServletOutputStream or getWriter. ServletResponse.setCharacterEncoding: Sets the character encoding (MIME charset) of the response being sent to the client, for example, to UTF-8. Relative protocol URL can be specified in HttpServletResponse.sendRedirect. This will allow a URL to be specified without a scheme. That means instead of specifying "http://anotherhost.com/foo/bar.jsp" as a redirect address, "//anotherhost.com/foo/bar.jsp" can be specified. In this case the scheme of the corresponding request will be used. Clarification in HttpServletRequest.getPart and .getParts without multipart configuration. Clarification that ServletContainerInitializer is independent of metadata-complete and is instantiated per web application. A complete replay of What's New in Servlet 3.1: An Overview from JavaOne 2012 can be seen here (click on CON6793_mp4_6793_001 in Media). Each feature will be added to the JSR subject to EG approval. You can share your feedback to [email protected]. Here are some more references for you: Servlet 3.1 Public Review Candidate Downloads Servlet 3.1 PR Candidate Spec Servlet 3.1 PR Candidate Javadocs Servlet Specification Project JSR Expert Group Discussion Archive Java EE 7 Specification Status Several features have already been integrated in GlassFish 4 Promoted Builds. Have you tried any of them ? Here are some other Java EE 7 primers published so far: Concurrency Utilities for Java EE (JSR 236) Collaborative Whiteboard using WebSocket in GlassFish 4 (TOTD #189) Non-blocking I/O using Servlet 3.1 (TOTD #188) What's New in EJB 3.2 ? JPA 2.1 Schema Generation (TOTD #187) WebSocket Applications using Java (JSR 356) Jersey 2 in GlassFish 4 (TOTD #182) WebSocket and Java EE 7 (TOTD #181) Java API for JSON Processing (JSR 353) JMS 2.0 Early Draft (JSR 343) And of course, more on their way! Do you want to see any particular one first ?

    Read the article

  • Should I expose IObservable<T> on my interfaces?

    - by Alex
    My colleague and I have dispute. We are writing a .NET application that processes massive amounts of data. It receives data elements, groups subsets of them into blocks according to some criterion and processes those blocks. Let's say we have data items of type Foo arriving some source (from the network, for example) one by one. We wish to gather subsets of related objects of type Foo, construct an object of type Bar from each such subset and process objects of type Bar. One of us suggested the following design. Its main theme is exposing IObservable objects directly from the interfaces of our components. // ********* Interfaces ********** interface IFooSource { // this is the event-stream of objects of type Foo IObservable<Foo> FooArrivals { get; } } interface IBarSource { // this is the event-stream of objects of type Bar IObservable<Bar> BarArrivals { get; } } / ********* Implementations ********* class FooSource : IFooSource { // Here we put logic that receives Foo objects from the network and publishes them to the FooArrivals event stream. } class FooSubsetsToBarConverter : IBarSource { IFooSource fooSource; IObservable<Bar> BarArrivals { get { // Do some fancy Rx operators on fooSource.FooArrivals, like Buffer, Window, Join and others and return IObservable<Bar> } } } // this class will subscribe to the bar source and do processing class BarsProcessor { BarsProcessor(IBarSource barSource); void Subscribe(); } // ******************* Main ************************ class Program { public static void Main(string[] args) { var fooSource = FooSourceFactory.Create(); var barsProcessor = BarsProcessorFactory.Create(fooSource) // this will create FooSubsetToBarConverter and BarsProcessor barsProcessor.Subscribe(); fooSource.Run(); // this enters a loop of listening for Foo objects from the network and notifying about their arrival. } } The other suggested another design that its main theme is using our own publisher/subscriber interfaces and using Rx inside the implementations only when needed. //********** interfaces ********* interface IPublisher<T> { void Subscribe(ISubscriber<T> subscriber); } interface ISubscriber<T> { Action<T> Callback { get; } } //********** implementations ********* class FooSource : IPublisher<Foo> { public void Subscribe(ISubscriber<Foo> subscriber) { /* ... */ } // here we put logic that receives Foo objects from some source (the network?) publishes them to the registered subscribers } class FooSubsetsToBarConverter : ISubscriber<Foo>, IPublisher<Bar> { void Callback(Foo foo) { // here we put logic that aggregates Foo objects and publishes Bars when we have received a subset of Foos that match our criteria // maybe we use Rx here internally. } public void Subscribe(ISubscriber<Bar> subscriber) { /* ... */ } } class BarsProcessor : ISubscriber<Bar> { void Callback(Bar bar) { // here we put code that processes Bar objects } } //********** program ********* class Program { public static void Main(string[] args) { var fooSource = fooSourceFactory.Create(); var barsProcessor = barsProcessorFactory.Create(fooSource) // this will create BarsProcessor and perform all the necessary subscriptions fooSource.Run(); // this enters a loop of listening for Foo objects from the network and notifying about their arrival. } } Which one do you think is better? Exposing IObservable and making our components create new event streams from Rx operators, or defining our own publisher/subscriber interfaces and using Rx internally if needed? Here are some things to consider about the designs: In the first design the consumer of our interfaces has the whole power of Rx at his/her fingertips and can perform any Rx operators. One of us claims this is an advantage and the other claims that this is a drawback. The second design allows us to use any publisher/subscriber architecture under the hood. The first design ties us to Rx. If we wish to use the power of Rx, it requires more work in the second design because we need to translate the custom publisher/subscriber implementation to Rx and back. It requires writing glue code for every class that wishes to do some event processing.

    Read the article

  • Using data input from pop-up page to current with partial refresh

    - by dpDesignz
    I'm building a product editor webpage using visual C#. I've got an image uploader popping up using fancybox, and I need to get the info from my fancybox once submitted to go back to the first page without clearing any info. I know I need to use ajax but how would I do it? <%@ Page Language="C#" AutoEventWireup="true" CodeFile="uploader.aspx.cs" Inherits="uploader" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title></title> </head> <body style="width:350px; height:70px;"> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <div> <div style="width:312px; height:20px; background-color:Gray; color:White; padding-left:8px; margin-bottom:4px; text-transform:uppercase; font-weight:bold;">Uploader</div> <asp:FileUpload id="fileUp" runat="server" /> <asp:Button runat="server" id="UploadButton" text="Upload" onclick="UploadButton_Click" /> <br /><asp:Label ID="txtFile" runat="server"></asp:Label> <div style="width:312px; height:15px; background-color:#CCCCCC; color:#4d4d4d; padding-right:8px; margin-top:4px; text-align:right; font-size:x-small;">Click upload to insert your image into your product</div> </div> </form> </body> </html> CS so far using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Configuration; // Add to page using System.Web.UI; using System.Web.UI.WebControls; using System.Data; // Add to the page using System.Data.SqlClient; // Add to the page using System.Text; // Add to Page public partial class uploader : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void UploadButton_Click(object sender, EventArgs e) { if (fileUp.HasFile) try { fileUp.SaveAs("\\\\london\\users\\DP006\\Websites\\images\\" + fileUp.FileName); string imagePath = fileUp.PostedFile.FileName; } catch (Exception ex) { txtFile.Text = "ERROR: " + ex.Message.ToString(); } finally { } else { txtFile.Text = "You have not specified a file."; } } }

    Read the article

  • Optimal Data Structure for our own API

    - by vermiculus
    I'm in the early stages of writing an Emacs major mode for the Stack Exchange network; if you use Emacs regularly, this will benefit you in the end. In order to minimize the number of calls made to Stack Exchange's API (capped at 10000 per IP per day) and to just be a generally responsible citizen, I want to cache the information I receive from the network and store it in memory, waiting to be accessed again. I'm really stuck as to what data structure to store this information in. Obviously, it is going to be a list. However, as with any data structure, the choice must be determined by what data is being stored and what how it will be accessed. What, I would like to be able to store all of this information in a single symbol such as stack-api/cache. So, without further ado, stack-api/cache is a list of conses keyed by last update: `(<csite> <csite> <csite>) where <csite> would be (1362501715 . <site>) At this point, all we've done is define a simple association list. Of course, we must go deeper. Each <site> is a list of the API parameter (unique) followed by a list questions: `("codereview" <cquestion> <cquestion> <cquestion>) Each <cquestion> is, you guessed it, a cons of questions with their last update time: `(1362501715 <question>) (1362501720 . <question>) <question> is a cons of a question structure and a list of answers (again, consed with their last update time): `(<question-structure> <canswer> <canswer> <canswer> and ` `(1362501715 . <answer-structure>) This data structure is likely most accurately described as a tree, but I don't know if there's a better way to do this considering the language, Emacs Lisp (which isn't all that different from the Lisp you know and love at all). The explicit conses are likely unnecessary, but it helps my brain wrap around it better. I'm pretty sure a <csite>, for example, would just turn into (<epoch-time> <api-param> <cquestion> <cquestion> ...) Concerns: Does storing data in a potentially huge structure like this have any performance trade-offs for the system? I would like to avoid storing extraneous data, but I've done what I could and I don't think the dataset is that large in the first place (for normal use) since it's all just human-readable text in reasonable proportion. (I'm planning on culling old data using the times at the head of the list; each inherits its last-update time from its children and so-on down the tree. To what extent this cull should take place: I'm not sure.) Does storing data like this have any performance trade-offs for that which must use it? That is, will set and retrieve operations suffer from the size of the list? Do you have any other suggestions as to what a better structure might look like?

    Read the article

  • How to handle multi-processing of libraries which already spawn sub-processes?

    - by exhuma
    I am having some trouble coming up with a good solution to limit sub-processes in a script which uses a multi-processed library and the script itself is also multi-processed. Both, the library and script are modifiable by us. I believe the question is more about design than actual code, but for what it's worth, it's written in Python. The goal of the library is to hide implementation details of various internet routers. For that reason, the library has a "Proxy" factory method which takes the IP of a router as parameter. The factory then probes the device using a set of possible proxies. Usually, there is one proxy which immediately knows that is is able to send commands to this device. All others usually take some time to return (given a timeout). One thought was already to simply query the device for an identifier, and then select the proper proxy using that, but in order to do so, you would already need to know how to query the device. Abstracting this knowledge is one of the main purposes of the library, so that becomes a little bit of a "circular-requirement"/deadlock: To connect to a device, you need to know what proxy to use, and to know what proxy to create, you need to connect to a device. So probing the device is - as we can see - the best solution so far, apart from keeping a lookup-table somewhere. The library currently kills all remaining processes once a valid proxy has been found. And yes, there is always only one good proxy per device. Currently there are about 12 proxies. So if one create a proxy instance using the factory, 12 sub-processes are spawned. So far, this has been really useful and worked very well. But recently someone else wanted to use this library to "broadcast" a command to all devices. So he took the library, and wrote his own multi-processed script. This obviously spawned 12 * n processes where n is the number of IPs to which he broadcasted. This has given us two problems: The host on which the command was executed slowed down to a near halt. Aborting the script with CTRL+C ground the system to a total halt. Not even the hardware console responded anymore! This may be due to some Python strangeness which still needs to be investigated. Maybe related to http://bugs.python.org/issue8296 The big underlying question, is how to design a library which does multi-processing, so other applications which use this library and want to be multi-processed themselves do not run into system limitations. My first thought was to require a pool to be passed to the library, and execute all tasks in that pool. In that way, the person using the library has control over the usage of system resources. But my gut tells me that there must be a better solution. Disclaimer: My experience with multiprocessing is fairly limited. I have implemented a few straightforward which did not require access control to resources. So I have not yet any practical experience with semaphores or mutexes. p.s.: In the future, we may have enough information to do this without the probing. But the database which would contain the proper information is not yet operational. Also, the design about multiprocessing a multiprocessed library intrigues me :)

    Read the article

  • Pinterest and the Rising Power of Imagery

    - by Mike Stiles
    If images keep you glued to a screen, you’re hardly alone. Countless social users are letting their eyes do the walking, waiting for that special photo to grab their attention. And perhaps more than any other social network, Pinterest has been giving those eyes plenty of room to walk. Pinterest came along in 2010. Its play was that users could simply create topic boards and pin pictures to the appropriate boards for sharing. Yes there are some words, captions mostly, but not many. The speed of its growth raised eyebrows. Traffic quadrupled in the last quarter of 2011, with 7.51 million unique visitors in December alone. It now gets 1.9 billion monthly page views. And it was sticky. In the US, the average time a user spends strolling through boards and photos on Pinterest is 15 minutes, 50 seconds. Proving the concept of browsing a catalogue is not dead, it became a top 5 referrer for several apparel retailers like Land’s End, Nordstrom, and Bergdorfs. Now a survey of online shoppers by BizRate Insights says that Pinterest is responsible for more purchases online than Facebook. Over 70% of its users are going there specifically to keep up with trends and get shopping ideas. And when they buy, the average order value is $179. Pinterest is also scoring better in terms of user engagement. 66% of pinners regularly follow and repin retailers, whereas 17% of Facebook fans turn to that platform for purchase ideas. (Facebook still wins when it comes to reach and driving traffic to 3rd-party sites by the way). Social posting best practices have consistently shown that posts with photos are rewarded with higher engagement levels. You may be downright Shakespearean in your writing, but what makes images in the digital world so much more powerful than prose? 1. They transcend language barriers. 2. They’re fun and addictive to look at. 3. They can be consumed in fractions of a second, important considering how fast users move through their social content (admit it, you do too). 4. They’re efficient gateways. A good picture might get them to the headline. A good headline might then get them to the written content. 5. The audience for them surpasses demographic limitations. 6. They can effectively communicate and trigger an emotion. 7. With mobile use soaring, photos are created on those devices and easily consumed and shared on them. Pinterest’s iPad app hit #1 in the Apple store in 1 day. Even as far back as 2009, over 2.5 billion devices with cameras were on the streets generating in just 1 year, 10% of the number of photos taken…ever. But let’s say you’re not a retailer. What if you’re a B2B whose products or services aren’t visual? Should you worry about your presence on Pinterest? As with all things, you need a keen awareness of who your audience is, where they reside online, and what they want to do there. If it doesn’t make sense to put a tent stake in Pinterest, fine. But ignore the power of pictures at your own peril. If not visually, how are you going to attention-grab social users scrolling down their News Feeds at top speed? You’re competing with every other cool image out there from countless content sources. Bore us and we’ll fly right past you.

    Read the article

  • XNA - 3D AABB collision detection and response

    - by fastinvsqrt
    I've been fiddling around with 3D AABB collision in my voxel engine for the last couple of days, and every method I've come up with thus far has been almost correct, but each one never quite worked exactly the way I hoped it would. Currently what I do is get two bounding boxes for my entity, one modified by the X translation component and the other by the Z component, and check if each collides with any of the surrounding chunks (chunks have their own octrees that are populated only with blocks that support collision). If there is a collision, then I cast out rays into that chunk to get the shortest collision distance, and set the translation component to that distance if the component is greater than the distance. The problem is that sometimes collisions aren't even registered. Here's a video on YouTube that I created showing what I mean. I suspect the problem may be with the rays that I cast to get the collision distance not being where I think they are, but I'm not entirely sure what would be wrong with them if they are indeed the problem. Here is my code for collision detection and response in the X direction (the Z direction is basically the same): // create the XZ offset vector Vector3 offsXZ = new Vector3( ( _translation.X > 0.0f ) ? SizeX / 2.0f : ( _translation.X < 0.0f ) ? -SizeX / 2.0f : 0.0f, 0.0f, ( _translation.Z > 0.0f ) ? SizeZ / 2.0f : ( _translation.Z < 0.0f ) ? -SizeZ / 2.0f : 0.0f ); // X physics BoundingBox boxx = GetBounds( _translation.X, 0.0f, 0.0f ); if ( _translation.X > 0.0f ) { foreach ( Chunk chunk in surrounding ) { if ( chunk.Collides( boxx ) ) { float dist = GetShortestCollisionDistance( chunk, Vector3.Right, offsXZ ) - 0.0001f; if ( dist < _translation.X ) { _translation.X = dist; } } } } else if ( _translation.X < 0.0f ) { foreach ( Chunk chunk in surrounding ) { if ( chunk.Collides( boxx ) ) { float dist = GetShortestCollisionDistance( chunk, Vector3.Left, offsXZ ) - 0.0001f; if ( dist < -_translation.X ) { _translation.X = -dist; } } } } And here is my implementation for GetShortestCollisionDistance: private float GetShortestCollisionDistance( Chunk chunk, Vector3 rayDir, Vector3 offs ) { int startY = (int)( -SizeY / 2.0f ); int endY = (int)( SizeY / 2.0f ); int incY = (int)Cube.Size; float dist = Chunk.Size; for ( int y = startY; y <= endY; y += incY ) { // Position is the center of the entity's bounding box Ray ray = new Ray( new Vector3( Position.X + offs.X, Position.Y + offs.Y + y, Position.Z + offs.Z ), rayDir ); // Chunk.GetIntersections(Ray) returns Dictionary<Block, float?> foreach ( var pair in chunk.GetIntersections( ray ) ) { if ( pair.Value.HasValue && pair.Value.Value < dist ) { dist = pair.Value.Value; } } } return dist; } I realize some of this code can be consolidated to help with speed, but my main concern right now is to get this bit of physics programming to actually work.

    Read the article

  • Validation and authorization in layered architecture

    - by SonOfPirate
    I know you are thinking (or maybe yelling), "not another question asking where validation belongs in a layered architecture?!?" Well, yes, but hopefully this will be a little bit of a different take on the subject. I am a firm believer that validation takes many forms, is context-based and varies at each level of the architecture. That is the basis for the post - helping to identify what type of validation should be performed in each layer. In addition, a question that often comes up is where authorization checks belong. The example scenario comes from an application for a catering business. Periodically during the day, a driver may turn in to the office any excess cash they've accumulated while taking the truck from site to site. The application allows a user to record the 'cash drop' by collecting the driver's ID, and the amount. Here's some skeleton code to illustrate the layers involved: public class CashDropApi // This is in the Service Facade Layer { [WebInvoke(Method = "POST")] public void AddCashDrop(NewCashDropContract contract) { // 1 Service.AddCashDrop(contract.Amount, contract.DriverId); } } public class CashDropService // This is the Application Service in the Domain Layer { public void AddCashDrop(Decimal amount, Int32 driverId) { // 2 CommandBus.Send(new AddCashDropCommand(amount, driverId)); } } internal class AddCashDropCommand // This is a command object in Domain Layer { public AddCashDropCommand(Decimal amount, Int32 driverId) { // 3 Amount = amount; DriverId = driverId; } public Decimal Amount { get; private set; } public Int32 DriverId { get; private set; } } internal class AddCashDropCommandHandler : IHandle<AddCashDropCommand> { internal ICashDropFactory Factory { get; set; } // Set by IoC container internal ICashDropRepository CashDrops { get; set; } // Set by IoC container internal IEmployeeRepository Employees { get; set; } // Set by IoC container public void Handle(AddCashDropCommand command) { // 4 var driver = Employees.GetById(command.DriverId); // 5 var authorizedBy = CurrentUser as Employee; // 6 var cashDrop = Factory.CreateCashDrop(command.Amount, driver, authorizedBy); // 7 CashDrops.Add(cashDrop); } } public class CashDropFactory { public CashDrop CreateCashDrop(Decimal amount, Employee driver, Employee authorizedBy) { // 8 return new CashDrop(amount, driver, authorizedBy, DateTime.Now); } } public class CashDrop // The domain object (entity) { public CashDrop(Decimal amount, Employee driver, Employee authorizedBy, DateTime at) { // 9 ... } } public class CashDropRepository // The implementation is in the Data Access Layer { public void Add(CashDrop item) { // 10 ... } } I've indicated 10 locations where I've seen validation checks placed in code. My question is what checks you would, if any, be performing at each given the following business rules (along with standard checks for length, range, format, type, etc): The amount of the cash drop must be greater than zero. The cash drop must have a valid Driver. The current user must be authorized to add cash drops (current user is not the driver). Please share your thoughts, how you have or would approach this scenario and the reasons for your choices.

    Read the article

  • Can someone explain the true landscape of Rails vs PHP deployment, particularly within the context of Reseller-based web hosting (e.g., Hostgator)?

    - by rcd
    Currently, I have a reseller account with the company HostGator. I design websites, which up until now have occasionally been wrapped in Wordpress CMSs and the like (PHP applications). I then sell hosting (of the site I've designed) to the client, which is pretty simple, in that I can simply click a button and add a new shared hosting account/site with whatever settings I want. Furthermore, I then utilize WHMCS to automate billing and account management. It's a nice package and pretty simple. I pay something like $25 a month, and can sell a hundred accounts under this (because my clients bandwidth requirements are low). Now I am finding the need to develop more customized applications, including a minimalist CMS and several proprietary things. I soon anticipate developing these apps for clients as well. Thus, I've spent the past few months learning Rails, and it's coming along well now. The thing that has nagged at me all along, though, is the deployment issue. I can't wrap my brain around it. It seems like all of the popular options (Heroku, etc) have nice automation with git and are set up in the "Rails Way". I get that (sort of). But it's terribly expensive... a single dyno, a helper, and the cheapest database (which they say is mainly suitable for testing) that isn't limited to 5MB runs $51. This is for ONE app!!! Throw in a "production" DB and you're over $200. This is like... the same prices as getting a server somewhere, right? Meanwhile, going back to what I guess is a "traditional" hosting environment with Hostgator, their server only has Ruby 1.8.7 and Rails 2.3.5... No Rails 3. AND, no Passenger (not that I really understand the difference in CGI or mod_rails or whatever, but they say Passenger is the simplest). So I'm to understand that if I build an app in Rails 3, it won't run at all on this host? But damn, I already have these accounts under my reseller account there, all running static html and/or PHP stuff, right? So what now? How do I get all of this under one simple (and affordable) roof? Forgive my ignorance, but I just don't get it. Managing a VPS is cool and all, but entails learning server admin stuff and security... And it's expensive. I get that a shared and/or reseller "server-based" (forgive the terminology) may be inadequate for large-scale apps that use a lot of bandwidth... But what about for those of us who are building real (but small and low bandwidth) apps (with Rails) and who want to deploy them simply, cheaply, using the same conceptual approach as PHP? Even after learning all of this Ruby and Rails stuff for months, I'm questioning whether it's worth it when it comes to deployment. I want to build a small app, upload it to my home directory on a shared server account, and just make it run. Why should that be so hard? Am I just choosing the wrong language/framework? Forgive my ignorance in the subject; these questions are not rhetorical; just trying to learn here. So: 1) I'd appreciate if someone could give me a good rundown of how to understand deployment in Rails vs. PHP. 2) I'd appreciate if someone could address my issue with running a hosting/web business around reseller hosting (Hostgator) while also being able to host Rails apps. Can it be done? And how can a company like Hostgator completely ignore what's current in Rails/Ruby? Thanks.

    Read the article

  • Play in NetBeans IDE (Part 2)

    - by Geertjan
    Peter Hilton was one of many nice people I met for the first time during the last few days constituting JAX London. He did a session today on the Play framework which, if I understand it correctly, is an HTML5 framework. It doesn't use web.xml, Java EE, etc. It uses Scala internally, as well as in its templating language.  Support for Play would, I guess, based on the little I know about it right now, consist of extending the HTML5 application project, which is new in NetBeans IDE 7.3. The workflow I imagine goes as follows. You'd create a new HTML5 application project, at which point you can choose a variety of frameworks and templates (Coffee Script, Angular, etc), which comes out of the box with the HTML5 support (i.e., Project Easel) in NetBeans IDE 7.3. Then, once the project is created, you'll right-click it and go to the Project Properties dialog, where you'll be able to enable Play support: At this stage, i.e., when you've checked the checkbox above and then clicked OK, all the necessary Play files will be added to your project, e.g., the routes file and the application.conf, for example. And then you have a Play application. Creating support in this way entails nothing more than creating a module that looks like this, i.e., with one Java class, where even the layer.xml file below is superfluous: All the code in the PlayEnablerPlanel.java that you see above is as follows: import java.awt.BorderLayout; import javax.swing.JCheckBox; import javax.swing.JComponent; import javax.swing.JPanel; import org.netbeans.spi.project.ui.support.ProjectCustomizer; import org.netbeans.spi.project.ui.support.ProjectCustomizer.Category; import org.openide.util.Lookup; public class PlayEnablerPanel implements ProjectCustomizer.CompositeCategoryProvider {     @ProjectCustomizer.CompositeCategoryProvider.Registration(             projectType = "org.netbeans.modules.web.clientproject",             position = 1000)     public static PlayEnablerPanel enablePlay() {         return new PlayEnablerPanel();     }     @Override     public Category createCategory(Lookup lkp) {         return ProjectCustomizer.Category.create("Play Framework", "Configure Play", null);     }     @Override     public JComponent createComponent(Category ctgr, Lookup lkp) {         JPanel playPanel = new JPanel(new BorderLayout());         playPanel.add(new JCheckBox("Enable Play"), BorderLayout.NORTH);         return playPanel;     } } Looking forward to having a beer with Peter soon (he lives not far away, in Rotterdam) to discuss this! Also read Part 1 of this series, which I wrote some time ago, and which has other ideas and considerations.

    Read the article

  • C# Dev Challenge Part 1 of n &ndash; Beginner Edition

    - by mbcrump
    I developed this challenge to test one’s knowledge of C Sharp. I am planning on creating several challenges with different skill sets, so don’t get mad if this challenge doesn’t well challenge you... I noticed that most people like short quizzes so this one only contains 5 questions. All of the challenges are clear and concise of what I am asking you to do. No smoke and mirrors here, meaning that none of the code has syntax errors. The purpose of this exercise is to test several OOP concepts and see how much of the C# language you really know. Question #1 – Lets start off Easy… Will the following code snippet compile successfully? What does this question test? - Can this compile without a namespace? Do you have to have an entry point of “static void Main()”? class Test { static int Main() { System.Console.WriteLine("Developer Challenge"); return 0; } } Answer (select text in box below): Yes, it will compile successfully. Question #2 – What is the value of the Console.WriteLine statements? What does this question test? – Do I understand reference types/value types? If a variable is declared with the @ symbol and its not a reserved keyword does the application compile successfully? using System; internal struct MyStruct { public int Value; } internal class MyClass { public int Value; } class Test { static void Main() { MyStruct @struct1 = new MyStruct(); MyStruct @struct2 = @struct1; @struct2.Value = 100; MyClass @ref1 = new MyClass(); MyClass @ref2 = @ref1; @ref2.Value = 100; Console.WriteLine("Value Type: {0} {1}", @struct1.Value, @struct2.Value); Console.WriteLine("Reference Type: {0} {1}", @ref1.Value, @ref2.Value); } } Answer (select text in box below): Value Type: 0 100 Reference Type: 100 100 Question #3 – What is the value of the Console.WriteLine statements? What does this question test? – Can 2 objects reference the same point in memory? using System; class Test { static void Main() { string s1 = "Testing2"; string t1 = s1; Console.WriteLine(s1 == t1); Console.WriteLine((object)s1 == (object)t1); } } Answer (select text in box below): True True Question #4 – What is the value of the Console.WriteLine statements? What does this question test? – How does the “Stack” work – LIFO or FIFO?   using System; using System.Collections; class Test { static void Main() { Stack a = new Stack(5); a.Push("1"); a.Push("2"); a.Push("3"); a.Push("4"); a.Push("5"); foreach (var o in a) { Console.WriteLine(o); } } } Answer (select text in box below): 5 4 3 2 1 Question #5 – What is the value of the Console.WriteLine statements? What does this question test? – Array and General Looping Knowledge. using System; namespace ConsoleApplication5 { class Program { static void Main(string[] args) { int[] J_LIST = new int[5] { 1, 2, 3, 4, 5 }; int K = 10; int L = 5; foreach (var J in J_LIST) { K = K - J; L = K + 2 * J; Console.WriteLine("J = {0, 5} K = {1, 5} L = {2, 5}", J, K, L); } Console.ReadLine(); } } } Answer (select text in box below): J = 1 K = 9 L = 11 J = 2 K = 7 L = 11 J = 3 K = 4 L = 10 J = 4 K = 0 L = 8 J = 5 K = -5 L = 5 Stay Tuned for more challenges!

    Read the article

  • Selective Suppression of Log Messages

    - by Duncan Mills
    Those of you who regularly read this blog will probably have noticed that I have a strange predilection for logging related topics, so why break this habit I ask?  Anyway here's an issue which came up recently that I thought was a good one to mention in a brief post.  The scenario really applies to production applications where you are seeing entries in the log files which are harmless, you know why they are there and are happy to ignore them, but at the same time you either can't or don't want to risk changing the deployed code to "fix" it to remove the underlying cause. (I'm not judging here). The good news is that the logging mechanism provides a filtering capability which can be applied to a particular logger to selectively "let a message through" or suppress it. This is the technique outlined below. First Create Your Filter  You create a logging filter by implementing the java.util.logging.Filter interface. This is a very simple interface and basically defines one method isLoggable() which simply has to return a boolean value. A return of false will suppress that particular log message and not pass it onto the handler. The method is passed the log record of type java.util.logging.LogRecord which provides you with access to everything you need to decide if you want to let this log message pass through or not, for example  getLoggerName(), getMessage() and so on. So an example implementation might look like this if we wanted to filter out all the log messages that start with the string "DEBUG" when the logging level is not set to FINEST:  public class MyLoggingFilter implements Filter {     public boolean isLoggable(LogRecord record) {         if ( !record.getLevel().equals(Level.FINEST) && record.getMessage().startsWith("DEBUG")){          return false;            }         return true;     } } Deploying   This code needs to be put into a JAR and added to your WebLogic classpath.  It's too late to load it as part of an application, so instead you need to put the JAR file into the WebLogic classpath using a mechanism such as the PRE_CLASSPATH setting in your domain setDomainEnv script. Then restart WLS of course. Using The final piece if to actually assign the filter.  The simplest way to do this is to add the filter attribute to the logger definition in the logging.xml file. For example, you may choose to define a logger for a specific class that is raising these messages and only apply the filter in that case.  <logger name="some.vendor.adf.ClassICantChange"         filter="oracle.demo.MyLoggingFilter"/> You can also apply the filter using WLST if you want a more script-y solution.

    Read the article

  • Too complex/too many objects?

    - by Mike Fairhurst
    I know that this will be a difficult question to answer without context, but hopefully there are at least some good guidelines to share on this. The questions are at the bottom if you want to skip the details. Most are about OOP in general. Begin context. I am a jr dev on a PHP application, and in general the devs I work with consider themselves to use many more OO concepts than most PHP devs. Still, in my research on clean code I have read about so many ways of using OO features to make code flexible, powerful, expressive, testable, etc. that is just plain not in use here. The current strongly OO API that I've proposed is being called too complex, even though it is trivial to implement. The problem I'm solving is that our permission checks are done via a message object (my API, they wanted to use arrays of constants) and the message object does not hold the validation object accountable for checking all provided data. Metaphorically, if your perm containing 'allowable' and 'rare but disallowed' is sent into a validator, the validator may not know to look for 'rare but disallowed', but approve 'allowable', which will actually approve the whole perm check. We have like 11 validators, too many to easily track at such minute detail. So I proposed an AtomicPermission class. To fix the previous example, the perm would instead contain two atomic permissions, one wrapping 'allowable' and the other wrapping 'rare but disallowed'. Where previously the validator would say 'the check is OK because it contains allowable,' now it would instead say '"allowable" is ok', at which point the check ends...and the check fails, because 'rare but disallowed' was not specifically okay-ed. The implementation is just 4 trivial objects, and rewriting a 10 line function into a 15 line function. abstract class PermissionAtom { public function allow(); // maybe deny() as well public function wasAllowed(); } class PermissionField extends PermissionAtom { public function getName(); public function getValue(); } class PermissionIdentifier extends PermissionAtom { public function getIdentifier(); } class PermissionAction extends PermissionAtom { public function getType(); } They say that this is 'not going to get us anything important' and it is 'too complex' and 'will be difficult for new developers to pick up.' I respectfully disagree, and there I end my context to begin the broader questions. So the question is about my OOP, are there any guidelines I should know: is this too complicated/too much OOP? Not that I expect to get more than 'it depends, I'd have to see if...' when is OO abstraction too much? when is OO abstraction too little? how can I determine when I am overthinking a problem vs fixing one? how can I determine when I am adding bad code to a bad project? how can I pitch these APIs? I feel the other devs would just rather say 'its too complicated' than ask 'can you explain it?' whenever I suggest a new class.

    Read the article

  • Multichannel Digital Engagement: Find Out How Your Organization Measures Up

    - by Michael Snow
    This article was originally published in the September 2013 Edition of the Oracle Information InDepth Newsletter ORACLE WEBCENTER EDITION Thanks to mobile and social technologies, interactive online experiences are now commonplace. Not only that, they give consumers more choices, influence, and control than ever before. So how can you make your organization stand out? The key building blocks for delivering exceptional cross-channel digital experiences are outlined below. Also, a new assessment tool is available to help you measure your organization's ability to deliver such experiences. A clearly defined digital strategy. The customer journey is growing increasingly complex, encompassing multiple touchpoints and channels. It used to be easy to map marketing efforts to specific offline channels; for example, a direct mail piece with an offer to visit a store for a discounted purchase. Now it is more difficult to cultivate and track such clear cause-and-effect relationships. To deliver an integrated digital experience in this more complex world, organizations need a clearly defined and comprehensive digital marketing strategy that is backed up by an integrated set of software, middleware, and hardware solutions. Strong support for business agility and speed-to-market. As both IT and marketing executives know, speed-to-market and business agility are key to competitive advantage. That means marketers need solutions to support the rapid implementation of online marketing initiatives—plus the flexibility to adapt quickly to a changing marketplace. And IT needs tools with the performance, scalability, and ease of integration to support marketing efforts. Both teams benefit when business users are empowered to implement marketing initiatives on their own, with minimal IT intervention. The ability to deliver relevant, personalized content. Delivering a one-size-fits-all online customer experience is no longer acceptable. Customers expect you to know who they are, including their preferences and past relationship with your brand. That means delivering the most relevant content from the moment a visitor enters your site. To make that happen, you need a powerful rules engine so that marketers and business users can easily define site visitor segments and deliver content accordingly. That includes both implicit targeting that is based on the user’s behavior, and explicit targeting that takes a user’s profile information into account. Ideally, the rules engine can also intelligently weight recommendations when multiple segments apply to a specific customer. Support for social interactivity. With the advent of Facebook and LinkedIn, visitors expect to participate in and contribute to your web presence—and share their experience on their own social networks. That requires easy incorporation of user-generated content such as comments, ratings, reviews, polls, and blogs; seamless integration with third-party social networking sites; and support for social login, which helps to remove barriers to social participation. The ability to deliver connected, multichannel experiences that include powerful, flexible mobile capabilities. By 2015, mobile usage is projected to surpass that of PCs and other wired devices. In other words, mobile is an essential element in delivering exceptional online customer experiences. This requires the creation and management of mobile experiences that are optimized for delivery to the thousands of different devices that are in use today. Just as important, organizations must be able to easily extend their traditional web presence to the mobile channel and deliver highly personalized and relevant multichannel marketing initiatives while also managing to minimize the time and effort required to manage mobile sites. Are you curious to know how your organization measures up when it comes to delivering an engaging, multichannel digital experience? If so, take this brief, 15-question online assessment and see how your organization scores in the areas of digital strategy, digital agility, relevance and personalization, social interactivity, and multichannel experience.

    Read the article

  • Javascript Inheritance Part 2

    - by PhubarBaz
    A while back I wrote about Javascript inheritance, trying to figure out the best and easiest way to do it (http://geekswithblogs.net/PhubarBaz/archive/2010/07/08/javascript-inheritance.aspx). That was 2 years ago and I've learned a lot since then. But only recently have I decided to just leave classical inheritance behind and embrace prototypal inheritance. For most of us, we were trained in classical inheritance, using class hierarchies in a typed language. Unfortunately Javascript doesn't follow that model. It is both classless and typeless, which is hard to fathom for someone who's been using classes the last 20 years. For the last two or three years since I've got into Javascript I've been trying to find the best way to force it into the class model without much success. It's clunky and verbose and hard to understand. I think my biggest problem was that it felt so wrong to add or change object members at run time. Every time I did it I felt like I needed a shower. That's the 20 years of classical inheritance in me. Finally I decided to embrace change and do something different. I decided to use the factory pattern to build objects instead of trying to use inheritance. Javascript was made for the factory pattern because of the way you can construct objects at runtime. In the factory pattern you have a factory function that you call and tell it to give you a certain type of object back. The factory function takes care of constructing the object to your specification. Here's an example. Say we want to have some shape objects and they have common attributes like id and area that we want to depend on in other parts of your application. So first thing to do is create a factory object and give it a factory method to create an abstract shape object. The factory method builds the object then returns it. var shapeFactory = { getShape: function(id){ var shape = { id: id, area: function() { throw "Not implemented"; } }; return shape; }}; Now we can add another factory method to get a rectangle. It calls the getShape() method first and then adds an implementation to it. getRectangle: function(id, width, height){ var rect = this.getShape(id); rect.width = width; rect.height = height; rect.area = function() { return this.width * this.height; }; return rect;} That's pretty simple right? No worrying about hooking up prototypes and calling base constructors or any of that crap I used to do. Now let's create a factory method to get a cuboid (rectangular cube). The cuboid object will extend the rectangle object. To get the area we will call into the base object's area method and then multiply that by the depth. getCuboid: function(id, width, height, depth){ var cuboid = this.getRectangle(id, width, height); cuboid.depth = depth; var baseArea = cuboid.area; cuboid.area = function() { var a = baseArea.call(this); return a * this.depth; } return cuboid;} See how we called the area method in the base object? First we save it off in a variable then we implement our own area method and use call() to call the base function. For me this is a lot cleaner and easier than trying to emulate class hierarchies in Javascript.

    Read the article

  • SEO/Google: How should I handle multiple countries and domains?

    - by Valorized
    Hello. I'm the webmaster of an online shop based in Austria (Europe). Therefore we registered "example.at". We also own different other domain names like "example-shop.com" and "example.info". Currently all those domains are redirected (301) to the .at one. Still available is: "example.net" and "example.org" (and .ws/.cc), unfortunately not available: .de/.eu The .com is currently owned by one of our partners, the contract ends in 2012 but until then we have no chance to get this one. Recently I read more about geo-targeting and I noticed ONE big deal. The tld ".at" is hardly recognised in Germany (google.de) whereas it is excellently listed in Austria (google.at). As a result of the .at I cannot set the target location manually (or to unlisted). More info: https://www.google.com/support/webmasters/bin/answer.py?answer=62399&hl=en This is a big problem. I looked at Google Analytics and - although Germany is 10x as big as Austria - there are more visits from Austria. So, how should I config the domain in order to get the best results in both, Germany and Austria? I thought of some solutions: First I could stop redirecting the .info. Then there would be a duplicate of the .at one. Moreover, in Webmastertools, I could set the target location of the .info to Germany. As the .at still targets Austria, both would be targeted - however I don't now if google punishes one of them because of the duplicate content? Same as 1. but with .net or .org (I think .info is not a "nice" domain and moreover I think search engines prefer .com, .net or .org to .info). Same as 1. (or 2.) but with a rel="canonical" on the new one (pointing to the .at). Con: I don't think this will improve the situation, because it still tells google that the .at one is more important, like: "if .info points to .at, the target may still be Austria". rel="canonical" on the .at pointing to the new (.info or .net or .org). However I fear that this will have a negative impact on the listing on google.at because: "Hey, the well-known .at is not important anymore, so let's focus on the .info which is not well-known." - Therefore: bad position in search results. Redirect .at to the new (.info or .net or .org) with a 301-Redirect. Con: Might be worse than 4, we might loose Page-Rank (or "the value of the page", because google says that page rank is not important anymore). Moreover this might be even more confusing for the customers. In 3. or 4. customers don't get redirected, they do not see the canonical-meta-tag. So, dear experts, please tell me what the best option would be! Thank you very much for your advice in advance and please excuse the long question. I really appreciate this network! Please note: It's exactly the same content AND language. In Austria we speak German.

    Read the article

  • Is changing my job now a wise decision? [closed]

    - by FlaminPhoenix
    First a little background about myself. I am a javascript programmer with 3.8 years of experience. I joined my current company a year and 3 months ago, and I was recruited as a javascript programmer. I was under the impression I was a programmer in a programming team but this was not the case. No one else except me and my manager knows anything about programming in my team. The other two teammates, copy paste stuff from websites into excel sheets. I was told I was being recruited for a new project, and it was true. The only problem was that the server side language they were using was PHP. They were using a popular library with PHP, and I had never worked with PHP before. Nevertheless, I learnt it well enough to get things working, and received high praise from my boss's boss on whichever project I worked on. Words like "wow" , "This looks great, the clients gonna be impressed with this." were sprinkled every now and then on reviewing my work. They even managed to sell my work to a couple of clients and as I understand, both of my projects are going to fetch them a pretty buck. The problem: I was asked to move into a project which my manager was handling. I asked them for training on the project which never came, and sure enough I couldnt complete my first task on the new project without shortcomings. I told my manager there were things I didnt know how to get done in the new project due to lack of training. His project had 0 documentation. I was told he would "take care" of everything relating to those shortcomings. In the meantime, I was asked to switch to another project. My manager made the necessary changes and later told me that the build had "broken" on the production server and that I needed to "test" my changes before saying things were done. I never deployed it on the production server. He did. I never saw / had the opportunity to see the final build before it went to production. He called me for a separate meeting and started pointing fingers at me, but I took full responsibility even if I didnt have to. He later on got on a call with his boss, in my presence, and gave him the impression that it was all my fault. I did not confront him about this so far. I have worked late / done overtime without them asking a lot, but last week, I just got home from work, and I got calls asking me to solve an issue which till then they had kept quiet about even though they were informed about it. I asked my manager why I hadnt been tasked with this when I was in office. He started telling me which statements to put where, as if to mock me, and that this "is hardly an overtime issue" and this pissed me off. Also, during the previous meeting, he was constantly talking highly about his work, at the same time trying to demean mine. In the meantime, I have attended an interview with another MNC, and the interviewers there were fully respectful of my decision to leave my current company. Its a software company, so I can expect my colleagues to know a lot more than me. Im told I can expect their offer anytime this week. My questions: Is my anger towards my manager justified? While leaving, do I tell him that its because of his actions that Im leaving? Do I erupt in anger and tell him that he shouldnt have put the blame on me since he was the one doing the deployment? This is going to be my second resignation to this company. The first time I wanted to resign, I was asked to stay back and my manager promised a lot of changes, a couple of which were made. How do I keep myself from getting into such situations with my employers in the future?

    Read the article

  • Disabling the right-click sub menu using JQuery

    - by nikolaosk
    Recently I needed to disable the right-click contextual menu in an HTML page for a very simple HTML application I was creating for a friend.This is going to be a short post where I will demonstrate how to disable the right-click contextual menu.I will use the very popular JQuery Library. Please download the library (minified version) from http://jquery.com/downloadPlease find here all my posts regarding JQuery.In this hands-on example I will be using Expression Web 4.0.This application is not a free application. You can use any HTML editor you like.You can use Visual Studio 2012 Express edition. You can download it here. I am going to create a very simple HTML 5 page with some text and an image. The HTML markup for the page follows. <!DOCTYPE html><html lang="en">  <head>    <title>HTML 5, CSS3 and JQuery</title>        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >    <link rel="stylesheet" type="text/css" href="style.css">     <script type="text/javascript" src="jquery-1.8.2.min.js">        </script><script type="text/javascript"> (function ($) { $(document).bind('contextmenu', function () { return false;}); })(jQuery); </script>       </head>  <body>      <div id="header">      <h1>Learn cutting edge technologies</h1>      <h2>HTML 5, JQuery, CSS3</h2>    </div>      <figure>  <img src="html5.png" alt="HTML 5"></figure>        <div id="main">          <h2>HTML 5</h2>                        <article>          <p>            HTML5 is the latest version of HTML and XHTML. The HTML standard defines a single language that can be written in HTML and XML. It attempts to solve issues found in previous iterations of HTML and addresses the needs of Web Applications, an area previously not adequately covered by HTML.          </p>          </article>      </div>             </body>  </html> This is the JQuery code, I use (function ($) { $(document).bind('contextmenu', function () { return false;}); })(jQuery); I simply disable/cancel the contextmenu event.When I load the simple page on the browser and I right-click the context menu does not appear.Hope it helps!!!

    Read the article

  • Reading graph inputs for a programming puzzle and then solving it

    - by Vrashabh
    I just took a programming competition question and I absolutely bombed it. I had trouble right at the beginning itself from reading the input set. The question was basically a variant of this puzzle http://codercharts.com/puzzle/evacuation-plan but also had an hour component in the first line(say 3 hours after start of evacuation). It reads like this This puzzle is a tribute to all the people who suffered from the earthquake in Japan. The goal of this puzzle is, given a network of road and locations, to determine the maximum number of people that can be evacuated. The people must be evacuated from evacuation points to rescue points. The list of road and the number of people they can carry per hour is provided. Input Specifications Your program must accept one and only one command line argument: the input file. The input file is formatted as follows: the first line contains 4 integers n r s t n is the number of locations (each location is given by a number from 0 to n-1) r is the number of roads s is the number of locations to be evacuated from (evacuation points) t is the number of locations where people must be evacuated to (rescue points) the second line contains s integers giving the locations of the evacuation points the third line contains t integers giving the locations of the rescue points the r following lines contain to the road definitions. Each road is defined by 3 integers l1 l2 width where l1 and l2 are the locations connected by the road (roads are one-way) and width is the number of people per hour that can fit on the road Now look at the sample input set 5 5 1 2 3 0 3 4 0 1 10 0 2 5 1 2 4 1 3 5 2 4 10 The 3 in the first line is the additional component and is defined as the number of hours since the resuce has started which is 3 in this case. Now my solution was to use Dijisktras algorithm to find the shortest path between each of the rescue and evac nodes. Now my problem started with how to read the input set. I read the first line in python and stored the values in variables. But then I did not know how to store the values of the distance between the nodes and what DS to use and how to input it to say a standard implementation of dijikstras algorithm. So my question is two fold 1.) How do I take the input of such problems? - I have faced this problem in quite a few competitions recently and I hope I can get a simple code snippet or an explanation in java or python to read the data input set in such a way that I can input it as a graph to graph algorithms like dijikstra and floyd/warshall. Also a solution to the above problem would also help. 2.) How to solve this puzzle? My algorithm was: Find shortest path between evac points (in the above example it is 14 from 0 to 3) Multiply it by number of hours to get maximal number of saves Also the answer given for the variant for the input set was 24 which I dont understand. Can someone explain that also. UPDATE: I get how the answer is 14 in the given problem link - it seems to be just the shortest path between node 0 and 3. But with the 3 hour component how is the answer 24 UPDATE I get how it is 24 - its a complete graph traversal at every hour and this is how I solve it Hour 1 Node 0 to Node 1 - 10 people Node 0 to Node 2- 5 people TotalRescueCount=0 Node 1=10 Node 2= 5 Hour 2 Node 1 to Node 3 = 5(Rescued) Node 2 to Node 4 = 5(Rescued) Node 0 to Node 1 = 10 Node 0 to Node 2 = 5 Node 1 to Node 2 = 4 TotalRescueCount = 10 Node 1 = 10 Node 2= 5+4 = 9 Hour 3 Node 1 to Node 3 = 5(Rescued) Node 2 to Node 4 = 5+4 = 9(Rescued) TotalRescueCount = 9+5+10 = 24 It hard enough for this case , for multiple evac and rescue points how in the world would I write a pgm for this ?

    Read the article

  • ?SPARC T4?????????????·???? : Netra SPARC T4-1

    - by user13138700
    ?SPARC T4???????????????·??????? Netra SPARC T4-1 ???? Netra SPARC T4-2 ?2012?1?10??????????3?15??????????????(????) ?????????? Netra SPARC T4-1 ? 4core ???( T4 ???????? 4core ???)(*)???????????????????????????(*)( Netra SPARC T4-1 ?????? 4core ???? 8core ????????) ??? prtdiag ????? pginfo ??????????????? 8????/1core ???? prtdiag ????????4core=32???????????????pginfo ?????????????????core ???????????????????? # ./prtdiag -v System Configuration: Oracle Corporation sun4v Netra SPARC T4-1 ???????: 130560 M ??? ================================ ?? CPU ================================ CPU ID Frequency Implementation Status ------ --------- ---------------------- ------- 0 2848 MHz SPARC-T4 on-line 1 2848 MHz SPARC-T4 on-line 2 2848 MHz SPARC-T4 on-line 3 2848 MHz SPARC-T4 on-line 4 2848 MHz SPARC-T4 on-line 5 2848 MHz SPARC-T4 on-line 6 2848 MHz SPARC-T4 on-line 7 2848 MHz SPARC-T4 on-line 8 2848 MHz SPARC-T4 on-line 9 2848 MHz SPARC-T4 on-line 10 2848 MHz SPARC-T4 on-line 11 2848 MHz SPARC-T4 on-line 12 2848 MHz SPARC-T4 on-line 13 2848 MHz SPARC-T4 on-line 14 2848 MHz SPARC-T4 on-line 15 2848 MHz SPARC-T4 on-line 16 2848 MHz SPARC-T4 on-line 17 2848 MHz SPARC-T4 on-line 18 2848 MHz SPARC-T4 on-line 19 2848 MHz SPARC-T4 on-line 20 2848 MHz SPARC-T4 on-line 21 2848 MHz SPARC-T4 on-line 22 2848 MHz SPARC-T4 on-line 23 2848 MHz SPARC-T4 on-line 24 2848 MHz SPARC-T4 on-line 25 2848 MHz SPARC-T4 on-line 26 2848 MHz SPARC-T4 on-line 27 2848 MHz SPARC-T4 on-line 28 2848 MHz SPARC-T4 on-line 29 2848 MHz SPARC-T4 on-line 30 2848 MHz SPARC-T4 on-line 31 2848 MHz SPARC-T4 on-line ======================= Physical Memory Configuration ======================== ???? # pginfo -p -T 0 (System [system,chip]) CPUs: 0-31 `-- 3 (Data_Pipe_to_memory [system,chip]) CPUs: 0-31 |-- 2 (Floating_Point_Unit [core]) CPUs: 0-7 | `-- 1 (Integer_Pipeline [core]) CPUs: 0-7 |-- 5 (Floating_Point_Unit [core]) CPUs: 8-15 | `-- 4 (Integer_Pipeline [core]) CPUs: 8-15 |-- 7 (Floating_Point_Unit [core]) CPUs: 16-23 | `-- 6 (Integer_Pipeline [core]) CPUs: 16-23 `-- 9 (Floating_Point_Unit [core]) CPUs: 24-31 `-- 8 (Integer_Pipeline [core]) CPUs: 24-31 T4 ????????????????????????????????????????????????? T3 ?????(S2 core)?????T4 ?????(S3 core)?????????????5???????????? T3 ?????(S2 core)?????????????????????????(????????)?????????????????????????????????????????????·???????????????????????????????????????? ????T4 ????????????????????????????T4 ??????????·??????? Netra SPARC T4-1 4core ????????????????????????????????????T3 ???????????????????????????? ?????????Netra SPARC T4-1 ??????????????? Netra SPARC T4-1 ?? Computing 1 x SPARC T4 4?? 32???? or 8 ?? 64 ???? 2.85GHz CPU (1?????8????) 16 x DDR3 DIMM (?? 256GB ?????16GB DIMM ???) I/O and Storage 3 x Low Profile PCI-Express Gen2 ???? (2 x 10Gb Ethernet XAUI ???????) 2 x Full-height Half-length PCI-Express Gen2 ???? 4 x 10/100/1000 Ethernet ???????? 4 x 2.5” SAS2 HDD 4 x USB ??? (?? 2, ?? 2) RAS and Management and Power Supply ???? (RAID????), ????PSU ?????????? ILOM?????????????? 2N (1+1) , AC ???? DC ?? Support OS Oracle Solaris 10 10/9, 9/10, 8/11, Oracle Solaris 11 11/11 Oracle VM Server for SPARC 2.1 (LDoms) ???? ??? NEBS Level3?? ??????21” 19”(EIA-310D),23”,24”,600mm????? ?????(?????)????????? ????SPARC T4 ????????SPARC T4 ?????????????????????????(4???)???????????? Oracle OpenWorld Tokyo 2012 ?3??(4/4(?)?4/5(?)?4/6(?))?????????????????????&?????????????????SPARC T4 ?????????????????????????????????·?????????????????SPARC T4 ???????????????????!? Oracle OpenWorld Tokyo 2012 http://www.oracle.com/openworld/jp-ja/index.html ????·???????????? 4/6(?) Develop D3-13 (14:00 - 14:45) ???????????49 ??? ?????? 7264 ???????????????

    Read the article

  • Wubi and Vista 64 bits can't work

    - by Daok
    First of all, I have posted this issue at Ubuntu Forum without success yet. Hello, I have downloaded "kubuntu-9.10-desktop-amd64.iso" and I have mounted it on my Windows Vista 64 bits Ultimate. I have downloaded wubi 9.10. The problem is when installing, it crash after few time. Here is the log file: 11-26 21:07 INFO root: === wubi 9.10ubuntu1 rev160 === 11-26 21:07 DEBUG root: Logfile is c:\users\patrick\appdata\local\temp\wubi-9.10ubuntu1-rev160.log 11-26 21:07 DEBUG root: sys.argv = ['main.pyo', '--exefile="Z:\\wubi.exe"'] 11-26 21:07 DEBUG CommonBackend: data_dir=C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\data 11-26 21:07 DEBUG WindowsBackend: 7z=C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\bin\7z.exe 11-26 21:07 DEBUG CommonBackend: Fetching basic info... 11-26 21:07 DEBUG CommonBackend: original_exe=Z:\wubi.exe 11-26 21:07 DEBUG CommonBackend: platform=win32 11-26 21:07 DEBUG CommonBackend: osname=nt 11-26 21:07 DEBUG CommonBackend: language=fr_CA 11-26 21:07 DEBUG CommonBackend: encoding=cp1252 11-26 21:07 DEBUG WindowsBackend: arch=amd64 11-26 21:07 DEBUG CommonBackend: Parsing isolist=C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\data\isolist.ini 11-26 21:07 DEBUG CommonBackend: Adding distro Xubuntu-i386 11-26 21:07 DEBUG CommonBackend: Adding distro Xubuntu-amd64 11-26 21:07 DEBUG CommonBackend: Adding distro Kubuntu-amd64 11-26 21:07 DEBUG CommonBackend: Adding distro Mythbuntu-i386 11-26 21:07 DEBUG CommonBackend: Adding distro Ubuntu-amd64 11-26 21:07 DEBUG CommonBackend: Adding distro Ubuntu-i386 11-26 21:07 DEBUG CommonBackend: Adding distro Mythbuntu-amd64 11-26 21:07 DEBUG CommonBackend: Adding distro Kubuntu-i386 11-26 21:07 DEBUG CommonBackend: Adding distro KubuntuNetbook-i386 11-26 21:07 DEBUG CommonBackend: Adding distro UbuntuNetbookRemix-i386 11-26 21:07 DEBUG WindowsBackend: Fetching host info... 11-26 21:07 DEBUG WindowsBackend: registry_key=Software\Microsoft\Windows\CurrentVersion\Uninstall\Wubi 11-26 21:07 DEBUG WindowsBackend: windows version=vista 11-26 21:07 DEBUG WindowsBackend: windows_version2=Windows (TM) Vista Ultimate 11-26 21:07 DEBUG WindowsBackend: windows_sp=None 11-26 21:07 DEBUG WindowsBackend: windows_build=6002 11-26 21:07 DEBUG WindowsBackend: gmt=-5 11-26 21:07 DEBUG WindowsBackend: country=CA 11-26 21:07 DEBUG WindowsBackend: timezone=America/Montreal 11-26 21:07 DEBUG WindowsBackend: windows_username=Patrick 11-26 21:07 DEBUG WindowsBackend: user_full_name=Patrick 11-26 21:07 DEBUG WindowsBackend: user_directory=C:\Users\Patrick 11-26 21:07 DEBUG WindowsBackend: windows_language_code=1036 11-26 21:07 DEBUG WindowsBackend: windows_language=French 11-26 21:07 DEBUG WindowsBackend: processor_name=Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz 11-26 21:07 DEBUG WindowsBackend: bootloader=vista 11-26 21:07 DEBUG WindowsBackend: system_drive=Drive(C: hd 239816.335938 mb free ntfs) 11-26 21:07 DEBUG WindowsBackend: drive=Drive(C: hd 239816.335938 mb free ntfs) 11-26 21:07 DEBUG WindowsBackend: drive=Drive(D: cd 0.0 mb free ) 11-26 21:07 DEBUG WindowsBackend: drive=Drive(E: hd 483619.367188 mb free ntfs) 11-26 21:07 DEBUG WindowsBackend: drive=Drive(G: hd 84606.9375 mb free fat32) 11-26 21:07 DEBUG WindowsBackend: drive=Drive(Z: cd 0.0 mb free cdfs) 11-26 21:07 DEBUG WindowsBackend: uninstaller_path=C:\ubuntu\uninstall-wubi.exe 11-26 21:07 DEBUG WindowsBackend: previous_target_dir=C:\ubuntu 11-26 21:07 DEBUG WindowsBackend: previous_distro_name=Kubuntu 11-26 21:07 DEBUG WindowsBackend: keyboard_id=269029385 11-26 21:07 DEBUG WindowsBackend: keyboard_layout=ca 11-26 21:07 DEBUG WindowsBackend: keyboard_variant= 11-26 21:07 DEBUG CommonBackend: python locale=('fr_CA', 'cp1252') 11-26 21:07 DEBUG CommonBackend: locale=fr_CA.UTF-8 11-26 21:07 DEBUG WindowsBackend: total_memory_mb=4095.99999905 11-26 21:07 DEBUG CommonBackend: Searching ISOs on USB devices 11-26 21:07 DEBUG CommonBackend: Searching for local CDs 11-26 21:07 DEBUG Distro: checking whether C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp is a valid Ubuntu CD 11-26 21:07 DEBUG Distro: does not contain C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp is a valid Ubuntu CD 11-26 21:07 DEBUG Distro: does not contain C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp is a valid Ubuntu Netbook Remix CD 11-26 21:07 DEBUG Distro: does not contain C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp is a valid Kubuntu CD 11-26 21:07 DEBUG Distro: does not contain C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp is a valid Kubuntu CD 11-26 21:07 DEBUG Distro: does not contain C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp is a valid Kubuntu Netbook CD 11-26 21:07 DEBUG Distro: does not contain C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp is a valid Xubuntu CD 11-26 21:07 DEBUG Distro: does not contain C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp is a valid Xubuntu CD 11-26 21:07 DEBUG Distro: does not contain C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp is a valid Mythbuntu CD 11-26 21:07 DEBUG Distro: does not contain C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp is a valid Mythbuntu CD 11-26 21:07 DEBUG Distro: does not contain C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether D:\ is a valid Ubuntu CD 11-26 21:07 DEBUG Distro: does not contain D:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether D:\ is a valid Ubuntu CD 11-26 21:07 DEBUG Distro: does not contain D:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether D:\ is a valid Ubuntu Netbook Remix CD 11-26 21:07 DEBUG Distro: does not contain D:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether D:\ is a valid Kubuntu CD 11-26 21:07 DEBUG Distro: does not contain D:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether D:\ is a valid Kubuntu CD 11-26 21:07 DEBUG Distro: does not contain D:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether D:\ is a valid Kubuntu Netbook CD 11-26 21:07 DEBUG Distro: does not contain D:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether D:\ is a valid Xubuntu CD 11-26 21:07 DEBUG Distro: does not contain D:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether D:\ is a valid Xubuntu CD 11-26 21:07 DEBUG Distro: does not contain D:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether D:\ is a valid Mythbuntu CD 11-26 21:07 DEBUG Distro: does not contain D:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether D:\ is a valid Mythbuntu CD 11-26 21:07 DEBUG Distro: does not contain D:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether E:\ is a valid Ubuntu CD 11-26 21:07 DEBUG Distro: does not contain E:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether E:\ is a valid Ubuntu CD 11-26 21:07 DEBUG Distro: does not contain E:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether E:\ is a valid Ubuntu Netbook Remix CD 11-26 21:07 DEBUG Distro: does not contain E:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether E:\ is a valid Kubuntu CD 11-26 21:07 DEBUG Distro: does not contain E:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether E:\ is a valid Kubuntu CD 11-26 21:07 DEBUG Distro: does not contain E:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether E:\ is a valid Kubuntu Netbook CD 11-26 21:07 DEBUG Distro: does not contain E:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether E:\ is a valid Xubuntu CD 11-26 21:07 DEBUG Distro: does not contain E:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether E:\ is a valid Xubuntu CD 11-26 21:07 DEBUG Distro: does not contain E:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether E:\ is a valid Mythbuntu CD 11-26 21:07 DEBUG Distro: does not contain E:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether E:\ is a valid Mythbuntu CD 11-26 21:07 DEBUG Distro: does not contain E:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether G:\ is a valid Ubuntu CD 11-26 21:07 DEBUG Distro: does not contain G:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether G:\ is a valid Ubuntu CD 11-26 21:07 DEBUG Distro: does not contain G:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether G:\ is a valid Ubuntu Netbook Remix CD 11-26 21:07 DEBUG Distro: does not contain G:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether G:\ is a valid Kubuntu CD 11-26 21:07 DEBUG Distro: does not contain G:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether G:\ is a valid Kubuntu CD 11-26 21:07 DEBUG Distro: does not contain G:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether G:\ is a valid Kubuntu Netbook CD 11-26 21:07 DEBUG Distro: does not contain G:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether G:\ is a valid Xubuntu CD 11-26 21:07 DEBUG Distro: does not contain G:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether G:\ is a valid Xubuntu CD 11-26 21:07 DEBUG Distro: does not contain G:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether G:\ is a valid Mythbuntu CD 11-26 21:07 DEBUG Distro: does not contain G:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether G:\ is a valid Mythbuntu CD 11-26 21:07 DEBUG Distro: does not contain G:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether Z:\ is a valid Ubuntu CD 11-26 21:07 DEBUG Distro: parsing info from str=Kubuntu 9.10 "Karmic Koala" - Release amd64 (20091027) 11-26 21:07 DEBUG Distro: parsed info={'name': 'Kubuntu', 'subversion': 'Release', 'version': '9.10', 'build': '20091027', 'codename': 'Karmic Koala', 'arch': 'amd64'} 11-26 21:07 DEBUG Distro: wrong name: Kubuntu != Ubuntu 11-26 21:07 DEBUG Distro: checking whether Z:\ is a valid Ubuntu CD 11-26 21:07 DEBUG Distro: wrong name: Kubuntu != Ubuntu 11-26 21:07 DEBUG Distro: checking whether Z:\ is a valid Ubuntu Netbook Remix CD 11-26 21:07 DEBUG Distro: wrong name: Kubuntu != Ubuntu Netbook Remix 11-26 21:07 DEBUG Distro: checking whether Z:\ is a valid Kubuntu CD 11-26 21:07 INFO Distro: Found a valid CD for Kubuntu: Z:\ 11-26 21:07 INFO root: Running the CD menu... 11-26 21:07 DEBUG WindowsFrontend: __init__... 11-26 21:07 DEBUG WindowsFrontend: on_init... 11-26 21:07 INFO WinuiPage: appname=wubi, localedir=C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\translations, languages=['fr_CA', 'fr'] 11-26 21:07 INFO WinuiPage: appname=wubi, localedir=C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\translations, languages=['fr_CA', 'fr'] 11-26 21:07 INFO root: CD menu finished 11-26 21:07 INFO root: Already installed, running the uninstaller... 11-26 21:07 INFO root: Running the uninstaller... 11-26 21:07 INFO CommonBackend: This is the uninstaller running 11-26 21:07 INFO WinuiPage: appname=wubi, localedir=C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\translations, languages=['fr_CA', 'fr'] 11-26 21:07 INFO root: Received settings 11-26 21:07 INFO WinuiPage: appname=wubi, localedir=C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\translations, languages=['fr_CA', 'fr'] 11-26 21:07 DEBUG TaskList: # Running tasklist... 11-26 21:07 DEBUG TaskList: ## Running Sauvegarder l'ISO... 11-26 21:07 DEBUG TaskList: ## Finished Sauvegarder l'ISO 11-26 21:07 DEBUG TaskList: ## Running Supprimer l'entrée pour le programme d'amorçage... 11-26 21:07 DEBUG WindowsBackend: Could not find bcd id 11-26 21:07 DEBUG WindowsBackend: undo_bootini C: 11-26 21:07 DEBUG WindowsBackend: undo_configsys Drive(C: hd 239816.335938 mb free ntfs) 11-26 21:07 DEBUG WindowsBackend: undo_bootini E: 11-26 21:07 DEBUG WindowsBackend: undo_configsys Drive(E: hd 483619.367188 mb free ntfs) 11-26 21:07 DEBUG WindowsBackend: undo_bootini G: 11-26 21:07 DEBUG WindowsBackend: undo_configsys Drive(G: hd 84606.9375 mb free fat32) 11-26 21:07 DEBUG TaskList: ## Finished Supprimer l'entrée pour le programme d'amorçage 11-26 21:07 DEBUG TaskList: ## Running Supprimer le répertoire cible... 11-26 21:07 DEBUG CommonBackend: Deleting C:\ubuntu 11-26 21:07 DEBUG TaskList: ## Finished Supprimer le répertoire cible 11-26 21:07 DEBUG TaskList: ## Running Supprimer la clé du registre... 11-26 21:07 DEBUG TaskList: ## Finished Supprimer la clé du registre 11-26 21:07 DEBUG TaskList: # Finished tasklist 11-26 21:07 INFO root: Almost finished uninstalling 11-26 21:07 INFO root: Finished uninstallation 11-26 21:07 DEBUG CommonBackend: Fetching basic info... 11-26 21:07 DEBUG CommonBackend: original_exe=Z:\wubi.exe 11-26 21:07 DEBUG CommonBackend: platform=win32 11-26 21:07 DEBUG CommonBackend: osname=nt 11-26 21:07 DEBUG WindowsBackend: arch=amd64 11-26 21:07 DEBUG CommonBackend: Parsing isolist=C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\data\isolist.ini 11-26 21:07 DEBUG CommonBackend: Adding distro Xubuntu-i386 11-26 21:07 DEBUG CommonBackend: Adding distro Xubuntu-amd64 11-26 21:07 DEBUG CommonBackend: Adding distro Kubuntu-amd64 11-26 21:07 DEBUG CommonBackend: Adding distro Mythbuntu-i386 11-26 21:07 DEBUG CommonBackend: Adding distro Ubuntu-amd64 11-26 21:07 DEBUG CommonBackend: Adding distro Ubuntu-i386 11-26 21:07 DEBUG CommonBackend: Adding distro Mythbuntu-amd64 11-26 21:07 DEBUG CommonBackend: Adding distro Kubuntu-i386 11-26 21:07 DEBUG CommonBackend: Adding distro KubuntuNetbook-i386 11-26 21:07 DEBUG CommonBackend: Adding distro UbuntuNetbookRemix-i386 11-26 21:07 DEBUG WindowsBackend: Fetching host info... 11-26 21:07 DEBUG WindowsBackend: registry_key=Software\Microsoft\Windows\CurrentVersion\Uninstall\Wubi 11-26 21:07 DEBUG WindowsBackend: windows version=vista 11-26 21:07 DEBUG WindowsBackend: windows_version2=Windows (TM) Vista Ultimate 11-26 21:07 DEBUG WindowsBackend: windows_sp=None 11-26 21:07 DEBUG WindowsBackend: windows_build=6002 11-26 21:07 DEBUG WindowsBackend: gmt=-5 11-26 21:07 DEBUG WindowsBackend: country=CA 11-26 21:07 DEBUG WindowsBackend: timezone=America/Montreal 11-26 21:07 DEBUG WindowsBackend: windows_username=Patrick 11-26 21:07 DEBUG WindowsBackend: user_full_name=Patrick 11-26 21:07 DEBUG WindowsBackend: user_directory=C:\Users\Patrick 11-26 21:07 DEBUG WindowsBackend: windows_language_code=1036 11-26 21:07 DEBUG WindowsBackend: windows_language=French 11-26 21:07 DEBUG WindowsBackend: processor_name=Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz 11-26 21:07 DEBUG WindowsBackend: bootloader=vista 11-26 21:07 DEBUG WindowsBackend: system_drive=Drive(C: hd 240512.851563 mb free ntfs) 11-26 21:07 DEBUG WindowsBackend: drive=Drive(C: hd 240512.851563 mb free ntfs) 11-26 21:07 DEBUG WindowsBackend: drive=Drive(D: cd 0.0 mb free ) 11-26 21:07 DEBUG WindowsBackend: drive=Drive(E: hd 483523.867188 mb free ntfs) 11-26 21:07 DEBUG WindowsBackend: drive=Drive(G: hd 84445.65625 mb free fat32) 11-26 21:07 DEBUG WindowsBackend: drive=Drive(Z: cd 0.0 mb free cdfs) 11-26 21:07 DEBUG WindowsBackend: uninstaller_path=None 11-26 21:07 DEBUG WindowsBackend: previous_target_dir=None 11-26 21:07 DEBUG WindowsBackend: previous_distro_name=None 11-26 21:07 DEBUG WindowsBackend: keyboard_id=269029385 11-26 21:07 DEBUG WindowsBackend: keyboard_layout=ca 11-26 21:07 DEBUG WindowsBackend: keyboard_variant= 11-26 21:07 DEBUG WindowsBackend: total_memory_mb=4095.99999905 11-26 21:07 DEBUG CommonBackend: Searching ISOs on USB devices 11-26 21:07 DEBUG CommonBackend: Searching for local CDs 11-26 21:07 DEBUG Distro: checking whether C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp is a valid Ubuntu CD 11-26 21:07 DEBUG Distro: does not contain C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp is a valid Ubuntu CD 11-26 21:07 DEBUG Distro: does not contain C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp is a valid Ubuntu Netbook Remix CD 11-26 21:07 DEBUG Distro: does not contain C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp is a valid Kubuntu CD 11-26 21:07 DEBUG Distro: does not contain C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp is a valid Kubuntu CD 11-26 21:07 DEBUG Distro: does not contain C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp is a valid Kubuntu Netbook CD 11-26 21:07 DEBUG Distro: does not contain C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp is a valid Xubuntu CD 11-26 21:07 DEBUG Distro: does not contain C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp is a valid Xubuntu CD 11-26 21:07 DEBUG Distro: does not contain C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp is a valid Mythbuntu CD 11-26 21:07 DEBUG Distro: does not contain C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp is a valid Mythbuntu CD 11-26 21:07 DEBUG Distro: does not contain C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether D:\ is a valid Ubuntu CD 11-26 21:07 DEBUG Distro: does not contain D:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether D:\ is a valid Ubuntu CD 11-26 21:07 DEBUG Distro: does not contain D:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether D:\ is a valid Ubuntu Netbook Remix CD 11-26 21:07 DEBUG Distro: does not contain D:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether D:\ is a valid Kubuntu CD 11-26 21:07 DEBUG Distro: does not contain D:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether D:\ is a valid Kubuntu CD 11-26 21:07 DEBUG Distro: does not contain D:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether D:\ is a valid Kubuntu Netbook CD 11-26 21:07 DEBUG Distro: does not contain D:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether D:\ is a valid Xubuntu CD 11-26 21:07 DEBUG Distro: does not contain D:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether D:\ is a valid Xubuntu CD 11-26 21:07 DEBUG Distro: does not contain D:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether D:\ is a valid Mythbuntu CD 11-26 21:07 DEBUG Distro: does not contain D:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether D:\ is a valid Mythbuntu CD 11-26 21:07 DEBUG Distro: does not contain D:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether E:\ is a valid Ubuntu CD 11-26 21:07 DEBUG Distro: does not contain E:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether E:\ is a valid Ubuntu CD 11-26 21:07 DEBUG Distro: does not contain E:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether E:\ is a valid Ubuntu Netbook Remix CD 11-26 21:07 DEBUG Distro: does not contain E:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether E:\ is a valid Kubuntu CD 11-26 21:07 DEBUG Distro: does not contain E:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether E:\ is a valid Kubuntu CD 11-26 21:07 DEBUG Distro: does not contain E:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether E:\ is a valid Kubuntu Netbook CD 11-26 21:07 DEBUG Distro: does not contain E:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether E:\ is a valid Xubuntu CD 11-26 21:07 DEBUG Distro: does not contain E:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether E:\ is a valid Xubuntu CD 11-26 21:07 DEBUG Distro: does not contain E:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether E:\ is a valid Mythbuntu CD 11-26 21:07 DEBUG Distro: does not contain E:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether E:\ is a valid Mythbuntu CD 11-26 21:07 DEBUG Distro: does not contain E:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether G:\ is a valid Ubuntu CD 11-26 21:07 DEBUG Distro: does not contain G:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether G:\ is a valid Ubuntu CD 11-26 21:07 DEBUG Distro: does not contain G:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether G:\ is a valid Ubuntu Netbook Remix CD 11-26 21:07 DEBUG Distro: does not contain G:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether G:\ is a valid Kubuntu CD 11-26 21:07 DEBUG Distro: does not contain G:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether G:\ is a valid Kubuntu CD 11-26 21:07 DEBUG Distro: does not contain G:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether G:\ is a valid Kubuntu Netbook CD 11-26 21:07 DEBUG Distro: does not contain G:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether G:\ is a valid Xubuntu CD 11-26 21:07 DEBUG Distro: does not contain G:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether G:\ is a valid Xubuntu CD 11-26 21:07 DEBUG Distro: does not contain G:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether G:\ is a valid Mythbuntu CD 11-26 21:07 DEBUG Distro: does not contain G:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether G:\ is a valid Mythbuntu CD 11-26 21:07 DEBUG Distro: does not contain G:\casper\filesystem.squashfs 11-26 21:07 DEBUG Distro: checking whether Z:\ is a valid Ubuntu CD 11-26 21:07 DEBUG Distro: wrong name: Kubuntu != Ubuntu 11-26 21:07 DEBUG Distro: checking whether Z:\ is a valid Ubuntu CD 11-26 21:07 DEBUG Distro: wrong name: Kubuntu != Ubuntu 11-26 21:07 DEBUG Distro: checking whether Z:\ is a valid Ubuntu Netbook Remix CD 11-26 21:07 DEBUG Distro: wrong name: Kubuntu != Ubuntu Netbook Remix 11-26 21:07 DEBUG Distro: checking whether Z:\ is a valid Kubuntu CD 11-26 21:07 INFO Distro: Found a valid CD for Kubuntu: Z:\ 11-26 21:07 INFO root: Running the installer... 11-26 21:07 INFO WinuiPage: appname=wubi, localedir=C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\translations, languages=['fr_CA', 'fr'] 11-26 21:07 INFO WinuiPage: appname=wubi, localedir=C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\translations, languages=['fr_CA', 'fr'] 11-26 21:07 DEBUG WinuiInstallationPage: target_drive=C:, installation_size=17000MB, distro_name=Kubuntu, language=en_US, locale=en_US.UTF-8, username=patrick 11-26 21:07 INFO root: Received settings 11-26 21:07 INFO WinuiPage: appname=wubi, localedir=C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\translations, languages=['en_US', 'en'] 11-26 21:07 DEBUG TaskList: # Running tasklist... 11-26 21:07 DEBUG TaskList: ## Running select_target_dir... 11-26 21:07 INFO WindowsBackend: Installing into C:\ubuntu 11-26 21:07 DEBUG TaskList: ## Finished select_target_dir 11-26 21:07 DEBUG TaskList: ## Running create_dir_structure... 11-26 21:07 DEBUG CommonBackend: Creating dir C:\ubuntu 11-26 21:07 DEBUG CommonBackend: Creating dir C:\ubuntu\disks 11-26 21:07 DEBUG CommonBackend: Creating dir C:\ubuntu\install 11-26 21:07 DEBUG CommonBackend: Creating dir C:\ubuntu\install\boot 11-26 21:07 DEBUG CommonBackend: Creating dir C:\ubuntu\disks\boot 11-26 21:07 DEBUG CommonBackend: Creating dir C:\ubuntu\disks\boot\grub 11-26 21:07 DEBUG CommonBackend: Creating dir C:\ubuntu\install\boot\grub 11-26 21:07 DEBUG TaskList: ## Finished create_dir_structure 11-26 21:07 DEBUG TaskList: ## Running uncompress_target_dir... 11-26 21:07 DEBUG TaskList: ## Finished uncompress_target_dir 11-26 21:07 DEBUG TaskList: ## Running create_uninstaller... 11-26 21:07 DEBUG WindowsBackend: Copying uninstaller Z:\wubi.exe -> C:\ubuntu\uninstall-wubi.exe 11-26 21:07 DEBUG registry: Setting registry key -2147483646 Software\Microsoft\Windows\CurrentVersion\Uninstall\Wubi UninstallString C:\ubuntu\uninstall-wubi.exe 11-26 21:07 DEBUG registry: Setting registry key -2147483646 Software\Microsoft\Windows\CurrentVersion\Uninstall\Wubi InstallationDir C:\ubuntu 11-26 21:07 DEBUG registry: Setting registry key -2147483646 Software\Microsoft\Windows\CurrentVersion\Uninstall\Wubi DisplayName Kubuntu 11-26 21:07 DEBUG registry: Setting registry key -2147483646 Software\Microsoft\Windows\CurrentVersion\Uninstall\Wubi DisplayIcon C:\ubuntu\Kubuntu.ico 11-26 21:07 DEBUG registry: Setting registry key -2147483646 Software\Microsoft\Windows\CurrentVersion\Uninstall\Wubi DisplayVersion 9.10ubuntu1-rev160 11-26 21:07 DEBUG registry: Setting registry key -2147483646 Software\Microsoft\Windows\CurrentVersion\Uninstall\Wubi Publisher Kubuntu 11-26 21:07 DEBUG registry: Setting registry key -2147483646 Software\Microsoft\Windows\CurrentVersion\Uninstall\Wubi URLInfoAbout http://www.kubuntu.org 11-26 21:07 DEBUG registry: Setting registry key -2147483646 Software\Microsoft\Windows\CurrentVersion\Uninstall\Wubi HelpLink http://www.ubuntu.com/support 11-26 21:07 DEBUG TaskList: ## Finished create_uninstaller 11-26 21:07 DEBUG TaskList: ## Running copy_installation_files... 11-26 21:07 DEBUG WindowsBackend: Copying C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\data\custom-installation -> C:\ubuntu\install\custom-installation 11-26 21:07 DEBUG WindowsBackend: Copying C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\winboot -> C:\ubuntu\winboot 11-26 21:07 DEBUG WindowsBackend: Copying C:\Users\Patrick\AppData\Local\Temp\pyl5A09.tmp\data\images\Kubuntu.ico -> C:\ubuntu\Kubuntu.ico 11-26 21:07 DEBUG TaskList: ## Finished copy_installation_files 11-26 21:07 DEBUG TaskList: ## Running get_iso... 11-26 21:07 DEBUG TaskList: New task copy_file 11-26 21:07 DEBUG TaskList: ### Running copy_file... 11-26 21:09 DEBUG TaskList: ### Finished copy_file 11-26 21:09 ERROR TaskList: [Errno 22] Invalid argument Traceback (most recent call last): File "\lib\wubi\backends\common\tasklist.py", line 197, in __call__ File "\lib\wubi\backends\common\utils.py", line 209, in copy_file IOError: [Errno 22] Invalid argument 11-26 21:09 DEBUG TaskList: # Cancelling tasklist 11-26 21:09 DEBUG TaskList: New task check_iso 11-26 21:09 ERROR root: [Errno 22]

    Read the article

  • Migrate from MySQL to PostgreSQL on Linux (Kubuntu)

    - by Dave Jarvis
    Storyline Trying to migrate a database from MySQL to PostgreSQL. All the documentation I have read covers, in great detail, how to migrate the structure. I have found very little documentation on migrating the data. The schema has 13 tables (which have been migrated successfully) and 9 GB of data. MySQL version: 5.1.x PostgreSQL version: 8.4.x I want to use the R programming language to analyze the data using SQL select statements; PostgreSQL has PL/R, but MySQL has nothing (as far as I can tell). A long time ago in a galaxy far, far away... Create the database location (/var has insufficient space; also dislike having the PostgreSQL version number everywhere -- upgrading would break scripts!): sudo mkdir -p /home/postgres/main sudo cp -Rp /var/lib/postgresql/8.4/main /home/postgres sudo chown -R postgres.postgres /home/postgres sudo chmod -R 700 /home/postgres sudo usermod -d /home/postgres/ postgres All good to here. Next, restart the server and configure the database using these installation instructions: sudo apt-get install postgresql pgadmin3 sudo /etc/init.d/postgresql-8.4 stop sudo vi /etc/postgresql/8.4/main/postgresql.conf Change data_directory to /home/postgres/main sudo /etc/init.d/postgresql-8.4 start sudo -u postgres psql postgres \password postgres sudo -u postgres createdb climate pgadmin3 Use pgadmin3 to configure the database and create a schema. A New Hope The episode began in a remote shell known as bash, with both databases running, and the installation of a command with a most unusual logo: SQL Fairy. perl Makefile.PL sudo make install sudo apt-get install perl-doc (strangely, it is not called perldoc) perldoc SQL::Translator::Manual Extract a PostgreSQL-friendly DDL and all the MySQL data: sqlt -f DBI --dsn dbi:mysql:climate --db-user user --db-password password -t PostgreSQL > climate-pg-ddl.sql mysqldump --skip-add-locks --complete-insert --no-create-db --no-create-info --quick --result-file="climate-my.sql" --databases climate --skip-comments -u root -p The Database Strikes Back Recreate the structure in PostgreSQL as follows: pgadmin3 (switch to it) Click the Execute arbitrary SQL queries icon Open climate-pg-ddl.sql Search for TABLE " replace with TABLE climate." (insert the schema name climate) Search for on " replace with on climate." (insert the schema name climate) Press F5 to execute This results in: Query returned successfully with no result in 122 ms. Replies of the Jedi At this point I am stumped. Where do I go from here (what are the steps) to convert climate-my.sql to climate-pg.sql so that they can be executed against PostgreSQL? How to I make sure the indexes are copied over correctly (to maintain referential integrity; I don't have constraints at the moment to ease the transition)? How do I ensure that adding new rows in PostgreSQL will start enumerating from the index of the last row inserted (and not conflict with an existing primary key from the sequence)? Resources A fair bit of information was needed to get this far: https://help.ubuntu.com/community/PostgreSQL http://articles.sitepoint.com/article/site-mysql-postgresql-1 http://wiki.postgresql.org/wiki/Converting_from_other_Databases_to_PostgreSQL#MySQL http://pgfoundry.org/frs/shownotes.php?release_id=810 http://sqlfairy.sourceforge.net/ Thank you!

    Read the article

< Previous Page | 716 717 718 719 720 721 722 723 724 725 726 727  | Next Page >