My new apartment

So I’ve been in my new apartment for a bit over a week now. I like it so far and the more I make it mine the more I like it. The only main issue I have left with it is the price. It’s about $750 including utilities, which is kinda high for a studio, but I’m paying for the location and I think it will be worth it for now. I will be able to ride my bike to school in under 10 minutes which will be really nice given that I’ve had a 1 hour commute for the last 5 years. I’m really looking forward to not that. Also the lease on the apartment is only 6 months, so I will have a way out if it’s a problem. I will probably start looking for other places in 4 months or so and consider moving.

One thing I have done to the apartment that I’m really happy about it adding lights. When I moved in there were no overhead lights in the main room. This made it really dark at night (though during the day it get plenty of sun, which is nice). So I went to the hardware store and bought some wire and some sockets and plugs and switches and made lights. I’m really happy with it though in retrospect I’m not sure it was any cheaper than buying lamps. But I like it more and they are really bright. (Note that my whips are hanging on the wall. I’m really like them there for some reason.)


I have now cleaned the place but as of 2 nights ago the apartment as a whole looked like this: (click for a high resolution version) (EDIT: This is a better version I made since I originally posted this)

This panorama is made up to 28 individual images taken using my cell phone. It’s got some real issues with brightness and color, but honestly it’s amazing how well it came out. I’m really proud of it. It was made using Hugin a open-source panorama stitcher.

So thats my place. I hope it will be a home soon.

Posted in Life (other than code)

Burning Man 2010

(EDIT: I have added pictures!)

This is burning man to me: The desert and the sun.

This is burning man to me: The desert and the sun.

So it’s been a week since I got back from Burning Man and moved into my new apartment and I’m finally sitting down to write up some of what happened.

Below is a rough chronology of what happened at the burn for me.

Read more »

Posted in Life (other than code)

Back from the burn

I just got back from the burn. I’m in the hostel again for a night.

I’m about to take my first shower in I days. It will be awesome except for the part where I’m sun burned pretty bad. Anyway. I’m soo tired. But I’m back on email and stuff which is nice.

More on burning man later. But I thought people might want to know that I got back safe.

Posted in Life (other than code)

A beginning in Portland

image

I like portland. The last few days have gone well. I’m ready for burning man. And I’m signing a lease on a studio this afternoon. The apartment is about 8 minutes by bike from school so I’m really excited about the commute. I hope winter will not prevent me from biking. I have been walking a LOT. It’s been good.

The apartment isn’t as cheap as I like but it should be very nice I think. Its reasonably large and has good sized windows that open well. Heat, water, garbage, sewage and even electricity are included in a flat rate utility fee. So at least there shouldn’t be any unexpectedly high bills. Also the building would allow me to move to another apartment in the same building for pretty cheap if I want to later. That way I could ungrade if I want to later. We will see. Also the lease is only 6 months so I am not tied down for long.

I’ve met a lot of good people. Half of them being the burning man crowd, but half of them from other things which is good because I don’t want to only know crazy hippy types.

I have not yet had a chance to visit my school. I’ve just been insanely busy. I will go up there once I get back to portland from burning man. I have been by my school though and I’m confident I will be able to get there easily when from my apartment.

People are really nice here and I really need to unlearn some of my NYCisms. They don’t apply here. The bus system is very nice and the street cars and trains are good. It is weird though that the trains actually run down the street.

Portland really is a bit like a huge lawrence, KS. Nice people, polite drivers. I think I will be at home hear quickly.

The flight in also went well. We flew by mount hood. It was beautiful.

Also since I started writing this I have actually signed my lease. So I have a place to live and I’m set to move in. I will still need to spend one night in the hostel when I get back from the burn, but I will move in the next morning. Then I will start working on settling in.

Right now I am in a mexican resturant having a victory lunch. And tomorrow at 3AM I will leave for burning man. I’m excited.

Posted in Life (other than code)

Portland is getting more and more real

I’ve started scheduling my first few days in portland. I’m going to view 5 or 6 apartments on the first day. Hopefully one will be nice and I can rent it then and there. I would love to have a place pinned down ASAP. Then I will go to my school and otherwise get to know portland.
However in addition to that I will be preparing for Burning Man. Then after 6 days in portland I will be heading to the burn for a little over a week. Then I will be coming back to portland and actually moving into the apartment I rented.
I’m really scarred. But I’m also excited and having solid plans makes it feel more comfortable.

