Author Archive

ASP .NET (for work, ARGH)

Sunday, January 14th, 2007

hey gentlefolk;

long time no post.  sorry!  🙁

i was wondering if anybody had some good resources for ASP .NET that they would like to share?  work has decided to send me in this direction and i need better guidance.  i’ve been using these articles:

http://www.asp.net/learn/dataaccess/tutorial01cs.aspx?tabid=63

and

http://www.asp.net/learn/dataaccess/tutorial02cs.aspx?tabid=63

but then it goes off on a tangent, which doesn’t apply to my current situation.  i’ve got the rudimentary framework in place (data access layer, business logic layer) for my application, but that’s about it.  any links or books you recommend would be of great help.  danke!

Hackfest 101110.1 Postmortem – Blast from the past.

Friday, December 15th, 2006

Its late and Graham owes me a punch in the stomach, but I hope this is a case of better late than never!  From 8-17-2006

This Past Week:

Graham:

  • Try to use more sample in chuck environment in preparation for a Laptop Battle.
  • Started some work towards a collaborative chuck site.

Alex:

  • Borrowed a twiddler and had some fun. — Hopefully the arm is much better now?

Luke:

  • Some PVR work with mythtv.

That Night…

Alex and Graham:

  • A refocus on research.
  • Determine some mechanisms to test whether the application is choosing good sequences.

Luke:

  • Some webserver configuration to make services accessible from the office. Specifically I installed and started using Anyterm.

insanity and inanity, or will they ever learn?

Tuesday, June 6th, 2006

note carefully i mentioned nothing of this by name for obvious reasons.  if you’re interested, drop me a line and i’ll indulge you.

i code in scheme.  it’s not real scheme.  it’s some guy’s idea of what scheme should be.  he redefined the syntax.  it gets interpreted through mzscheme embedded in a c program.  well, it’s not a exactly a c program.  it becomes a c program.  the original software was written in a language he invented.  more like a preprocessor for c.  it was his idea of what c++ should be.

where i work now, we have a guy that calls himself the gatekeeper.  that’s right, zuul.  his job is not to guard gozer, but to basically preform the role of a piece of software you might have heard of somewhere called cvs (and its replacement, subversion).  man is smarter than the machine, right?  especially at merging different versions of scheme code.  especially when you don’t know scheme.  it makes you more careful because you don’t know what you’re doing – you do it right because you incorporate the changes just as they appear.

in fact, i lied.  he’s not where i work.  he’s in a different company.  through some bizarre legalese, this company possesses the QA and the production server, and will not allow us to have write access into that machine.

why we don’t have write access to the source directories of the product that our company is using is beyond me.  initially, this was because we both used the same product and the same source.  now, they have their own version and we have ours.  but they still control that server.

you would think we could buy a server and put our version on there.  considering the cost of having a server versus the cost of fixing scheme code that somehow manages to get mauled everytime it goes by zuul, you would think this issue would have been cleared up quickly.

it’s been going on for four years.

guys, we’re just janitors.  we know everything that goes on, what’s wrong in the world, but all we do is mop up shit after hours.

the life of a programmer.  keep your head up and don’t smell.

new environs

Thursday, April 20th, 2006

the hapax legomenon of the week is "turquila".  this is a drink i made up: a blend of wild turkey 101 and patron silver.

i find myself in a strange place, surrounded by walls and distraught with idle dreams and carrots.  there, on the wall, was a picture of a burger.  the zero remains steady.  the pulley in its rarefied forms.

i’m working as a contractor developing code in scheme.  the sicp rests proudly on the new desk.  i’ve got a laptop!  and my friends are all here now:

 – mr. lobster, who has recovered excellently from the loss of a primary limb.
 – the warbling parrot-head, which always speaks the truth when i’m down.
 – the four blind mice of the rubbery apocalypse
 – mr. hermit crab, type SR 128 – 001X.

and new friends, too:

 – mr. turtle, who can stretch like the fabric of space-time.  he will make for good stress relief.
 – and last but not least, the smoking orange bunny with the k on its forehead.  when i see the smoking orange bunny with the k on its forehead, i know exactly what to do.

they help make the hours go by as i get ready to bumble through a magical journey of lambda inspired refactorings and dodge industry buzzwords with 18 month lifespans.

if you haven’t seen it on the radio, you’re not thinking hard enough!

Hackfest 10000 Mortem

Friday, December 16th, 2005

Since last week:

Vinny:

  • Managed to get PyOgre to compile on the Mac.
    • One downside though: it doesn’t fully work with OpenSDL
  • PyOgre runs and a has started to tie into Commotion.
  • Scenes in Ogre can be created through PyOgre in Commotion.

Graham:

  • Finals… *sigh*

