 |

|
A $15m computer that uses "quantum physics" effects to boost its speed is to be installed at a Nasa facility. It will be shared by Google, Nasa, and other scientists, providing access to a machine said to be up to 3,600 times faster than conventional computers. Unlike standard machines, the D-Wave Two processor appears to make use of an effect called quantum tunnelling. This allows it to reach solutions to certain types of mathematical problems in fractions of a second. Effectively, it can try all possible solutions at the same time and then select the best. Some skeptics say this isn't real quantum computing. What do you think?
|
|
|
|

|
I am an ASP.NET MVP, author of an O'Reilly title "Building a Web 2.0 portal with ASP.NET 3.5". I have written 48 articles on CodeProject. In this installment we talk to Omar Al Zabir, a four time MVP legend on CodeProject.
|
|
|
|

|
In this series of articles, I'm going to go through some of the mistakes I frequently see people making who are attempting to write benchmarks in C#.... If you reward people for making a measurable improvement in memory usage, don't be surprised if time performance gets worse, and vice versa. If you reward improvement rather than achieving a goal then you can expect that they'll keep trying to make improvements even after the goal has been achieved (or worse, even if it is never achieved!) Eric Lippert thinks you're probably doing it wrong. Here's what you should be measuring.
|
|
|
|

|
A memory allocator's responsibility is to manage free blocks of memory. If you've never read a malloc implementation, you may have assumed that calling free simply causes memory to be released to the operating system. But acquiring memory from the OS has a cost, so allocators tend to keep free chunks around for a while for possible re-use before deciding to release them. Inside a very basic malloc implementation.
|
|
|
|

|
Today I got caught up reading a back and forth in twitter about a proposed assertion syntax for Ruby testing frameworks. It was interesting, but yet again it was about how to make tests 'read well.' It's hard to disagree with that, right? Well, I don't in principle, I just think about the amount of time we spend trying to warp programming syntax into English and I wonder whether it is really worth it.... The thing I wanted to blog about is the clash between this natural language style of programming and the other sorts of programming we do. The code should tell a story. Often, it's a tale of woe.
|
|
|
|

|
In this post, I’m going to show you how I made a Lisp to Javascript compiler. I really enjoy programming in Clojure but have often thought that the JVM isn’t always the best platform for scripts due to the slow JVM start-up. So, I decided to implement a simple version of Clojure that compiles to Javascript and can be run on top of nodejs. Compilers are notoriously hard to understand and therefore make for great mind-bending exercises. Exactly my idea of weekend fun. Let's compile all the things to JavaScript... the language everyone claims to hate.
|
|
|
|

|
As a die hard refactorer, but also pragmatic programmer, I often have a tough time articulating to other developers when a refactor is important and when it is gratuitous. I can imagine many people look at decisions I've made about when it is and isn't appropriate and think it's simply a whim or "when I feel like it". To clarify this for both myself and any future victims/co workers involved with refactoring decisions I may make, I submit this 10 item checklist. Note, writing test cases is a form of refactoring.
|
|
|
|

|
Google delivered some news for users of its Cloud Platform stable of services at its I/O event on Wednesday. Its Compute Engine service — which competes with Amazon Web Services — will now be available to all users, not just those willing to shell out $400 for support. But it also announced the addition of the most commonly requested feature for its App Engine platform cloud: support for the PHP programming language. I was really hoping for a COBOL to JavaScript compiler.
|
|
|
|

|
Open source software simply wouldn’t exist without the countless volunteers who give of their time to contribute to projects. These volunteers are the maintainers, contributors and advocates that make the OSS world go round.... While it may appear that its up to these contributors to take the initiative to put themselves out there, it’s important to remember that its also up to the project creators and maintainers to help pave the way. If an open source project has no contributors, how open is it?
|
|
|
|

|
The plans for Strongbox started nearly two years ago. Kevin Poulsen, investigations editor at Wired magazine, described how he built the tool with Aaron Swartz, who took on the coding for the project. Strongbox runs on the open-source DeadDrop. Through Strongbox, sources can securely and anonymously contact the New Yorker by accessing the New Yorker’s network on the Tor Project. Aaron Swartz's parting gift: safety for wistleblowers.
|
|
|
|

