I am proud to announce that TechnoGeeks now has it’s own server in Atlanta, GA! I have officially migrated from Ubuntu to Debian in the process. I have finally scrubbed Ubuntu from my life for good!
Operating Systems of Choice
Server: Debian Squeeze
Desktop: Arch Linux
Phone: Android
I am starting to nerd out a lot more lately and will expand TechnoGeeks to be able to magically host several projects of mine. This includes web applications written in PHP, Ruby, and Lua! I started playing around with some of the Kepler Project frameworks (WSAPI, Xavante, and Orbit) and have a fully functioning Code Snippet library called Snippy. Orbit is ULTRA FAST but the documentation and code maintenance is VERY POOR. I really hope these guys clean things up as they have something really nice going here. More updates soon!
Update 12/5/2011:
I have several new projects and services that are now up!
After several rough months my Paladin finally earned Crusader title and the Argent Charger! A lot of people probably think this is old news and lame but for me it is a milestone. It is the first time I have pushed through and actually did it. I HATE the Argent dailies with a passion
This was my last major goal before the release of Cataclysm. Now to decide which character I want to take into the expansion. It’s a pretty rough decision when you have ten 80′s (soon to be eleven). Click the images for the full size!
I have been practicing my beat matching and collecting tracks for several weeks now. This evening I spent some time and picked some of my favorite tracks out of everything I have gathered thus far. The result: Furious Elements I. This will mark my first mixdown since I have gained an interest in breakbeats and will be my FIRST EVER demo mix. Back in college when I was spinning NRG at raves I never successfully recorded a mix for a demo. I always nit picked and critiqued myself and would never settle for anything but perfection. I am going to be aiming for the same level of perfection in this mix so let’s hope it actually happens. Hopefully within the next 2-3 weeks I will be posting it on Soundcloud!
Jesse Adams – Furious Elements I
01: Sketi – Hyperstate (Original Mix)
02: Far Too Loud – We Want to Dance (Original Mix)
03: X-Dream – The 1st (Far Too Loud Refix)
04: Electrixx – Tetris (reFaze Edit)
05: Suko – More & More (Quadrat Beat Remix)
06: Destroyers & Aggresivnes ft. Ann Lee – Ring My Bell (Original Mix)
07: Sub Focus – Rockit (Stanton Warriors Edit)
08: Le Castle Vania – Nobody Gets Out Alive (Noisia Remix)
09: DJ Fixx, Keith Mackenzie, Whis – Get With The Program (Calvertron Remix)
10: BreakZhead – Disposis (Aggresivnes & FactorFunk Remix)
11: Access Denied ft. Mc Incyte – My Life (Dub Mix)
12: Vandal – Idiots (Original Mix)
13: Physical Bross – Untitled (Cote Remix)
14: Aggresivnes – Essence (VIP Mix)
Coming Soon! Stay tuned…
Lua For the Win!
I recently have randomly become quite interested in Lua. The reasoning is due to the fact that I interact with two things on a daily basis that are configured and/or scripted in Lua: World of Warcraft and the Awesome window manager. I have had a blast over the weekend learning the basics of the languages and WoW addons. You can find the entire first edition of a very nice guide to learning Lua on their website. In addition, I found the resources at www.wowprogramming.com to be quite helpful.
Some essentials:
Celistine
The first mod I wrote was called Celistine, and was written to monitor my wife in game
It allowed her to whisper me for auto-invites to a group, monitors her range and informs me if she is far, and spams her with whispers if my health gets lower than 25%.
Deeps
After that, I decided to modify an example I found in the book I am reading (World of Warcraft Programming) and create a simple frame that displays DPS and other facts as I am in combat. I decided to call it Deeps
See below for the screenshots, code, and feel free to try it out yourself.
-- Set up some local variables to track time and damage
local start_time = 0
local end_time = 0
local total_time = 0
local total_damage = 0
local average_dps = 0
local in_combat = false
function CombatTracker_OnLoad(frame)
frame:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
frame:RegisterEvent("PLAYER_REGEN_ENABLED")
frame:RegisterEvent("PLAYER_REGEN_DISABLED")
frame:RegisterForClicks("RightButtonUp")
frame:RegisterForDrag("LeftButton")
end
function CombatTracker_OnEvent(frame, event, ...)
if event == "PLAYER_REGEN_ENABLED" then
-- This event is called when the player exits combat
end_time = GetTime()
total_time = end_time - start_time
average_dps = total_damage / total_time
CombatTracker_UpdateText()
CombatTracker_ReportDPS()
in_combat = false
elseif event == "PLAYER_REGEN_DISABLED" then
-- This event is called when we enter combat
-- Reset the damage total and start the timer
CombatTrackerFrameText:SetText("In Combat!")
total_damage = 0
start_time = GetTime()
in_combat = true
elseif event == "COMBAT_LOG_EVENT_UNFILTERED" and in_combat then
local timestamp,log_event,source_guid,source_name,source_flags, dest_guid, dest_name, dest_flags, spell_id, spell_name, spell_school, amount = ...
if string.match(log_event, "_DAMAGE") then
if source_name == UnitName("player") or source_name == UnitName("pet") then
--ChatFrame1:AddMessage(source_name .. " is doing teh hurt!")
if amount ~= nil then
total_damage = total_damage + amount
end_time = GetTime()
total_time = end_time - start_time
average_dps = total_damage / total_time
CombatTracker_UpdateText()
end
end
end
end
end
function CombatTracker_UpdateText()
local status = string.format("%ds | %d dmg | %.2f dps", total_time, total_damage, average_dps)
CombatTrackerFrameText:SetText(status)
end
function CombatTracker_ReportDPS()
local msgformat = "Dished out %d damage in %d seconds (%.2f dps)."
local msg = string.format(msgformat, total_damage, total_time, average_dps)
if GetNumPartyMembers() > 0 then
SendChatMessage(msg, "PARTY")
else
ChatFrame1:AddMessage(msg)
end
end
I recently become obsessed with breaks. I am not sure why, but I can not get enough. My lovely wife was nice enough to let me purchase some CD turntables. These babies are AMAZING for their price! The only thing I dislike is that they don’t read mp3 metadata. Why not go with Serato or Itch instead you ask? The software only runs on Windows and Mac which is NOT for me. I am perfectly happy using CDs and my 4 gig USB sticks.

