Windows ApplicationJanuary 27, 2011

Bedia


I had collected over 1000 albums and in the late 90s I learned about MP3 and converted my collection so I could use my computer as a very functional jukebox. I also collected a large number of DVDs and thought it would be nice to use the same computing power to allow me the ease of viewing this material without having to shuffle through discs.

Over the years I have used a number of technologies to stream my DVD and video collection anywhere in my home. Most of these applications were too slow, too difficult, did not have the features I wanted or simply did not work reliably. So with this in mind I created Bedia.

Bedia is designed to be a simple interface to a computers hard drive that is navigated using any two button mouse that has a scroll wheel. The scroll wheel is used to navigate up and down the list, the left mouse button selects items and the right mouse button returns to the previous menu. Simple enough? I thought so. The mouse does not need to lie on any surface and there is no actual mouse icon/pointer as the user is using the mouse like a simple remote control. One of the problems with current tv remote controls is that they have so many buttons and you are moving your concentration from the tv/monitor to the remote and back again. This is not an effective way to view your media. Another problem with many tv remotes is that they are line-of-sight, so if your remote is not preciesly aimed at the tv or video box you are stuck pressing the same button multiple times. Bedia seeks to resolve this by allowing the user to use inexpensive wireless mice that do not require line of sight and the options; Fast Forward, Rewind, Pause, etc, are viewed on the top of your tv/monitor. This way your are looking at your media while you are selecting what function you wish to perform. Easy right?

An Introduction to Bedia.

As you can see from the following two images, you can see that I have setup Bedia to just view a collection of folders that the user can choose from your local or network hard drive. Because each user may organize their files within your own logic I believe it would be easist to allow the user to choose their own oganizational patterns. There is no database and nothing to update, unlike so many other media systems. So the moment the user selects a menu the data within that folder is displayed. There is no need to update a database or system files. If you add new media to one or more of your folders, when you select that option within Bedia the new media will be displayed.

Menu with video playing*

Settings Page

Bedia running on a TV.

Commands available during playback:

Features:

Update: Jan 2nd, 2014. Added additional podcasts, available via the Settings menu. Update the UI to be consistant with the upcoming version of Bedia NV Fixed a few minor bugs.
System Requirements:


Download Bedia 1.6

Source Code is available at GitHub


VLC has released a new version (2.0) and unfortunately the new version has broken the existing interfaces. Version 1.0 of Bedia only works with VLC 1.1.11 or earlier. There are some known issues with this version.

Download VLC version 1.1.11

Download Bedia 1.0, VLC Version

* Kudos to MST3K.

Technologies: VB.NET, XML, Windows Media Player

share this

Virtual Reality ExperienceJune 03, 2021

60 Second Star Wars


At the annual Star Wars marathon I recalled seeing the opening scene in Imax in a short film Special Effects: Anything Can Happen. Within that film ILM, had redone the opening to "A New Hope" in LARGE Imax scale and it was truly awesome. It was like seeing it again for the first time. I realized it could be fun to experience this moment in VR. So here we are. Hope you dig it.

Download 200 MB June 3, 2021
Oculus Rift or Quest 2 if using AirLink

Credits

Technologies: C#, Unity, Oculus Quest 2 (AirLink), URP, Visual Studio

share this

Mobile ApplicationMay 08, 2010

About / Contact


Blissgig is run by James Rose in New York City. Blissgig was started in the Spring of 2008 as a home to a social site I was constructing, for details see "The Social Site".

Blissgig@gmail.com
Twitter/Blissgig

All content on this site is copyright James Rose unless otherwise stated. Code and applications may be used under any situations that are not for profit use. If there is a situation where there is a need to use the application or code in a business situation please contact me as I am sure we can reach a mutually agreeable terms.

share this

Windows ApplicationMay 02, 2002

AMS Enterprise


AMS Enterprise is a medical application for monitoring methadone patients and dispensing liquid medication. This was a rather complicated application as it had over 200 clinic options and over 200 user options.

The design of the application was to mimic the doctor chart. This made sure that each section of the patient's information is only a single click away. Each tab could be hidden based on clinic or user options.

Even though this application was build in 2002/2003, I choose to use Visual Basic 6 because after visiting multiple clinics and hospitals I became aware of the minimal funds available to the IT depts. Because of this issue the computers were all much slower and had less RAM than technologies such as .NET would need so that the application could run well. The back end data store was SQL Server. This choice was again based on funds and there was a free version of SQL Server called "SQL Server Dekstop Edition". The current free version of SQL Server is SQL Server Express.

Technologies: VB 6, SQL Server

share this

Windows ApplicationSeptember 21, 2015

Appliance TMR


Appliance TMR is a Windows Phone app that allows you to easily set a timer for your home appliances. For those of us who live in apts doing laundry can become a bit of a guessing game.

Available appliances:

Each of these appliances has a default time set, however this value can be changed.

To change an appliance, simply swipe left or right, starting on the icon. To change an appliances time swipe left or right, starting on the time (right half of the Tile)

The user may have multiple, really unlimted, Timer Tiles. Each tile can have it's own appliance and it's own time.

When a timer completes the user is notified by a standard Windows Phone Toast that shows specific info about the appliance.

As of Sept 25, 2015 this application is ready for some alpha testing. The code is available below.

This app is in development and the source code is available at GitHub

Technologies: C#, WP8

share this

Windows ApplicationSeptember 01, 1996

ATM World


ATM World was an application I built while employed at Wells Fargo. This application tracked all details about their ATMs; Projects, Sites, Users, etc.

The users at Wells Fargo lived in MS Outlook so I designed the application to mimic the look and feel of that application. We researched including ATM World within Outlook but at that time the abilities of the Outlook SDK did not meet our requirments. As you can see from the screen shot below the information is a little crowded as the maximum resolution available for systems at Wells Fargo was 800 x 600. The application that was in use when we started development of ATM World was double the screen resolution causing the users to have to scroll left/right and up/down to view information. (not good)

ATM World was build using Visual Basic 5 and 6 using Oracle as the back-end data store.

Technologies: VB 4, 5 and 6, ADO, Oracle

share this

Windows ApplicationMay 13, 2015

b.Linkr


Aug 5th, 2015. Alpha version available.

I have given this app a name; "b.Linkr", pronounced in Blinker. The very basic activity of this app is to link files together.

While talking with management about our technical process I wanted to know about the original documentation and system flow. It turned out that no documentaion was every created. Sadly, this is not uncommon. While explaining the value of a flow chart of the system process I came to realize that one reason that there is so rarely any good documention is that it is too dificult to create and update. So with that in mind I created the following specifications for a new flow chart/documentation application.

The base idea is that a project manager and/or developers could talk with management and/or end-users and talk over the process flow. As each "event" is described the application user can simply add nodes. Developers can use the application to add links to screen shots or code classes to make it easier to find out what the process is and where the code for each "event" exists.

Selecting the top level document will display a preview pane. Currently there is no way to remove a document from the group.

Download Alpha version of b.Linkr

Storage is via XML, but the data model will also easily translate to a relational database in case of larger scale needs.

Technologies: C#, XML.

share this

Virtual Reality ExperienceNovember 29, 2023

Bathroom Remodel


This one was for me, a quick one day project as we want to update our attic bathroom. This allowed us to easily see how the space will actually look.

Bathroom Remodel
Oculus Rift or Quest 2 if using AirLink

Technologies: C#, Unity, URP, Oculus Quest 2 (AirLink), Visual Studio

share this

Windows ApplicationSeptember 17, 2015

Bedia NV


