Showing posts with label My neighbor. Show all posts
Showing posts with label My neighbor. Show all posts

Friday, December 26, 2008

My 2009 plans for Deadwood

At this point I'm thinking of holding off on MaraDNS 2.0 for the time being. Instead, I think I will concentrate on getting the last bugs ironed out of Deadwood, and then seeing if I can make it part of BusyBox. Deadwood has some final wrinkles I would like to resolve:Once I do that, I can send an email to the Busybox people and see what it would take to make Deadwood a Busybox module (probably merging as much of the UDP and TCP code as possible, having the option to strip out the parser, being able to remove the saving/loading of the cache from a file, etc). I think doing this will greatly benefit the kinds of embedded router makers who use Busybox a lot, and will give MaraDNS/Deadwood a lot more exposure, which is good for my future job prospects.

This allows Deadwood to fill a niche which other DNS servers don't really fill: The need for a tiny secure stub resolver so people get correct DNS replies when asking their router to resolve hosts.

The need for a somewhat bigger secure fully recursive DNS resolver is nicely filled by Unbound, Power DNS, or even MaraDNS (if you don't mind all of the threads being spawn). As an aside, don't use DJBDNS' "Dnscache"; even though the code is now public domain, it hasn't been updated for years and I don't see anyone stepping up to plate and making a supported updated version with security and other problems fixed.

The only way I can motivate myself to continue work on Deadwood making it a fully recursive resolver is by seeing a niche for it that hasn't already been filled. The "non-DNSSEC recursive resolver" niche is more nicely filled up than it was when I did the lion's share of work on Deadwood a year ago: I was not aware of Unbound when I started work on Deadwood. One niche that doesn't seem to be filled is the "small DNS recursive resolver with DNSSEC support" niche; this might be what I end up doing with Deadwood in the long run, which would result in an eventual MaraDNS 2.0 release.

However, I think I will wait until after the end of 2009 before adding recursion to Deadwood. MaraDNS will have no features added to it in the meantime, with the only changes being security and serious bugs being fixed.

As an aside, in my personal life, while my former neighbor is still a very close platonic friend, I now have another girl in my life today who is my girlfriend.

Tuesday, November 18, 2008

Review: Nokia 5310 Xpress music

About a month ago, when the peso went down in value but the prices in Mexico hadn't gone up yet to compensate, I got a Nokia Xpressmusic 5310 cell phone to replace my old cell phones that have been slowly falling apart for a while now.

This is a cell phone I have had my eye on for a while. My goal was to get a cell phone that has clear voice quality and that is a quality MP3 player.

The 5310 does well in terms of voice; the voice quality is clear--one family member with hearing problems who had problems with my low-cost LG phone had no problems hearing me talk on my 5310. The only time I recall someone complaining about not clearly hearing me was one time when I was talking to my former neighbor, but she's been having problems with her cell phone so the problem might have been at her end. Even then we were able to communicate without problem after I closed the door and talked very loudly in to the phone.

The 5310 is a very good music player. It has a standard 3.5mm headphone jack; this phone doesn't need any weird adapters for me to listen to music with my favorite headphones. The audio is quite loud when using earbuds, but not always as loud as I would like when listening with low-cost standard headphones which I need to wear while running (earbuds fall out of my ears). This, however, is only a problem when the gym plays music loudly for their dancing and stationary bicycle classes in the evening; in the afternoon, when it's quieter, or when I run at the local park, the music is loud enough.

The one annoyance is that the music player crashes about once every day or two or so. This usually happens when I try to play a new song when playing another song. What happens is that the screen turns white, the telephone is unresponsive for a few seconds, then it reboots the OS. Within 20 seconds, the phone is fine again. Annoying, but not a deal breaker.

This is using version 5.3 of the OS for this phone; The most current version of the OS is 7.1. However, my phone is a TelCel (the largest cell phone carrier in Mexico) branded 5310 and TelCel hasn't updated the OS to the most current version. 7.1, which may or may not fix this issue, also has support for 16gb mini-SD cards.

The cell phone also has a lot of other goodies. It has a basic 2 megapixel camera which is nice for taking snapshots for putting on my personal web pages. The camera is no Nikon SLR, but can take decent pictures. For example, this picture of me and my former neighbor, who I saw a movie with on my birthday, was taken with the camera in my phone:



It also has a stopwatch, with a fairly large time display, which is useful when running without a treadmill to control my pace, and an "egg timer", which is useful for taking my pulse or cooking pasta. In addition, it has the ability to play J2ME video games, a basic HTML viewer, and even Opera Mini.

I can't use Opera Mini, since TelCel charges nearly 50 dollars a month for slow non-3G WAP internet access (TelCel may offer 3G, but my phone doesn't support 3G; just WAP), which is too much, especially since I now have internet at home. But, what I can use is the crude HTML browser for reading books and other documents offline (using the 4gb memory card I have in the phone).

The 5310 uses a slightly older revision of the S40 operating system (S40 5th edition, instead of the newer 6th edition with a webkit-based browser), and the HTML browser is, at best, very crude. It is very slow opening documents more than 15k in size or so, and has limited image and javascript support.

What I have done to be able to read ebooks and other documents online is write up some *NIX scripts for splitting up HTML pages and stripping unnecessary tags from these pages; by making the pages short simple text with the occasional image and little or no java script, I can make the pages readable in my cell phone. I have been enjoying some books from Baen's free library and use the phone to read daily Catholic mass readings in English (so I can fully understand them) while at Spanish-language mass.

In my next blog entry, I will show some of the *NIX scripts I use to split up and make the HTML readable with this cell phone's crude HTML reader.

Monday, August 25, 2008

New ObHack snapshot

Saturday night, I had a case of insomnia, so ended up working a little on ObHack. My goal is to make a 004a release around the new month. The only changes I have made since April's snapshots is to integrate some of the upstream Oblige 0.97 changes in to ObHack. In today's release, I have integrated some of the code to allow Doom levels to have the occasional Boss monster be in levels.

It is available at www.samiam.org/slump

Sunday, I ended up hanging out with my neighbor again. At first, she was too busy too see me. So I bribed her by paying for her groceries when we went to the corner store together. She then magically made time for me to visit her; we had mole verde and watched TV together.

Monday, August 18, 2008

Deadwood update; ObHack minor update

On Friday, I silently updated the MaraDNS web page to point to the latest releases of MaraDNS which I uploaded two weeks ago. I haven't uploaded the latest release to Sourceforge, but will probably do so this week sometime.

On Saturday, I drove my neighbor to work. I then did some errands, and picked her up after work. She made me some "Russian salad" and we spent the afternoon eating and talking.

On Sunday, my neighbor was busy so I ended up having some time to geek out. I ended up updating Deadwood to remove a couple of Cygwin-only compile-time warnings, and getting "resurrections" to work when Deadwood is unable to connect to the upstream DNS server.

"resurrections" is the ability to pull expired records from the DNS cache when there is no other way to get a DNS record. Basically, it's a DNS record of last resort. If, for whatever reason, it's impossible to get a current DNS record, it's probably better to give the user a possibly outdated DNS record than no record at all. This is called "resurrections" in Deadwood. And yes, if you feel this someone violates the DNS spec or whatever, it can be disabled.

Anyway, resurrections now work either when there's a timeout trying to connect to an upstream DNS provider, or if it's impossible to send a packet upstream. Each case uses different code; I may also eventually add code to use resurrections in the case of being able to connect to the upstream DNS provider, but upstream gives Deadwood a DNS error instead of the reply (the code may actually already do this; I will have to check).

I also have the version number of Deadwood appear when it's started.

In addition, I have made a minor update to ObHack. This backports Andrew's bugfix for monsters or items on crates. The fix doesn't seem to be perfect, but does seem to reduce the number of times monsters or items are inaccessible because they're on top of a crate.

This will probably be my last update to ObHack for a while; to be honest, I currently don't enjoy playing first person shooters so have little motivation to work on this code. I may end up releasing ObHack 004a and declaring it stable. We'll see.

Tuesday, August 12, 2008

Deadwood minor update

OK, last Friday I had big plans for updating Deadwood.

That didn't happen.

I actually finished another personal project on Saturday. On Sunday, I spent all afternoon with my neighbor, who fed me some really yummy tostadas with beans and cheese that she made. We watched Enemy of the State dubbed in to Spanish (she never saw it before; I never saw it in Spanish) and I showed her how to shuffle a deck and how to play the card game Gin Rummy.

So much for Deadwood getting updated this weekend.

However, Neeo contributed two minor patches; one that speeds things up a little bit, and another that makes sure 0-TTL entires are not cached.

Check it out at www.maradns.org/deadwood.

I will also bump up both stable releases of MaraDNS later on this week with a bugfix; until I make the release official, people can check out the 1.2 stable update and the 1.3 stable update.

Tuesday, June 24, 2008

I had dinner with my neighbor

My lovely neighbor, who I have mentioned here before, made a really wonderful dinner last night of broccoli with cheese, lettuce, beans, tortillas, extra-hot salsa verde, some yogurt on the side, and lemonade to drink.

Over dinner, we had some really enjoyable conversation in a mix of Spanish and English.

She's a really close friend. I'm happy. :)

Monday, June 16, 2008

Deadwood 2.00 released

Deadwood (I chose this name because it's a term in one of my favorite games, Gin Rummy, for cards that don't yet help you win) is the code that will eventually become MaraDNS' next-generation recursive resolver.

Basically, I wrote MaraDNS' recursive resolver back in 2001, and learned a lot about how DNS and recursive resolution works. This recursive resolver was never meant to be permanent; even when I was designing it, I made some decisions based on me rewriting the resolver once I understood how DNS recursive resolution really works.

For example, I chose to use threads to make implementation of the resolver easier. In addition, CNAME support is, at best, a hack in the recursive resolver.

Well, by early 2002 the resolver was working and I knew I was going to have to rewrite it. I even had plans to rewrite the recursive resolver as far back as 2002.

Well, MaraDNS being an open source project and all, things took longer than planned. I went back to college, put MaraDNS on the back burner, graduated from college; updated and released MaraDNS 1.2 (with the same old hackey recursive resolver) in late 2005 after graduating from college and before getting steady employment. Then I got employed again and MaraDNS went on the back burner again.

In the meantime, last fall I hadn't had steady employment, so I started work on the new recursive resolver. Since I enjoyed playing gin rummy, I named the new resolver "Deadwood". After three months of work, I had a fully functioning non-recursive non-threaded caching nameserver, with far cleaner code and some features MaraDNS doesn't have, such ipv6 support (Thanks to Sarton) and as the ability to write the cache to disk.

Well, this was essentially ready to go in December, then life came back and I was so busy with work (and developing a friendship with my neighbor who is now a very close platonic friend) I didn't have time to answer MaraDNS support mail, much less get Deadwood polished up.

Well, I finally took care of the support mail problem by just cutting off all email support for MaraDNS, so I can concentrate what little energy I have these days for MaraDNS development on polishing up Deadwood.

This weekend, I fixed a bug in Deadwood that made writing the cache to a file difficult, and also got the code to compile in MinGW (Windows without Cygwin) again. I have verified that Deadwood 2 works both in Windows using Cygwin, and in Linux as a native binary. Deadwood should also work as a native Windows binary, but without the ability to read and write the cache to a file (I need to figure out how to do signals in Windows).

I have made a tarball of Deadwood 2.00, which has full documentation and can be downloaded here:

http://www.maradns.org/deadwood

Now that I've done that, I'm going on an official break with MaraDNS. I hope to return soon to continue work on Deadwood. Please don't bug me with MaraDNS issues unless you have found a security bug in MaraDNS

Friday, May 9, 2008

It's has been a very busy week

It has been a very busy week for work and what little free time I have has been spent on developing my friendships (that neighbor of mine is now a pretty close friend of mine; we hang out a lot and what not). I hope to have time to answer MaraDNS email next week. Actually, to be honest, I hope to not have time to answer MaraDNS mail next week because I'm hanging out with my neighbor.

Friday, March 28, 2008

MaraDNS small update

I just dug through my email (there were a couple of spam runs that I had to remove all of the messages of; my dynamic email address makes doing this easier but spammers these days use botnets to grab IPs from web pages) and found four MaraDNS support requests. So this ups my total number of unanswered MaraDNS support questions to five. I hope to have time to look at these emails next week.

Quite frankly, I'd rather look at my pretty neighbor that I met last night who is a college student and seems to like me. We should be hanging out again Sunday afternoon. :) :) :)