|
I find Google’s evolution quite intriguing. While I think there’s always a danger to judge Google (or Apple) in terms of rumors, I think it fair to try and infer their product strategy from their actions and announcements.... Here are a few thoughts from the announcements at Google IO so far. Note that I’m just going by the announcements. It may be that when these are released as actual products to the public some of my concerns may already be addressed. What do you think of Google's announcements this week?
|
|
|
|

|
Google used its biggest event of the year to reveal a major overhaul to Google Maps, an ambitious messaging initiative called Hangouts, and a redesigned Google+ filled with new features. The three-day long developer event is taking place between Wednesday, May 15th and Friday the 17th for 2013. Google has a lot in store for the event, and you can follow along here for the latest. Not even Google provides a one-stop source for all their I/O announcements.
|
|
|
|

|
CodeProject.TV interviews Zeeshan Syed, Founder of Hak Studio and one of the recent winners of AngelHack Global in San Francisco. Our coder interviews are going video! Tune in and meet Zeeshan Syed.
|
|
|
|

|
GIT works great with the new Team Foundation Service (TFSvc?). I’m an old school Tortoise guy (SVN, Hg, GIT), but I had to laugh at the little branding touch they through in when doing a pull. Notice the Visual Studio logo in ASCII art. I’ve actually been using it for some time, but I hadn’t notice that until today. The good news is that this is just GIT.
|
|
|
|

|
I watched the dotNetConf .NET Open Source Panel last week. It was a bit disappointing to hear defeatism in the voices of OSS project leaders, because .NET’s future appears to rely entirely on the success of open source software for .NET. Here are a couple reasons... It feels as if Microsoft has shifted focus away from .NET, and with the focus goes resources and innovation.
|
|
|
|

|
In order to understand Asm.js and where it fits into the browser you need to know where it came from and why it exists. Asm.js comes from a new category of JavaScript application: C/C++ applications that’ve been compiled into JavaScript. It’s a whole new genre of JavaScript application that’s been spawned by Mozilla’s Emscripten project. Emscripten takes in C/C++ code, passes it through LLVM, and converts the LLVM-generated bytecode into JavaScript (specifically, Asm.js, a subset of JavaScript). This is how we get the Unreal engine running in a browser.
|
|
|
|

|
I have had a love/hate relationship with regular expressions in the past. Reading or writing a regular expression typically made me feel like I was toying with a broken Rubiks Cube. However, after I would fiddle an expression into submission, almost by accident, and it did its job, I would become enamored with its brevity and power. It wasn't until I re-adjusted my thoughts on the nature of regular expressions that my fear of them turned into pleasure. After you read this long tutorial on regex, you could probably summarize it using regex.
|
|
|
|

|
At the end of a CMS collection its possible for some objects to not have been deleted - this is called Floating Garbage. This happens when objects become de-referenced since the initial mark. The concurrent preclean and the remark phase ensure that all live objects are marked by looking at objects which have been created, mutated or promoted. If an object has become dereferenced between the initial mark and the remark phase then it would require a complete retrace of the entire object graph in order to find all dead objects. This is obviously very expensive, and the remark phase must be kept short since its a pausing phase. This isn't necessarily a problem for users of CMS since the next run of the CMS collector will clean up this garbage. Part of a series on implementing GC in a Java app.
|
|
|
|

|
A few month back, Apple quietly slipped a very nice Objective-C to Javascript bridge into WebKit.... This new API supports straightforward embedding of the JavaScriptCore interpreter into native Objective-C projects, including reading and writing variables and object members with appropriate type coercion, calling methods on JavaScript objects, and directly binding Objective-C objects into JavaScript. It seems likely that this API is going to become public in Mac OS X 10.9 (where JavaScriptCore is already a public framework), and it might be a hint of an eventual public API on iOS. Either way, a new option for building hybrid JavaScript apps is here. The start of Apple’s evolution away from Objective-C?
|
|
|
|

|
It's often said that the web needs a bytecode.... basically the point is that people want to use various languages on the web, and they want those languages to run fast. Bytecode VMs have been very popular since Java in the 90's, and they show that multiple languages can run in a single VM while maintaining good performance, so asking for a bytecode for the web seems to make sense at first glance. JavaScript is already very close to providing what a bytecode VM is supposed to offer.
|
|
|
|

|
Writing a good README is easy. You just need to know what information is required for developers to use and understand the application. Here’s some Rails-centric information I include in the READMEs I write for The Frontier Group... [This file left intentionally blank.]
|
|
|
|