Posted in Life (other than code)

I made a whip that cracks

I made a whip!!! And it cracks!!! I’m so excited.

The first whip I made.

The first whip I made. (Sorry the picture is fuzzy. Phone cameras suck.)

There are a lot of things wrong with it, but it’s my first and I will be able to do better next time around. I already have plans of how to change the design. I need to tweak various things so I can work up to building a kevlar fire whip. I’ll be practicing with nylon for a bit because kevlar is almost 6 times as expensive and you need a LOT to make a whip.

Anyway I’m totally excited about whip making and actually making a whip that cracks is a really exciting first step.

Posted in Life (other than code), Whips

Leaving NYC

I’m on the plane away from NYC. I will probably only be returning to visit (which I will be doing). It is a really weird feeling that the New York part of my life is actually over. I always said that I would not live there indefinitely, only now am I really realizing that that means. I don’t think I will miss the city, but I already miss all the friends I have in New York.
Special people definitely make the place. And it’s the only thing that made living in NYC bareable. The city was always too big and busy for me. So for those of you who love the city, I hope you enjoy it; you are welcome too it. I will enjoy visiting I’m sure.
And to all you special people in NYC: I’ll miss you, but I will be back to visit. Be well! (And as I learned to say in NYC “Get home safe”)

Posted in Life (other than code)

Going to gradschool in Portland, OR

So for those of you who don’t know, I am planning on going to grad school for Computer Programming Languages. I have been fully accepted to Portland State University in Portland, OR. Also I was concerned that they would make me take undergrad classes because I don’t have an Undergrad CS degree, but it doesn’t look like that will be a problem. I sent them a list of theoretical CS things I have knowledge of and I think they were impressed. The professor I am communicating with said “I believe you are exceptionally well prepared for our MS program.” Which I feel really good about.

I will be moving out to Portland, OR in mid to late August. But I will probably be going to KS for a couple weeks on the way, so I will probably be leaving NYC around the end of July. It’s so soon. I’m scared and excited.

Here is the theoretical computer science bragging document I sent them. It looks pretty impressive and it’s all true! ;-)

These are the buzz-words that I know and understand and that I
think would be applicable. I also have a more complete write up below.

* Turing machines
* The halting problem
* Gödel’s Incompleteness Theorem
* Bog-O Notation
* Lambda Calculus
* Church Numeral
* Type-level meta programming
* Kernel development
* System integration
* System programming
* Compilation, assembly and linking as separate steps
* Embedded systems programming (without an OS and with a minimal OS)
* Direct I/O handling
* Interrupt programming
* Object-oriented programming
* Pure and impure functional programming
* Functional-OO-Hybrid programming
* Logic programming
* Functional Logic programming
* JOIN-Calculus and Pi-calculus
* The Actor Model
* Software Transactional Memory

I have learned about Turing machines and the halting problem and
Gödel’s Incompleteness Theorem. I have also learned about Lambda
Calculus and Pi-Calculus (to gain a better understanding of languages
based on them). I understand and use the Big-O notation of algorithmic
complexity (and its limitations). I have also dealt with Church
Numerals for the purpose of encoding numbers in Lambda Calculus and in
the type systems of other languages (such as Scala) to allow for type
level metaprogramming.

I have been using Linux for more than 10 years now. Over that time I
have done everything from desktop usage to custom turnkey system
integration and kernel development. I have worked on most parts of an
OS from the kernel to application software. I have also worked on
systems with both no OS (PIC microcontrollers) and a very small OS (TI
calculators), so I have done direct I/O and interrupt programming
(including integration with standardized protocols like USB HID). Also
I have dealt with compilation, assembly and linking as separate steps.

I have learned the new languages on a regular basis not because I need
to program in the languages but because the new languages teach me
things about programming and programming languages in general. For
instance I learn about pure functional programming from Haskell and
about hybrid-OO-functional from Nemerle (and later Scala). Also I
understand monads as both collections, processes and pseudo-containers
like the IO monad (though not the category theory from which they
derive, I must admit). I also spent some time working with
JOIN-calculus (Jocaml) and the actor model (Erland and Scala).
Recently I have been reading about Software Transactional Memory and
how it can be integrated with Actors and how transactions can follow
messages from actor to actor. I have read a lot about JOIN-Calculus
and Pi-Calculus because I am very interested in natively parallel
programming abstractions. I think natively parallel abstractions of
computation will be very important in the future of massively
multi-core computers.