Luke:

  • Linux on kitchen sink.
    • Loaded up OpenWRT onto my Linksys WRT54G.
    • Loaded up Linux onto my Treo 650.
  • Did some MythTV work especially to fix my settings that allow me to have the MythTV box automagically shutdown when idle and startup when it needs to record.

Tonight:

Vinny:

  • Messed with commotion.
  • Downloaded a version of emacs thats not from the 70’s.
  • Spent some time on real-time document collaboration.
    • Real-time in this case means 2+ people are editing at the same time and all other editors see their changes in real time.
    • SubEthaEdit is an excellent example of this principle.
    • DocSynch markets itself as being exactly what Vinny wanted, but turned out that almost everything is still "planned".
    • Considering JEdit as a potential base to implement a cross-platform version.  Hopefully the protocol will be generic enough that others will implement it for other editors (emacs, eclipse, etc…).
    • BEEP for Java would be great for this if Vinny can find a open version that supports peer features.

Graham:

  • Played with Emacs syntax tables and got the syntax system to tell
    him what was punctuation.
  • Contimplating the next steps for his prototype.
  • Potential next step: rewrite the code to do character level timing so that its easy to manage timing across edits.  And, crack the problem of serializing the data across sessions.

Luke:

  • Did some reading of arm/linux documents and source code.
  • Thought about trust systems and personal data.  Can one create services in which the user doesn’t need to trust you?
  • Discussed rich instant messanger services.

I’ll linkify things later.

SNAKES ON A CARTESIAN OR PERHAPS MERCATOR PROJECTION

Thursday, October 20th, 2005

Here’s an edited for content and length, but not the size of your tv,  log of my talk with Graham, RE: map-time genesis:

(21:19:22) Matt J Alexander: also: I need a hip, pomo name.
(21:19:34) Matt J Alexander: Because a project without a name is nothing.
(21:19:49) Graham: will, you could insert meta into the title
(21:20:07) Graham: mapistry?
(21:21:19) Graham: metamap
(21:21:41) Graham: maplysses
(21:22:09) Matt J Alexander: hrm.
(21:22:25) Matt J Alexander: maplysses is interesting, but syntatically vague on proper pronunciation
(21:22:57) Graham: mapberto eco
(21:23:59) Matt J Alexander: I like the direction this is going in
(21:24:48) Graham: 100 years of map solitude
(21:25:05) Graham: maptavio paz
(21:25:39) Graham: maps joyce
(21:27:29) Matt J Alexander: So the current implementation idea is based on Event atom (or class,or whatever).
(21:27:49) Ravelite: ok, so an event moves a border then?
(21:27:58) Matt J Alexander: A border would be an Event.
(21:28:12) Matt J Alexander: An Event can be one or more Events, or a vector/tuple.
(21:28:19) Matt J Alexander: Vector being:
(21:28:38) Ravelite: ahhhh, so a border event is a vector of border vertices
(21:28:59) Matt J Alexander: {(where: GIS date[lat.,long.elev.]), time, country/tribe, person, short/long descriptions, causes, image/connector images, accuracy}
(21:29:05) Ravelite: so events have a limited time of validity,
(21:29:13) Ravelite: and are replaced by more current ones?
(21:29:27) Matt J Alexander: Yeah. I’m not sure if this is covered by accuracy or would need something like "lifespan"
(21:29:41) Ravelite: Well, probably you don’t need lifespan,
(21:29:46) Ravelite: just chose the most recent.
(21:29:51) Matt J Alexander: I’m also not sure if this ends up with overly large dataset.
(21:29:56) Ravelite: that partitions the timelime well enough
(21:30:07) Matt J Alexander: Since a border would necessitate several events as points just to define all the curves.
(21:30:15) Ravelite: yes
(21:30:42) Matt J Alexander: Is there a more elegant way, or can I just fall back on the mantra of SPACE IS CHEAP, TIME IS EXPENSIVE
(21:31:10) Ravelite: Well, go for simplest to make a prototype.,
(21:31:18) Ravelite: avoid premature optimization
(21:31:28) Ravelite: assume you will throw away this prototype
(21:32:08) Matt J Alexander: Historically, are even the most ardously planned out prototypes thrown out?
(21:32:19) Matt J Alexander: Or do arduously planned prototypes just never get created :p
(21:32:38) Ravelite: well, it’s just one of my design philosophies
(21:32:48) Ravelite: I just think it’s hardest to create something from the start
(21:32:50) Matt J Alexander: One Luke shares
(21:32:59) Ravelite: and you will learn many obvious things once it is build
(21:33:07) Ravelite: that you can’t imagine about right now
(21:33:12) Matt J Alexander: True: certainly I don’t have any domain knowledge about mapping currently
(21:33:25) Matt J Alexander: And only barely so in history
(21:33:39) Ravelite: I agree with your point, the more planning, the harder to do and the greater chance it doesn’t happen
(21:33:59) Ravelite: and most planning will be made irrelevant unless you know a lot about the domain
(21:34:08) Ravelite: and since your app is highly experimental,
(21:34:18) Ravelite: almost no one knows about the domain right now