Bedia and Bedia NV came about because of my desire to have a home theatre application that fit my needs. I played with multiple software and devices and all of them forced the user to sort data the way the application wanted to sort. Both versions of Bedia allow the user to add multiple folders to the Home Page. Users can sort their data the way they want and simply have the folders as the top items on the Home Page.

Another issue with all Home Theatre devices and applications is that the remote is a collection of small buttons and different icons that the user must take their focus from the content. This application uses a standard computer mouse, the scroll wheel allows the user to scroll through the media when selecting one or more to play, and then during playback the scrollwheel allows the user to see the navigation options on the television/monitor.

Bedia is designed to be an easy to use media player for your television. A mouse is used for a remote. The benefits of this are you don't need line-of-site, like standard remotes, and the ease of use. All actions can be seen on the television, so no more hitting the incorrect button while watching a movie in a dark room. The mouse scroll wheel moves you through available menus and navigation options (during playback) while the left button is "Select" and the right button is "Back". While media is playing if you scroll the list of navgation options is shown as a pair; Left button or Right button. Very simple and easy.

One or my bigger complaints about many media players designed for use on a television is that the application would decide how to organize your media. The Bedia family of media players allow you to add as many folders to the Home Page as you want, including sub folders, and these are displayed at the top making them easy and quick to access.

Navigation

New features

Services

Settings

Files Supported

Thanks and Credit where due...

Download Bedia NV - Version 2.4.420 April 20, 2017

This is the 2nd version of Bedia NV. The first version was designed for Windows 8 Store, however because of limitions of that platform I used technologies that are available for Windows 7, 8/8.1 and 10.

Technologies: C#, WPF, XAML, XML, JSON

share this

Windows ApplicationApril 20, 2016

Bedia UV


Bedia UV is the third version of the Home Theatre application. It is now a Windows Universal Application. The update will allow access to more online media thanks to the new MS Player Framework

Because of a number of limitations of the Windows Universal Platform, there are several issues that cannot be handled at this time. At this time Bedia NV has been updated with the features in Bedia UV and it my preferred home theatre application.

Bedia is designed to be an easy to use media player for your television. A mouse is used for a remote. The benefits of this are you don't need line-of-site, like standard remotes, and the ease of use. All actions can be seen on the television, so no more hitting the incorrect button while watching a movie in a dark room. The mouse scroll wheel moves you through available menus and navigation options (during playback) while the left button is "Select" and the right button is "Back". While media is playing if you scroll the list of navgation options is shown as a pair; Left button or Right button. Very simple and easy.

One or my bigger complaints about many media players designed for use on a television is that the application would decide how to organize your media. The Bedia family of media players allow you to add as many folders to the Home Page as you want, including sub folders, and these are displayed at the top making them easy and quick to access.

Bedia and Bedia NV came about because of my desire to have a home theatre application that fit my needs. I played with multiple software and devices and all of them forced the user to sort data the way the application wanted to sort. Both versions of Bedia allow the user to add multiple folders to the Home Page. Users can sort their data the way they want and simply have the folders as the top items on the Home Page.

Another issue with all Home Theatre devices and applications is that the remote is a collection of small buttons and different icons that the user must take their focus from the content. This application uses a standard computer mouse, the scroll wheel allows the user to scroll through the media when selecting one or more to play, and then during playback the scrollwheel allows the user to see the navigation options on the television/monitor.




Navigation

Files Supported

Services

Settings

Available in the Windows Store

Bedia UV is now open source and available on GitHub

Privacy Policy
Bedia UV uses the computer's IP address to get the location. The location information is used to get weather, transit, movie theatre location and movie times. Media history is stored within a text file with the application, this data can be cleared from the Settings menu.

Media history and other usage is not sent to Blissgig.com or other parties. Period.

Technologies: C#, UWP, XML, JSON, Source Safe

share this

Virtual Reality ExperienceNovember 01, 2016

Bedia VR


I rented the Oculus Rift Developer Kit last year and purchased the CV1 recently. It was quick to see the value of VR, at least in the realm of entertainment, as the additional sense of movement brings an entire new level of engagement. I have spent some time thinking about how these devices can be used as business applications, however because of the lack of high enough resolution I do not believe basic text based business applications are valid at this time. Visual based applications can have real potential and the ability to freely move about the data could be an intuative way to understand the information at hand.

I also noticed that the various vr media players do not have a good playback media control like I created within Bedia, Bedia NV and Bedia UV. I thought I would dig into the Oculus SDK and research into the ability to display 3D 180/360 content with the Bedia playback controls displayed in from of the user in whatever direction they are viewing with minimal obstruction to the content.

I have started researching the various tools that will allow me to use .NET to create this VR application. This will at least allow me to know the cababilities of the device.

Update April 21, 2017. I have been looking at a number of VR media players;Bigscreen, Deo, Cmoar VR Cinema, Moon VR Player, Sour VR, Virtual Desktop, Whirligig and a few others. Each of these have some interesting features. Deo is very easy to use and Bigscreen and Virtual Desktop and some interesting environments to watch movies.

Because I have not settled on the feature set I would include and because Unity and VR is a little more complex to build this without better experience I have postponed this application will I work on a few more simple VR applications.

Technologies: C#, Unity, Visual Studio

share this

Windows ApplicationAugust 19, 2013

Big Apple Transit


A Windows 8 Phone app for viewing current status of the New York City transit. Simple app to view the current status of all NYC transit: Subways, Buses, Bridges, etc.

The app settings allow you to select the transit items you want to see on the home page.

Update: Sept 4, 2013: This application is now available on the MS Store..

Technologies: C#, WP8

share this

About BlissgigApril 08, 2008

Blissgig


Welcome to Blissgig. This is a showcase of projects and technologies with which I have worked.

Most recent project: A VR race game

share this

Windows ApplicationMay 26, 2011

Bollage


Bollage is a simple image collage application. There are some collage screen savers, but a quick search did not turn up any applications that you can run that display a collage of pictures without being in screen saver mode. I have multiple monitors so it is nice to run in a side monitor and see all the pictures I have taken over the years. Beats a single Windows Gadget that only displays a single image. The window can be any size that you want it to be. I wrote this very simple application (free, enjoy) and I have included the source code in case anyone wants to use in within their non-commercial applications. I will most likely use this code in one or more applications that I am currently working on or that I am currently designing.

August 2, 2011. I created a multi-monitor enabled screen saver version. It is available below, along with the source code.

June 17, 2011. Bollage recieved a minor update. It can now load multiple folders, as many as the user requires. The Select Folder dialog appears repeattly until the user presses Cancel.

When you start Bollage you see this dialog asking you for a folder that contains images. Once you select a folder and press "OK", the Bollage displays a random picture for that folder at a random size and position. This application will run forever taking the next random image.

Select a folder

Bollage

There is no installation for Bollage at this time.

Download Bollage Screen Saver.

Bollage Source Code available at GitHub. C#

Requires the Microsoft.NET Frameworks 4.0 available here

Technologies: C#

share this

Article, no codeJune 01, 2012

Books and sites to read


As a tech we spend every day reading documentation, however some documents are more valuable than others. Follows is a list of books and sites that I highly recommend for all developers.

About Face
User Interface design issues. This book is written by the creator of Visual Basic, so of course I read it years ago. He takes a bit of a hard line on some issues, and while a lot of this book speaks about older issues (Windows UI) they are still relevant today.

Design Patterns
This is simply a must read for all developers. Anything else I say here would be redundant

Dreaming In Code
A great book about some impressive developers and their management attempting to handle a large scale development. Developers and management need to read this one, as there are many good points made here.

The Mythical Man-Month
Written so long again and yet very relavant, again for developers as well as management.

Programming as if people mattered"
I loved the title here; "as if", not that they do, but AS IF. Too funny. Still, a good book about issues with UI/UX that all developers should read.