|
Google has product lines on three platforms: web, mobile, and desktop. If you’re heavily invested in its web apps, Android makes a lot of sense. Its integration with your Google account helps it do amazing things. Google Now, for example, combines your location with the wealth of data the company knows about you to, say, automatically pop up your boarding pass at the airport. Or display directions to your hotel when you land. It would be creepy were it not so helpful. (OK, maybe it is a little creepy.) Google needs to make that same impression with Chrome. Instead, there’s a divide between its desktop efforts and other aspects of the business. Two different operating systems, two different experiences. Google doesn’t offer the advantage of an integrated stack.
|
|
|
|

|
The debate to nail down the long overdue Do Not Track (DNT) standard continued at the W3C Tracking Protection Working Group face-to-face meeting in Sunnyvale last week. Despite a less hostile tone in the room, there seemed to be no clear path forward towards agreement regarding the core issue of ensuring that the standard provides users with enough privacy protection to justify its existence. With the group set to begin winding down in July, there is a lot of uncertainty about whether a consensus standard can be reached with such a short time frame, and if no consensus standard emerges, what will happen next. Users want DNT to limits collection and retention of data. But users aren't at the table...
|
|
|
|

|
There's a thought in neuroscience/psychological circles that words are much more than sounds that represent things: they are the abstraction of our higher brain function. Words are language, code is language. Restricting yourself to one or two languages is limiting your cognitive abilities. Whoa! I know kung fu.
|
|
|
|

|
Format string vulnerabilities are a pretty silly class of bug that take advantage of an easily avoidable programmer error. If the programmer passes an attacker-controlled buffer as the argument to a printf (or any of the related functions, including sprintf, fprintf, etc), the attacker can perform writes to arbitrary memory addresses. Behold, the printf of doom.
|
|
|
|

|
The problem with talking about functionality not in the current release sets expectations and distracts from marketing what’s already wonderful about what you’re selling. All you’re doing is diminishing the product you’re selling. You are also making a promise to your customers that you may need to break down the road if priorities change (or Apple implements new OS features that force your hand). Bonus: 5 tips on the right way to run a software company.
|
|
|
|

|
In the dark old days of the late 1990s and early 2000s, debates would rage about whether open source software is as good as proprietary software. And it was all a matter of opinion. Then, in 2006, the Department of Homeland Security partnered with a software code analysis company called Coverity to examine open source code for security vulnerabilities and software defects. Each year since, Coverity has published a report on the quality of open source code.... But the latest report, published on Wednesday, found something new: the code quality of open source projects tends to suffer when they surpass 1 million lines of code, whereas proprietary code bases continue improve when they pass that mark. Next question: who really needs 1 million lines of code?
|
|
|
|

|
With a nod to Vivek Gite and his popular 20 Linux System Monitoring Tools Every SysAdmin Should Know article, we present "20 Windows Tools Every SysAdmin Should Know". Many of the programs listed below are included with Windows and provide all kinds of information about what is happening on the computer. Some you've probably heard of, and hopefully a few will be new to you. What other tools are part of your essential sysadmin toolbox?
|
|
|
|

|
[I] recently came upon magazine called "Video Games", published between 1982 and 1983. Within a lot of these issues were well written articles on a lot of things at the time -- and they're absolutely fascinating. Being around before and after the crash makes it quite unique. Starting off with Issue 8, March 1983 - Welcome to the Club! An amazing article written by Ann Kreuger about the role of Women in developing video games. Here’s a good start: "In my research, I turned up 15 women in positions that are not related to promotion, publicity or advertising." In the article she talks with Dona Bailey, one of the creators of Centipede, Sue Forner, an artist on Professor Pac-Man, Janice Hendricks who designed the art for Joust, Lynda Avarett, Sue Currier and Roberta Williams. Fascinating! It's 2013 and women are still starting to make their presence felt in the game industry.
|
|
|
|

|
Anyone who uses Skype has consented to the company reading everything they write. The H's associates in Germany at heise Security have now discovered that the Microsoft subsidiary does in fact make use of this privilege in practice. Shortly after sending HTTPS URLs over the instant messaging service, those URLs receive an unannounced visit from Microsoft HQ in Redmond. Searched for your protection.
|
|
|
|

|
Big data! If you don’t have it, you better get yourself some. Your competition has it, after all. Bottom line: If your data is little, your rivals are going to kick sand in your face and steal your girlfriend. There are many problems with the assumptions behind the “big data” narrative (above, in a reductive form) being pushed, primarily, by consultants and IT firms that want to sell businesses the next big thing. Fortunately, honest practitioners of big data—aka data scientists—are by nature highly skeptical, and they’ve provided us with a litany of reasons to be weary of many of the claims made for this field. You don't need lots of data. You just need the right data.
|
|
|
|

|
Now that we have the C10K concurrent connection problem licked, how do we level up and support 10 million concurrent connections? Impossible you say. Nope, systems right now are delivering 10 million concurrent connections using techniques that are as radical as they may be unfamiliar. The kernel isn’t the solution. The kernel is the problem. Don't make it do all the work.
|
|
|
|

|
As many expected and hoped, Microsoft is going to make the coming Windows Blue update to Windows 8 free for existing Windows 8 and Windows RT users. Microsoft's Windows Chief Financial Officer Tami Reller, during an appearance at the May 14 JP Morgan Technology, Media & Telecom Conference, shared the pricing news. Reller also acknowledged what those who've downloaded leaked builds of Blue have known for a while: Windows Blue is Windows 8.1. This is for those who won't update until SP1.
|
|
|
|

|
Details of the availability and pricing for Windows 8.1 are out[^].
|
|
|
|

|
XSS protection: check! No SQL injection: check! Proper use of HTTPS: check! Clickjacking defences: uh, click what now?! This is one of those risks which doesn’t tend to get a lot of coverage but it can be a malicious little bugger when exploited by an attacker. Originally described by Jeremiah Grossman of WhiteHat Security fame back in 2008, a clickjacking attack relies on creating a veneer of authenticity under which lies a more sinister objective. [Insert awkward moment while you overthink clicking this link.]
|
|
|
|

|
We forget that physical objects are also just specific embodiments – or presentations – of their content and function. A paperback book and an ebook file are two embodiments of the text they each contain; the ebook isn’t descended from the paperback. They’re siblings, from different media spheres, one of which happens to have been invented more recently. The biggest intellectual stumbling-block we’re facing is the fallacy that just because physical embodiments came first, they’re also somehow canonical. Making the digital more familiar, or a failure of imagination?
|
|
|
|

|
In some recent talks I make a reference to Conway’s Law named after Melvin Conway (not to be confused with British Mathematician John Horton Conway famous for Conway’s Game of Life nor to be confused with Conway Twitty) which states: Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure. Many interpret this as a cynical jibe at software management dysfunction. But this was not Melvin’s intent. At least it wasn’t his only intent. We should model our teams and our communication structures after the architecture we want.
|
|
|
|

|
Through Jack Pappas, the F# Software Foundation (the F# community group also known as fsharp.org) has recently made F# more readily available on FreeBSD. Some details below, taken from the discussion on the F# Open Source Google Group.... What's new is old again.
|
|
|
|

|
Entity framework is a great ORM provided by Microsoft. There are a ton of examples of how to get up and running with it really quickly. The only problem with all of them, is the get you off on the wrong foot. In all of the EF example guides, the DbContext class is typically deeply embedded into the core of your code. This of course is great for Entity framework because the effort to change will be next to impossible – speaking from experience of course here. Instead, by making some subtle changes we can integrate Entity framework in a separate layer in case at some later date you wish to replace it. And by "done right" we mean "so you can undo it later."
|
|
|
|

|
You probably haven’t heard of HD Moore, but up to a few weeks ago every Internet device in the world, perhaps including some in your own home, was contacted roughly three times a day by a stack of computers that sit overheating his spare room. “I have a lot of cooling equipment to make sure my house doesn’t catch on fire,” says Moore, who leads research at computer security company Rapid7. In February last year he decided to carry out a personal census of every device on the Internet as a hobby. “This is not my day job; it’s what I do for fun,” he says. He knocked on all the doors. Many of them were unlocked.
modified 13 May '13 - 18:48.
|
|
|
|

