|
Sagas come out of the realization that particularly long-lived transactions (originally even just inside databases), but also far distributed transactions across location and/or trust boundaries can't eaily be handled using the classic ACID model with 2-Phase commit and holding locks for the duration of the work. Instead, a Saga splits work into individual transactions whose effects can be, somehow, reversed after work has been performed and commited. Tune in next week when you'll hear the thrilling conclusion to this pattern...
|
|
|
|
|
So, a saga is merely a repackaged commit-system? With the explicit explanation that you should use the "smallest" set of commands in a transaction possible?
Bastard Programmer from Hell
if you can't read my code, try converting it here[^]
|
|
|
|
|
Terrence Dorsey wrote: individual transactions whose effects can be, somehow, reversed after work has been performed and commited
aka : "undo"
|
|
|
|
|
I gave a talk at #DDD10 this Saturday about keeping JS sane. I had some questions after about the list of things I ran through so documented in all its glory are my current thoughts on development with a dynamic language like JavaScript. Javascript sucks and it doesn’t matter (that it sucks)
|
|
|
|
|
These operator keywords are a powerful tool, one that many of us don’t know about or we forget that they are available to us. Let’s try to make better use of these native language features, as they will help us improve our class design by keeping all of our object’s conversion concerns in one location. Until next time, may all your code compile, and all of your unit test pass!
|
|
|
|
|
More discussion of this post over here[^].
Director of Content Development, The Code Project
|
|
|
|
|
Let us now, step by step, our first sketch to use the shield using the Arduino IDE version 1.00. We will write a program that when it receives a call from a preset number (stored in a specific location on the SIM), rejects the call and sends an SMS in response to the caller with the value read from an input. That's right: turn your Arduino into a phone... with working example code.
|
|
|
|
|
Like everything they build, engineers at NASA's Jet Propulsion Laboratory (JPL) designed Curiosity's Sky Crane landing system to work. But nothing is guaranteed in spaceflight. The team wouldn't know for sure whether the mission's entry, descent, and landing (or EDL) was successful until they got confirmation from the rover. The problem was that Curiosity's landing site in Gale Crater would be out of range at touchdown, so the team brought in a communications relay: the Mars Odyssey orbiter. It was a simple and obvious solution, except that Odyssey experienced its first ever malfunctions weeks before Curiosity's landing.... You have to have been out on a long patrol to appreciate this properly.
|
|
|
|
|
Several weeks ago Steven Degutis posted the slides from his excellent presentation, The quest for the perfect programming language. In reading his slides I was reminded of a blog post made back in 2007 by Steve Yegge called The Next Big Language. With the benefit of hindsight that history provides, I would like to revisit the major points of Yegge’s Next Big Language, and address them in the context of Go. Is Go the next big thing? Probably not, but an interesting read nonetheless.
|
|
|
|
|
Node is popular with new programmers, and it’s popular because it makes concurrency easy. Yet strangely it isn’t a good fit for high concurrency applications because it isn’t robust. And how many new programmers are jumping straight into concurrency? What to make of that? In there lies, I believe, part of the secret of Node’s success. Node.js, aspirational marketing and you.
|
|
|
|
|
I like Ben Brown's take on password-less logins, which motivated me to explore his direction further: Could we skip usernames and all the other steps too? My idea lends heavily on his work, OAuth (and others I’m sure.) Let’s turn to the server to learn how it works... Ah yes! If only he'd used his anti-login raygun for niceness instead of evil!
|
|
|
|
|
|
This is not the place for jokes.
modified 3-Sep-12 13:42pm.
|
|
|
|
|
Article from http://news.cnet.com/[^]
Only hours after Oracle released its latest Java 7 update to address active exploits, security researchers found yet another vulnerability that can be exploited to run arbitrary code on systems that have the runtime installed.
Oracle's latest release of its Java 7 runtime has come under scrutiny in the past few weeks after it was found being actively exploited in malware attacks that target Windows systems. While so far the vulnerability has only been found being used against Windows, other platforms such as the Mac OS could potentially be targeted through the same exploit.
In response to these findings, Oracle broke its quarterly update schedule for Java and released update 7 for the runtime; however, even after this update, yet more vulnerabilities have been found.
According to MacWorld, the Polish security firm Security Explorations is claiming to have discovered two new vulnerabilities in Java 7, which so far are proof-of-concept exploits that can be used to break the Java 7 sandbox and execute code. However, as with any vulnerability this opens new avenues for malware attacks.
Security Explorations is keeping the details about these latest vulnerabilities secret until Oracle addresses the problem, and has only stated that when exploited they allow rogue Java applets to break the Java sandbox and execute arbitrary code on the system.
Being only proof-of-concept attacks means that for now they should not pose much of a threat to Java users, and Oracle should address them in future updates. However, Oracle has recently met some criticism for its lackadaisical approach to addressing some known exploits. According to PCWorld, Oracle has known about these and other exploits since April of this year, and has not taken steps to close them.
These latest developments serve as a warning against using Java when not needed and also prematurely updating Java. Java 7 is still very early in its development, being only the seventh release so far, whereas prior runtimes have received over 30 updates to patch and manage vulnerabilities. As a result, if you need Java then you might consider installing a prior runtime version that has been well-tested, but if you do not need Java then you might consider avoiding installing it or removing it from your system if it is already installed.
Java 7 is an optional third-party installation for its supported operating systems, so only those who have installed it should be cautious of these vulnerabilities.
Thanx
~Karthik
|
|
|
|
|
|
The Courier-Mail[^]
A total of 17 of 20 government departments face disruption from April 8, 2014, when Microsoft support for Windows XP expires. The system will also be vulnerable to Trojan horse-style viruses.
No comment possible
Bryce
|
|
|
|
|
Same problem everywhere; I expect some local government-departments will be asking to migrate their VB6-code somewhere in 2016.
Bastard Programmer from Hell
if you can't read my code, try converting it here[^]
|
|
|
|
|
Crap. I better upgrade from IE6.
/ravi
|
|
|
|
|
The information in this article is how commonly used Windows Phone APIs and XAML features map (or do not map) to their Windows 8 counterparts. There won’t be a lot of dialog in this article. I’ll mention what the API is used for, show the Windows Phone version and show the Windows 8 version. If there are any important tricks to note, I’ll list those too. Which raises the question: why do these APIs need to be different at all?
|
|
|
|
|
Are there any performance implications in using C++ vs. C ? In theory, the two languages should be equivalent. Object-orientedness is after all just a syntactic sugar on the top of procedural language, making the code more understandable to the human brain which seems to have evolved natural ability to deal with objects at the expense of dealing with entities such as flows, relations etc. Though they share similar syntax and semantics, are C and C++ fundamentally different languages?
|
|
|
|
|
This website is here to guide you through the process of developing very basic operating systems on the Raspberry Pi! This course takes you through the basics of operating systems development in assembly code. I have tried not to assume any prior knowledge of operating systems development or assembly code. It may be helpful to have some programming experience, but the course should be accessible without. This course is divided into a series of 'lessons' designed to be taken in order as below. Each 'lesson' includes some theory, and also a practical exercise, complete with a full answer. Build a Computer from Scratch 101
|
|
|
|
|
One of Common Lisp’s more advanced features is its condition handling system, which is a powerful generalisation of other languages’ exception handling systems. I first became aware of condition handling from Peter Seibel’s Practical Common Lisp, chapter 19. But if I’m honest I’ve only very recently understood what it meant; it seems to assume a higher proficiency with Lisp, and I find the S-expressive examples more of a hindrance than a help. Sorry, Lispers. So instead I’m going to walk through condition handling, with a more thorough explanation of the rationale, and with pseudo-Python examples. ...or "The Trouble with Exceptions."
|
|
|
|
|
Here comes a harsh fact of life: game programming requires mathematics. One could say that programming IS, in a way, math, but you don’t really need to know math to write the vast majority of programs. Games, however, very often rely on mathematics. If you want objects to move across your world realistically, or if you want to draw things on the screen following certain geometric patterns, or if you want to check for collision between certain shapes, you need math. But don’t despair! Even though I say “math”, what you ACTUALLY need is geometry. Luckily for us, geometry is probably the easiest part of mathematics! Sine of the times: a great multi-part series on math and game programming.
|
|
|
|
|
I would not say that programming is, in any way, math. I would say that it uses maths, but never math.
|
|
|
|
|
Lots of new Windows 8 and Windows RT machines were on show at IFA in Berlin this week, many of them being given their first outing in public. Clamshell keyboard docks adorned many of the tablets. These keyboard docks typically included extra ports and extra batteries, and most importantly of all, a hinge, so the screen could be positioned at any angle relative to the keyboard, and so that you can shut them up and use them like laptops. You could call them tablets with keyboard docks, but you'd be forgiven for calling them laptops with tear-off screens. A netbook by any other name would be a Surface tablet.
|
|
|
|