Windows Browser Election 2010
Screenshots of the EU-mandated browser choice screen rolling out on Windows.
The journal
149 articles on building software and understanding how it works.
Screenshots of the EU-mandated browser choice screen rolling out on Windows.
A few one-liners I keep reaching for: filtering and replacing with regex straight from the Perl command line, including in-place file editing with automatic backups.
A tiny Perl snippet that rewrites a specific line number in a text file — written up as pseudocode for a previous post.
Using ASP.Net State Server during development forces everything you put in Session to be serializable — which means switching to State Server or SQL sessions in production won't blow up in your face later.
Hardcoded IP addresses are never actually required — DNS names or a hosts-file entry always work, cost nothing extra, and save you from hunting down every stale reference when a server moves.
First in a small series on .NET tools worth using: log4net, Apache's free logging framework. One line at the top of each class, a standard XML section in web.config, and you have proper leveled logging.
.NET tools to use, part two: Nini, an uncommonly powerful configuration library. Reads web.config, .ini and .xml config with type conversion and default values in a couple of lines.
Helped a guy on IRC with a method that reads a file or stream line by line, runs a custom replacement callback on each line, and writes the result out — without eating memory on large files. BSD-licensed, take it.
OpenSim's native dependencies (SQLite, ODE, OpenJpeg) don't do 64-bit, and OpenSim.32BitLaunch.exe only helps from the command line. Here is the workaround to get full Visual Studio debugging on 64-bit Windows.
A colour-coded model of the SECS pipeline. Work in progress — boxes that share a colour are related.
People define a script engine narrowly as "the thing that runs the scripts" — I'd argue it's the most important component of OpenSim. SECS is my proposal for a component system with interfaces worth building on.
Reflections on why a common way of implementing script engines was needed: many found it hard to build engine variations on DotNetEngine, and not all developers want to conform to one structure.
3Di contributed region splitting and dynamic load balancing to OpenSim: multiple physical servers cooperating on one region, and regions migrating to less loaded machines while running. Green computing, virtual-world style.
OSSL takes an object-oriented turn: instead of only LSL2-style function calls you can now write Prim.Position.x += 10 or set Prim.Text directly. A more modular approach to the scripting language.
DotNetEngine now speaks VB.Net and JScript — just start your script with //vb or //js. LSL state support landed too.