|
The forms the bubbles take have always been a little bit mysterious -- not only to amateur scientists, but to professional ones, as well. While single soap bubbles are fairly straightforward things -- gas, trapped in liquids -- much more complex are the single bubbles that fuse together into composite structures of trapped air: foams. And when bubbles become foams -- when they glom onto each other to create the weird and wobbly little wonders... -- they behave differently than single bubbles do.... The forces behind all that wobbling and wonder-making, however, are different from the forces that determine when each bubble pops -- making it notoriously difficult to predict bubble behavior. Computer models that might account for all the different phases in the lifespan of a bubble.
|
|
|
|

|
We've seen plenty of Bill Gates on television, but we'd never seen him get emotional before. It was a striking, yet subtle moment in Gates' 60 Minutes interview this week when Charlie Rose asked him about his longtime business rival, the late Steve Jobs. Gates grew emotional as he recalled visiting Jobs just before his death. The billionaire welled up as he described their last conversation, which he described as "forward-looking." Once giants lived in the earth...
|
|
|
|

|
What I lack for design skills, I make up for in being good at organizing information, keeping up with trends, and putting in effort. Although it takes me five hours to do what a pro designer can do in one, this competence has helped me at work and in my personal projects, as I don't need to rely on finding designers to make my work at least passable. There's also an external circumstance why I've been able to "pull it off" in recent years: the flat design trend. Flat design entails austerity: reducing the UI to eye-catching levels of minimalism. More practically, it entails using fewer features and techniques in Photoshop. Enjoy it while it lasts. Skeuomorphism will return... to bury us all in Rich Corinthian Leather.
|
|
|
|

|
In Kevin Drum's latest feature, he imagines a bleak future where robots begin taking all of our jobs. Though he predicts this will happen about three decades from now, the concept obviously isn't new. The word "robot" first appeared in a 1920s Czech play (see below), which concludes with human destruction. The plot line started to seem more realistic when robots began performing complex industrial tasks. By 1961, a giant robot arm called Unimate took a welding job on the General Motors factory floor. Throughout the last century, robots—both imaginary and real—have fascinated us with their skills, quirks, and eerie human-like qualities. The timeline below highlights some of the most memorable machine moments and personalities. From Rossum's Univeral Robots to Google's driverless cars.
|
|
|
|

|
Make an instructional video about Android development and upload it to CodeProject.TV for a chance to win a free, full-access pass to AnDevCon in Boston (worth $1,795). Do you have what it takes to become CodeProject.TV’s top Android trainer?
|
|
|
|

|
Bezier Curves are just equations which act on a series of points to define the look of a curve. As a result they can be scaled and modified easily without losing their integrity or fine edge. However, since they are equations that means we also have to look at some math. This tutorial is graded on a curve.
|
|
|
|

|
There are few things sadder than the software that ships with your car's in dash computer. it's 2012 and we have hybrids that can regenerate power from inertia but the car manufacturers haven't figured out that we just want the in-dash car screen to be powered by our smartphone. She's real fine my 404 Not Found.
|
|
|
|

|
ScriptCS allows you to use C# as a scripting language. It harnesses the power of Roslyn and NuGet to enable you to write .NET applications with your favorite editor.... ScriptCS also offers its own REPL providing an interactive experience. You can install nuget packages, type some code, and have it execute instantly! As of writing this post, this functionality is in the dev branch and not yet available on the master branch. C# all the things!
|
|
|
|

|
Removing noise from radar images has turned out to be one of the biggest technical challenges we’ve faced while developing Dark Sky’s forecasting system. We generate our short-term rain predictions using data from the National Weather Service’s network of 150 NEXRAD radar stations, spread across the US. This data comes in as a raw data format, and the very first thing we do after grabbing it is convert it to images. The problem is that the data is filled with noise — false data that looks like rain, but is really something else. Cloudy with a chance of Evil Death Rays.
|
|
|
|

|
There's a secret for Perl being so good at code golf, and this secret is clever use of regexp. The regexps from Posix are just finite automata, but the Perl engine is much more powerful than that. Naturally, I became tempted to check what are the computational limits of Perl's regexp. For example, can we do arithmetic with regexps? After thinking I while, I concluded that yes, we can do arithmetic with regexps! When a problem arises, some think "I know, I'll use regex." Now you have a quadratic equation.
|
|
|
|

|
Python is about to get an Enum. And it's sad. It's not awful. It just fails to do anything particularly well - it's an awkward compromise whose only real achievement is not doing anything new. What would you expect a Pythonic enum to look like?
|
|
|
|
 |