Archive for the 'Programming' Category
Story-Oriented Coding
In the flow of discussions on my Squeak blog and the Squeak-dev list dealing with issues relating to the tools for editing code I realized that the context was perhaps too constrained to really get to the heart of the matter. In the end, regardless of personal preference, screen real estate and the mechanics of human visualization/cognition are the real drivers of programmer tool effectivness. For the former, virtual desktops and multiple monitors can really help. For the latter I think tools that can mimic the visual models of what the software is attempting to simulate are very useful. For example, some people are using Google maps and 3D in the context of IBM’s collaborative development environment Jazz. More screen real estate helps visualization too. So with relatively inexpensive flat screens available and supported it’s getting easier to get this help. As someone on the Squeak list pointed out bookmarks in the IDE lose their value after a while because you have to manage them(this is true of keyboard short cuts as well) which means more tool code has to be written.
Multiple monitors and visualization are not a panacea but they do provide a lot of free, already written and debugged tools! These tools aren’t perfect but they generally don’t crash! Well, people do get sick and die, but in general, the software running our mind/body systems is very robust and stable. If I start looking/pointing to the wrong screen, I gracefully recover. For you Matrix fans, this is the “your other left” scenario. I sleep but I’ve never done a full system reboot! If I’m not sure what the best arrangement is I can put post-its on the monitors or notes on a whiteboard within view. This approach has been used for a very long time in complex systems where humans are in the loop. In the past half century aerospace and finance come to mind but the practice goes back much further to the art of memory and beyond to ancient Egypt. In the world of ubiquitous computing and locative art I call the meshverse, coding has to move beyond the text editor and even the traditional IDE - it will be come both visual and location oriented at the same time. Imagine a mash-up between the text adventure-like game playsh and Croquet annotations! I am at present working on the infrastructure for such an environment, bits and pieces of which you can see at my BOP Space and GVScript sites. Both of the previous two links are showing Squeak’s Wonderland but if you’ve been here before, you’ve seen earlier versions of the building blocks.
Dealing With Runaway Image File Size
If the size of your .image file has gotten very large without you having saved much work, it is probably due to lingering circular or global references to objects. These objects are referred to as zombies and can enter a zombie state for a host of reasons, but I’ll cover that on my Squeak blog later and link back to here. For now, let’s just deal with how to get rid of them. The first thing to do is to open a Workspace and evaluate:
CroquetHarness cleanup
Next save the image and see if the file size shrunk back to a reasonable level. If not you’ll either have to go zombie hunting or start from a clean image. Sometimes zombie hunting doesn’t produce the results you want. It may be that you’re not looking for the right kind of objects but in other cases, there are just too many zombies of different types and it’s taking a long time to figure out how to untangle them. In either case, if you don’t have any data or graphics bound only to the image, AND your code is reasonably well organized(this doesn’t have to mean Monticello - some projects can be managed well with change sets) the quickest solution may be to just dump the code and load it into a clean image. However, one often learns valuable lessons while zombie hunting so there’s good reason to learn some basic techniques. Read more
No commentsGetting Started With Croquet
Matthew Schmidt has provided a nice intro to launching a Croquet world programmatically. If you found it helpful you may want to view(or review) these pages from the Croquet Consortium site while waiting for his next installment:
If you’re itching for more right now, you might try to understand what the quick and dirty path has in common with the route taken by Simple World. To do that you need to find out where and how the SimpleWorld class is used. Read more
2 commentsEvolution In Cyberspace: The Smalltalk Meme
I agree with Peter Fisk’s idea
… that Croquet (like Smalltalk did before it) is showing us the future of human-computer interaction
but when he says
I don’t think that hundreds of millions of people are going to install Squeak on their computers.
I think he’s not factoring in that Croquet is a Smalltalk evolved meme whose influence isn’t measured in market-share but in mind-share. Peter actually demonstrates this meme factor in describing his project
3 commentsVista Smalltalk is an attempt to create an environment like Croquet using only widely deployed software components.
Black and White People
In Neal Stephenson’s Snow Crash, black-and-white was the term for people connecting to the metaverse via free public terminals which resulted in their avatars appearing in a flickering, low-res, no color form. This fictional situation implied extensive interoperability so that different devices and programs could access the metaverse. In the actual meshverse of today, interoperability hasn’t existed - until now. In the simple video below, you see a Croquet window side by side with a Second Life window. Each shows a world with a cube. At the start the Second Life cube on the right is clicked on, which runs a script causing it to move. Shortly thereafter, you see this action replicated in the Croquet world to the left. Next a Croquet menu select moves the cube in the Croquet window and after a short delay, you see the cube in Second Life move in the same manner. This is possible because the cube object in both environments understands the same message format, something I’ve been working on for over a decade called Remote Action Packets(RAP). In the demo below, because of Croquet’s TeaTime, all Croquet participants would also see the cube move. RAP takes this even further by distributing messages to any RAP aware clients. Each client can render that message in the manner most appropriate for it. A text client might simply display “cube: moved right”. There’s a lot more work and documentation to be done but I’d promised folks at the Intermeshverse Group meeting I’d show demos this week and this is as good a starting point for public discussion so here we go! For Second Life folks there will be RAP code to play with along with some other goodies in the next 24 hours with Croquet code rapidly following. There are some videos of RAP in action in SL and Squeak in the meantime. Stay tuned!
4 commentsGetting Started With Croquet Collaborative
I’ll be doing a series of posts on Croquet Collaborative soon but this Subsystem Overview may be helpful.
No commentsRiding The River Rapids In A Mesh Jungle
A couple of months ago in A Meshed-up Jungle Is Born, I predicted that “things will happen quickly” when meshes interconnect. Well forget about Web 2.0 or Web x.x for that matter, Amazon’s Elastic Compute Cloud is about to open the floodgates on a new era of what I’ve been calling the Mesh Jungle.
No commentsFor newer, “Web 2.0″ companies, providing APIs to allow third parties to “mash up” data from multiple sources is becoming commonplace.Amazon, however, is offering more than just programmatic access to its product catalog. The e-commerce giant boasts one of the most battle-tested computing infrastructures on the Internet, which it is opening up to outsiders.
“A fundamental premise behind what we are trying to do at Amazon Web Services is provide external developers all the benefits of scale that Amazon enjoys as a large Web site and large consumer and producer of Web infrastructure,” said Adam Selipsky, vice president of product management and developer relations at Amazon Web Services.
Rather than contract with a hosting company, buy hardware and hire staff, a customer could tap Amazon for computing power, storage and other general-purpose computing services.
Selipsky argued that outsiders can tap into the performance, reliability and security that the engineers of Amazon.com created over the years, which includes a total technology investment of more than $1.5 billion.
New Model For Game Development?
CNN.com - Virtual game jumps to real world - Apr 28, 2006
This month saw the launch of what is apparently the first game to be developed within another game.
Given the escalating cost of game deveopment and testing, I suspect that we’ll see more and more titles springing from the online world.
No comments