Oct 29

It’s hard to test software: even simple software!

RapiCover Code Coverage Analysis Tool

RapiCover Code Coverage Analysis Tool


Jack Whitham, of Rapita Systems has written a nice piece on the thorough testing of software (including seemingly ‘simple’ software – one liners and such) entitled It’s hard to test software: even simple software!. His company, Rapita Systems, recently released a modified version of Tetris as a “tool demo” for their Code Coverage tool, RapiCover. As Jack states, although Tetris can be/has been implemented in as little code as a single line of BBC Basic, it is, after all, based on an NP-Hard Problem.

Like most software, a good portion of the code will be exercised after having run the application sufficiently. However, like all software, there always exists those edge cases in which the planets must align for a certain subroutine/method to be executed/invoked, It’s these rarely executed pieces of code that suffer from poor test coverage and to which coverage analysis tools lend themselves the most. His piece is a good read to get a feel for how to code and test so that more of your code is exercised and that your QA correctly tests all of the code, instead of just the 70-80% that gets executed the majority of the time.

Oct 29

Doctor Who game to demystify computer science for children

The Register is running an article regarding a Doctor Who based game that BBC News claims will demystify computer science for children. So, it would appear that Dr. Who is now teaching our young ones to code, as well as not to blink =]

Jun 26

Building the Infinite Digital Universe of No Man’s Sky

