|
Valentino Braitenberg was an Italian neuroscientist and cyberneticist who wrote a book called, Vehicles: Experiments in Synthetic Psychology. In the book, he describes hypothetical vehicles comprised of motors, sensors and other components. Each vehicle inherits components from the previous until they exhibit identifiable behaviors such as aggression, cowardice and love. The examples below are part of an ongoing project to build and animate Braitenberg's vehicles. FloraJS is a JavaScript framework for simulating natural systems. In Flora, the "world" is your web browser.
|
|
|
|
|
Which is faster, QueryLightBulbFrobStatusEx() or __WGetBulbFrobberState2()? Hold it right there, buddy. Before answering that question I must give you my standard six-part rant about why I probably cannot sensibly answer questions that begin “which is faster“. Part the first: Why are you even asking me?
|
|
|
|
|
Whether they’re building big data applications or just trying to gather some insights from their mobile apps, developers have more need than ever for analytics tools. It’s a good thing so many companies are building tools designed with developers’ needs and skills in mind.... If your job revolves around writing code rather than data flows, you might need a little help. Here are 12 tools (listed alphabetically) that aim to help. Throw me a frickin' bone here! I'm the boss! Need the info.
|
|
|
|
|
In the early days of class-based OOP, people thought any old class could be spontaneously subclassed. You could just override some stuff and it would all magically work out. What we’ve finally realized is that the API you expose to subclasses is another boundary layer that needs to be carefully designed. Ad-hoc subclassing rarely works and classes generally need to be designed up front in order to be subclassed. BETA was designed around that model. With typical Scandinavian politeness, you don’t override your base class, you politely request permission to extend it. I think right now, the style of a lot of OOP code today fits that model better. But first, an important message about the obscure, Scandinavian programming language BETA.
|
|
|
|
|
I don't have time to read all of that right now, but it sounds interesting.
|
|
|
|
|
At the very minimum, it seems that if you are targeting both Windows 8 and Windows Phone, then you have a point of parity that should be designed for: the snapped view. Shouldn’t the snapped view of your Windows 8 app behave pretty much the same as the full blown app on the phone form factor? There may be some nuances that you have to address (for example, the panorama control that works well on the phone isn’t necessarily available for the snapped view on Windows 8) but for the most part you are functioning in a similar form factor (while the strip goes “long” on large displays, this is easily a vertical scroll on the phone). So then my next question is this: did Microsoft plan for this?
|
|
|
|
|
In the 1990s, Apple struggled to bring the original Mac OS—originally written in 1984 for the resource-constrained Macintosh 128K machine—up to modern operating system standards. The story of how OS X came to be is thrilling in its own right, but suffice it to say that Apple ended up buying Steve Jobs' second computer company, NeXT, and using its NeXTSTEP operating system as the basis of a new generation of Macs.... Sixteen years later, several technologies developed or championed by NeXT still survive in OS X and in its mobile cousin, iOS. The next step from NeXTSTEP.
|
|
|
|
|
It’s that time of year again, and there’s a good chance you might be looking for gift ideas for your programmer friends. Or, maybe, you need a list to pass on to your friends and family, so they have some ideas for you! Either way, this list of geeky gifts should cover most developers. Has your code been naughty or nice?
|
|
|
|
|
The big problem with any new hardware is getting the software you need but as a Linux ARM system presumable this isn't such a big problem for the Pi. However there seem to be enough unique features to make it worth launching an official app store or Pi Store. Should we call it the pie shop?
|
|
|
|
|
Since the very earliest days of computer viruses, malware authors have been inspired by the Christmas holidays when developing attacks. Here's a quick, and probably incomplete, history of some of the Christmas-related malware that we have seen over the years. This article is very Important and you've GOT to read this !!!
|
|
|
|
|
When developing software, it makes sense to 'fail early, fail often'; to become aware of mistakes quickly and to learn from them. This means being able to deliver software as early in development as possible. This makes it easier to gather opinions and promote discussions with the people who would want to use the application; and then respond to the feedback. Over the past decade, Red Gate has learned a lot, often the hard way, about the value of delivering software early and often or, perhaps more accurately, the cost of not doing so. Here, we explain what exactly we've learned and how we've adapted our software delivery processes, as a result. Real software developers ship...
|
|
|
|
|
This is a bit of a brain-dump, in no particular order, of things I learned building my first 4 Windows 8 (C# XAML) apps: Countdown To, Big Screen Countdown, BizBuzBingo and Code Retreat Countdown. 12 tips to make your Windows 8 apps better.
|
|
|
|
|
Forget about the tools… buy a decent book and type in the programs by hand. One at a time thinking as you go. After 30 years you will get the hang of this and be a good programmer. Bonus: Learn debugging via typos.
|
|
|
|
|
If we want to use ECMAScript 6 as app developers, but still want to run our software on old browsers, we only have one option: compile ECMAScript 6 to ECMAScript 3 (possibly ECMAScript 5 in 1–2 years). The precedent is obvious: CoffeeScript has been doing this since December 2010. With source maps [3], you can even debug its code in the browser – the JavaScript it has been compiled to is hidden from you. Several ECMAScript 6 features have been influenced by CoffeeScript. Why not use CoffeeScript and be done with it?
|
|
|
|
|
I use CoffeeScript at work on a big enterprisey project for 3M.
What I find is, the language is not at all well thought out. They tried to jam Ruby concepts into JavaScript, and it often shows.
TypeScript, on the other hand, I'm really liking. And even though it was designed by Anders Hejlsberg (C#), they stayed true to JavaScript, rather than force C# concepts into JavaScript. It's really a well-done language.
|
|
|
|
|
This repository contains the core of NuclearWinter, featuring game state management, screen resolution handling, an input manager and an user interface library.... NuclearWinter development is led by Elisée Maurer. NuclearWinter powers both CraftStudio, a 3d real-time cooperative game-making platform and the 2D multiplayer arcade game QuadSmash. Feel free to use it in your own projects! Contributions are welcome too.
|
|
|
|
|
A growing trend in web and UI design lately has been the use of “flat design” and it’s clearly a hot topic at the moment – full of lively discussion and plenty to learn about. I’ve always been drawn to minimalism, so flat design is an aesthetic that has inspired me, especially while working on the recent redesign of QuoteRobot, the proposal writing app I co-founded back in 2010. In this article I’m going to talk about what flat design is, review what other designers are saying about it, and offer some tips on how to achieve it in your own designs. Or the design pattern formerly known as Metro...
|
|
|
|
|
Blaze is the next generation of NumPy, Python’s extremely popular array library. At Continuum Analytics we aim to tackle some of the hardest problems in large data analytics with our Python stack of Numba and Blaze, which together will form the basis of distributed computation and storage system which is simultaneously able to generate optimized machine code specialized to the data being operated on. Blaze aims to extend the structural properties of NumPy arrays to a wider variety of table and array-like structures that support commonly requested features such missing values, type heterogeneity, and labeled arrays. Let's graph all the ways this is useful...
|
|
|
|
|
Now you may be thinking: "baah, I know how to do gravity.." but there's a big flaw in the commonly used Euler's method to handle the gravity (or other forces). Even all the Quake games have this problem. Then what is it? If you have more frames per second in Quake, your player will run faster and jump higher. There are some places in Quake where you can't jump high enough if you don't have enough frames per second. Sounds odd, right? You should do all the accelerating forces like this, not just gravity.
|
|
|
|
|
|
Microsoft isn’t going to let Google’s move keep its clients from accessing Google services. All Microsoft clients already support IMAP, so mail isn’t really the problem. Microsoft has never supported CalDAV for calendaring or CardDAV for contacts, but these are open standards that Microsoft can easily support tactically. In other words, if Microsoft cares about Google’s move it would be easy for them to add support for this technology to those products where it feels they make sense. Windows Phone would be a likely case. This is more likely to do more harm to Google than to Microsoft.
|
|
|
|
|
The beginnings are rather simple, and maybe a little mundane; Larry Wall (Tim Toady) released version 1.0 to the newsgroup comp.sources.misc on the 18th December 1987 while working as a programmer at Unisys. Perl was intended, we believe, to be a Unix scripting language to make report processing easier borrowing from sh, Awk and Sed.... Perl 6 started its life cycle in 2000 with a different principle to other versions of Perl. It was a complete re-write of the language and would start as a language specification before a release leading to the now apocryphal 'released in time for Christmas' line. say "Happy Birthday!";
|
|
|
|
|
Markdown is a simple text-based markup language that can be used to produce clean HTML.... You can build your very own an efficient parser that can be extended with custom features and that allows you to process the document after parsing. In this article, based on chapter 11 of F# Deep Dives, author Tomas Petricek describes the key elements of such a project, in particular, the representation of a Markdown document. A functional Markdown parser in functional code.
|
|
|
|
|
This is the first of a two-part series that will tell the long story of the C# memory model. The first part explains the guarantees the C# memory model makes and shows the code patterns that motivate the guarantees.... One source of complexity in multithreaded programming is that the compiler and the hardware can subtly transform a program’s memory operations in ways that don’t affect the single-threaded behavior, but might affect the multithreaded behavior... This describes the ECMA C# specification... but how does it *really* work?
|
|
|
|
|
When one wants to understand the memory layout of structures and classes, the C/C++ operators sizeof and offsetof are very useful. However, when large C++ class hierarchies are involved, using these operators becomes tedious. Luckily, Clang has a very handly command-line flag to dump object layouts in a useful manner. When your classes get complicated, break out the pro tools.
|
|
|
|