Search Results

Search found 13869 results on 555 pages for 'release 18'.

Page 150/555 | < Previous Page | 146 147 148 149 150 151 152 153 154 155 156 157  | Next Page >

  • C#/.NET Little Wonders &ndash; Cross Calling Constructors

    - by James Michael Hare
    Just a small post today, it’s the final iteration before our release and things are crazy here!  This is another little tidbit that I love using, and it should be fairly common knowledge, yet I’ve noticed many times that less experienced developers tend to have redundant constructor code when they overload their constructors. The Problem – repetitive code is less maintainable Let’s say you were designing a messaging system, and so you want to create a class to represent the properties for a Receiver, so perhaps you design a ReceiverProperties class to represent this collection of properties. Perhaps, you decide to make ReceiverProperties immutable, and so you have several constructors that you can use for alternative construction: 1: // Constructs a set of receiver properties. 2: public ReceiverProperties(ReceiverType receiverType, string source, bool isDurable, bool isBuffered) 3: { 4: ReceiverType = receiverType; 5: Source = source; 6: IsDurable = isDurable; 7: IsBuffered = isBuffered; 8: } 9: 10: // Constructs a set of receiver properties with buffering on by default. 11: public ReceiverProperties(ReceiverType receiverType, string source, bool isDurable) 12: { 13: ReceiverType = receiverType; 14: Source = source; 15: IsDurable = isDurable; 16: IsBuffered = true; 17: } 18:  19: // Constructs a set of receiver properties with buffering on and durability off. 20: public ReceiverProperties(ReceiverType receiverType, string source) 21: { 22: ReceiverType = receiverType; 23: Source = source; 24: IsDurable = false; 25: IsBuffered = true; 26: } Note: keep in mind this is just a simple example for illustration, and in same cases default parameters can also help clean this up, but they have issues of their own. While strictly speaking, there is nothing wrong with this code, logically, it suffers from maintainability flaws.  Consider what happens if you add a new property to the class?  You have to remember to guarantee that it is set appropriately in every constructor call. This can cause subtle bugs and becomes even uglier when the constructors do more complex logic, error handling, or there are numerous potential overloads (especially if you can’t easily see them all on one screen’s height). The Solution – cross-calling constructors I’d wager nearly everyone knows how to call your base class’s constructor, but you can also cross-call to one of the constructors in the same class by using the this keyword in the same way you use base to call a base constructor. 1: // Constructs a set of receiver properties. 2: public ReceiverProperties(ReceiverType receiverType, string source, bool isDurable, bool isBuffered) 3: { 4: ReceiverType = receiverType; 5: Source = source; 6: IsDurable = isDurable; 7: IsBuffered = isBuffered; 8: } 9: 10: // Constructs a set of receiver properties with buffering on by default. 11: public ReceiverProperties(ReceiverType receiverType, string source, bool isDurable) 12: : this(receiverType, source, isDurable, true) 13: { 14: } 15:  16: // Constructs a set of receiver properties with buffering on and durability off. 17: public ReceiverProperties(ReceiverType receiverType, string source) 18: : this(receiverType, source, false, true) 19: { 20: } Notice, there is much less code.  In addition, the code you have has no repetitive logic.  You can define the main constructor that takes all arguments, and the remaining constructors with defaults simply cross-call the main constructor, passing in the defaults. Yes, in some cases default parameters can ease some of this for you, but default parameters only work for compile-time constants (null, string and number literals).  For example, if you were creating a TradingDataAdapter that relied on an implementation of ITradingDao which is the data access object to retreive records from the database, you might want two constructors: one that takes an ITradingDao reference, and a default constructor which constructs a specific ITradingDao for ease of use: 1: public TradingDataAdapter(ITradingDao dao) 2: { 3: _tradingDao = dao; 4:  5: // other constructor logic 6: } 7:  8: public TradingDataAdapter() 9: { 10: _tradingDao = new SqlTradingDao(); 11:  12: // same constructor logic as above 13: }   As you can see, this isn’t something we can solve with a default parameter, but we could with cross-calling constructors: 1: public TradingDataAdapter(ITradingDao dao) 2: { 3: _tradingDao = dao; 4:  5: // other constructor logic 6: } 7:  8: public TradingDataAdapter() 9: : this(new SqlTradingDao()) 10: { 11: }   So in cases like this where you have constructors with non compiler-time constant defaults, default parameters can’t help you and cross-calling constructors is one of your best options. Summary When you have just one constructor doing the job of initializing the class, you can consolidate all your logic and error-handling in one place, thus ensuring that your behavior will be consistent across the constructor calls. This makes the code more maintainable and even easier to read.  There will be some cases where cross-calling constructors may be sub-optimal or not possible (if, for example, the overloaded constructors take completely different types and are not just “defaulting” behaviors). You can also use default parameters, of course, but default parameter behavior in a class hierarchy can be problematic (default values are not inherited and in fact can differ) so sometimes multiple constructors are actually preferable. Regardless of why you may need to have multiple constructors, consider cross-calling where you can to reduce redundant logic and clean up the code.   Technorati Tags: C#,.NET,Little Wonders

    Read the article

  • Using Delegates in C# (Part 1)

    - by rajbk
    This post provides a very basic introduction of delegates in C#. Part 2 of this post can be read here. A delegate is a class that is derived from System.Delegate.  It contains a list of one or more methods called an invocation list. When a delegate instance is “invoked” with the arguments as defined in the signature of the delegate, each of the methods in the invocation list gets invoked with the arguments. The code below shows example with static and instance methods respectively: Static Methods 1: using System; 2: using System.Linq; 3: using System.Collections.Generic; 4: 5: public delegate void SayName(string name); 6: 7: public class Program 8: { 9: [STAThread] 10: static void Main(string[] args) 11: { 12: SayName englishDelegate = new SayName(SayNameInEnglish); 13: SayName frenchDelegate = new SayName(SayNameInFrench); 14: SayName combinedDelegate =(SayName)Delegate.Combine(englishDelegate, frenchDelegate); 15: 16: combinedDelegate.Invoke("Tom"); 17: Console.ReadLine(); 18: } 19: 20: static void SayNameInFrench(string name) { 21: Console.WriteLine("J'ai m'appelle " + name); 22: } 23: 24: static void SayNameInEnglish(string name) { 25: Console.WriteLine("My name is " + name); 26: } 27: } We have declared a delegate of type SayName with return type of void and taking an input parameter of name of type string. On line 12, we create a new instance of this delegate which refers to a static method - SayNameInEnglish.  SayNameInEnglish has the same return type and parameter list as the delegate declaration.  Once a delegate is instantiated, the instance will always refer to the same target. Delegates are immutable. On line 13, we create a new instance of the delegate but point to a different static method. As you may recall, a delegate instance encapsulates an invocation list. You create an invocation list by combining delegates using the Delegate.Combine method (there is an easier syntax as you will see later). When two non null delegate instances are combined, their invocation lists get combined to form a new invocation list. This is done in line 14.  On line 16, we invoke the delegate with the Invoke method and pass in the required string parameter. Since the delegate has an invocation list with two entries, each of the method in the invocation list is invoked. If an unhandled exception occurs during the invocation of one of these methods, the exception gets bubbled up to the line where the invocation was made (line 16). If a delegate is null and you try to invoke it, you will get a System.NullReferenceException. We see the following output when the method is run: My name is TomJ'ai m'apelle Tom Instance Methods The code below outputs the same results as before. The only difference here is we are creating delegates that point to a target object (an instance of Translator) and instance methods which have the same signature as the delegate type. The target object can never be null. We also use the short cut syntax += to combine the delegates instead of Delegate.Combine. 1: public delegate void SayName(string name); 2: 3: public class Program 4: { 5: [STAThread] 6: static void Main(string[] args) 7: { 8: Translator translator = new Translator(); 9: SayName combinedDelegate = new SayName(translator.SayNameInEnglish); 10: combinedDelegate += new SayName(translator.SayNameInFrench); 11:  12: combinedDelegate.Invoke("Tom"); 13: Console.ReadLine(); 14: } 15: } 16: 17: public class Translator { 18: public void SayNameInFrench(string name) { 19: Console.WriteLine("J'ai m'appelle " + name); 20: } 21: 22: public void SayNameInEnglish(string name) { 23: Console.WriteLine("My name is " + name); 24: } 25: } A delegate can be removed from a combination of delegates by using the –= operator. Removing a delegate from an empty list or removing a delegate that does not exist in a non empty list will not result in an exception. Delegates are invoked synchronously using the Invoke method. We can also invoke them asynchronously using the BeginInvoke and EndInvoke methods which are compiler generated.

    Read the article

  • WebCenter Workshops and Seminars

    - by rituchhibber
    The following workshops and eSeminars are already scheduled. You are allowed to forward eSeminars and events with registration links to any interested Oracle partner or consulting employee. If links are missing, please contact the organizer to be invited for this workshop (and get a registration link). Oracle WebCenter Content Foundation October 16-18, 2012: Colombes, France Oracle ADF Foundation October 10 -12, 2012: Colombes, Paris, France WebCenter Content Management Webcenter Content Manager 11g Workshop (3 days to nominated partners) Oracle Image Process Mgmt I/PM Foundation WS (3 days to nominated partners) WebCenter Sites November 20th - 22nd, 2012: Madrid, Spain ADF - Oracle Application Development Framework ADF 11g Foundation Workshop (3 days to nominated partners) ADF 11g Advanced Workshop (4 days to nominated partners)

    Read the article

  • Unexpected behaviour with glFramebufferTexture1D

    - by Roshan
    I am using render to texture concept with glFramebufferTexture1D. I am drawing a cube on non-default FBO with all the vertices as -1,1 (maximum) in X Y Z direction. Now i am setting viewport to X while rendering on non default FBO. My background is blue with white color of cube. For default FBO, i have created 1-D texture and attached this texture to above FBO with color attachment. I am setting width of texture equal to width*height of above FBO view-port. Now, when i render this texture to on another cube, i can see continuous white color on start or end of each face of the cube. That means part of the face is white and rest is blue. I am not sure whether this behavior is correct or not. I expect all the texels should be white as i am using -1 and 1 coordinates for cube rendered on non-default FBO. code: #define WIDTH 3 #define HEIGHT 3 GLfloat vertices8[]={ 1.0f,1.0f,1.0f, -1.0f,1.0f,1.0f, -1.0f,-1.0f,1.0f, 1.0f,-1.0f,1.0f,//face 1 1.0f,-1.0f,-1.0f, -1.0f,-1.0f,-1.0f, -1.0f,1.0f,-1.0f, 1.0f,1.0f,-1.0f,//face 2 1.0f,1.0f,1.0f, 1.0f,-1.0f,1.0f, 1.0f,-1.0f,-1.0f, 1.0f,1.0f,-1.0f,//face 3 -1.0f,1.0f,1.0f, -1.0f,1.0f,-1.0f, -1.0f,-1.0f,-1.0f, -1.0f,-1.0f,1.0f,//face 4 1.0f,1.0f,1.0f, 1.0f,1.0f,-1.0f, -1.0f,1.0f,-1.0f, -1.0f,1.0f,1.0f,//face 5 -1.0f,-1.0f,1.0f, -1.0f,-1.0f,-1.0f, 1.0f,-1.0f,-1.0f, 1.0f,-1.0f,1.0f//face 6 }; GLfloat vertices[]= { 0.5f,0.5f,0.5f, -0.5f,0.5f,0.5f, -0.5f,-0.5f,0.5f, 0.5f,-0.5f,0.5f,//face 1 0.5f,-0.5f,-0.5f, -0.5f,-0.5f,-0.5f, -0.5f,0.5f,-0.5f, 0.5f,0.5f,-0.5f,//face 2 0.5f,0.5f,0.5f, 0.5f,-0.5f,0.5f, 0.5f,-0.5f,-0.5f, 0.5f,0.5f,-0.5f,//face 3 -0.5f,0.5f,0.5f, -0.5f,0.5f,-0.5f, -0.5f,-0.5f,-0.5f, -0.5f,-0.5f,0.5f,//face 4 0.5f,0.5f,0.5f, 0.5f,0.5f,-0.5f, -0.5f,0.5f,-0.5f, -0.5f,0.5f,0.5f,//face 5 -0.5f,-0.5f,0.5f, -0.5f,-0.5f,-0.5f, 0.5f,-0.5f,-0.5f, 0.5f,-0.5f,0.5f//face 6 }; GLuint indices[] = { 0, 2, 1, 0, 3, 2, 4, 5, 6, 4, 6, 7, 8, 9, 10, 8, 10, 11, 12, 15, 14, 12, 14, 13, 16, 17, 18, 16, 18, 19, 20, 23, 22, 20, 22, 21 }; GLfloat texcoord[] = { 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0 }; glGenTextures(1, &id1); glBindTexture(GL_TEXTURE_1D, id1); glGenFramebuffers(1, &Fboid); glTexParameterf(GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexParameterf(GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameterf(GL_TEXTURE_1D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexImage1D(GL_TEXTURE_1D, 0, GL_RGBA, WIDTH*HEIGHT , 0, GL_RGBA, GL_UNSIGNED_BYTE,0); glBindFramebuffer(GL_FRAMEBUFFER, Fboid); glFramebufferTexture1D(GL_DRAW_FRAMEBUFFER,GL_COLOR_ATTACHMENT0,GL_TEXTURE_1D,id1,0); draw_cube(); glBindFramebuffer(GL_FRAMEBUFFER, 0); draw(); } draw_cube() { glViewport(0, 0, WIDTH, HEIGHT); glClearColor(0.0f, 0.0f, 0.5f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); glEnableVertexAttribArray(glGetAttribLocation(temp.psId,"position")); glVertexAttribPointer(glGetAttribLocation(temp.psId,"position"), 3, GL_FLOAT, GL_FALSE, 0,vertices8); glDrawArrays (GL_TRIANGLE_FAN, 0, 24); } draw() { glClearColor(1.0f, 0.0f, 0.0f, 1.0f); glClearDepth(1.0f); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glEnableVertexAttribArray(glGetAttribLocation(shader_data.psId,"tk_position")); glVertexAttribPointer(glGetAttribLocation(shader_data.psId,"tk_position"), 3, GL_FLOAT, GL_FALSE, 0,vertices); nResult = GL_ERROR_CHECK((GL_NO_ERROR, "glVertexAttribPointer(position, 3, GL_FLOAT, GL_FALSE, 0,vertices);")); glEnableVertexAttribArray(glGetAttribLocation(shader_data.psId,"inputtexcoord")); glVertexAttribPointer(glGetAttribLocation(shader_data.psId,"inputtexcoord"), 2, GL_FLOAT, GL_FALSE, 0,texcoord); glBindTexture(*target11, id1); glDrawElements ( GL_TRIANGLES, 36,GL_UNSIGNED_INT, indices ); when i change WIDTH=HEIGHT=2, and call a glreadpixels with height, width equal to 4 in draw_cube() i can see first 2 pixels with white color, next two with blue(glclearcolor), next two white and then blue and so on.. Now when i change width parameter in glTeximage1D to 16 then ideally i should see alternate patches of white and blue right? But its not the case here. why so?

    Read the article

  • Skype support and dead parrot sketches

    - by Greg Low
    We as an industry have a lot to answer for. One thing is the level of support provided for users. Here's the conversation I'm having with Skype right now. It feels like being in a Monty Python skit. I was really hoping that when Microsoft purchased Skype that things might improve. 8:33:44 PM greglowInitial Question/Comment: Subscriptions (Unlimited Country, Unlimited Europe, Unlimited Region, Unlimited World)8:33:44 PM SystemThank you for contacting Skype Customer Support!8:33:49 PM SystemDonna Faye has joined this session!8:33:50 PM SystemConnected with Donna Faye8:33:50 PM SystemThank you for contacting Skype Customer Support!8:33:54 PM SystemPlease hold for the next available Live Support Agent.8:33:59 PM Donna FayeHello! Welcome to Skype Live Support! My name is Donna L. How may I help you?8:34:09 PM greglowI've got a subscription (skypename greglow)8:34:21 PM greglowIt's set to auto-renew8:34:45 PM greglowWhy have I been getting messages about my Skype number expiring, if it's set to renew automatically8:34:54 PM greglowand has recently renewed automatically8:35:09 PM Donna FayeThank you for the information.8:35:29 PM Donna FayeTo better assist you may I know your Skype name, please?8:35:37 PM greglowgreglow8:35:44 PM Donna FayeThank you.8:36:14 PM Donna FayeI understand your concern that you receive an email notification stating that your calling subscription will about to expire. Am I right?8:36:43 PM greglowNo, I got an email telling me that one of my Skype numbers was going to expire8:37:08 PM greglowWhen I went to the website, it said it was part of the subscription and the subscription was set to auto-renew8:37:18 PM greglowThe subscription auto-renewed on Oct XXth8:37:24 PM greglowBut the number still expired8:37:43 PM greglowWhen I logged on today, it said that the number had expired and that I had 52 days left to reactivate it8:37:58 PM greglowI did that but am trying to understand why that happens at all8:38:36 PM greglowWhy do you expire numbers that are part of auto-renewing subscriptions?8:39:49 PM Donna FayeUpon checking your account, your calling subscription link to three Online Numbers.8:39:55 PM greglowcorrect8:40:10 PM greglowbut until an hour or so ago, one of them had expired. why?8:40:54 PM Donna FayeLet me explain to you that now Online Number are detach to a calling subscription unlike before it was attach to the calling subscription so therefore each Online Number will recur individually.8:41:29 PM Donna FayeUpon checking your account it shows that all your Online Number will expire on October XX, 20138:41:44 PM Donna FayeIf you don't want to be charged again for you can cancel it anytime.8:41:59 PM greglowI have set it to charge automatically8:42:06 PM greglowso why do the numbers expire?8:42:32 PM Donna FayeNo they are not expired they are all active.8:42:33 PM greglowif there is an automatic payment set up, why does anything expire?8:42:52 PM greglowyes, but one of them was expired, and I only fixed it a few hours ago8:43:07 PM greglowI'm trying to understand why it expired8:44:54 PM Donna FayeThe email you got just notify you that you should have good enough funding source of your calling subscription and Online Number in order for this to recur.8:45:12 PM greglowAgreed. I did that but the number still expired. Why?8:45:38 PM Donna FayeHowever do not worry on this hence all Online Number are active and not expired.8:45:41 PM greglowWhen I logged on today it said that the number had expired and that I had 52 days left to reactivate it. Why did that happen?8:46:14 PM Donna FayeMay I know the Online Number you are pertaining, please?The number that had expired was (07) XXXX XXXX (Australia)8:49:19 PM Donna FayeOkay, do not worry on this Online Number because this will expire on October XX, 2013.8:49:38 PM Donna FayeThank you for all the information.8:49:46 PM greglowI understand that it won't expire now until next year. I'm trying to understand why it stopped working this time8:49:51 PM greglowso I can avoid that next time8:50:39 PM Donna FayeWhat do yo stop working, you mean that Online Number is unable to be reach out?8:50:59 PM Donna Faye*what do you mean by stop working8:51:18 PM greglowThe Skype number +61 7 XXXX XXXX stopped working because it expired8:51:32 PM Donna FayeNo, this into expired.8:51:34 PM greglowI'm trying to understand why it expired8:51:50 PM greglowSorry I don't follow "this into expired"8:52:39 PM Donna FayeLet me inform you that this Online Number is not expired.8:52:54 PM Donna FayePlease disregard the notification you see on your Skype account.8:53:02 PM greglowSorry, this is getting very frustrating. I already told you I fixed it today. I want to know why it happened.8:53:20 PM Donna FayeHence I can rest assured you that this is active until October XX, 2013.8:53:21 PM greglowSo I can avoid it happening again, on this account, or on our other accounts8:53:34 PM greglowCan I speak to someone who really understands this please?Donna FayeSkype send a notification to Skype users for their Skype product in order for them to be aware the expiration of your product however your Online Number still active on your account hence when your calling subscription Unlimited World recur your Online Number also recur. 8:57:59 PM Donna Faye I do apologize for this matter, please allow me to resolve this issue for you. 9:02:48 PM greglow My question is still the same: if it's set to auto-pay, why did it expire? 9:03:50 PM greglow Why did it stop working? Why did I have to "reactivate" it? 9:04:08 PM greglow Why didn't it just keep working if it's set to auto-pay? 9:04:30 PM greglow This isn't a difficult concept 9:04:34 PM Donna Faye Let me clarify to you that this is not the really expired what is emphasizing on this is when you don't have good enough funding source when you calling subscription recur the Online Number will possibly expired but seem that you have a good funding source then this will continue until 2013. 9:05:10 PM greglow When I logged on today, it was not working, and your website said it had expired and that I had 52 days left to reactivate it 9:05:17 PM greglow Why?and so on, and so on, and so on.... 

    Read the article

  • Replace Broadcom "wl" driver with "b43"

    - by Laszlo Boros
    I'm using Ubuntu 10.04.4 LTS, and in my laptop there is a Broadcom BCM4312 wlan card. lspci output: 04:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g (rev 01) Subsystem: Broadcom Corporation Device 04b5 Flags: bus master, fast devsel, latency 0, IRQ 18 Memory at f4500000 (64-bit, non-prefetchable) [size=16K] Capabilities: [40] Power Management version 3 Capabilities: [58] Vendor Specific Information Capabilities: [e8] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable- Capabilities: [d0] Express Endpoint, MSI 00 Capabilities: [100] Advanced Error Reporting Capabilities: [13c] Virtual Channel Capabilities: [160] Device Serial Number 81-ac-1d-ff-ff-12-54-92 Capabilities: [16c] Power Budgeting Kernel driver in use: wl Kernel modules: wl, ssb So as you can see, the current (and default) driver is wl - installed with jockey. But I have another Ubuntu based distribution on my laptop (BackTrack linux), which is also 10.04, but it has the b43 driver installed and the overall performance is MUCH better. So I would like to install it on this OS too, but even google didn't help me. So my question is how to install the latest b43 driver on my Ubuntu?

    Read the article

  • Drawing on a webpage – HTML5 - IE9

    - by nmarun
    So I upgraded to IE9 and continued exploring HTML5. Now there’s this ‘thing’ called Canvas in HTML5 with which you can do some cool stuff. Alright what IS this Canvas thing anyways? The Web Hypertext Application Technology Working Group says this: “The canvas element provides scripts with a resolution-dependent bitmap canvas, which can be used for rendering graphs, game graphics, or other visual images on the fly.” The Canvas element has two only attributes – width and height and when not specified they take up the default values of 300 and 150 respectively. Below is what my HTML file looks like: 1: <!DOCTYPE html> 2: <html lang="en-US"> 3: <head> 4: <script type="text/javascript" src="CustomScript.js"></script> 5: <script src="jquery-1.4.4.js" type="text/javascript"></script 6:  7: <title>Draw on a webpage</title> 8: </head> 9: <body> 10: <canvas id="canvas" width="500" height="500"></canvas> 11: <br /> 12: <input type="submit" id="submit" value="Clear" /> 13: <h4 id="currentPosition"> 14: 0, 0 15: </h4> 16: <div id="mousedownCoords"></div> 17: </body> 18: </html> In case you’re wondering, this is not a MVC or any kind of web application. This is plain ol’ HTML even though I’m writing all this in VS 2010. You see this is a very simple, ‘gimmicks-free’ html page. I have declared a Canvas element on line 10 and a button on line 11 to clear the drawing board. I’m using jQuery / JavaScript show the current position of the mouse on the screen. This will get updated in the ‘currentPosition’ <h4> tag and I’m using the ‘mousedownCoords’ to write all the places where the mouse was clicked. This is what my page renders as: The rectangle with a background is our canvas. The coloring is due to some javascript (which we’ll see in a moment). Now let’s get to our CustomScript.js file. 1: jQuery(document).ready(function () { 2: var isFirstClick = true; 3: var canvas = document.getElementById("canvas"); 4: // getContext: Returns an object that exposes an API for drawing on the canvas 5: var canvasContext = canvas.getContext("2d"); 6: fillBackground(); 7:  8: $("#submit").click(function () { 9: clearCanvas(); 10: fillBackground(); 11: }); 12:  13: $(document).mousemove(function (e) { 14: $('#currentPosition').html(e.pageX + ', ' + e.pageY); 15: }); 16: $(document).mouseup(function (e) { 17: // on the first click 18: // set the moveTo 19: if (isFirstClick == true) { 20: canvasContext.beginPath(); 21: canvasContext.moveTo(e.pageX - 7, e.pageY - 7); 22: isFirstClick = false; 23: } 24: else { 25: // on subsequent clicks, draw a line 26: canvasContext.lineTo(e.pageX - 7, e.pageY - 7); 27: canvasContext.stroke(); 28: } 29:  30: $('#mousedownCoords').text($('#mousedownCoords').text() + '(' + e.pageX + ',' + e.pageY + ')'); 31: }); 32:  33: function fillBackground() { 34: canvasContext.fillStyle = '#a1b1c3'; 35: canvasContext.fillRect(0, 0, 500, 500); 36: canvasContext.fill(); 37: } 38:  39: function clearCanvas() { 40: // wipe-out the canvas 41: canvas.width = canvas.width; 42: // set the isFirstClick to true 43: // so the next shape can begin 44: isFirstClick = true; 45: // clear the text 46: $('#mousedownCoords').text(''); 47: } 48: })   The script only looks long and complicated, but is not. I’ll go over the main steps. Get a ‘hold’ of your canvas object and retrieve the ‘2d’ context out of it. On mousemove event, write the current x and y coordinates to the ‘currentPosition’ element. On mouseup event, check if this is the first time the user has clicked on the canvas. The coloring of the canvas is done in the fillBackground() function. We first need to start a new path. This is done by calling the beginPath() function on our context. The moveTo() function sets the starting point of our path. The lineTo() function sets the end point of the line to be drawn. The stroke() function is the one that actually draws the line on our canvas. So if you want to play with the demo, here’s how you do it. First click on the canvas (nothing visible happens on the canvas). The second click draws a line from the first click to the current coordinates and so on and so forth. Click on the ‘Clear’ button, to reset the canvas and to give your creativity a clean slate. Here’s a sample output: Happy drawing! Verdict: HTML5 and IE9 – I think we’re on to something big and great here!

    Read the article

  • I manager della logistica a confronto

    - by Paolo Leveghi
    Il 4 di Aprile scorso una quindicina di manager della logistica appartenenti a diversi settori industriali (Retail, Consumer Goods, Natural Resources, etc) si sono ritrovati per un workshop di lavoro oganizzato da Oracle con la collaborazione di Assologistica. Il tema era libero: di cosa avreste bisogno per migliorare la logistica delle vostre aziende?  La discussione è stata viva e durata per più di tre ore. Gli spunti della serata, assieme a quelli che verranno fuori dall'analogo incontro che si svolgerà il 18 Aprile prossimo, saranno parte di una presentazione che verrà preparata da Assologistica e distribuita al suo network.

    Read the article

  • Unable to change the launcher icon size

    - by takeshin
    After upgrading to 11.10 I can't change the launcher icon size to smaller. I've tried to change it using ccsm, like described in How can I configure Unity, but the changes take no effects (restarted, tried sudo - still big icons). In the previous version of Ubuntu this solution worked. How can I change the icon size? (BTW, how can I know which Unity (2D vd 3D) I'm running and switch between?). Edit: Looks like I'm using Unity 2D and have some problems with graphics: me@my-laptop ~ $ /usr/lib/nux/unity_support_test -p Xlib: extension "GLX" missing on display ":0.0". Xlib: extension "GLX" missing on display ":0.0". Xlib: extension "GLX" missing on display ":0.0". Error: unable to create the OpenGL context Edit 2 me@my-laptop ~ $ lspci | grep VGA 00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18) 01:00.0 VGA compatible controller: nVidia Corporation GT218 [GeForce 310M] (rev a2)

    Read the article

  • Wordpress.com : les attaques subies par la plate-forme provenaient de Chine, les motivations seraient commerciales

    Wordpress.com : les attaques par déni de service provenaient de Chine Les motivations seraient commerciales Les attaques par Déni de Service de la fin de la semaine passée, les plus violentes jamais subies par la plateforme de blogues Wordpress.com, auraient eu comme point de départ la Chine et non pas le Moyen-Orient comme le laissaient entendre certains analystes. Les motivations des auteurs de ces attaques seraient par ailleurs commerciales et non pas politiques d'après les dernières déclarations à la presse des responsables d'Automattic, la société qui gère la plateforme aux 18 millions de sites. Automattic aurait découvert, en analysant la seconde attaque surv...

    Read the article

  • Chrome 6 déjà disponible pour les développeurs, deux semaines à peine après une beta de Chrome 5 ric

    Mise à jour du 18/05/10 Chrome 6 déjà disponible Pour les développeurs deux semaines à peine après la beta de Chrome 5 Les versions de Chrome, le navigateur de Google, se succèdent en continue. A peine deux semaines après l'arrivée d'une beta de Chrome 5 riche en nouveautés (lire ci-avant), l'équipe de développement vient d'annoncer celle de Chrome 6 sur le canal développeur. Pour l'instant, les évolutions par rapport à Chrome 5 sont minimes (par exemple, amélioration de la copie d'adresses Web et de la gestion de la barre d'adresse). Mais cette version 6 indique surtout que le travail sur la version 5 co...

    Read the article

  • La plateforme open source équivalente à .NET présente MonoDevelop 2.4, un environnement de développe

    Mise à jour du 18.06.2010 par Katleen La plateforme open source équivalente à .NET présente MonoDevelop 2.4, un environnement de développement accompagné de nouveautés Le projet Mono est un clone open source de la plateforme .NET de Microsoft. Son responsable, Miguel de Icaza, a annoncé il y a quelques heures l'arrivée de l'environnement de développement MonoDevelop 2.4, compatible avec Linux, Windows et Mac OS X. De nombreuses nouveautés en profitent pour faire leur entrée, parmis lesquelles : un moteur de navigation pour les fichiers, classes et méthodes ; de nouvelles fonctions d'autocomplétion ; une barre de recherche refondue ; une meilleure gestion des erreurs, etc. Le design a l...

    Read the article

  • ArchBeat Link-o-Rama Top 10 for June 23 - July 1 2012

    - by Bob Rhubart
    The top 10 most popular items as shared via my social networks for the week of June 23 - July 1 2012. Software Architecture for High Availability in the Cloud | Brian Jimerson How to Setup JDeveloper workspace for ADF Fusion Applications to run Business Component Tester? | Jack Desai Podcast: Public, Private, and Hybrid Clouds | OTN ArchBeat Podcast Read the latest news on the global user group community - June 2012 | IOUC Embrace 'big data' now or fall behind the competition, analyst warns | TechTarget ArchBeat Link-o-Rama Top 20 for June 17-23, 2012 Calculating the Size (in Bytes and MB) of a Oracle Coherence Cache | Ricardo Ferreira A Universal JMX Client for Weblogic –Part 1: Monitoring BPEL Thread Pools in SOA 11g | Stefan Koser Progress 4GL and DB to Oracle and cloud | Tom Laszewski BPM – Disable DBMS job to refresh B2B Materialized View | Mark Nelson Thought for the Day "On Monday, when the sun is hot I wonder to myself a lot: 'Now is it true, or is it not, That what is which and which is what?'" — A. A. Hodge (July 18, 1823 – November 12, 1886) Source: ThinkExist.com

    Read the article

  • The Big Announcement, This Year, at Devoxx 2011!

    - by Yolande
    Stephan Janssen started the developer conference with his traditional "Welcome and Announcements" and this year announced Devoxx France, the new and only Devoxx conference outside of Belgium. It will take place in Paris, April 18 to 20, 2012. The Paris Java user group is organizing the 3 day conference. The conference is designed after Devoxx with Tools in Action, Labs, BOFs and Quickies and with one university day and 2 conference days. The model works well since Stephan turns down attendees every year. The content will be 75% in French and 25% in English. Call for papers opened today. Oracle will be a sponsor the event! 

    Read the article

  • Oracle - A Leader in Gartner's MQ for Master Data Management for Customer Data

    - by Mala Narasimharajan
      The Gartner MQ report for Master Data Management of Customer Data Solutions is released and we're proud to say that Oracle is in the leaders' quadrant.  Here's a snippet from the report itself:  " “Oracle has a strong, though complex, portfolio of domain-specific MDM products that include prepackaged data models. Gartner estimates that Oracle now has over 1,500 licensed MDM customers, including 650 customers managing customer data. The MDM portfolio includes three products that address MDM of customer data solution needs: Oracle Fusion Customer Hub (FCH), Oracle CDH and Oracle Siebel UCM. These three MDM products are positioned for different segments of the market and Oracle is progressively moving all three products onto a common MDM technology platform..." (Gartner, Oct 18, 2012)  For more information on Oracle's solutions for customer data in Master Data Management, click here.  

    Read the article

  • Developing a new complex travel website

    - by Kay
    We need to develop a completely new website for customers to choose a travel product with a contract. It needs to interface to our inventory to take the conference facility, hotel rooms etc. out of inventory once a contract has been signed (e-signature) and deposit paid. If you were starting from scratch, would you in-house or contract? If in-house, what development tools should I evaluate primarily - sharepoint, ASP.net? We are a small IT shop but we could hire 1-2 developers for this. We need to get something up in 12-18 months.

    Read the article

  • WIF-less claim extraction from ACS: SWT

    - by Elton Stoneman
    WIF with SAML is solid and flexible, but unless you need the power, it can be overkill for simple claim assertion, and in the REST world WIF doesn’t have support for the latest token formats.  Simple Web Token (SWT) may not be around forever, but while it's here it's a nice easy format which you can manipulate in .NET without having to go down the WIF route. Assuming you have set up a Relying Party in ACS, specifying SWT as the token format: When ACS redirects to your login page, it will POST the SWT in the first form variable. It comes through in the BinarySecurityToken element of a RequestSecurityTokenResponse XML payload , the SWT type is specified with a TokenType of http://schemas.xmlsoap.org/ws/2009/11/swt-token-profile-1.0 : <t:RequestSecurityTokenResponse xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust">   <t:Lifetime>     <wsu:Created xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2012-08-31T07:31:18.655Z</wsu:Created>     <wsu:Expires xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">2012-08-31T09:11:18.655Z</wsu:Expires>   </t:Lifetime>   <wsp:AppliesTo xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy">     <EndpointReference xmlns="http://www.w3.org/2005/08/addressing">       <Address>http://localhost/x.y.z</Address>     </EndpointReference>   </wsp:AppliesTo>   <t:RequestedSecurityToken>     <wsse:BinarySecurityToken wsu:Id="uuid:fc8d3332-d501-4bb0-84ba-d31aa95a1a6c" ValueType="http://schemas.xmlsoap.org/ws/2009/11/swt-token-profile-1.0" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"> [ base64string ] </wsse:BinarySecurityToken>   </t:RequestedSecurityToken>   <t:TokenType>http://schemas.xmlsoap.org/ws/2009/11/swt-token-profile-1.0</t:TokenType>   <t:RequestType>http://schemas.xmlsoap.org/ws/2005/02/trust/Issue</t:RequestType>   <t:KeyType>http://schemas.xmlsoap.org/ws/2005/05/identity/NoProofKey</t:KeyType> </t:RequestSecurityTokenResponse> Reading the SWT is as simple as base-64 decoding, then URL-decoding the element value:     var wrappedToken = XDocument.Parse(HttpContext.Current.Request.Form[1]);     var binaryToken = wrappedToken.Root.Descendants("{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}BinarySecurityToken").First();     var tokenBytes = Convert.FromBase64String(binaryToken.Value);     var token = Encoding.UTF8.GetString(tokenBytes);     var tokenType = wrappedToken.Root.Descendants("{http://schemas.xmlsoap.org/ws/2005/02/trust}TokenType").First().Value; The decoded token contains the claims as key/value pairs, along with the issuer, audience (ACS realm), expiry date and an HMAC hash, which are in query string format. Separate them on the ampersand, and you can write out the claim values in your logged-in page:     var decoded = HttpUtility.UrlDecode(token);     foreach (var part in decoded.Split('&'))     {         Response.Write("<pre>" + part + "</pre><br/>");     } - which will produce something like this: http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationinstant=2012-08-31T06:57:01.855Z http://schemas.microsoft.com/ws/2008/06/identity/claims/authenticationmethod=http://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/windows http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname=XYZ http://schemas.xmlsoap.org/ws/2005/05/identity/claims/[email protected] http://schemas.xmlsoap.org/ws/2005/05/identity/claims/[email protected] http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider=http://fs.svc.xyz.com/adfs/services/trust Audience=http://localhost/x.y.z ExpiresOn=1346402225 Issuer=https://x-y-z.accesscontrol.windows.net/ HMACSHA256=oDCeEDDAWEC8x+yBnTaCLnzp4L6jI0Z/xNK95PdZTts= The HMAC hash lets you validate the token to ensure it hasn’t been tampered with. You'll need the token signing key from ACS, then you can re-sign the token and compare hashes. There's a full implementation of an SWT parser and validator here: How To Request SWT Token From ACS And How To Validate It At The REST WCF Service Hosted In Windows Azure, and a cut-down claim inspector on my github code gallery: ACS Claim Inspector. Interestingly, ACS lets you have a value for your logged-in page which has no relation to the realm for authentication, so you can put this code into a generic claim inspector page, and set that to be your logged-in page for any relying party where you want to check what's being sent through. Particularly handy with ADFS, when you're modifying the claims provided, and want to quickly see the results.

    Read the article

  • KOSTENFREIE PRÜFUNGS-GUTSCHEINE - JETZT SICHERN!

    - by michaela.seika(at)oracle.com
    Nutzen Sie die Gelegenheit und kommen Sie während der CeBIT zum Oracle Implementation Specialist Prüfungstag für Oracle Applications, Middleware und Hardware. Um Zeit und Ressourcen optimal einzusetzen, haben Sie am 2. März die Möglichkeit die Implementation Specialist Prüfung direkt vor Ort in Hannover abzulegen.Bitte leiten Sie diese Einladung an Ihre entsprechenden Kollegen weiter, um die Prüfung rechtzeitig einzuplanen: www.pearsonvue.com. Voraussetzung für die Teilnahme ist eine gültige OPN Mitgliedschaft. Der Prüfungsort ist bei den Multi Media Berufsbildenden Schulen (MMBSS), Explo Plaza3, 30539 Hannover.Ihre Registrierung für den Implementation Prüfungstag richten Sie bitte an Frau Michaela Seika bis 18. Februar mit folgenden Daten: Firma, Prüfling & Kontaktdaten, Oracle Company-ID, EDU-PIN, Ja/Nein für die Zuteilung eines Prüfungs-Gutscheins.Bitte um Beachtung die kostenfreien Prüfungs-Gutscheine sind nur bis 2. März 2011 gültig. (Pro Unternehmen werden maximal zwei Gutscheine ausgegeben).

    Read the article

  • Les dessous de la transaction SAP-Sybase, quelles sont les véritables motivations de ce rachat

    Mise à jour du 18.05.2010 par Katleen Les dessous de la transaction SAP-Sybase, quelles sont les véritables motivations de ce rachat L'annonce la semaine dernière du rachat de Sybase par SAP attise la curiosité des analystes financiers du monde entier. Beaucoup veulent comprendre pourquoi 5.8 milliards de dollars ont été mis sur la table dans cette affaire. Economiquement parlant, il s'agit d'une bonne nouvelle et d'un signe de reprise des activités pour SAP, après le recul des revenus de 8% que le groupe avait subi en 2009. Concernant Sybase, les derniers chiffres trimestriels montrent une hausse de 25% du chiffre d'affaires sur les licences de bases de données ; et de 23% pour celu...

    Read the article

  • Linux : le kernel 2.6.34 est stable, il introduit deux nouveaux systèmes de fichiers pour remplacer

    Mise à jour du 18/05/10 Le kernel 2.6.34 disponible en version stable Il introduit deux nouveaux systèmes de fichiers pour remplacer le ext4 et gérer la mémoire Flash Le kernel 2.6.34 est à présent disponible en version stable. Trois mois après la précédente version majeure du noyau (cf ci-avant), ce nouveau kernel propose deux nouveaux systèmes de gestion de fichiers. Le premier est issu du projet Ceph et sépare les données des méta-données. Ce système de fichier distribué peut faire penser à Lustre d'Oracle (utilisé par exemple dans les supercalculateurs). Même si Ceph, toujours assez expérimental, n'est pas aussi per...

    Read the article

  • Community Day at SOS Kinderdorf Bambous

    Easter is not only an occassion of public holidays but an opportunity to share and celebrate with your neighborhood. The team of IOS Indian Ocean Software Ltd. spent Easter Monday with the children and "mothers" of SOS Children's Village in Bambous. Together with the employees' family members we enjoyed some wonderful hours together. Starting the community day with a common lunch, IOS contributed mainly stationery, educational gifts and games like Scrabble or Sudoku. And of course, a little give-away with chocolate eggs... The kids are aged between 5 and 18 years. They live together with their village mothers in so-called family houses. The SOS Kinderdorf in Bambous is quite new and started their operations back in 2003, with an official inauguration in May 2005. Actually, I'm really happy about this event and I am looking forward to IOS next community activity. Community off-line and for real people, not only virtual!   PS: Article in L'Express of 09.04.2010

    Read the article

  • Windows 8 : L'OS pourrait embarquer Internet Explorer 10 à sa sortie, et le navigateur serait tactile

    Windows 8 : L'OS pourrait embarquer Internet Explorer 10 à sa sortie, et le navigateur serait tactile Mise à jour du 18.03.2011 par Katleen Et c'est parti pour une rumeur de plus. Celle-ci vient de Chine, et affirme que Microsoft prévoirait de sortir la prochaine version d'Internet Explorer avec Windows 8. Les deux programmes seraient même liés, puisque le navigateur serait intégré à l'OS. De plus, comme ce système à venir devrait logiquement être recentré sur le Cloud Computing et optimisé pour les tablettes (voir les news précédentes), il semble logique à certains de dire que IE10 sera tactile. Les prochains mois pourraient donc voir arriver un package "touch friendly", si ces supposition...

    Read the article

  • College for Game Development [closed]

    - by Cole Adams
    I am currently a Freshman Computer Science Major at Samford University, but I am realizing that the actual field I want to get into is Game Development. I go to all of these classes that are supposed to make you well rounded that have nothing to do with what I want to do and frankly, after 18 years of schooling, I am sick of having to be in classes like that. I want to go to a Game Design/Development school where that is the priority and I am not overburdened with useless classes. At this point I am so tired of the Samford classes already that I am heavily considering taking next semester off and just getting a job and focusing on learning programming on my own or something like that. My question is what would be some good schools to apply to for enrollment in 2013 and what does it take to get into these schools? Thanks in advanced.

    Read the article

  • BI Publisher at OpenWorld 2012

    - by mdonohue
    For those going to OpenWorld, hope you can join us for any of the following Sessions, Hands On Labs or just stop by and visit us in the DEMOgrounds: Moscone South S-262 Oracle Business Intelligence Publisher Overview, What’s New, and What’s Planned Monday, 1-Oct 13:45 - 14:45Moscone South - 305Mike Donohue - Oraclewith Ed Farler - CSC Oracle Business Intelligence Publisher: Reporting for Oracle Applications Wednesday, 3-Oct 11:45 - 12:45Palace Hotel - RoseMike Donohue - OracleNote: new room to accommodate everyone who pre-registered Oracle Business Intelligence Publisher Best Practices: Be a Reporting Superstar Wednesday, 3-Oct 15:30 - 16:30Moscone South - 305Nikos Psomas & Klaus Fabian - Oracle Two sessions of the Hands on Lab:  Building Reports and Data Models in Oracle Business Intelligence Publisher Tuesday 2-Oct 17:00 - 18:00andThursday 4-Oct 11:15 - 12:15Marriott Marquis - Salon 5/6Nikos Psomas, Klaus Fabian & Kasturi Shekar -- Oracle You can also download the Focus on BI Publisher sheet that lists all Publisher related Sessions, Labs and DEMOground stations. Hope to see you there.

    Read the article

  • Microsoft sort la version finale de son application Tag, qui permet aux smartphones de lire des code

    Microsoft sort la version finale de son application Tag, qui permet aux smartphones de lire des code-barres La technologie de Microsoft permettant de lire les codes-barres pour mobiles, vient d'en terminer avec la phase de bêta testing. Une version finale de Tag est désormais disponible au téléchargement, après 18 mois de développement. Son principe n'est pas nouveau : des code-barres présents à divers endroits (magazines, panneaux d'affichage, etc.) sont scannés par l'appareil photo d'un smartphone puis décodés grâce à un logiciel spécifique (gratuit et compatible avec Android, BlackBerry, iPhone, Symbian, PalmOS et, bien sur, Windows Mobile). Lorsque le Tag est déchiffré, la commande qu'il contient est lancée : lan...

    Read the article

< Previous Page | 146 147 148 149 150 151 152 153 154 155 156 157  | Next Page >