Hackfest 1000 Mortem

Saturday, October 15th, 2005

Oops, forgot to post this.  =P

Ben
 o This past week, put together a working demo for the TAs, got some feedback.
 o todo: want to put together a new test type that allows the TA to run a specified test.

Graham
 o This past week, installed frootyloops on his notebook, did homework like a madman.
 o todo: will install emacs.  read swimm sourcecode

Luke
 o This past week, started working on developing apps for trio.  Started writing a bootloader for linux.
 o todo: came up with an idea to improve usability for firefox.  (Navigability without a mouse).  A "generate links" button.
   Also, intelligent transparency.

Vinny
 o This past week, did 3d integration in commotion.
 o todo: want a behavior that puts a terrain in a 3d scene.

Things we learned today:
 o Courtship is the platform of the socially inept.
 o Jesus was a hippie.
 o Graham wants to cruise Nebraska to knock up women.

 

HOWTO: From magnitude spectrum to sound

Sunday, October 9th, 2005

Calling all atlhack signal geeks!

Given a real-valued signal it is fairly straightforward to generate the magnitude spectrum. To plot it in matlab it’s


spec = fft( signal, size );
plot( abs( fftshift( spec ) ) );

The purpose of the abs is to get the complex modulus of the transform values. To get the original signal it’s


plot( real( ifft( spec, size ) ) );

Question: if I only knew X where X = abs( fft( signal, size ) ) and signal is real, could I properly reconstruct signal?

Hackfest 111 Mortem

Friday, October 7th, 2005

Hackfest 111 – Oct 7 2005 7:30 PM

Since Last Time:
Graham: Fun with MPI and OpenMP for his Operating Systems class.

Ben: Has completed much of what the old autograder did in his new framework.

Vinny: OGRE 3D is working with commotion. Basic 2D object tracking is also working.

Titus: Job Interviews.

Luke: Fun with XWindow IDs and reverse engineering windows-only eclipse plugins.

That night:
Graham: Investigated Ning, considered purchasing an audio device for the laptop, and pondered emacs.

Ben: Added UI sugar and honey to the autograder in Netbeans.

Vinny: Worked on Drupal and lost, but he went out fighting.

Luke: Self-realization, Self-rationalization, and a decision to cancel plans to buy a home. Did some dhcp debugging a bit too.

any corrections or missing info? 

Component: Agent AI

Wednesday, September 28th, 2005

The Agent AI is the focus of the simulation. Each character should seem to have a life of their own, and the characters collectively should act as a system. Aspects of this are:


Disposition


A Disposition, in this case, is a relationship between the character and something else: another character, a place,an activity, an object, or the player. It represents how much a character likes or dislikes that thing. Simply a reference and a quantity are all that is required for a disposition. The character will form these as that character interacts with things and they will effect the character’s behavior.

Knowledge


The character can “see” all that goes on in the character’s own “cell.” These are added to characters “memory”- a list of events that the character observes. There are enumerably many actions that a character or the player may take. Each action has a negative or positive effect on whatever entity the action is performed on. In addition, the character may have a “disposition” toward whatever object the action is performed against. This effects how the character interprets ths info.
So when a character observes an event, the recorded “memory” includes the character performing the action, the action itself, the object that is the target and the computed reaction, which is how much the character likes or dislikes the action.

Communication


Each character can share his information with others. What the character decides to talk about depends on the importance of the event, computed by how recent the event is and how it affected the character. Each character knows the difference between what they saw and what they heard. Characters will talk to each other as well as the player.

Scheduling


Each character has their favorite activities and their favorite places, but they will not simply do their favorite thing all day and night. The compulsion to do an activity will decrease as the character is doing that activity. They will grow “bored” with what they are doing and go on to something else. Here, a boring equilibrium should not be reached. Randomness and in-game events will change the character’s priorities.

Personality


The characters personality is determined by a series of metrics as suggested in the paper “Personality in Computer Characters” by Daniel Rousseau. Each character’s behavior will be affected by these.

Goals and Challenges:

One goal here is to avoid equilibrium for the sake of extremes. The society should not have a predictable daily routine and there will be several factors to keep this from happening. Primarily, the player will have great power to stir things up. The player is an element of the system that is not under computer control, so the player’s behavior is not likely to be systematic. In addition random or scripted disasters may befall the town. Overall, randomness will be introduced into every decission a character makes.