I forgot to mention Object-Oriented programming above because I have
been using it for so long (I first learn OO with C++ when I was around
14). I have also attempted to learn a few logic languages (Mercury and
Prolog and also Curry from PSU), but I admit I have had very little
luck. It has turned out to be the hardest kind of language for me to
grasp. I have a basic understanding of how the languages work and I
know what the syntax means and how variable binding works and all that
and how all these pieces should work together to allow arbitrary
programs. I also read an article Sergio Antoy, et al about
multi-threaded functional logic language implementations. It was very
interesting.

Posted in Grad School, Programming Theory

Why I hate URL minimizers

There has been a lot of talk about how URL minimizers (tinyurl, bitly, and friends) are ruining the web for various reasons. Most notable among them that the minimized URLs make links rely on a server that may cease to exist before the page with the link. This results in one business going under causing entire chunks of the web to go dead (because there links nolonger work).

This is all true but that’s not really what angers me about URL minimizers on a day to day basis.

  • First and foremost, URLs contain real information about the site they refer to. I will often choose whether or not to follow a link based on its URL. This may be unfair of me in some cases (judging a book by its cover), but its my right. I want to see where I am going.
  • Also minimized URLs are slower to load than direct links. This is simply because there is an extra redirect on the way to loading the page. This is a big issue when you are on a network that is very slow to connect to a server but fast do transfer data once connected. My network at work really sucks and it take a couple of seconds to connect to a server but once connected I can get a full megabyte per second. So the bitly.com or tinyurl.com request takes a noticable amount of time compared to the over all page load.
  • Finally, why don’t people use a damn <a> tag!!! There purpose is to give a nice piece of text to link on. Anyone who is interested in following the link will be using a device that can render HTML (otherwise the link target would be of no use). I know, I know, 140 limit. Why don’t they change that to only could rendered characters and support simple HTML. That way people can use real link and therefor real URLs.
Posted in Computers

Story gaming in the context of time travel

I read an interesting article about time travel from Discovery Magazine.

The Real Rules for Time Travelers

So Zack and I talked about time travel a while ago in the context of trying to develop a reasonable time travel system for a role playing game. And I after reading this article I think I have one. Though I’m not sure it what you might be thinking but bear with me. Also I’m writing this based on reading the article so you might have to read it for this to make sense.

To have consistent stories involving time travel you also must have “closed time-like loops” in the physics of the universe and this implies a couple of interesting things. One, the physics are not deterministic (that is you cannot predict the next instant based on the previous instant) however oddly, two, you also have to give up the idea of free-will. This is because for a story to be consistent once an event is observed it CANNOT be changed. So if you go to the future and see yourself kill someone you are now ordained (if you will) to kill that person. You cannot choose not to.

This may seem like it would not work as the basis for a role playing game (because people like to choose what there player does) however I think if you look at role play a bit different it works just fine. First view the game universe as a 4-dimensional blank canvas. Now the players and the DM choose a setting; this fills in some of the canvas, basically a short period of time directly before the “start” of the game and a reasonable area surrounding the start in space. Now the players begin to make choices as to what there characters do and this starts to fill in this 4D canvas. However once a part of the canvas has been filled it can never be changed. So if a player or the DM says that they see themselves do something in the past of the future they cannot choose not to do it later. It is fixed. All they can do is write the story that lead them to that point that they have already set.

This lead the play style to a very “fiction first”, story gaming type of play. The players (including the DM) are writing a story, however they are not necessarily doing it in chronological order. It would be reasonable to say that a player plays all versions of themselves, in all times. So they will never be forced to do anything in any time. This style of play also has the interesting implication that if the players become board with an event they could just jump forward or backwards in time (as players not characters) and fill in a different part of the story that has not yet been “written”.

In the end one of the most important rule would be that if something has been observed it cannot be changed. So if you go forward in time and see something happen you cannot change it. However you could change it’s context or meaning. So if you go forward in time and see a bloody knife with your finger prints on it. Then that knife must be there and it must have your finger prints on it. However if it has not been stated whose blood it is than that could be decided later. It could even be your own. So as a player your goal will be to create an interesting story based on what has already been observed or written on the 4D canvas.

Posted in Table Top Gaming