Clients From Hell.net
Good to know what to look out for and how to handle bad clients.

Programmers Life
(comic) If you write software, you've lived these stories.

The Daily WTF.
Code horror stories, fun reads and good info to know.

Not Always Right.com
Because the customer/client/boss/user is not right.

share this

Windows ApplicationMay 20, 2011

Broadway


This is a recreation of a control I had started to make back in 1999 using Visual Basic 6.0, however that set of tools was not very efficiant for dealing with graphics. From time to time I have had the need for this sort of old style led display, so here it is.

Round elements 10x10

Square elements 20x20

I attempted to address all the possibilities for this type of control and keep it as simple as possible. An "element", think of an element as a single LED, can have separate height and width and can be oval or rectangle. There can be a border color on an element and the border is also an adjustable width and height. I have allowed for an adjustable width between each charactor and I have threaded the process that moves the text value.

In the addition of the standard UserControl properties, Broadway has the following properties:
Base Properties

Element Properties

Element Border Properties

Download source code. Written in VB.NET 2008.

This code contains the control and a test bed for trying out your changes. The code can be used and modified for non-commercial or non-business related products. If there is a need for this code to be used within a commercial product, or if you have any other questions please contact me at Blissgig@gmail.com

It is worth noting that this could be made accessable to COM, but really, I think you should move beyound that technology if you can. I have not tested this under those circumstances.

share this

Details About An IdeaJune 13, 2011

bundance


"bundance", as in abundance, is to be an application that is designed to run on computers with multiple monitor so that the user can select media (images and video, with an optional audio soundtrack) to play on one or more monitors. Each monitor will be allowed to divide into 1, 2, 3 or 4 sections. Each section can be assigned as video or images. Media can e abssigned to a specific section or to all sections. Think of this as a massive collage.

I am currently creating detailed specifications for this application, so if there details you would like included this is the time to ask me.

share this

Windows ApplicationFebruary 24, 2014

Capture / Crop


A request on Reddit.com this weekend for an app to capture and crop the Window's desktop. Since I was nursing a cold this was something that would distract me.

Features

Beta: Capture / Crop. At this time there is not an installation app. Simply download this ZIP file. You will need the Microsoft .Net Frameworks 4.0

C# Source Code available on GitHub

share this

Windows ApplicationNovember 18, 2013

CDC 3000


Yet another countdown clock. This afternoon a request on Reddit.com as someone needed a countdown clock for telepropter. So I threw this together and here it is, source code and all.

Features

Source Code and application. .Net 4.0 Frameworks required

Source Code available at GitHub.

share this

Article, no codeJanuary 27, 2021

Communicate to the users


I know I am not the first developer to say this, but yet here I go. Developers, you NEED to communicate to your users. Don't EVER make them guess what is going on. eg: The hourglass or endless spinning circle. What is happening? When will it end?

See, the problem is that because the developer wrote the code there is often an assumption that it is self explainitory. It is not.

For example here is a Unity dialog:

Because VR applications are HUGE I am forced to look at this dialog for hours, and that is not an exageration. So what's specifically wrong with this dialog?

Users should not have to guess what is happening and should also not have to spend ANY time on Google/application site attempting to figure out what is happening. Tell them, be explicit. Yes, some users will be annoyed because they know what is happening... the thing is, they will know because you told them.

share this

Windows ApplicationAugust 20, 2010

D2 Playlist


A few days ago I got the Droid X, an impressive smartphone. However creating music playlists on a phone is never that easy and I have playlists that date back 30 years, once upon a time they were called "Mix Tapes". So I made "D2 Playlist" as a simply Windows based application that will allow the user to drag and drop, or open existing WinAmp playlists. Then by selecting "Export" the application navigates to the "music" folder and copies the music and creates a playlist file that the Droid can read (.pls)

This is a very simple 1.0 application and I am releasing the application as well as the source code as after reviewing countless posts there did not seem to be any application that was easy to use or even covered this requirement. I have tested this application on Windows 7, 64bit with the Droid X. When selecting "Export" you will be prompted for the location to where you want to copy the files. On My Droid X that location is "[drive]\mobile\music". Please be aware that on your phone it may be different.

The source code is available and may be used for any non-commercial uses. If there are feature requests or bugs that you would like to report please feel free to contact me.

An installation has yet to created for this application. You will need to have Microsoft's .Net Frameworks 2.0

Please be aware that this is an "alpha" product and that Blissgig does not offer any support or take any responsability for issues with your computer or other devices by using this software.

Download application

Download Source Code

share this

Windows ApplicationMarch 20, 2010

DJT2


DJT2, "DJ Tools 2", is the second generation tool of "DJ Patterns". This application is a companion application to Virtual DJ.

Export Data Fields
The following fields are available for the Export section. The user can choose which fields to show and in what order.

The next version will allow the user to "tag" media and filter by that data as well.

This application was written in Visual Basic.NET 2008. Source is also planned to be available in C# at a later date.

Download DJT2
Download Source Code

share this

Article, no codeMay 22, 2011

Documentation


Over the past twenty years I have read countless technical books, documents, help files and web pages searching for clues on how to work with numerous technologies and development tools. Is still amazes me after all these years the lack of consistency within the development community and within even specific sites on the process of documentation.

The ability for a project or technology to succeed both in the short and long term often can rest in the documentation. Giving other members of the team, or those who come from outside the development of the specific item information on how to use the technology is paramount to it use and acceptance as a tool to be widely used. I have frequently heard the phrase; "The code is the documentation." While commenting the code can be helpful and should be done (to excess!) it is not the documentation. Proper documentation of a technology should consist of at least the following:

I believe documentation suffers for a variety of reasons; I think that the developers who are writing the code are often under pressure from management to get this project done asap, or sooner. I can't count the number of times I have been asked how long a project will take to complete before I have even been given specifications. I believe this is because our industry is relatively new and there is a disconnect between developers and management. In the last decade I have seen this get better as more developers have risen into the ranks of management, usually through the role of Project Manager. The lack of foresight causes so much more wasted time at later stages of the process. Again, the number of projects that I have come into at later stages of development that had zero documentation is upsetting and, imo, criminal. (OK, so "criminal" is a bit harsh, but I think you're bright enough to get the idea.)

Another issue that I believe is an issue with the documentation is that those who write the code are too close to make good judgment calls on how to properly, and concisely state what the code does and how to use it.

This bring me to a big point; Code Samples. I have seen good code, really, I have. And it is littered with comments. The header is commented with how wrote it and when, the body of the function has numerous comments about what is supposed to happen and why something might fail, and the details about what is done to avoid specific or even unknown failures.

I once read a book in about 1993/94 called Visual Basic Database Programming and it contained only one and a half paragraphs about tables and joins. I understand that the mid 90's are the dark ages compared to where we are now, my point in this rant is to insure that in 10 years time we make the leaps in technology and its ease of use that should be occurring and to make it easier for me and you in our projects.

James Rose

share this

Virtual Reality ExperienceOctober 16, 2018

Expressions VR


"Expressions VR" is to be a place where I can show off mini-vr experiences. This allows me to test technologies and ideas.

Field of flowers
The first scene is a simple field of flowers inspired by this photo I found on Reddit. The initial thought was this would allow me to learn how to use Gaia, and while this asset was quite easy to use and impressive, what I ended up learning was the details about third party vegitation and it's use within Unity

I also learned, as I did with Heartbeat City, is the limitations of the VR platform. The majority of the vegitation had to be 2d panels as the frame rate could not handle the tens of thousands of 3d flowers that this scene required.

This is a simple scene and there is no user navigation within the environment. It is designed as a two minute experience, simply sit on the bench and enjoy the view.

