art's abode

art.csoft.net

Blog moving… finally.

without comments

Hi all,

I’ve finally managed to port all my posts to gopher. If you don’t know what I’m talking about, for shame! I’ve been meaning to do this for a while–all this Web 2.0 shit is getting a little to rich for my blood. I’m going to try going plain-text up in this hizzle, at least for a while.

Anyways, the new site and blog is here: http://retronet.info/art. You can also access it via gopher at gopher://retronet.info/1/art/. The new site contains all my previous posts, which is partially why it took so long for me to get off my ass and get done.

For the extra-nerdy, the site is run on a gopherd. What you access via port 80 through http is a gopher-to-http handler which converts the gopher into da interwebs.

Don’t worry–everything on this site will remain as-is, I know you’ve all got this set as your homepages, ain’t it?

Written by art

July 8th, 2011 at 11:01 pm

Posted in Uncategorized

Upgrading Live Mesh to Live Sync on Vista – workarounds.

without comments

We saw the following error messages when trying to get Live Sync working under a Vista laptop.

If you are unable to install Live Sync because it says Live Mesh is installed for other users on the computer.

 

Login to as many of the other accounts as you can, and uninstall Live Mesh.

If there are accounts you can’t access, or it’s been removed and still not being recognized, you may have to manually run the installer to repair or uninstall Mesh. Note that this exercise was fruitless under our Vista install due to being unable to run with elevated permissions.

You may also have to remove registry keys manually. See this article and work through the steps: http://social.microsoft.com/Forums/en/LiveMesh/thread/e22e0115-98d1-47eb-b495-ff3e10acb0a6.

Type Regedit and hit Enter (if you are on Vista you will need to agree to a UAC prompt)
In the Registry Editor remove the following Registry entries:

HKEY_CURRENT_USER\Software\Microsoft\Installer\Products\9D1E4BCD781B45B479E1418784C5A935

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\<YOURSID>\Products\9D1E4BCD781B45B479E1418784C5A935

NOTE:  <YOURSID> value will be unique to you.

You should do this for each SID you see in the UserData hive. Take care as this may botch things up for the other accounts. In our case it wasn’t an issue as they were non-active accounts.

Live Sync has an error on login: “Sorry, Windows Live Sync isn’t accepting new users right now. please check back later.”

 

  • Go to Start > Control Panel > Programs.
  • Find Windows Live Sync if it’s in the list of installed programs and uninstall it.
  • Uninstall/repair Windows Live Essentials, and remove Live Mesh if it’s showing as installed.
  • Download the Windows Live Essentials 2011 installer, and install Live Mesh/Live Sync.

After these steps, Live Sync was able to startup and login to LIVE successfully. This also added the device to the Sync Devices which you can confirm via the LIVE website (LIVE icon > Devices).

Hope this helps!

Written by art

November 13th, 2010 at 4:21 pm

OpenSolaris, Netbeans and rubygems.

without comments

If you are stuck trying to get rubygems installed in your OpenSolaris environment, the following may help. I ran into these issues while installing bcrypt-ruby and sqlite3-ruby gems.

  • First off, get the SUNWruby18 package, not the netbeans or jruby one. You can setup netbeans to use the  SUNWruby18 binary rather than jruby.
  • Install GCC, for example package name gcc-432.
  • Using “pfexec ln -s” for example, make symbolic links to GCC from /usr/bin/gcc-4.3.2 to /usr/bin/gcc and /usr/sfw/bin/gcc. Take note of which gcc version you have and construct your ln -s command appropriately.
  • Update your rubygems installation: “pfexec gem update –system”.
  • If you are compiling gems, you will need rake: “pfexec gem install rake”.
  • If you need sqlite3-ruby gem, you will need to download and compile a newer version of sqlite3 from the website as the OpenSolaris package is currently too old to build the gem.

That should be enough to get you going. Try installing gems now either from shell or netbeans with superuser privileges. If you run into errors, take close note of the error messages while compiling the gem, and the output logs. You can generally work out what is required from the fairly verbose errors.

You may see this type of error:

art@sol:~$ irb
irb(main):001:0> require “bcrypt”
LoadError: no such file to load — bcrypt
from (irb):1:in `require’
from (irb):1

One way to resolve this is to run ruby or irb with the -rubygems option:

art@sol:~$ irb -rubygems
irb(main):001:0> require “bcrypt”
=> true
irb(main):002:0>

Hope this helps!

Written by art

November 11th, 2010 at 7:45 pm

Turning a Physical Machine into a Virtual Machine

without comments

This morning my work laptop died a horrible and painful death. Suffice it to say that burning smell was not the smell of bacon on the pan but rather my poor work laptop melting internally.

Luckily, I was able to pull out the hard drive and plug it in elsewhere to ensure that I hadn’t lost any hard drive data. What little fortune I had today was in discovering that the hard disk itself was fine.

This left me with a dead computer, a good hard drive, and no way to run the drive.

CaptureEnter P2V. Using WinImage or any other tool that can convert a drive into a .VHD file, I managed to create an image of my notebook’s drive into a standard VHD.

At this point you may have read about HAL issues when using the VHD, blue screens and other horrific stuff. I was able to ignore all of these issues simply by creating a virtual machine in VirtualBox (not VMWare, Virtual Server or Hyper-V). VirtualBox now supports VHDs, so it’s simply a matter of creating a new VM, and using your VHD as an existing drive.

I was able to boot up without problems, and Windows 7 in the VM automatically downloaded all the new drivers I needed (such as the VM audio card, network card, etc.). Installing virtual additions also works. It doesn’t get any easier than that!

Written by art

November 11th, 2009 at 7:45 pm

Windows and Linux Seamlessly

without comments

Look ma, two OSes, one Desktop (and I ain’t talking Cygwin cheese either…):

the-ultimate-combo

Yes yes… I know you’re scared… let the VM frenzy begin!

Written by art

September 30th, 2009 at 7:35 am

Video Game Music

without comments

If you have ever been chez nous, you’ve probably noticed that I’m really into video game music. In particular, the OverClocked Remix project: a gathering of musicians worldwide dedicated to making video game remixes.

OC Remix isn’t new–the community has been releasing content for years now. Did I mention all of this is free? Check out the compilations and albums they’ve got for download (I can get over 1MB/sec downstream via the torrents on their page). Most releases come as MP3s and fully lossless FLAC or WAV for ear-bursting glories.

SSF2THDR If you’ve played Street Fighter II Turbo HD Remix, the soundtrack was created by OC Remix artists (I bought this game for XBox360 Live Arcade and came to the sad realisation that my aged reflexes can no longer pull of Hadoukens with the best of ‘em…).

Here are a few albums and tracks which I have particularly enjoyed in recent years:

Album

Listen!

Released

ocr_kirby_thumbnailjpg
Kirby’s Adventure: Rise of the Star

Free Breezin’ – Theme of Son of Wind

2005

ocr_ff7_thumbnailjpg
Final Fantasy VII: Voices of the Lifestream

Full Frontal Assault (Let the Battles Begin!)

Nomura Limit (Fight On!)

2007


ocr_sf2_thumbnail
Super Street Fighter II Turbo: Blood on the Asphalt

Mercenary Boxing (Balrog Stage)

2007

ocr_doom2_thumbnailjpg

Doom II: Delta-Q-Delta

MAP08: The Duel (The Dave D. Taylor Blues)

2008

Written by art

September 22nd, 2009 at 6:09 pm

Posted in games,music

Tagged with ,

Cygwin SSH Server and Windows 7

with 2 comments

In order to install openssh server correctly for Windows 7, you will need to do the following:

  1. Install Cygwin in the normal way. Make sure you’ve got openssh and cygrunsrv as selected packages to install.
  2. Right-click the Cygwin shell icon, and Run as administrator.
  3. Run ssh-host-config. Follow the prompts carefully: if needed, it will tell you which permissions you need to set and where. Remember to say yes to privilege separation: it will create a user for you called cyg_runsrv which all cygwin services will run under in Windows 7.
  4. You should be able to start the service using cygrunsrv –-start sshd, or by starting it as a normal service under Administrative Tools > Services.
  5. This does not automatically create and open firewall rules, so you will have to do this manually.

Written by art

September 2nd, 2009 at 3:20 pm

Outlook 2010 TP does not work with Mobile Device Center

with 6 comments

… apparently they didn’t think it was important for the Technical Preview to be able to sync things with mobile devices anymore… nice one.

I’m presented with this lovely pop-up:

image

Not very Enterprise-ready now, is it, guys?

Written by art

July 18th, 2009 at 9:25 pm

Popfly Shutting Down

without comments

Just received an e-mail from the (apparently) ex-folks at Microsoft Popfly:

I’m writing to thank you for registering and using Microsoft Popfly. I’ve been fortunate enough to see all the innovative mashups, Web pages, and games created by the Popfly community since we launched Popfly two years ago. It has truly been a pleasure to watch the spirit of creativity flow through a growing Popfly community over the life of the product.

It’s with a heavy heart that I share some news with you today: on August 24, 2009, the Popfly service will be discontinued and all sites, references, and resources will be taken down.

After August 24th, your access to your Popfly account, including any games and mashups that you’ve created, will be discontinued. However, Microsoft is still very much dedicated to helping you express your creativity and pursuing a path to software development. If you’re interested in refining your skills in Web applications, please visit Microsoft Web Platform Installer. For those interested in programming on the Xbox, then please visit Microsoft XNA or Microsoft Kodu. And for those who are interested in Windows programming, please visit Microsoft Express.

Thanks again for your support and please don’t hesitate to contact us at popfly@microsoft.com if you have any questions.

Regards,
John Montgomery
for the Popfly Team

 

Financial crisis et al, I suppose.

Written by art

July 16th, 2009 at 7:59 pm

Posted in microsoft

Compiling, Using and Developing on Microsoft Singularity

without comments

I’ll be adding more to this post quasi-frequently.

This post is based on the Singularity RDK 2.0 images and source, which are available here: http://www.codeplex.com/singularity.

Singularity can be run fairly easily. You can also roll your own, and compile Singularity from source.

What you will need:

  • Singularity RDK 2.0 ISO image.
  • Singularity RDK 2.0 sources: if you wish to compile from source.
  • A machine: physical, or virtual*.

* I’ve used Microsoft Virtual PC Beta on a Windows 7 7100 x64 host machine. I’m told it works for Virtual PC 2007. I was unable to get it working with VMWare Server 2.0.

Running Singularity

  • Download the ISO image.
  • Burn it to a CD, or save to a location mountable for your VM.
  • Boot the ISO.

You now should have Singularity running, using the default build. If you just wanted to look gangsta–mission accomplished, take your screenshots and begin bragging to on web forums:

singularity_vm

However, if you want to explore the OS (such as it is), read on.

What the Hell is This, Min?

OK, don’t panic. Looks daunting, I know. Acquaint yourself with this little gem, for starters: “Singularity_RDK_2.0_Source\docs\Design Notes\SDN87 RDK Applications Guide.pdf“. It is from the RDK 2.0 source download, and will give you a good idea of how to use Singularity commands.

Some commands:

  • help: display all commands.
  • dir.
  • start.
  • ipconfig @show: display status of all NICs.
  • dns @show: display DNS settings.
  • seditor: an EDLIN-like editor.
  • sc @show: show status of all services.
  • tasklist: show list of all tasks.
  • jobs: show a list of all jobs.
  • fg n: foreground job number n. Use ^C to quit the job.
  • shutdown.

Backgrounding:

Use & to run programs in the background. You can ^Z halt processes, then use bg n to background it.

Compiling From Source

The source comes with a PDF: Building and Running Singularity RDK 2.0.pdf. Read it.

Essentially you follow the instructions as given in that document:

  • Get the prerequisites for the environment.
  • Run “configure.cmd”.
  • Delete/rename the directory “Singularity_RDK_2.0_Source\base.obj”, if it exists.
  • Run the “Singularity RDK 2.0” desktop icon which will bring up a command line prepped for building Singularity or debugging it.
  • At the prompt, type as below to build Singularity World distro:
    …\base> msb Distro\World.proj
  • If it dies saying it couldn’t find a directory within “Singularity_RDK_2.0_Source\base.obj\MSBuildLogs\6\…”, don’t worry. Go into that MSBuildLogs directory and create the 6 directory. Now the MSBuild should work.

image

image

  • You can find generated ISO image for your build in “Singularity_RDK_2.0_Source\base.obj\Distros”.

If you modify any .scripts, for example, you may wish to recompile to include the modifications on an ISO; you just repeat the above process after making your changes to “C:\src\Singularity_RDK_2.0_Source\base\Distro\Scripts\startup.script”, for example.

As a rough benchmark, it takes me 10-15 minutes to build World on a quad core with 8 GB memory.

Networking

Aye, it works.

If you’re ultra-lazy, just do the following:

Singularity>ipconfig @dhcp /dev/nic0 start

This should get you going with DHCP. It’ll poll the DHCP server for DNS servers too.

You can set a static ip thusly:

Singularity>ipconfig /dev/nic0 192.168.1.99 255.255.255.0 192.168.1.1

The format is ipconfig <device> <ip> <netmask> <gateway>.

Remember that if you set a static IP using ipconfig, you will need to tell Singularity which DNS servers to use, check the dns command.

Enabling VESA

Edit the file “Singularity_RDK_2.0_Source\base\Distro\LegacyPCDistro.xml“.

Enable the line:

<driver name=”S3Trio64″ />

Recompile, and you’ve got VESA.

image

I prefer without VESA as it has a handy thread statusbar at the top of the blue screen, which is apparently gone in VESA mode. Pity.

FAT drives

For FAT support open your Distro build file (i.e., “Singularity_RDK_2.0_Source\base\Distro\World.proj“), add the following line:

<Application Include=”$(SINGULARITY_ROOT\Services\Fat\Control\FatControl.csproj”/>

Recompile, and you’ve got FAT support.

Make sure you’ve partitioned your FAT drive beforehand. You should be able to see it listed in the /dev tree.

Now, you can @format, @mount and @unmount your FAT drive using fatcontrol.

image

.script files and customizing startup.script

If you are serious about using Singularity, you will likely want to modify your init/startup.script. The best way to do this is to edit this on your host machine, then msb.

Note that you will have to put ‘single quotes’ around all arguments. For example, the shell command hostname -n=paddington (this changes the machine’s hostname to “paddington”) would be put in startup.script as:

hostname ‘-n=paddington’

There are plenty of examples in the RDK for you to get started with. Here is Singularity booting up, setting hostname, a DHCP connection, a static IP, and mounting a FAT drive:

image

Jobs

If you try to reboot or shutdown while there are jobs, Singularity will freeze. Nice. For now, just remember to kill all your jobs by foregrounding them (jobs, fg n, ^C).

Developing in Singularity

Read this thread which discusses the best way to develop for Singularity: http://singularity.codeplex.com/Thread/View.aspx?ThreadId=23669.

A quote:

copy an existing project like …\base\Applications\Hello\

to …\base\Applications\MyProj\

cd …\base\Applications\MyProj\

rename .cs and .csproj files, edit them for content.

msb MyProj.csproj (until it compiles)

back to …\base

edit distro\tiny.proj and add a line for your app

<Application Include=”$(SINGULARITY_ROOT\Applications\MyProj\MyProj.proj”/>

msb distro\tiny.proj

In general, I’ve found the process to be fairly straightforward, once you get the hang of it. I would recommend you compile a World distro, and keep the base.obj directory. Now, go into the base directory, and edit your sources/files.

The next time you msb the distro, it will only recompile/update the changed files. This is a pretty quick way to edit the scripts, and not too long if you are coding.

As a benchmark, it takes less than a minute for me to msb world, if I’ve made changes to 1 or 2 code projects within the source tree:

image

Debugging with WinDbg

Create a named pipe to COM2, and you can call the debugger using “dbg.cmd /pipe”.

image

Now, when you start up your Singularity VM, it will automatically output the debug to WinDbg:

image

Caveats

  • Some example applications are buggy/not working.
  • US keyboard layout only? I couldn’t find a way to change this anywhere in the source.
  • Couldn’t get the /dev/audio device with Virtual PC Beta.

Demo Server

I have set up a demo Singularity web server, details here.

Written by art

June 3rd, 2009 at 6:24 pm