From Slashdot
  • An anonymous reader writes:`
    Hello Games is a small development studio, only employing 10 people. But
    they’re building a game, No Man’s Sky, that’s enormous — effectively infinite.
    Its universe is procedurally generated, from the star systems down to individual
    species of plant and animal life. The engine running the game is impressively
    optimized. A planet’s characteristics are not computed ahead of time — terrain
    and lifeforms are randomly generated on the fly as a player explores it. But, of
    course, that created a problem for the developers — how do they know their
    procedural generation algorithms don’t create ridiculous life forms or
    geological formations? They solved that by writing AI bot software that
    explores the universe and captures brief videos
    , which are then converted to GIF
    format and posted on a feed the developers can review. The article goes into a
    bit more detail on how the procedural generation works, and how such a small
    studio can build such a big game.
Feb 06

Free Copy of Graph Databases by O’Reilly

O’reilly’s book, ‘Graph Databases
The Definitive Book on Graph Databases‘, has been made available for free (as a downloadable eBook) through the Neo4J project’s web site!  Go grab your copy while it’s still available!

Jun 18

MySQL Man Pages Silently Relicensed Away From GPL

The MariaDB blog is reporting a small change to the license covering the man pages to MySQL. Until recently, the governing license was GPLv2. Now the license reads:

‘This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.’

Jun 18

First Particle Comprising Four Quarks Discovered

Physicists have resurrected a particle that may have existed in the first hot moments after the Big Bang. Arcanely called Zc(3900), it is the first confirmed particle made of four quarks, the building blocks of much of the Universe’s matter (abstract one, abstract two). Until now, observed particles made of quarks have contained only three quarks (such as protons and neutrons) or two quarks (such as the pions and kaons found in cosmic rays).

Jun 18

UK Town of Ipswich Remodelled As Zelda Level

Switch Fringe is a relatively new not-for-profit annual music and arts festival in the UK town of Ipswich, and this year’s program features a full page map of the town with details about each venue. Unlike most other maps this one is in the form of a Zelda level. This is in part due to this year’s theme ‘Re-imagining Ipswich,’ that PixelH8 is coming out of semi-retirement to play a gig during the proceedings and possibly due to the fact that the map’s designer — The Decibel Kid — spent too much time playing Zelda on a Gameboy Color during the first Web bubble.

Apr 24

SkySQL and MariaDB Have Now Officially Merged

On Tuesday, April 23rd, 2013, SkySQL signed a Merger Agreement with Monty Program Ab, creators of MariaDB. You can read more about the merger, as well as the cooperation with the  MariaDB Foundation by checking out their Press Release, here.

Apr 20

Spring Integration: a new addition to the Spring portfolio | SpringSource Team Blog

The following is an exert from Mark Fisher ‘s great introduction to the Spring Integration project:

"Yesterday morning I presented a 2-part session at The Spring Experience entitled "Enterprise Integration Patterns with Spring". The first presentation included an overview of core Spring support for enterprise integration – including JMS, remoting, JMX, scheduling, and email. That presentation also included a high-level discussion of several of the Enterprise Integration Patterns introduced in the book of the same name by Gregor Hohpe and Bobby Woolf. In the second presentation, I officially unveiled "Spring Integration" – a new addition to the Spring portfolio. Spring Integration builds upon Spring’s core support while providing a higher level of abstraction largely inspired by those patterns. Here I would like to provide a brief overview of the topics I discussed in that session."

Link to Mark’s original blog post:
SPRING INTEGRATION: A NEW ADDITION TO THE SPRING PORTFOLIO

Feb 02

UEFI Secure Boot Pre-Bootloader Rewritten To Boot All Linux Versions

The Linux Foundation’s UEFI secure boot pre-bootloader is still in the works, and has been modified substantially so that it allows any Linux version to boot through UEFI secure boot. The reason for modifying the pre-bootloader was that the current version of the loader wouldn’t work with Gummiboot, which was designed to boot kernels using BootServices->LoadImage(). Further, the original pre-bootloader had been written using ‘PE/Coff link loading to defeat the secure boot checks.’ As it stands, anything run by the original pre-bootloader must also be link-loaded to defeat secure boot, and Gummiboot, which is not a link-loader, didn’t work in this scenario. This is the reason a re-write of the pre-bootloader was required and now it supports booting of all versions of Linux.

Also in UEFI news: Linus Torvalds announced today that the flaw which was bricking some Samsung laptops if booted into Linux has been dealt with.

Link to the original post on Slashdot

Sep 13

Spring Framework 3.2 M2 Released

SpringSource Community Logo

An announcement from the SpringSource Community came yesterday, and apparently the Spring Framework 3.2 M2 has been released!  As always, it’s currently available from the SpringSource Repository and they even offer a quick tutorial on resolving any dependency issues (artifacts) via Maven that you may have if you’re not familiar with Maven yet (you really should be…)  The complete distribution zip is available as usual from the SpringSource community download site.

Highlights from 3.2 M2 include:

Chris Beams over at SpringSource Community had the following to say regarding both the 3.2 M2 Milestone as well as the upcoming 3.2-RELEASE:

“A major area of focus for 3.2 is ensuring that Spring Framework runs flawlessly on JDK7. M2 artifacts have been built, tested and published against JDK7 and we continue to test JDK6 compatibility in nightly builds as well. We encourage all Spring users on JDK7 to give M2 a spin in your development and test environments and provide as much feedback as possible prior to 3.2 GA. Thanks!

Users of @Configuration classes and Spring’s support for subclass proxies (proxy-target-class=true), please take note: it is now no longer necessary to add CGLIB as an explicit dependency to work with these features. As of 3.2 M2, we have upgraded to the new CGLIB 3.0. We repackage all net.sf.cglib classes to org.springframework.cglib and inline them directly within the spring-core JAR. This means that all @Configuration and subclass proxying functionality works out of the box in M2, and means no potential for CGLIB conflicts with other projects. Likewise, we have upgraded to the new ASM 4.0, which we continue to repackage and inline as we have done for quite some time now. Note however that we’ve eliminated the dedicated spring-asm jar in M2 in favor of including org.springframework.asm classes directly in spring-core. Both of these upgrades are good news for JDK7 users writing Spring components in dynamic JVM languages, as these new versions of CGLIB and ASM properly handle the new invokedynamic bytecode instruction introduced in JDK7.

Enjoy!”

Feb 24

Stroustrup Reveals What’s New In C++ 0x (C++ 11)

“Bjarne Stroustrup discusses the latest version of C++, which, although not a major overhaul, offers many small upgrades to appeal to different areas of development. From the interview: ‘I like the way move semantics will simplify the way we return large data structures from functions and improve the performance of standard-library types, such as string and vector. People in high-performance areas will appreciate the massive increase in the power of constant expressions (constexpr). Users of the standard library (and some GUI libraries) will probably find lambda expressions the most prominent feature. Everybody will use smaller new features, such as auto (deduce a variables type from its initializer) and the range-for loop, to simplify code.'”

May 19

Welcome to the re-launch of realcoders.org!

I’ve decided to try to get realcoders.org going again *before* finishing a re-write completely in Java/Spring/Etc (as I’m starting to think that with work, etc. it will take me way too long, given the amount of “free time” that I currently have (and have had for the past few years now…))

 

This is simply a “welcome” post, and there will be more to come shortly.  I am also going to be working on the visual appearance, as this is a fairly basic (on purpose) “template” that I opted to go with, as it’s fixed width, etc. and should be *great* for code snippets, et al.  However, if anyone comes across something that either doesn’t display correctly on/in your browser, or on your operating system, please feel free and drop me an email or post a comment, etc. so that I am aware of it and can hopefully take care of it as soon as possible.  I’ll do my best however to ensure cross-browser compatibility as well as supporting links(1)/lynx(1) as well if at all possible.

 

Again, go ahead and subscribe to the RSS feed(s), feel free to share links on Facebook, etc. all I ask is that you please bear with me while I’m getting things up and “running” a bit more along the lines of what realcoders.org is supposed to be and look like, etc.  This will mean quite a bit of customization, and I’m not exactly sure how to accomplish some of the tasks under WordPress as of yet, but, I will figure it out as I come across the issues and I’m sure I’ll knock out the code one way or another =]

 

Thanks for all of your support!  If anyone is interested in being either a regular or a one-time (or once in while) contributor, please drop me a line and we’ll talk about setting you up the appropriate account type, etc.

 

Thanks again!

Nov 29

New Contiki OS Network Regression Test Framework

Contiki, the open source operating system for the Internet of Things, just got a regression test framework ported over from Thingsquare Mist that allows the Contiki developers to test the entire system on 9 platforms, 4 CPU architectures, and 1021 network nodes, for every new commit.


Some have argued that being a framework, it should have been written in C++ rather than C, and that’s is essentially nothing more than a bunch of libraries and APIs…  However, others point to the fact that, since it’s meant to run on microcontrollers (with only kilobytes of RAM), C is still the best choice for it’s smaller compiled footprint, as OO is still more of a luxury when it comes to embedded programming, etc…

Any thoughts?