Download "Expressions VR" 330 MB

Fireflies
I created the following scene as I saw an amazing photo of forest filled with fireflies. Because I am originally from the West Coast, where I never, ever got to see fireflies, so I thought it would be a nice and quick distraction, as well as a nice art piece where the user can sit and experience fireflies. Nothing to do, no where to go. Just sit and enjoy the scene.

Download "Fireflies VR" 500 MB


Technologies: Unity3d, Oculus Rift, VR, C#

share this

Web ApplicationMarch 12, 2014

FeelzMe


FeelzMe was an idea that was brought to me by someone without development knowledge. It was built on the notion that web sites do not give a method for users to express themselves with the exception of an Up/Down or a Like.

Besides the web site; APIs were created to allow XML access to search and trending, widgets so websites could have a current mask for the site url or a phrase. Also a mobile page and mobile app for the Windows phone was created.

FeelzMe can be demonstrated here. This demo version does not contain many of the features that were working on the full site, however the base function is preserved.

Technologies: C#, ASP.NET, SQL Server, XML, WP8

share this

Article, no codeMarch 02, 2017

GitHub


Developers have a responsability to share their knowledge and experiences. In order to contribute a number of my projects have been posted to Github for use and review.

github.com/blissgig

share this

Windows ApplicationAugust 02, 2013

Great American Broadcast


The Great American Broadcast is a internet show by broadcast pioneer Alex Bennett.

There are many ways to enjoy the Great American Broadcast. All the applications are available for free.

Windows Desktop application

Windows Phone application

Technologies: C#, WP8

share this

Virtual Reality ExperienceMay 02, 2017

Heartbeat City


In the not too distant future life in the city is modern, clean and safe. Heartbeat City is filled with "Auto Autos" that drive themselves, they take us where we want to go. But then there is you; a hacker with an addiction to speed and a disdain for authority. What do you do? You race the streets, avoid the cops and cause mayhem. Enjoy

Nov 8, 2023. Design work and optimization complete. It has been 18+ months of work, mostly design work (hats off to real designers!) There is still work to do, but now I can concentrate on what i do best; programming.

A number of changes were made to get to the required frame rate. ALL traffic is now using the Unity ECS/DOTS technology, however the player's Auto is currently still the older tech, which means that for now there is no interaction between the player and other Autos.
Next Steps

Download here

Nov 9th, 2023. I recently rediscoved an AMAZING version of the VR-flying-car-thing, it is so much better than I could have ever done, after all I'm a software developer, not a graphic designer. Hell, I barely play games. But really, the acolades belong to LeDorean2015 and "Grid Runner". You simply must look into this project. So much better. I had learned what I came to learn from this project, so for the time being I am pausing most work on Heartbeat City. Again, Bravo! LeDorean2015

Heartbeat City Road Map

Above Heartbeat City

Seen from above you can see that Heartbeat City is a large place to explore.

Please be aware that I know many areas of the game are rough. The intent here was not to make a game, but to learn more about the abilities and limitations of the platform and devices. In this aspect there is a lot going on here; Lots of multi level traffic, buildings that respond to the beat, endless selection of races since each race is random.

This is a chase/race game designed for VR. I do not play many video games, however in the past few years I have enjoyed the Need for Speed franchise and with my interest in VR I thought it would be of value to my abilities and knowledge to attempt to create a game that I would enjoy.

Thanks to Unity's "Data-Oriented Technology Stack" aka DOTS the game can now have the immersion for which I first hoped. There are still many items that will need to be completed to make this a fully functioning game.

Series of videos showing the progression of Heartbeat City

I was listening to The Cars "Heartbeat City" while playing NFS and it clicked as the inspiration for the game. So I created a playlist of additional songs that I believe match the feel of the game, to inspire me and move me in the direction I believe the game should go.


Reddit user AppalachianCentrist2 supplied a great playlist of songs with a nice variety and texture: Spotify Playlist

What follows is an incomplete list of components used within this project

Technologies: C#, Unity, Unity ECS/DOTS, Oculus Quest 2 via Air Link, Visual Studio, VR

share this

Virtual Reality ExperienceMarch 16, 2021

Infinite Candles


I have been having some issues with finding the limits of what can realistically be acomplished on the Oculus Quest 2*. Because of these issues, and because I have spent months working on larger projects I thought it best to create a simple project and see how far I can push the technology and still get decent frame rates.

About a decade ago I saw an interesting art installation, quick clip here, where you were in a small room with lots of mirrors and faux candles which gave the impression of infinite candles. It was an impressive piece so I thought I would replicate that here. There is no movement in this scene, you can only look around, just like the art installation.

Download Infinite Candles 39 MB

Technologies: C#, Unity, Oculus Quest 2, URP, Visual Studio

* This scene has just under 5000 low poly candles. Less than half of those move. Only a small percentage have animated flames, those closest to the player. Candles in the mid-range flicker, while those farther out do not. This was build on the Unity Universal Render Pipeline. Unity DOTS was considered, but at this time I got the information I required.

share this

Article, no codeMay 01, 2010

Interviews, We Can Do Better


So, for the sake of fun and avoiding a bad interview.

share this

Web ApplicationApril 03, 2017

leefi / leefie


leefi is an improvement on the way users show how they feel about a subject. Currently most sites employ a Thumbs Up/Down or a multi-star method. leefi uses established models to show how the user feels about a subject

This project is on the gathering specs stage and an update should be coming soon. This is a much better algorithm than the one used in FeelzMe.

This is not meant as competitor to FeelzMe, although it is a better algorithm, this is to show that better ideas come about and if management or client does not listen...

Update: This technology pattern has been sold. Additional info is unavailable, sorry.

Technologies: C#, Visual Studio

share this

Article, no codeMay 01, 2017

Lego


I often used a reference to legos when explaining my career to someone who is not in software development. Everyone knows what Legos are, and Geek Moment: Apollo 11 Lego is due shortly and I am looking forward to this kit.

When I first picked up a software development tool (::cough:cough::vb2) I used Legos as how I saw these objects, visible or not. It was easy to manage the idea that each specific lego part could have specific abilities and ways to affect those abilities. So add in a specification from the client on what they want it to do, and why (WhyWhyWHY! Ask the WHY qusetions, saves so much time) and your building software.

It is a massive over-simplification of the process and needs as well as the abilities of current technologies. But the base concept gets across to the non-tech.

This is also where I disconnect from so many who had a structured learning path. That is a great method, but one that does not work for me. This is even kind of the point of this post, to state that if you're interested in hiring me and you want somene who has memorized, or can memorize a sdk, then I will not be the right person for the job. I have worked with many components in dozens of different use cases and knowing what type of questions to ask the users, so I then know what components I need to purchase to build their solution.*

The real value in IT and Software Development is everyone understand the needs and abilities and time, then purchasing those lego pieces and wiring them together. It's not that difficult, but it does take some work.

*I had a friend, a fellow developer who spent a month, on contract in the late 1990s, writing a reporting engine in Visual Basic 5. That was simply a waste of time and money, for a fraction of the cost of this developer's time Crystal Reports could be purchased and actual reports could have been created. It was not only a waste of time/money, but the speed of a VB5 application compared to a C++ is going to be much slower, so yet another detriment to the value.

share this

Mobile ApplicationAugust 05, 2015

Light


Light is a Windows Phone flashlight. Of course that's what the world needs, another flashlight. /s

However after using a number of flashlight applications, on Droid and Windows Phone, I found that all of them offered many options. I wanted a simple flashlight; Select the app and the light comes on, select anything else and the light goes off. Simple right?

This app does not have any other features, it doesn't include unnecessary code for any other abilities, no advertising, no spyware, nothing but a simple light.

Icon by DesignModo on IconFinder.com

C# Source Code available at GitHub. Free to use in any way, shape or form.

Technologies: C#, WP8

share this

Details About An IdeaJune 01, 2011

Message In A Bottle


Most, if not all applications are very specific about what they do. "Message In A Bottle" is not like that. In fact I do not have a specific reason for this application. I consider it more of a "build in and they will come" sort of idea.

Users will be able to come to a page here on Blissgig (maybe another named site) where they can put a message "in a bottle" and throw it into the "sea" that is the internet. The note can be as long as the user wants and contain whatever information that they wish. Other users can come to the site and by random chance there may be a bottle with a message that they can read. Users can recork the bottle and throw it back and, if they desire, add additional notes. Once a bottle has been opened it cannot be found by any other users.

Simple enough?

June 17, 2011. I have created the data model and some of the stored procedures and logic required for this application.

share this

Article, no codeJune 12, 2011

Naming Conventions


There are any number of naming conventions and coding standards. Each have their values and issues. This is the pattern I created but as it is important to stay flexable and learn new patterns as new ideas come along.

I started developing software with MS Visual Basic 2.0, back in 1993. So my naming conventions came from the Hungarian notation. However a few years later I found that this convention was not quite right for me. It was with the release of VB 4.0 in 1995 that I developed the "Rose Variant" on the Hungarian form. Not much changed. However I believe I made it easier to recognize the objects by this new convention. You see human beings are primarily visual creatures and we can interpret information visually much quicker than we can read. (Yes I understand that reading is a visual medium as well)

The Rose Variation is simply:

Recently I posted on several tech and development sites asking about naming conventions and if they still have a value. Because I have been using these conventions for over a decade I wanted to insure that I was not holding on to old patterns just because that is the way I have been doing so for the past years. Software development is a relatively new profession and I believe that it is important to keep up on new processes and well as new technologies. After a week of reviewing the various conversations I came away with the thought that there is still a strong value for naming standards. My variant is not the absolute answer, just one idea. What I do strongly suggest is that you find a pattern that works for you and stick with it. Over time you and other developer that have to work with your code with appreciate the consistency.

There were some who spoke that naming conventions are no longer necessary with the current abilities of IDEs. Most allow you to mouse over the object to get the details including data type and the current value. However I felt that this method of thought missed out on why I developed the Rose Variant in the first place. The ability to scan a page of code and instantly know what type of object you are looking at has been a great help for me.

For example: What is this object "UserValue" (yes it is a bad name) Is this a string or a numeric or even a full object? (yes, I know that in .NET all items are objects, let's not get picky here.) But if it was labeled as "iUserValue" or "sUserValue" then you could know instantly that it is a integer or a string.

There is, of course, some issues with the Rose Variant in that some objects will have the same prefix. eg: Single, Short and String, or Date, Decimal and Double. While I will agree that this is not perfect, I have used this pattern for over a decade and it has served me well.

Here is a listing of the differences between the two conventions. This list is not complete, and I welcome any thoughts on this pattern.

Variables:

ObjectHungarian PrefixRose Prefix
Booleanblnb
Bytebytb
Charchrc
Datedatd
Decimaldecd
Doubledbld
Integerinti
Longlngl
Shortsrts
Singlesngs
Stringstrs

Database Objects:

ObjectHungarian PrefixRose Prefix
Fieldfldfd
Indexidxdx
Queryqryqy
Tabletbltb
Recordsetrecrs
Connectionconcn
Commandcomcm
DataSetdstds
DataReaderdardr
DataAdapterdapad

These objects are the same for the Rose convention as the Hungarian standards.
Controls and Objects

ObjectHungarian and Rose Prefix
Formfrm
Check boxchk
Combo boxcbo
Command buttoncmd
Dialogdlg
Gridgrd
Imageimg
Labellbl
List Boxlst
Menumnu
Option Buttonopt
Picture Boxpic
Scroll Barscr
Text Boxtxt
Timertmr

share this

Virtual Reality ExperienceFebruary 02, 2024

O. Cay - A One Day Project


O. Cay, as in Ocean Cay, is just that, it's ok. I have been building a Northern Lights experience, VR.ORA, which took me about 8 weeks. This was "simply" a copy and paste of that project. Last week I was lying in a hammock on a beach in the Caribbean and thought; "I should make a simple VR experience so I can enjoy this whenever I want.", and also because I have SO often seen the "I built this in a day" or someone in management saying; "it's easy, it will only take a day or two.", and since I am a big fan of showing examples I thought I would make this project.

This is the process on what I did:

So just those few things took and entire day, and that's starting with an existing project that had MANY of the same assets and capabilities. I didn't have to redo the VR configuration or many, many other aspects of the project. So next time you hear; "I can do that in a day or two", BEWARE, software development takes time, lots and lots of time. ...or maybe it's just me and I'm slow.

You can add your own MP3s to the "O.Cay_Data/Music" folder and they will play automatically on the radio in the sand next to you. I HIGHLY recommend

Download: O. Cay
Oculus Rift or Quest 2/3 using AirLink

Technologies: C#, Unity, URP, Oculus Quest 2 (AirLink), Visual Studio

share this

Details About An IdeaJuly 15, 2007

Outlook / OS Integration


I gave a presentation in 2005 at a tech conference about the future needs and possibilities of Operating Systems. The key item that I spoke about was relationships. Currently the file structure of the OS is that of singular objects that do not have a relationship with each other outside of the fact of the folder/folder structure that they reside within.

One issue is that users are required to create a file name, thankfully larger than the old 8.3 restriction from DOS. However the fact that the user has to distill down the basics of the document to 256 characters and then remember where they save it. The next large scale evolution of an OS needs to remove this unnecessary step. The OS and applications should automatically save their data and allow the user to get back to their data by a search by an number of data points. When I spend my day at my computer there are multiple data streams at any given moment. For example while I am writing this I have surfed to multiple web sites, answered a few emails and music has been playing via WinAmp. The user should be able to search on any of these data points to get back to their data. The OS should store information as the application needs as well as the relative data points.

This application was written to give a quick example of what can be done to this extent. The application allows the user to monitor multiple folder for multiple document types. As documents are created or edited an entry is made in a document type specific calendar within MS Outlook. The entry gives the user a link to the document. Many users in corporate environments live in Outlook and this was a way to give them addition reference to their data.

This project was started to show the possibilities of the issue and currently the project is in limbo. The source code is not available at this time.

share this

Article, no codeOctober 01, 2013

Process


Late last week I spoke with a manager who asked me about my release process. While I have worked in many shops with different patterns, I thought it would be of value to show the pattern that I would use if I had that form of control. This article is just a "top of my head" and there will be additional details added as I think of them and, of course, you should adjust these as your requirements demand.

Of course some of these items are obvious, but the number of times I have encountered processes that are opposite the logical flow "just because".

Specifications

Getting customer ideas. I prefer to get as many users involved in the initial request. Knowing what everybody wants helps me to plan those functions before I write myself into a corner that I later have to untangle. Of course not all features are going to make it into the initial release, if ever, so it's also important to manage the users expectations so that they are less disappointed when they don't get those functions. (and they will be disappointed and they will say; "you promised" when in fact you have not promised.)

Divide up the tasks into manageable pieces. At this moment in history, especially with web based projects, it is often better to make smaller and more frequent changes. This gives the users some of the functions they want asap.

Documentation! Do it up front, like source code comments they are an investment that will pay off sooner

Development

All developers should be using source control such as Source Safe, CVS. No excuses! I use source control at home.

Bug tracking systems such as Bugzilla

All database changes are to be scripted!

Always use stored procedures. There are some who believe that using stored procedures is not of value, I disagree.

Release

I prefer to have a three tier enviorment: Development, Test, Production

Backup Production enviorment (obviously daily!) and restore to Test. Register new components, run scripts and then run test scenarios. (for more detail on testing consult someone else. I do extensive function testing, but I strongly believe that testing should not be do by developers and definatly not done by the developer who wrote the code. The person who wrote the changes has the suposition of what should happen. To remove this issue, at the very least a different developer should test the changes. The specification written in the first step should be a good start, if not a complete document on what should be tested.

Releases should be scheduled for a time of day and day of week that is least likely to affect the most amount of users.

Additional:

Backups of source code, documents, database and all other documents should be done, at very least daily and stored in an offsite location. There are too many encrypted cloud based services to not having a backup. (yes, I have worked at companies that did not have backups)

Quiet space. Developers need personal space, their own office so that they can concentrate and give you the project results you need.

Good computers: Developers should not have to work on a 4+ year old computer. Period. Spent the money and make the developers happy, or management will spent much more money in lost time.

share this

Windows ApplicationOctober 15, 2008

Realtime Backup


This is another application that wrote based on the "Directory Watcher" component of Visual Studio. I absolutely love this tool. This idea was simple in that the user can choose multiple folders and within each folder they can define what files or file types that they wish to monitor and backup. The application creates a series of Directory Watchers for each instance that make a copy of the file to an additional drive, defined by the user.

This application was written in Visual Basic.NET.

The application and source code are not available at this time.

share this

Article, no codeJune 15, 2010

Recruiters, wtf


It is my sad duty to report that after 20+ years I have yet to meet an agent that had a clue. While my personal perspective is not a lot of data to make a good judgement call... it does say a lot

The data that follows is from only a couple of weeks after I posted my resume to a collection of site. My resume states my skills, the technologies that I know and that I am only looking for a position within Nwe York City.

Here are some examples of what I have experienced just in the past few weeks.

Again, this is data collected only in the past few weeks. I could spend all day talking about the bad, rude and just plain awful recruiters I have had deal with, which makes me worry about companies that use these agencies.

For additional "wtf" check out this subreddit: reddit.com/r/recruitinghell/

share this

Virtual Reality ExperienceNovember 13, 2016

Relax: Northern Lights


A few months back I purchased the Oculus Rift and it's an amazing device. I am a business application developer so I am working with Unity to see what the capability of the device and this SDK.

I started working on Bedia VR and noticed that before I get too deep into that project I wanted to have a better idea of what is possible with these technoogies

I have watched a few 360 degree of the Northern Lights using my Rift and it is an amazing experience, however these are still a bit grainy and not as impresive as I would like so I thought this would be a good opportunity for me to dig into Unity. I have to say I have been very impressed with the Unity IDE and the capabilities of the engine as well as the support community.

Update: August 25, 2017. Beta 1. Things have gotten better, I even released the source code for the randomization. That code is available here. The application can be downloaded at the bottom of this page.

Update: July 19, 2017. Snow! The land and trees are covered in snow. There are multiple aurora, random like everything else in the scene. Each experience is unique.

Update: July 14, 2017. Got a lot done in the last 24 hours so I wanted to publish and update. The environment is smaller, now about 1 sq mile of exporable area. The previous version was getting to big for this version. Lots of work to make sure it runs well without taxing a system. I have a great desktop and some builds were taking LARGE amounts of memory, CPU and GPU. The water's reflection needs work, I know. The stars and moon are working, and they will be more random in the final version. Enjoy

Update: July 13, 2017. I have released the first alpha of this application, available below. Extra special thanks to Moonflower Carnivore for their aurora asset. This version has some of the random mountains, trees and plants. This is just the start, more coming.

Update: December 17, 2016. A new app was released yesterday called "Perfect" that includes multiple experience locations and one of them has Northern Lights. I have already purchased it, for research of course, and it is very nicely done. You may view a video of their product

In relavance to this project I have been running multiple tests to see if I can achieve the goals. Some of the planned features are listed below. Right now I have been spending time attempting to create the Northern Lights in such a way that they are random and ever changing. The base idea for this application is to create a unique experience for each visit.

Features: (many of these features are already in "Perfect", really check it out.)

  • Random mountains, trees, etc
  • Dynamic Weather using Weather Maker.. I'm a developer not a designer, and besides why build when you can buy?
  • Shooting stars
  • Random Northern Lights. Their patterns, speed, duration, etc.
  • The ability to save and share/replay a given NL Experience.
  • Download Relax: Northern Lights (Beta 1) (310 MB)

    Tech note: One of the reasons for this application is to create an ever changing environment. The script created, available on GitHub, allow the developer to easily add multiple items and/or folders to populate a given area.

    Technologies: C#, Unity, Visual Studio, VR

    share this

    Windows ApplicationDecember 10, 2023

    Resume


    This introduction is an integral part of my resume and while it may be a bit lengthy, I believe that clarity is more important than brevity. I am an IT professional with more than 20 years in software development. I have created applications for multiple sectors including Banking, Telco, Legal, Medical and e-Commerce. I have designed and created large scale mission critical applications, including gathering specifications, designing the data models and creating documentation for end-users and technical staff.

    My primary experience has been in developing Windows based applications, though I have also created web, mobile, server-side as well as spending the past five years creating virtual reality experiences. I have also managed projects where large and often complicated systems were required to run the daily business. Each situation and every project is a new experience and while previous knowledge of similar systems can be helpful, I like to keep an open mind about the possibilities of the project's current and future abilities.

    I understand that working in IT means that new technologies and new features are coming online frequently and this requires me to keep up to date. I preview, test and read up on existing and new technologies to ensure that I am aware of what is coming and how it can interact with current systems as well as possible future abilities. I was never the type of developer that engineered the perfect piece of code, to me technologies are just objects to connect together in the best possible combination, based on the known issues at that moment. Attempting to make the perfect code, instead of a working and completed application has never been the point to me. I am proud to state that the majority of projects I have worked on have been completed.

    I did not come into IT with a formal background, it was the.client’s issues that have dictated the different software and hardware for that solution. I have worked with a number of technologies, a handful of languages and an assortment of hardware devices. However, memorization was never my forte, this is why I never do well with test based interviews, which means I won’t be participating. Good practices and processes, documentation and communication are the key to successful projects, not the specific tools or memorization of a subset of these. I have long learned that it is best to research topics that I thought I was already aware of, as technology changes so quickly. I am happy to discuss, at length, about the details of each project.

    Thank you for reading through this and I hope that it is helpful.

    Developer, Blissgig.com. New York, NY. 2008 – Present
    Designed and developed a technology that allows users to create, tag and share events. This connects users to events as well as other users based on the user’s previous event patterns. Created data model as well as system and process documentation. This technology has been sold, however the domain remains active as my portfolio. Other projects include Windows, Web, Mobile, Home Automation and Virtual Reality.
    Technologies: ASP.NET, C#, SQL Server, Unity, Visual Basic.NET, Visual Studio, VR, XAML, XML

    Co-Founder / Developer, Electric Light Ideas. New York, NY. 2014 – 2016
    Created applications; site, widgets and mobile that took user input on a subject and output an emotional result icon. Designed algorithm, engine, database and interfaces for external developers. Generated documentation for interfaces and designs.
    Technologies: ASP.NET, C#, JavaScript, Source Safe, MS SQL Server, Visual Studio 2013, XML

    Software Developer, AmericaToGo.com New York, NY. 2008 – 2014 Integrated the new site design into existing site and code. Created interface with Partner's system via SOAP and Windows Services. Created Windows Service to deal with images that were too large for a VB Classic application. Responsible for the maintenance and addition of new features to a Windows based medical imaging application. Wrote documentation for existing and new components. Technologies: ASP, JavaScript, SOAP, SQL, SQL Server, Visual Basic.NET, Windows Services, XML

    Software Developer, Burrelles Luce. New York, NY. 2007 – 2008
    Responsible for the upkeep and re-architecture of the company’s core system. This included over 200 DLL, OCX and application components. Created and optimized Oracle stored procedures and triggers. Created .NET components using COM to allow these objects to be used in VB6. Wrote development and system documentation as well as created prototypes in Photoshop to expedite user acceptance of new interfaces. Interfaced with QA, sales, end-users and upper management to ensure products and practices were in line with the company’s process. Mentored junior developers including best practices and code reviews. Interviewed applicants for technical knowledge.
    Technologies: Oracle 10g, PL/SQL, SVN/Tortoise, Toad, Visual Basic 6, Visual Basic.NET

    Developer, Affect Image. Seattle, WA via New York City. 2006 – 2007
    Developed code examples for the company’s new technology as well as designing and creating the data model. These examples were used to facilitate licensing this technology.
    Technologies: Source Safe, SQL, MS SQL Server, C#, Visual Basic.NET

    Senior Developer, Addiction Management Systems. New York, NY. 2002 – 2006
    Lead the re-design of an existing MS Access application into a true client/server using MS SQL Server. This design change was to allow current and future customers to have a stable environment for this mission critical medical application. This included meeting with management, customers, support and sales staff to gather and document specifications and to ensure that the new product would meet current and future customer requirements. Documented the design, code and data model.
    Technologies: ADO, Source Safe, SQL, MS SQL Server, Visual Basic 6, Visual Basic.NET

    Senior Developer / Development Lead, B-Line. Seattle, WA. 2001
    Completed a 60-day contract to rewrite a data-entry system. The completed legal/bankruptcy application doubled the speed of the entry with less than 60% of the previous workforce. Reworked and orchestrated the redesign of the data model into a workable, scalable system. Aligned the development team by their strengths and created an environment that allowed users and management to achieve the goals they set out in a minimum of time and allowed developers to accomplish the goals management set out for them. Created development documentation and coding standards implemented by the entire development team. Technologies: ADO, Source Safe, SQL, MS SQL Server, Visual Basic 6

    Application Analyst II. Cellular One / Western Wireless. Issaquah, WA. 2000 – 2001
    Responsible for Payment Processing System; consisting of multiple databases, numerous Visual Basic components, MS Access reporting front end and Active Server Pages to allow easier report viewing for the end-users. Developed coding and naming standards for the development team.
    Technologies: MS Access, ASP, ADO, Source Safe, SQL, MS SQL Server, Visual Basic 6

    Application Developer, Punch Networks Seattle, WA. 2000
    Developed Windows based internet file-sharing/repository application. Responsible for the User Interface design of the retail application.
    Technologies: ADO, CVS, Oracle, PL/SQL, Visual Basic 6, XML

    Senior Application Developer, MediaPassage.com. Seattle, WA. 2000
    Developed internal company wide accounting. Designed the data-model for client/vendor transactions. Implementation of User-Controls as a way to group and control code generation / reuse.
    Technologies: ADO, SQL, MS SQL Server 7, Source Safe, Visual Basic 6

    Senior Application Developer, Wells Fargo Bank. San Francisco, CA. 1996 – 1998
    Developed and implemented a company-wide ATM management application. Responsible for database and application development, testing, interface design, system integration, and maintaining code base. Co-wrote the data-model for this application allowing consistent and historical views of all data. Created and presented proposals/strategic planning.
    Technologies: ADO, DAO, RDO, Crystal Reports, Oracle, Source Safe, Visual Basic 4, 5 and 6

    Network Admin / User Support, Symantec / Timeline. Novato, CA. 1995
    Supported company wide network. Created scripts to enable faster reproduction of systems for the QA department.
    Technologies: Novell 3.1, Windows 95, Windows NT

    Software Developer / Consultant, Shattered Rose. San Francisco, CA. 1992 – 1995
    Created networks and applications for clients. Trained end-users on current technologies.
    Technologies: MS Access, Novel 3.x, MS SQL Server 6, Visual Basic 3, Windows 3.x, Windows NT

    Wrote the chapter on Visual Basic, VB Script and coding standards for the Ventana Press book “MS Site Server”.

    Download resume

    share this

    Article, no codeSeptember 02, 2011

    Rose Rules of Development


    I often find myself explaining some of the basics of software development and I thought I should finally post these in the hope that they are help to others. So, here are The Rose Rules of Development:

    share this

    Mobile ApplicationMay 01, 2010

    Simple CMS


    Back in the late 1990's I was approached to make a web site. They wanted to be able to add/edit content and have multiple content types. It was a vague request, and out of it came the design that I have used on mutiple occations. The data model consists of three basic tables. "Articles", "Types" and a join table "ArticleTypes"

    The design allows for multiple article types in case the site needs; "News", "Entertainment", "Weather", etc. Each article can belong to one or more if desired.

    It has been written in ASP and ASP.NET, with the back-end using MS Access or MS SQL Server. However minor changes can be made to use PHP and/or MySQL or other technologies.

    The source code is one page; "Default.aspx". Each time a viewer requests a page the "hits" are stored within that article, so there is no need for external site metrics. Someday I will bother to make an extra page that shows the articles and their stats.

    The source also includes all database scripts.

    Source code and database scripts are available at GitHub.

    Technologies: C#, ASP.NET, SQL Server

    share this

    Virtual Reality ExperienceSeptember 02, 2023

    Stage Presence (prototype)


    This is a simple prototype put together over a few days to show a client how VR will allow them to see exactly to set up their stage setup would be best for thier needs/costs. This prototype has no interaction, you cannot play the drums, etc. Sorry.

    Stage Presence
    Oculus Rift or Quest 2 using AirLink

    Technologies: C#, Unity, URP, ECS/DOTS, Oculus Quest 2 (AirLink), Visual Studio

    share this

    Windows ApplicationNovember 20, 2013

    Take A Bow


    This is a small app for those users who have a MS Kinect. The idea is taken from an artist installation called "Performer" by Adam Frank.

    There are multiple random responses for when you Take A Bow.

    Beta: The application and source code can be downloaded here. 85MB because of the included audio files

    Technologies: C#, Kinect

    share this

    Article, no codeMay 01, 2016

    Tell Us About Yourself


    I grew up in the Silicon Valley. My first job was a position at a consulting and engineering firm that modified Wafer Track machines for AMD and Intel. However because I was more interested in getting into the music industry I moved to San Francisco and converted a warehouse into a recording/rehearsal space. I was an acceptable base player and a decent drummer, but I was much better at the technical aspects of this process. I had a knack for connecting and troubleshooting the synthesizers, sequencers, drums, recording equipment and computers. This enabled me to record 8 tracks analog and 32 tracks digital via MIDI. It was an impressive setup for it’s time and very inexpensive compared to other studios.

    While working at a toy importer, music just wasn’t paying all the bills, I started creating databases to handle the stock, sales and other business management. My next step was picking up a language that would allow me to make stand alone applications. At the time the easiest route to this was Visual Basic 2.0 which allowed me to create applications that could do much more than what was then available in database engines.

    Over the next few years I transitioned to setting up networks, troubleshooting applications and OS issues and occasionally creating applications for clients. I ended up running a small consulting company with friends for a few years. However running a business is something I didn’t enjoy and it was not really my forte. So I shut that down and found work at established companies.

    In the last 20 years I have learned additional technologies as needed or wanted. These were chosen because of a specific need to accomplish a goal, not simply to learn a new technology. I didn’t start with the lowest level concepts and work my way up to higher level technologies, I choose software and knowledge based on the results they would give me for the given need. Because of this there are some aspects of systems I may be unaware. However, I believe for application development my top-down approach has served me well because the need is about finding the best business solution and implementing that asap.

    This is why my resume speaks about having a conversation, as opposed to a quiz, as I will be happy to discuss what choices I have made, the technologies I have used and the logic and reasoning behind all of those decisions. Memorization is something you find in books, how’s that for an old phrase, since everything is available online now. Which is my point, asking me to memorize and regurgitate hundreds of thousands of functions available in .Net and other languages will not prove if I am a good developer, it will just show that I am able to memorize data and that is not where my talent excels. I am very organized and can think through a given situation to many levels. I also know what questions to ask to insure that the business needs are met now, and hopefully in the future as those needs change.

    share this

    Windows ApplicationJanuary 25, 2013

    Tumbl-Weed


    A Windows 8 application for viewing Tumblr feeds. This application was started as a way to understand Windows 8 development requirements and to learn about OATH development issues. No release date is planned for this application atm

    share this

    Virtual Reality ExperienceMarch 27, 2019

    Virtual Tolkien


    While rewatching the Lord of the Rings films, as the fellowship sails past the giant statues I always wished I could do the same. So I created it so I can. Now you too can slip past the watchful eye of Sauron, in the shadow of Mount Doom and sail past the Argonaths and all their majesty. This is a 5 minute VR experience.

    Video from Oculus Quest using Airlink.
    The graphics quality within the experince is much better.

    Video from Oculus Quest

    This experience is designed for use with the Oculus Rift. Because of numerous requests for Quest, Index, Vive and Windows Mixed Reality devices, I will look into releasing versions that support these devices. If you wish to test this experience on your device, contact me and I will let you know when a version is available. Note: WMR has been removed as of July 28 because of some render issues. I will get back to that.

    Thanks to an article on UploadVR there has been additional interest in this project. Thank you all very much for the great feedback. I have spent the past week fixing those issue and adding new features. If you have any additional thoughts or issues please feel free to contact me; blissgig@gmail.com

    July 2021: This update is for Oculus Rift only, well, or with Oculus Quest 2 using Air-Link, which is what I use... but I digress. I stopped working on this project for Quest because of the lack of power of the device SPECIFICALLY in reference to the abilities *I* have as well as what I want the experience to be like. Because of those requirements I was able to start from scratch and make a more active, through not yet interactive, and detailed environment. Because there was a need to release it today (July 21st) there are a number of features, bugs and other items that will be addressed in a future version. This is just the current state, not it's final form.

    Download "Virtual Tolkien" for Oculus Rift or Quest 2 using Air-Link - Aug 20, 2021 (1.45 GB)

    Download "Virtual Tolkien" for Oculus Quest* - Nov 1, 2020 (760 MB)

    * You will need to sideload the Quest version. For details on how to sideload applications to your Quest, visit SidequestVR

    Additionally since this is getting traction, it should be stated that I am a business developer, not a designer. Credit to much of what you experience in this application is due to artists and designers. I have always looked at software development as creating with LEGOS; Purchase the pieces you need and put them together in the manner you want. I will update this page with a list of the assets I used.

    Some of the assets I used for this experience:


    There are a number of additional assets that I have used, these are the primary items. When I get time I may go through and list them all.

    Technologies: Unity3D, URP, ECS/DOTS, Oculus Rift, Oculus Quest, VR, C#

    share this

    Virtual Reality ExperienceNovember 11, 2023

    VR.ORA


    Jan 31, 2024. A relaxing journey on a catamaran through a frosty fjord to watch the northern lights. Add some music and sit back and enjoy.

    You can add your own MP3s to the "VR.ORA_Data/Music" folder and they will play automatically on the Mobile on the table next to you.

    Sit back, enjoy the ride. The ride is about 10 minutes, however you can stay on longer if you wish

    This is not complete and barely optimized. Currently it is for PCVR, not native Quest, once this is complete I will see if it can be made to run native to those devices.

    A short video of the current alpha version, it's better now.

    Download

    Technologies: C#, Unity, Oculus Quest 2 (AirLink), Visual Studio

    share this

    Windows ApplicationSeptember 01, 2005

    vxTunes


    vxTunes is a small Windows based application that was designed becuase the LG VX8100 does not support playlists for your MP3s. vxTunes can import WinAmp and Windows Media Player playlists, as well as adding media indivdually. By user request additional phones models

    vxTune simply adds a three charactor numeric prefix. ie: "Styx - Come Sail Away.mp3" becomes "001 Styx - Come Sail Away.mp3".

    vxTunes was added to the open source library SourceForge.net

    share this

    Details About An IdeaMay 25, 2013

    Wardrobe Manager


    The base idea of this application is to give the end-user an application where they can create a wardrobe outfit based on one of more items and then the application can show them items that match via color, style, tag, etc.

    This would need to be a phone based application, although there could be a value for tablet, laptop and desktop could be of value as well.

    Voice recognition will be important to make the process of accessing the data. Allowing the user to speak the name, style, etc of an item could make data entry easy enough. Image recognition will also be helpful for determine color and texture. A combination of these features could get an acceptable result until RFID gets into the mainstream.

    A big concern would be ability to add your wardrobe into your local database. Users would not want to type anything into their phone or other device. The preferred method would be to have RFID tags implemented into clothes by the manufacturer and of course phones would then have to RFID readers. This technology is coming along and details of one example can be found here: http://www.electronics-eetimes.com

    Another option, using the current technology within most cells phones would be to scan standard bar codes or QR codes. Again this would mean that data would have to be shared from the manufacturer.

    Many apps charge, of course, and then there are many applications that are free and have found other forms to make money, often with advertising. One of the benefits, for the end user, would be that this application would pay the user for using it. The more frequently the user enters their daily wardrobe the more "points" the user would earn that would then give them discounts to attire from various participating vendors/manufacturers.

    The usual connections to Facebook, Twitter, etc could be included; "Look what I am wearing today" and these sort of social connections could be used to earn additional "points"

    To attempt to alleviate fears of Big Brother during the installation all options should be "Opt In". The user should see a dialog that informs them of their options and the benefits. These options should be able to be changed at a later date. One option would be to show the user their ID so that they can see exactly what data is being transmitted and that data should move from device to device in an encrypted form so only those who pay for the data can have access to it.

    Application funding.
    The application will be paid for by manufacturer and retail establishment purchasing users detail data. A standard GUID will identity the user so the user's personal information is not identify them directly. This info would include, but not limited to; age, (range?) height, weight, favorite outfits, tags, frequency, brands owned, worn, location where the outfit is purchased and worn (City and State via the phone's GPS. The exact address would not be shared to vendors)

    Benefits for the user

    Benefits for the manufacturer

    This application would require a very large buy-in from clothing manufacturers and retails, who user their own metrics and have systems that they may be reluctant to allow access. (in the case of getting new data) This becomes a realm of sales and marketing. I only state this here to show that I am fully aware of the details necessary for this project to succeed.

    The point of this entry is to show that I can take an idea, in this case presented to me by my wife, and carry it forward to include additional details that can benefit the user as well as the host company. I worked briefly at Coach and saw how much they used their own internal data based only on sales.

    share this

    Mobile ApplicationSeptember 28, 2015

    WhatzHappn


    WatzHappn is a location based news aggregate being created by James Rose (@blissgig) and Shaka Wallace

    Data Providers

    The application can be seen here: http://blissgig.com/whatzhappn/

    The source code is available on GitHub.

    This application is to show a friend the process of development. At this stage the application is not even Alpha.

    Technologies: C#, ASP.NET, XML, JSON, GitHub

    share this