Quick and dirty lighted “sphere” likeness using circle radius calculation for the color intensity value. We shift the “lighting” around by adding/subtracting to the color intensity amount of a pixel on the “sphere”, this amount is based on the current x, y position of the pixel multiplied by horizontal and vertical constants. Those are modulated by the current mouse x, y mouse cursor position as percentage of the inner window dimensions. The green/zombie’s “eye” was a logo that I used when branding the games/ graphics demos, etc. that I would write way back when in the ’90s.
Playing around with some silly concepts like solving the famous/infamous?! … FizzBuzz interview problem without using conditional logic, I ended up getting distracted and writing a small article on optimization *shrugs*… bellow is link to in on Medium where I published it.
This is the source code to an article published in an issue of 2600 magazine. The article is intended as an introduction to computer viruses, overview of the general ideas involved, the mechanics / algorithms, history and importantly the ethics.
A whole section of the article is dedicated to ethics, something that I feel many young programming enthusiasts might not consider when they get intrigued and focused on solving the fascinating problems involved in coding a computer virus.
The example provided with the article is written in Windows Powershell script, it implements self-replication, and an example of a basic stealth technique, obfuscating the virus code through a simple cipher. The reasons Powershell script was chosen are that it presents almost no actual functionality in the wild because of the security restrictions in the shell, as such we are NOT adding to the public code base available for use to bad actors. Also it was an interesting exercise for me develop a piece of self-replicating code in a scripting language such as MSPS. Lastly it makes for a piece of code that should be accessible and easy to understand to a broad segment of people illustrating the ideas presented in the article.
Here is an example of an expert system for decision making coded in SWI-Prolog.
It takes a sample portfolio, a current asset price list and a risk tolerance profile it can then make decisions regrading selling financial assets based on specific strategy being applied.
These strategies are based on predefined tactics, and the tactics in turn are an application of lists of sell rules.
This an exercise in declarative logic programming, please DO NOT TAKE ANY OF THIS AS INVESTMENT ADVICE.
Currently only some sell rules, tactics and a strategy are implemented, this framework can however be easily extended to encompass a full spectrum trading decision making.
At some point in time I will also extend this post to further describe and document this code. For now you can just head over to https://swish.swi-prolog.org/ paste the code in the online IDE and take it for a spin.
Here is some of the work that we have done in a signal processing class CSC214 I was sitting in on during spring semester 2018, held at MCC, Rochester NY and instructed by D. Venable.
I helped with some of the software development for the creation of the first iteration of this class a long while ago, now years later it has been fully revamped.
The students now take hands on approach with both the hardware and software development. Unlike previews iterations where software was built by me and the instructor who originated the class and hardware was designed and built by the instructor. The old curriculum involved them experimenting and exploring this pre-built system, while in the new curriculum students are active part in all aspects of camera development, including embedded on camera and pc client software, case and mechanics design and building, circuit board layout and population, etc. Continue reading →
It is accomplished by changing the background color in-between scan lines being drawn on the monitor/screen. This requires accessing the video controller hardware directly and changing appropriate registers as well as a way to time it precisely with the screen being drawn.
HD44780 compatible LCD displays are controlled via a built in MCU, as such driving them to display text is just a matter of sending them the appropriate commands in the control protocol. Doing that from another MCU is quite trivial, however I had seen it done with just dip switches and seemed like a good exercise in some electronics basics, so built the circuit in Tinkercad.
DumbGame is a video game I wrote in 2002 intended to serve as somewhat of a tutorial or map of how games were developed in years past, on the 80×86 architecture under DOS (Disk Operating System). Going through an old laptop hard-drive I recently rediscovered its source code, finally making an appearance on the Internet as intended, even more appropriate and nostalgic this many more years later.
Its name sake is due to the fact that the actual game play, graphics, levels etc. were minimally developed only to the extent needed to showcase the functionality of the game engine.