The second edition of the book “Security Engineering” by Ross Anderson is available as a full download. It’s quite a reference and a must-read for anybody with an interest in security (which for example all developers should have).
“When I wrote the first edition, we put the chapters online free after four years and found that this boosted sales of the paper edition. People would find a useful chapter online and then buy the book to have it as a reference. Wiley and I agreed to do the same with the second edition, and now, four years after publication, I am putting all the chapters online for free. Enjoy them – and I hope you’ll buy the paper version to have as a conveient shelf reference.”
“Latency is a measure of time delay experienced in a system, the precise definition of which depends on the system and the time being measured. In communications, the lower limit of latency is determined by the medium being used for communications. In reliable two-way communication systems, latency limits the maximum rate that information can be transmitted, as there is often a limit on the amount of information that is “in-flight” at any one moment. In the field of human-machine interaction, perceptible latency has a strong effect on user satisfaction and usability.” (Wikipedia)
Given that it’s quite important for any developer to know his numbers. Since latency has a huge impact on how software should be architected it’s important to keep that in mind:
SPAUN or Semantic Pointer Architecture Unified Network is a promising next step in the pursuit to simulate a human brain. Built upon the Nengo Neural Simulator scientists at the University in Waterloo/Ontario were able to report on their first break-through results.
In 2013 there will be a book from Oxford University press called ‘How to build a brain’ which will describe in depth what made the astonishing results possible.
But what are the results?
Well that looks like number recognition. In fact that’s what it is. SPAUN – that’s how the scientists refer to their frankenstein-brain – is capable of solving 8 different tasks now. One of them is number recognition. There are videos of all 8 tasks being performed.
The Semantic Pointers are named after the pointers usually common in computer science:
“Higher-level cognitive functions in biological systems are made possible by semantic pointers. Semantic pointers are neural representations that carry partial semantic content and are composable into the representational structures necessary to support complex cognition.
The term ‘semantic pointer’ was chosen because the representations in the architecture are like ‘pointers’ in computer science (insofar as they can be ‘dereferenced’ to access large amounts of information which they do not directly carry). However, they are ‘semantic’ (unlike pointers in computer science) because these representations capture relations in a semantic vector space in virtue of their distances to one another, as typically envisaged by connectionists. “
In November 1998 there was a book released about file system design taking the Be File System as the central example.
“This is the new guide to the design and implementation of file systems in general, and the Be File System (BFS) in particular. This book covers all topics related to file systems, going into considerable depth where traditional operating systems books often stop. Advanced topics are covered in detail such as journaling, attributes, indexing and query processing. Built from scratch as a modern 64 bit, journaled file system, BFS is the primary file system for the Be Operating System (BeOS), which was designed for high performance multimedia applications.
You do not have to be a kernel architect or file system engineer to use Practical File System Design. Neither do you have to be a BeOS developer or user. Only basic knowledge of C is required. If you have ever wondered about how file systems work, how to implement one, or want to learn more about the Be File System, this book is all you will need.”
If you’re interested in the matter I definitely recommend reading it – it’s available for free in PDF format and will help to understand what those file system patterns are all about – even in terms of things we still haven’t gotten from our ‘modern filesystems’ today.
Some weeks ago I heard about a new audio codec which is being developed as open source – very similar to vorbis – the previous open source approach to audio codecs.
This time it seems that they’ve got some standardization into the play so it might be more successful than vorbis was.
“Opus is a totally open, royalty-free, highly versatile audio codec. Opus is unmatched for interactive speech and music transmission over the Internet, but also intended for storage and streaming applications. It is standardized by the Internet Engineering Task Force (IETF) as RFC 6716 which incorporated technology from Skype’s SILK codec and Xiph.Org’s CELT codec.”
Since we’re at it – we not only took the new Mono garbage collector through it’s paces regarding linear scaling but we also made some interesting measurements when it comes to query performance on the two .NET platform alternatives.
The same data was used as in the last article about the Mono GC. It’s basically a set of 200.000 nodes which hold between 15 to 25 edges to instances of another type of nodes. One INSERT operation means that the starting node and all edges + connected nodes are inserted at once.
We did not use any bulk loading optimizations – we just fed the sones GraphDB with the INSERT queries. We tested on two platforms – on Windows x64 we used the Microsoft .NET Framework and on Linux x64 we used a current Mono 2.7 build which soon will be replaced by the 2.8 release.
After the import was done we started the benchmarking runs. Every run was given a specified time to complete it’s job. The number of queries that were executed within this time window was logged. Each run utilized 10 simultaneously querying clients. Each client executed randomly generated queries with pre-specified complexity.
Not surprisingly both platforms are almost head-to-head in average import times. While Mono starts way faster than .NET the .NET platform is faster at the end with a larger dataset. We also measured the ram consumption on each platform and it turns out that while Mono takes 17 kbyte per complex insert operation on average the Microsoft .NET Framework only seems to take 11 kbyte per complex insert operation.
Let the charts speak for themselves first:
click to enlarge
click on the picture to enlarge
click on the picture to enlarge
As you can see on both platforms the sones GraphDB is able to work through more than 2.000 queries per second on average. For the longest running benchmark (1800 seconds) with all the data imported .NET allows us to answer 2.339 queries per second while Mono allows us to answer 1.980 queries per second.
With the new generational garbage collector Mono surely made a great leap forward. It’s impressive to see the progress the Mono team was able to make in the last months regarding performance and memory consumption. We’re already considering Mono an important part of our platform strategy – this new garbage collector and benchmark results are showing us that it’s the right thing to do!
UPDATE: There was a mishap in the “import objects per second” row of the above table.
That’s great news for everyone interested in science and history. As it turns out Google and PopSci just made their entire 137-year archive available online… good times!
“We’ve partnered with Google to offer our entire 137-year archive for free browsing. Each issue appears just as it did at its original time of publication, complete with period advertisements. It’s an amazing resource that beautifully encapsulates our ongoing fascination with the future, and science and technology’s incredible potential to improve our lives. We hope you enjoy it as much as we do.”
We want to show you something today: Not everybody has an idea what to think and do with a graph data structure. Not even talking about a whole graph database management system. In fact what everybody needs is something to get “in touch” with those kinds of data representations.
To make the graphs you are creating with the sones GraphDB that much more touchable we give you a sneak peak at our newest addition of the sone GraphDB toolset: the VisualGraph tool.
This tool connects to a running database and allows you to run queries on that database. The result of those queries is then presented to you in a much more natural and intuitive way, compared to the usual JSON and XML outputs. Even more: you can play with your queries and your data and see and feel what it’s like to work with a graph.
Expect this tool to be released in the next 1-2 months as open source. Everyone can use it, Everyone can benefit from it.
I am proud to anounce that there’s a video publicly available which shows parts and projects Microsoft Research is working on currently. It’s great to see theses projects, concepts and ideas become publicly available one by one:
“Craig Mundie, chief research and strategy officer of Microsoft, presents “Rethinking Computing,” a look a how software and information technology can help solve the most pressing global challenges we face today. Part of UW’s Computer Science and Engineering’s Distinguished Lecture Series, Mundie demonstrates a number of current and future-looking technologies that show how computer science is changing scientific exploration and discovery in exciting ways. He discusses the role of new science in solving the global energy crisis, and answer questions from the audience.”
Almost three years ago I wrote about this nice little Regular Expression Tool which provides not only a RegEx-Builder but also a clean and nice interface to test and play.
It was a CodeProject sample project in that time and as it turns out it became a full blown version 3!
Obviously the user interface was revamped completely:
So you now not only get the Testing and playing but also a Regular Expression Library, a cool How-To, a more useable design mode and you can even output your final regular expressions to C#, VB.NET or managed C++!
Great stuff! Even better is the fact that it does not come at any costs. Despite the fact that there’s a registration you can just get your free license on their website.
After not less than 3 and a half hour Songbird finished with importing the iTunes library I am using for about 6 years.
The first impression is: Cool, it’s got plugins!
The second impression is: Booh, it wants to restart (while stopping the music) to install!
It’s not faster than iTunes. And this is a sad thing, because the only thing I hoped it would be was faster. It’s not – the UI it’s as fast and responsive as iTunes’ UI – at best. With just a few clicks the whole songbird window went into sleep mode and the well known beachball came into the play.
Even worse: for some strange reason Songbird consumes considerably more CPU time while just sitting there and playing an MP3 than iTunes does:
18,7% CPU load used by songbird just by playing an mp3 (no filtering, no visualisation, no nothing)
2,3% CPU load for iTunes while doing exactly the same. Even the same mp3 was played.
iTunes even takes less memory… oh dear: A long way to go for the Songbird team.
“”Being a geek means being so interested in something that you don’t care whether or not it’s cool.”
THE SOCIETY FOR GEEK ADVANCEMENT was founded upon the principles that we should all embrace our inner and outer geek and have fun while doing it. As individuals who love learning, innovating and believe in possibility as well as change, the second step of responsibility is to “be the geek that keeps on giving”. As a member of SGA, we work together as a global community to provide the tools and help others realize their true potential too!”
On September 28th the Falcon 1 rocketship reached orbit:
“In an era when most technology based products follow a path of ever-increasing capability and reliability while simultaneously reducing costs, launch vehicles today are little changed from those of 40 years ago. SpaceX aims to change this paradigm by developing a family of launch vehicles and spacecraft which will ultimately increase the reliability and reduce the cost of space access by a factor of ten. Coupled with the emerging market for private and commercial space transport, this new model will re-ignite humanity’s efforts to explore and develop space.”
There was the Digital Image Suite and several other tools like Hugin and Cool360 which I used over the last years to create panoramic images. Now there’s a new tool available in 32 and 64 bit (for really really huge images!) from Microsoft Research. It’s free at this point and if you’re on Windows it’s definitely worth the try.
“Microsoft Image Composite Editor is an advanced panoramic image stitcher. You shoot a set of overlapping photographs of a scene from a single location, and Image Composite Editor creates a high-resolution panorama incorporating all your images at full resolution. Then save your stitched panorama in a wide variety of formats, from common formats like JPEG and TIFF to multi-resolution tiled formats like HD View and Silverlight Deep Zoom.”
If you searching a tool for Windows, Linux, OSX and your windows mobile device…you may want to take a look at this:
“SpaceTime 3.0 by SpaceTime Mathematics is a revolution in mathematics software with 2D, 3D, and time graphing with MobileCAS® for algebra and calculus. With features only available in Mathematica and MATLAB, SpaceTime is the most powerful cross-platform mathematics software ever developed for computers and mobile devices.“
This is a very impressive overview of new user interface ideas. It’s a fact that we need new userinterfaces for all kinds of use cases – and as it turns out there are unbelievable cool things going on in the UI research.
“Good user interfaces are crucial for good user experience. It doesn’t matter how good a technology is — if we, designers, don’t manage to make user interface as intuitive and attractive as possible, the technology will hardly reach a breakthrough. To gain the interest in a new product or technology, users need to understand its advantages or find themselves impressed or involved.
And here is where creative ideas and unusual interface approaches become important. Innovative doesn’t mean usable and usable hardly means innovative. As usual, it’s necessary to find an optimal trade-off. And some user interfaces manage to achieve just that.”
Photosynth is publicly available and it’s time to give it a try and play with the technology. Before starting you should be aware of some facts about the public photosynth technology-preview:
all synths are uploaded and only available online (broadband needed)
all synths are public, everyone can access them
the synther tool runs only on Windows
you’ll need a Live ID
When everything is checked you can go and upload up to 20 Gbytes of image data – my test synth takes up 200 Mbytes of the available space – so you have plenty of space to play with.
To start just install the photosynth application to view – and click “create” on the website. After the obligatory login you immediately can upload your pictures. Give it a name, ssome tags and a license and select your pictures.
Your pictures should show the same scene from different perspectives – photosynth is all about matching perspectives. After clicking on “Synth” the process starts.
And after a surprisingly short period of time your synth is done. Click on “View Synth” and you’re taken back to the website and you can browse your synth. That’s it – easy!
Believe it or not – it’s been 2 years since I first wrote about Photosynth technology. Today Microsoft made it available to the public. It’s not a tool (yet) – like I wanted – right now but it’s built into this website – so you have to upload your pictures, they are processed and then you can browse on this website… well it’s a start for a really great technology.
“We’re pleased to announce the first full release of Photosynth, available now at photosynth.com. Photosynth takes a collection of regular photographs and reconstructs the scene or object in a 3-D environment. For those of you who have seen the videos or tried our tech preview, you could experience synths that we made in the lab and get a feel for what Photosynth is and how it works. But now, for the first time ever you can create synths from your own pictures and share them with your friends. Explore great synths from others or create a few of your own.”
It’s not going to work on anything different than Windows. So stick to the movies if you’re on anything else. But as far as I know it’ll run o
OMG! I just realized that the better part of Munich is available in Google Earth in 3D mode – which means real real 3D buildings like this. I thought that the birds eye view of Virtual Earth is cool – but this is a different animal.
“littleBits is an opensource library of discrete electronic components pre-assembled in tiny circuit boards. Just as Legos allow you to create complex structures with very little engineering knowledge, littleBits are simple, intuitive, space-sensitive blocks that make prototyping with sophisticated electronics a matter of snapping small magnets together. With a growing number of available modules, littleBits aims to move electronics from late stages of the design process to its earliest ones, and from the hands of experts, to those of artists, makers and designers.”
I wrote about Levelhead and it’s stunning concept not long ago. Now you can play with it’s code and try it for youself:
“First thing’s first, this is a developer release and needs to be compiled. It has many third-party dependencies from the renderer to the video capture context. As yet there is no lovely statically linked binary of levelHead or automagical build script for a folder of dependencies. Nonetheless, I’ve installed levelHead on many (Ubuntu) systems now and what’s listed below should work fine for you. levelHead is known to build on Ubuntu 7.10/7.04 and Debian Etch systems against the following external dependencies. It’s adviseable you adhere to these versions if you want to avoid going spontaneously mad”
The site goes on:
“Code and assets are provided under two differing licenses: the code is governed by the GPLv3 and the art is covered by the GPLv3 compatible CC-BY_SA 3.0. Make sure you understand what that implied before downloading this project. For the rationale as to why I chose this configuration, please read the comments in the top of the levelHead.cpp file itself. Both art and code are available in a subversion repository, aquired with the following command:
svn co http://www.inclusiva-net.es/svn/levelhead "
Since I will try it myself (installing Ubuntu now) – I will give a detailed tutorial about it in the future…at least I hope so.
Since last year FeM is recording and live streaming the annual Formula Student Event in Germany:
“Screeching tires, smouldering heads and impressive technical innovations – welcome to the Formula Student Germany 2008! Join the Brunel Race at our stand. As a virtual race driver you’ll be able to win the Grand Prix at the Hockenheimring. The fastest driver gets the chance to win 2 tickets for the Formula 1 Event at Nürburgring 2009.”
If you don’t know what Formula Student is…you may want to read this:
“Students build a single seat formula racecar with which they can compete against teams from all over the world. The competition is not won solely by the team with the fastest car, but rather by the team with the best overall package of construction, performance, and financial and sales planning.
Formula Student challenges the team members to go the extra step in their education by incorporating into it intensive experience in building and manufacturing as well as considering the economic aspects of the automotive industry. Teams take on the assumption that they are a manufacturer developing a prototype to be evaluated for production. The target audience is the non-professional Weekend-Racer, for which the racecar must show very good driving characteristics such as acceleration, braking and handling. It should be offered at a very reasonable cost and be reliable and dependable. Additionally, the car’’s market value increases through other factors such as aesthetics, comfort and the use of readily available, standard purchase components.
The challenge the teams face is to compose a complete package consisting of a well constructed racecar and a sales plan that best matches these given criteria. The decision is made by a jury of experts from the motorsport, automotive and supplier industries. The jury will judge every team’s car and sales plan based on construction, cost planning and sales presentation. The rest of the judging will be done out on the track, where the students demonstrate in a number of performance tests how well their self-built racecars fare in their true environment.”
Starting this friday there will be a livestream available (Flash and Windows Media). Great stuff!
It’s just great to see more and more big archives are getting available online. This time the National Space Agency of America opened it’s picture library:
“NASA Images is a service of Internet Archive ( www.archive.org ), a non-profit library, to offer public access to NASA’s images, videos and audio collections. NASA Images is constantly growing with the addition of current media from NASA as well as newly digitized media from the archives of the NASA Centers. The goal of NASA Images is to increase our understanding of the earth, our solar system and the universe beyond in order to benefit humanity. “
Since I am a bit familiar with graph theory and building technologies around graphs I came across this neat little library originally developed by Marc Smiths Team at Microsoft Research. It’s now up on Codeplex for your own study and research:
“.NetMap is a pair of applications for viewing network graphs, along with a set of .NET Framework 2.0 class libraries that can be used to add network graphs to custom applications.
A network graph is a series of vertices (sometimes called nodes) connected by edges. See this Wikipedia article for an overview of network graphs.”
It even integrates into Excel…well if you need that… more interesting is:
“The Windows Forms control is one of several graph “visualizers” that are packaged in a Microsoft.NetMap.Visualization assembly. There is also a Microsoft.NetMap.Adapters assembly for reading and writing graph data in various formats, a Microsoft.SocialNetworkLib assembly for analyzing social networks, and a Microsoft.NetMap.Core assembly that implements the low-level vertex, edge, and graph classes. The framework for a Microsoft.NetMap.Algorithms assembly is also provided, although most of the graph algorithms are still work items as of May 2008.”
You may have heard about things like “guidelines for user interfaces” – Sometimes I tend to think that there is no such thing as a design guideline for a better user interface because some applications are just plain unusable for a normal human being.
But there are guidelines for almost everything and I wanted to give an overview: