December 15, 2006
Very very zune
I saw my first Zune in the wild today. It was on the train ride home, a black one. I talked to the owner and had a chance to check it out personally. Not too impressive. Felt rather clunky to me, and I own an iPod Photo.
I think the owner was slightly embarrassed about owning it too that or Microsoft really skimped on some features for it. He was using the trademark white earbuds from an iPod with the system, and I know that's not because they're comfortable.
I asked if he's "squirted" music to anyone yet to discover he's found a distinct lack of Zune-ige in the area. He's been a bit disappointed by the inability to utilize that feature. This seems to ring true with an article recently on news.com.
Posted by Dan at 09:21 PM | Comments (0)
July 13, 2006
Dev Tools and Releases
In a most frustrating series of days, I've discovered a few things.
First gripe is Windows XP. Yeah, everyone complains about Windows, and many of us are forced to work with it daily. Here is an odd behavior though. One application, statically linked to be distributable, whose primary goal is to create a simulated cpu load on a system. For example, you want 30% CPU utilization, it will run some operands to create 30% load and dynamically adjust based upon the work load you add to the system. Under Windows XP this tool works fine. Under Windows XP SP2 this tool works fine. Under Windows XP SP1 one of two behaviors happens; A) CPU utilization hits 100% B) CPU utilization is $N + 10. Ugh. The solution required creative #defines and #pragma opimze per OS installs.
Second gripe for the day. I've enjoyed working with OS X for most of the time, only I can't stand XCode. I find it to be an atrocious tool, making simple things extremely difficult. I won't even begin to describe the non-useful syntax finishing that it currently utilizes. Currently I'm working on building a KEXT for use on the IA32 Macs, only all my development work has been on a PPC based system. XCode nicely abstracts away all of the messy details to work out between the two. What isn't mentioned is that XCode v2.2 for some unknown reason likes to include the -nostdinc flag, while providing no option for removing it or why your standard includes are gone. Upgrading to XCode v2.3 solves this problem, but that was discovered until well after several hours had been spent researching into this.
Yep... complaints.
On the brighter side, only a few more weeks until my kayaking adventure in Canada. I'm very excited. I need to get a few more batteries for the camera, and probably a few more items of clothes.
Posted by Dan at 01:37 AM | Comments (0)
June 16, 2006
Burnin laptops
In what had to be one of the most interesting starts of conversation, a particpant on the darwin-dev mailing list sent out a request on how throttle back the CPU on his Intel Mac. What made the request so notable were two things.
First, the request was being made due to sensativity to the RF or possible EM being produced by the processor. This is something of an unknown area of science, one I find rather interesting. Dr. Howard Oakley responded with some fascinating research to counter the original author's claims.
Second, the response from an Apple employee. While it's obviously a little tounge-in-cheek reply, the impression it left me with was that there is little that can be done to reduce frequency speeds on the Intel macs.
I think it probably would have helped had Ethan simply stated that there is nothing stopping this user from programmatically adding in some means to control the cpu frequency speed, but there were no promises that OS X would abide by the values set from the program. It kind of sounds like he's suggesting the Intel CPUs don't do that, unlike the former PowerPC, and that was one of the main reasons quoted for moving to Intel architecture.
Oh well... it'd also have killed the humor in the response. Go figure.
Posted by Dan at 06:41 PM | Comments (0)
June 07, 2006
Less Than Perfect
News.com has a great little article on the doom and gloom predicted for Netflix. The crux of the article is that the technology currently exists to make Netflix obsolete. The real reason this hasn't happened is the corporate ignorance from the movie houses regarding licensing and distribution rights. They'd rather see the short term gains than a long term, or put another way, they'd rather stick with an old assured income model than try something new.
Milage: 6.51 miles
Posted by Dan at 03:59 PM | Comments (0)
January 24, 2006
Email Humor via SPAM
In a moment of weakness today, I found that a piece of spam passed both my own and the OpenBSD Tech and even got me to read it. The humor in this bit is the first line:
If your e-mail software does not support html, please click here.
Where here hasn't a link, nor would it mean anything if your email client didn't support HTML. Okay it's a moment of geek snobbery but it's still funny.
Go check the openbsd-tech archives at MARC for the posting. Authored by a "Arda Ozdemir". Sorry I refuse to directly link the URL.
Posted by Dan at 03:40 PM | Comments (0)
January 10, 2006
Announcements
Good to see things I've been working upon actually announced. Congrats Apple on some amazing products.
Not sure I like the name MacBook yet, but with all change there is a required re-adjustment.
Posted by Dan at 02:07 PM | Comments (0)
December 21, 2005
Eject Keys
Random question to anyone familiar with Macintosh keyboards and possibly USB.
On the keyboard of a desktop Mac there is a lovely little button that ejects your cdrom. I'm trying to discover what exact hex code is being sent when that key is depressed. I would have thought it'd followed the traditional F12, but it seems that just isn't true anymore. Looking through the USB documentation I find Power at hex 66, but the USB docs clearly state:
Reserved for typical keyboard status or keyboard errors. Sent as a member of the keyboard array. Not a physical key.
Emphesis is mine, but it still leaves me at what's the key code?
Email me if you know!
Posted by Dan at 05:23 PM | Comments (0)
November 18, 2005
AIM Bots
It's good to see mainstream media kind of picking up the story on the AIM Bots. I personally hated that they were auto-added and immediately deleted them without a second thought.
What's worse is the next day the system informed me it was re-adding the group to my buddy list, although I couldn't see it. Great. Thanks AOL. What a way to alienate us after a long standing precident.
Posted by Dan at 12:33 PM | Comments (0)
October 09, 2005
Through the Valley of Darkness
Due to some recent changes in the corporate environment, my group is being brought kicking and screaming into a world populated with multiple platforms. Many of these platforms contain foreign APIs and what not. In other words it will take a little effort to understand the changes before any meaningful work can be completed on the platforms. This time can take anywhere from days to weeks and is dependent upon numerous external factors.
I've been pushing for the adoption of a cross-platform toolkit, more specifically the adoption of the Qt toolkit. Having hacked on it a bit for EROS, I've come to really enjoy Qt as an environment over many of the other cross-platform systems.
To enable this push, both group and division wide, I've been forced to demonstrate a port of some established applications to the Qt system. Not a terribly challenging task until you realize a couple of truths about software development:
1) Code Maintenance is for wimps. Yep, you heard it here first. The larger the project codebase, the more important the project must be. The more important the project, the more likely you are to have a future at the company, so remember kids, build really large and complex applications to do a really simple feature.
1.5) Requirements come and go, but no one knows which ones are the right ones currently. The code base was originally written by someone unaware of what the entire project scope was. Or whose the original scope of the project has changed and evolved as new usage models emerged. Thus the codebase is littered with adapted code samples copy-written to others outside of the company, features not really needed, and unknown bugs.
2) No matter how non-evil your intentions may be, someone somewhere will always feel slighted by your initiative to cause change. In my case, someone has become very comfortable with using an obscure language for developing their tools. By definition, it's cross-platform, and thus is exempt from many of the issues Qt would solve. Unfortunately, it doesn't allow many of the lower level CPU controls or inline assembly needed for about 90% of our tools, hence why the tools are written in C and C++.
3) When something seems simple to you, there are always others who don't see it as such. Just because we'd only have to learn one API for many GUI, socket, and threading interfaces, it doesn't automatically turn into savings. Why? Because driver land APIs are still confused, and thus the entire possible savings are invalid. Why a driver needs a GUI though is beyond me...
4) Consensus does not mean action. Even though you might get agreement from all parties that this is the correct plan of action to take. It really doesn't mean anyone is willing to take the energy to put the plan into action.
Posted by Dan at 02:09 PM | Comments (0)
October 05, 2005
Melting the Polar Ice Caps
Despite the current lack of involvement in the PHP project, I still follow a lot of the development discussion closely. Mostly by reading php-internals. Occasionally I'll make an opinion known to a poster directly, or possibly even to the list. Of recent interest is the debate over Derick's attempt to correct the functionality of PHP's date interface versus the already established user base interface. It's a tough issue with both sides making a valid point (or 5). The point isn't to opin a support of one or the other. Frankly, I don't believe using a technically incorrect implementation is the best idea, but if the user base doesn't care nor do I.
What this does remind me of is another "make programmers happy" event... training.
Between the programming worlds of academia and corporate exists a shift in thinking. The most recent language specific knowledge gained in academia seems to no longer apply as legacy projects are handed down, and stale developers are being tasked to continue their current track.
While a project may currently be maintained by a very good developer, this developer may not be current in the standards of said language. The most common one I've found has been in the realm of C++, with a large number of people claiming C++ proficency but continuing to use pre-ANSI C++ methodologies. This can be further exacerbated by the fact that they refuse to update development environments (if it ain't broke why fix it?).
Are there currently any training classes in "how it was before..." where before can be any time frame of significance for the technology?
Posted by Dan at 04:15 PM | Comments (0)
October 02, 2005
If The Phone Don't Ring, You'll Know It's Me
Continuing the trend of how to make developers happy.... management.
Management has the awful challenge of balancing out business needs with those of the staff, and often those needs are at polar opposites. While working at AGI I experienced one of those rare environments where both needs were inline. It was a glorious couple of years.
Part of the problem is managers put into positions they don't understand. In smaller companies this is less of an issue, as the manager can typically be a former member of the group or have been there when the group started. In larger companies this issue is more pervasive. Some companies, like Microsoft, have tried to solve this by creating the PM, usually an employee with a strong background and a lot of interest in the subject. This works to a point as the projects stay small. Once again as projects get larger and more visible, the interest builds, people with different interests, backgrounds, and agendas move in to complete their tasks and suddenly you're back to the setup not working.
None of this is new though. As a society we've invented entire schools of research towards this task, and pump out enormous amounts of graduates who are "qualified" to handle such problems. Between HR departments, and effective management books and training, there is an entire industry dedicated to help "solving" this problem. I sleep better at night knowing that "How to Be an Effective Manager" has helped saved groups. Really, I do.
The largest problem software managers have is visibility. I'm sure this applies to a few other realms of engineering as well, but software is the one I'm most familiar with. On a properly executed project, a large amount of time is spent understanding the requirement, designing the right answer, and finally implementing it. Oh, and testing, lots of testing added with refining the design. This process has pretty much become standard for every project ever done (even outside of engineering). Where this changes is in the final producable. In the case of other departments, i.e. marketing or sales, there is a tangible to be measured against. Total sales may fluctuate, advertisements may be more readily seen, or the AC may actually work again in the building. Within the software world, especially in the confines of project maintenance, the final product still looks, (generally) behaves, and smells the same as it's predecessor.
Under the assumption that testing resolved 80% of the most commonly annoying bugs, the last 20% are often bugs found in obscure methods that no one really uses, what did take all this time, effort, and money? The word processor function was working just fine before being re-factored, so what was the purpose? And why change it at all? End users are already familiar with the interface and expect to easily use the next version.
At this point, the commentary begins to loopback into the first issue of keeping software development happy; projects. Why are new projects so important? The secret is in the corporate culture.
Most large companies have an advancement process. Once or twice a year management asks you to collect "360 feedback", the process of having your peers (as defined by you) rank your performance. After that you write up your "brag sheet" which your manager takes into a closed door meeting and champions your case for performance. Out of this meeting you are now ranked corporate wide as either being 'needs improvement', 'average', or 'exceeding expectation'. Only the last will actually get a raise and be assured some type of job security.
This type of corporate advancement has an adverse effect of forcing employees to constantly search out new avenues of work. The newer avenues of work will allow a greater internal corporate exposure, thus advancing a programmers ability to get job satisfaction through recognition. Further feeding into the source of the problem, a lack of developers willing to work on code maintenance due to minimal amounts of company exposure. This vicious cycle will leave projects dead by the wayside and programmers burnt out.
[EDIT: grammatical correction]
Posted by Dan at 03:19 PM | Comments (0)
September 20, 2005
Corporate Culture
There's a bunch of noise in the cube land today, as groups are being shifted around, cubes being (re)constructed, and in generally disrupting concentration completely. What's worse, my iPod is running low on battery power suddenly so the reality filters only work partially today. With that in mind, I've a moment or 5 to actually author up a bunch of tidbits I've been wanting to post for awhile now.
I've spent some time searching around and reading a bunch of online articles, and have been really surprised by this one from Business Week (link originally from News.com). I'm not really interested in the doom and gloom of the article, mainly because we've all heard that company XYZ is going to fail only to see it... not fail. Frankly it seems everyone right now is predicting Google's dominance over Microsoft.
The more interesting bits come from the article on software development and resource retention. Given my current dislike of my work situation, I found myself examining some key points on what exactly happens to employee morale. Joel often discusses what he believes makes a company a great place to work. Having worked in some companies I've felt were great and some not so great, I too have my own ideas.
Software development is one of those rare areas where it's hard to measure the experience of candidates and efforts put forth in a project. The end user rarely ever considers the amount of thought put into designing, understanding, creating, modifying, maintaining, and cleaning up a project's code-base. Many developers understand this from the start and seek alternative means for recognition, and more importantly a way to re-assure themselves that what they do "matters".
How does one keep software developers happy?
First, projects. This area breaks down to a few subcategories that become complicated when you realize they really aren't subcategories but rather extensions of themselves. Let's call these subcategories the 'new project goodies' and the 'wonder puzzle challenge'.
Throughout the schooling era of many programmers, we're taught that we will always have a new project to start with a never written before code-base. This is where the 'new project goodies' are often solidified. Rarely are programmers given a project with a whole mess of code and told to add feature XYZ, or discover why a user can crash the application with bizarre configuration MNO. And rightly so. Such tasks really don't teach the basic concept of the curriculum, without which you could not (without difficulty) accomplish the tasks needed in corporate environments. With the push of open source, this is becoming less and less, but I'd also argue that most open source projects are the Wrong Way (TM) to be introduced to code maintaince. The BWonline article has one quote that nicely sums up this area of concern:
And that leads to an even more worrisome problem: discontent among its software programmers. Instead of coming up with the next great technology, Microsoft programmers have to cater to its monopolies. But top-flight engineers want to tackle the next great challenge. "They want to create new worlds, not defend old ones," says a former senior executive at Microsoft. "They want to storm the Bastille, not live in Versailles."
What this quote misses is the second half of the project catagory, the 'wonder puzzle challenge' developers. These are the programmers that essentially enjoy the puzzles and challenges of figuring out what's going on under the hood. I call this code archeology, which gets some odd responses from people. Often it's not even a case of the puzzle's themselves that interest a developer. I've been more than interested in a project a handful of times due to what I see the project as a whole trying to do. When your project reaches a certain level of interest, people start to notice and you will get good developers who are interested in maintaining. Not because they like the puzzles, but because they sense a feedback to their efforts. The above quote shows the shortsightedness of the former exec. It's not that they all want new projects, but how much innovation can go into fixing a word processor? The office suite of tools have long since lost their luster and appeal for not just developers, but the public in general.
Posted by Dan at 03:54 PM | Comments (0)
August 06, 2005
OSCON crashing
The past week was rather interesting with OSCON going on. I somehow managed to slip into all the useful parts of OSCON, you know the free beer and pizza parties. While some of the tracks sounded interesting, I wasn't about to pay for them out of pocket, nor was my employer. I managed to meet Dan Scott (of IBMs DB2 division), whom I had an interesting series of emails with about a year and half ago. Andrei was out as well, and it was good to see him. George made an appearance too! Met an interesting coworker of Andrei's, Ben of PHP from Atlanta, an Aussie couple (Laura and Luke), Marcus of PHP, Stephan, and Jeff from Conn. Good times were had. Well except for those times with Marcus where he was forcing me to drink more...
Things I learned at OSCON:
- Yep, there are really some extreme geeks out there. By extreme I mean guys who just don't understand that I really don't care if programming language X does something better than Y. I just need to get a project done.
- Some geeks need to learn some serious social skills. I'm probably one of them too, for having ditched my party once, but some were just lacking in the interaction area.
- Andrei can kick my ass at pool. I'll have to work on getting back into billiards shape quickly.
- When leading geeks around, you're going to hear constant remarks on how lost they think they are, and your inability to lead. It really is like cat herding.
Anyhow thanks for coming out everyone. I had a great time, and I'm sure the photos will be online somewhere. Just not here...
Posted by Dan at 02:27 PM | Comments (0)
July 17, 2005
Software Purchases
I've been quiet recently, mostly because I've been frustrated at work and the inability to get much done. These frustrations run deeper then having another group steal my project(s) and the lawyers tell me to kill another project. Adding a layer of gravy to this is IBM.
In a past life, I had the chance to use Purify on a very large code-base project. I found I liked it a lot, and was always disappointed that it didn't cost significantly less. The open source community has valgrind, which works rather well for the most part, but just doesn't feel as refined or complete. Plus it only really works on Linux, which is a limiting option in my current development environment. For it's part, Mac OS X has MallocDebug, an application that has NEVER worked for me despite it's apparent simplicity (I've only tried it with CLI applications).
Back in late April, I had put in a request for the purchase of a single license of PurifyPlus. The purchasing guy informed me he needed a PO for this, and it'd take a few days to go out. The PO went out within the first few days of May and I was hopeful to get my full licensed copy of Purify before the end of Q2 so that I could justify it's purchase. At this point, IBM ceased all communications with us. After a few weeks of trying to get in touch with them, the sales rep from IBM emailed me a 30 trial license and promptly disappeared again.
On Friday I received a phone call from another sales representative at IBM saying that our PO had expired and they could not fulfill the order until we sent an email requesting this be processed ASAP (literally with the word ASAP in it). When I pointed out to the rep that the order was placed in Ma. In disbelief the rep put me on hold to look up the record. June 15th was the last time the order was edited by anyone. I asked if the rep thought the PO expired, or if they sat on it too long. Regardless the information was forwarded to my purchasing guy, who is taking care of this.
Is this really how IBM plans to continue it's ordering system now that it's almost completely a consulting company? The overall process has left such an awful taste in my mouth that I'm hesitant to purchase anything else from them.
Posted by Dan at 06:47 PM | Comments (0)
June 21, 2005
Questions
The idea sprung up about a year ago, while myself and a group of friends were on a series of interviews. After each interview, there would usually be a question that the interviewee had not heard of yet. This prompted the instant sharing among all the other friends and a discussion on the relative merits of the question as an interview question. Often a google search for these questions would result in a few pages worthy of data, but also a whole lot of noise that would need to be sorted through.
Inspiration struck when Brian and I agreed that there should be an online community resource for the specific area of interview questions. Then the idea died.
Todd re-sparked my interest in the project with his renewed search for a job. After having answered a few of the questions for him, and giving him a collection of prep questions I was motivated to actually set it up.
Ladies and gentlemen, I introduce to you the Interview Questions wiki. You are now free to share information regarding the specifics of the interview question.
PS - Chris had suggested a means to hiding the answers so that one could actually think about the answer before seeing it. It would be easy enough to add in a page specific to the answer, but I'd like to know if there is some fancy javascript means for doing this. I would think so...
Posted by Dan at 07:15 PM | Comments (0)
June 17, 2005
Technology Confuses Me
It's a sad day when you find a computer science white paper in PDF format improperly generated. Take this wonderful paper written by Microsoft Research on a novel new idea for P2P networks. I'd like to know where page 2 went. You know the page with all the fun and important details.
Posted by Dan at 04:36 PM | Comments (0)
June 08, 2005
Holy Tire Gage Batman!
In case you missed the announcement and rumors, here is the news tidbit. Before anyone asks:
No I didn't have any idea.
Yes I'm upset that I wasn't able to attend.
The switch to Intel hardware doesn't bother me, nor does staying with PPC.
What I'd really really like to know is; How does Apple intend to design cases for the Pentium D?
Most of the early rumors established that Apple was very interested in the Pentium D, which is Intel's P4 with a dual core option. Having had the chance to play with one briefly, they're pretty fun CPUs, and there is some minor amount of geek pride when you can fake the OS into thinking you've got 4 CPUs to use. Anyhow, the point of the question is this, of all the heat sinks I've seen for the Pentium D, none would be considered small. In fact, most weigh about the same or more as the entire case and take up almost a 4"x6"x5" cube's worth of space. How can Apple plan anything that looks like an iMac around a CPU that needs a heat sink like that? And don't suggest the Pentium M, because it won't cut it. Honest.
Outside of that, I think this could be a good and beneficial move for Apple. The PowerPC architecture is still an outstanding piece of work, but there seem to be some issues when "keeping up with the joneses". The humor in this entire situation to me is that Microsoft's upcoming Xbox 360 is based upon the PowerPC chip. That leads to the questions of, was it the chip or the software that made things seem not so great?
Posted by Dan at 11:52 PM
April 22, 2005
The Corporate Mindset
I like to think I'm a fairly analytical person, examining problems from all angles and presenting a solution that I feel will solve the issue at hand most competently. Often when doing this, I don't look into external factors like media perception, market-share, and what have you. Now allow me to explain a recent problem I encountered and the reaction it achieved.
At my office, we've spent the last few months creating a series of video clips for use during testing. All the content is royalty free as we created it, though there are several terabytes of data. We have everything ranging from low bit-rates to high bit-rates, to even uncompressed data. We have encodings in WMV, DiVX, Quicktime, Xvid, and who knows what other formats (I stopped paying attention to this detail awhile back). Each clip has multiple time lengths as well, with 8 seconds being the shortest, and 2 hours being the longest. Some are in standard def, while others are in high def.
It was recently brought to our attention that other parties may actually be interested in our work, and sharing it with them on our bandwidth limited pipe may impede this behavior. Unfortunately serving the data off of a high bandwidth pipe becomes too cost prohibitive. The next option was to mirror out the data to other locations around the world (basically creating a content distribution network based upon locality). In my mind, all of these are exactly the wrong solution.
Why? In each of these cases, under ideal conditions things will work perfectly. When the network becomes too saturated, or disconnects, the real problems begin. You cannot restart a download of a several gigabyte file using any of the standard IT supported distribution methods (i.e. FTP-passive, or HTTP) without segmenting the files to chunks. Hence I suggested putting up a BitTorrent server to distribute the data. If you're going to start chunking data anyways, why not put into place a system that will allow for distributed downloading and supports chunked data natively? More importantly all the consumers of our data will slowly become distributors of it as well. This benefits not just us, but any consumers who wish utilize our media.
After having made this suggestion aloud, the silence in the room was deafening. It seems that the IT department is completely against this idea for a couple of reasons, none of which they'd vocalize in front of me. My best guesses include:
Any suggestions on how to convince the IT department that this wouldn't be the most evil thing in the world?
Posted by Dan at 12:58 AM
March 04, 2005
Bad Programmer
To the team of Apple engineers who developed the Quicktime API for accessing information... bad programmers! No pizza and beer for you!
To the team of Apple engineers who documented the Quicktime API for accessing information... bad programmers! No pizza and beer for you!
To the team of Apple engineers who developed the Quicktime file format, we have extra pizza and beer available for you.
In case it's not obvious, I've been trying to build an application that can convert to/from a Quicktime MooV file. Originally I thought using the API would be best, but it seems that it will be easier just to fopen the file and parse it using the definition of the QT file format. On the flipside, this will make dorking with a MPEG4 file format a lot simpler for me. I'd still like to know how to get, or why I can't get, the root atom I'm looking for. It fails with absolutely no error.
Posted by Dan at 01:48 AM
February 17, 2005
Frighteningly Cool Technology
I wanted to make a note of this before I forget about it later. A company known as GeoSim Systems has made a most amazing replica of the city of Philadelphia. It's extrodinairly detailed and almost exactly accurate. A few things I noticed in it are incorrect.
First the streets are NEVER that empty, even at 2 and 3 am. It's kind of disturbing to see that.
Second the view down the parkway, from the images I've seen, old Billy boy doesn't look like he's pissing on the city. It's an essential view of Billy.
Third the Sam Eric theater has NEVER looke that nice. I can't even remember if/when it ever had posters on the marquee. Although I guess one can dream can't they?
I'm still waiting for the other movie to download.
Posted by Dan at 01:56 PM
Subverted Usability
At work a group of us have setup a Subversion server for use, a first run trial server for the company really. It runs off a Windows 2003 server using Apache 2 and has been fairly stable for us, al biet the development teams are rather small. It hosts two repositories, one for me and my team (of one) and the other for a team of about 8 people. It's worked out really well for us so far.
Recently I've been asked to provide restricted access to my repository, mainly to allow someone read and write privs to a specific branch but not to anywhere else. I know how you can do this in CVS, and I figured, well it can't be that different in subversion. Enter the challenge of subversion.
Having read and re-read the Subversion book chapter on providing access control, which seems simple enough. The challenge actually isn't setting up Subversion on UNIX, but rather for the bits to work correctly on Windows. There is an awful lot of quirky behavior that needs to be solved yet. Add in the challenge of using Windows domains, and you've given yourself a double headache to deal with.
For example, in the Apache access log, the user name is sent in as DOMAIN\\USERNAME but the error log shows it as DOMAIN\USERNAME.
Four hours after starting, I was able to successfully block everyone from accessing the server, each being told that PROPFIND could not authenticate. Then the error log is telling me that the requested path is not a URI. Having worked hard to correct that I finally was able to get past the authentication issues using an entry for EVERY type of Windows login combination possible (see example issue above). Next problem introduced was the Subversion system could not read the repository for some unknown reason.
My question is, has anyone ever actually gotten this to work?
Posted by Dan at 01:03 AM
January 12, 2005
Ruby Ruby Soho!
I've heard a lot of good things about the Ruby language from numerous people. Most of them are people whose opinions I valuely highly, yet I've never been tempted to it. Why? Well for one thing, I haven't had any real need for it. For a second, all I could ever find were praises about the language. Nothing bad had been said about it.
That's all changed now. It seems someone over at Creative Karma is not happy with Ruby. An interesting read.
Posted by Dan at 10:14 PM | Comments (0)
January 03, 2005
From the "Shoot Our Foot A Second Time" Department
An article (link thanks to MacMinute) on the News-Leader.com discussing why the iTunes Music Store (iTMS) use of the $0.99 USD per song is going away. I found this article completely bogus for multiple reasons, only a few are worth mentioning as they lead to a more interesting discussion.
To begin with, the article itself is very one sided; statements being made primarily from competitors to the iTMS. That alone should send the FUD signal up in every reader, but history has repeatedly told us readers are often dumb. Also, the fact that the News-Leader.com, a relatively unheard of newspaper, is making these claims doesn't help bolster the case for accurate news.
It's pretty obvious that this is mostly a push from a marketing machine somewhere in Napster to help solidify a foothold in any kind of market. The idea of subscription based music services though, the general focus of the article, is the what confuses me. Why do these people blindly believe that this is the future of music?
The argument being made by Chris Gorog is that for a flat fee per month you have access to some really really large musical library at a cost significantly less than what it'd take to own all the music you'd need to fill your musical device. The key word here being that ONLY you has access to this. If you wish to, say, share your music with your friends, suddenly there are problems requiring you need to actually purchase the music. Oddly enough the purchase price for the music is another $0.99 USD on-top of your monthly fee. The average user won't be terribly interested in this hidden gotcha of the subscription service. The one piece of Americana that these executives have forgotten is the magic of the "mix" (be it a tape, cd, or m3u). Using my brother as an example, he's recently been introduced to digital music only to discover that he cannot copy his music from one device to another. This instantly turned him off from even continuing to use the stuff, and it now sits around collecting dust.
But don't just base your idea off of a single user, look towards the recent past at just before 2000. DVDs had just been released as the new killer format to wipe out VHS and make life easier for all. A splinter group of rather heavy weight players backed by Circuit City, a then massive player in the home electronics market (they still are today), introduced a format better known as DIVX. It failed (read here) for a variety of reasons, with the largest being consumers just didn't want it.
Lastly music is one of those things that people prefer to actually own. The joy of ripping those stupid dog bone stickers off your new CD notwithstanding, the fact that you can completely forget about an album and re-discover it at a later date is priceless. The fact that years later you can replay this music without having to discover that the provider no longer exists, as such you can't authorize your music player, is a bonus. Music is one of those areas where ownership is preferred.
So why have these execs decided to push their concept of better upon us?
Posted by Dan at 11:28 PM | Comments (0)
December 06, 2004
Compiler Bugs in C#
I've been working with C# a lot recently. Mainly because I've been limited to a Windows development environment, and I figured why not go learn something new. In my travels, I've come across this interesting bug:
double out_val, my_val, clip_val;
//
// do some code here to set my_val and clip_val
//
out_val = (my_val < clip_val) ? clip_val : my_val;
The above statement works perfectly fine for almost all cases of testing, except one. When my_val gets a value that can be seen as NaN or +Infinity, the statement fails in a most peculiar fashion. The if portion of the test correctly executes, meaning it knows which is greater, but despite the proper logic the compiler will always select the else case.
One of my co-workers and I tried to debug this through the disassembly, but decided that our time was better spent working around this bug. Eric seems to think that there might be a way to violate the C# security model with this behavior, but hasn't been able to prove anything on that yet.
Posted by Dan at 10:05 PM | Comments (0)
November 04, 2004
How I Learned to Like Microsoft
My recent position has required me to move from my traditional bastion of development, FreeBSD/MacOSX, to the entirely old but new realm of Microsoft Windows programming. The current project has me with an open ended development environment, but a request to make it cross compatible with a future Linux client. Typically this isn't a big deal as ANSI C can handle this very nicely if you're careful. The catch with this project is that it requires a large amount of functional GUI, something I'm not very well versed in being a systems hacker, and Windows MFC is certainly something I'm not looking forward to thanks to many horror stories.
Since the requirement was open, I decided to check out the .NET platform instead of running down the MFC route. It would mean learning C#, which in turn would bring me kicking and screaming into the modern realm of object oriented programming (what's a delegate?) while at the same time removing some responsibility from me the programmer. The really nice thing is about C# is that the Mono project has almost completed the entire ECMA standard for C# and is working on the Windows.Forms compatibility portion.
Windows.Forms has to be one of the most intelligent advancements Microsoft has ever accomplished, despite it sounding rather brain-dead obvious. For the first time I can very easily author a GUI mockup without having to actually understand the underlying code. What's even nicer is the unified API that allows all languages to operate the same way. As far as product development goes, it's nothing too exciting, just what should have been done from the start. As far as a Microsoft move to sanity goes, this is a HUGE leap forward.
Before you start asking what happened to Dan, and who this is writing, I do have complaints. To start with the fact that C# is a run-time language ala Java just makes me sick. I don't really like the fact that it's possible someone can decompile my byte-code and get functioning source out of it. That is bad. C# itself is a little confusing. Take for example it's threading mechanism. There is an option to make something a foreground thread, which sounds like giving a thread a higher priority than another in your thread pool. No it just means the thread won't die when you think you've killed it. Enums and bit-masks seem to not work either (just try checking your thread's ThreadState enum for more fun and excitement).
My biggest complaint has been that you still cannot create an application with multiple output formats. Meaning that I can't write an application that will contain a GUI when no arguments are used, and a CLI when > 1 arguments are given. Well, I lied a little bit. Technically you can do this (and I have), but it seems your GUI will forever be tied to an annoying persistent black console window for it's entire life. Why I can't kill that, I don't know.
Posted by Dan at 01:18 AM | Comments (0)
October 28, 2004
Where to find
Anyone know where I can find a power supply for a HP ScanJet 5370C? I seem to have lost mine somehow in the recent shuffling and I've got an awful lot of pictures to scan.
Posted by Dan at 12:27 AM | Comments (1)
October 19, 2004
Power of the Internet
About a year ago I was really impressed with the Vonage technology and service. The general concept of being able to have a phone number anywhere in the US is still a relatively exciting concept that is still awaiting the rest of the phone industry to come up-to speed on.
While I'm not any less excited about this service, I've started to use a few other tools now a lot more. I've been using Skype to keep in touch with some friends dispersed around the world. The voice quality is significantly better than what can be achieved on a normal phone or even a cellular phone. The fact that you can use it to call traditional land lines (at significant savings cost) only adds to the impressive nature of this product. Unfortunately the OS X client is still very obviously a beta, as the client crashes regularly, but I expect this will be corrected in a new release. This is a product I would certainly love to work on and help change the way the world works. Too bad they never responded to any resume submissions.
The second tool I've been using significantly more is Apples iChat. Not just for standard IM practices, but also for it's voice and video capabilities. I'm told it integrates with AOL's Instant Messenger (v 5.5 or higher), but I've yet to test this theory with anyone. iChat is notably more stable then Skype's current client, and seems to correct for missed frames a little better (Skype would occasionally revert to robo-voice). The biggest thrill for me can be found in the video chat, a relatively real time conversation can be had despite the 1 second lag of the camera. My parents, sister, and I have been communicating regularly with this now and find it amazingly easy to use. I know I'm a little late coming to this conclusion (iChat AV is now ... 1 year old?), but I think it's had more of a chance to penetrate the market now resulting in more functional use. When it was just Apple users, video chat isn't as much fun. Now that I can realistically communicate with any AIM user (except those GAIM and and Fire.app users), it opens up a large number of new possibilities for use. My sister gave me a virtual tour of her apartment last night.
With cities like Philadelphia moving to drench their territories in wireless broadband, will this have a strong backlash against tele-cos? If you think I'm a little off my rocker, imagine the scenario where a one time investment of $500 for a PC is made. You can get both AIM and Skype accounts for free, and now use these to call anywhere in the world at a sound quality better than your cell phone (no confusion over B's and D's, or Y's and I's). Now put this in the hands of a lower income household, where basic telephone service costs around $24 a month. In just over 20 months, the PC connection will have paid for itself, provided you get no long distance service on your landline. Pretty cool concept.
The fallout of course is public projects funded by various taxes to your telephone line (i.e. 911). There is also the issue of the computer being non-functional when there is no electricity, or cases of network congestion in areas disrupting service. Finally there is the mental barrier many people have of talking to your computer. It took my parents a little while to get used to the idea, but they've now become a bit more accustomed to it that they don't complain about it.
Posted by Dan at 01:40 AM | Comments (0)
October 12, 2004
Homogenous Environments
One realm of computer security research postulates that many of the effects of computer viruses could be lessened by creating a network with more heterogeneous mix of connected clients. The theory being that because N percent of the connected computers are all running a specific operating system (a variant of Microsoft Windows in this case), the effects of a virus attack crippling the Internet increase by some sliding scale. Something along the inverse of this argument is used in proclaiming other operating systems perceived security is really only a case of untested/unpopular targets. The problem with this sort of theory is that there really is no way to prove it. You can run simulations, where each client can be a mixed ratio of operating systems, but you won't ever really be able to model the true results given the nature of the beast (sysadmins disconnecting systems, possible cross-platform viruses etc). Enter blogs.
A blog? Yes, a blog. As the blogging phenomenon took off, the sheer number of blog authoring software grew, but there always tends to be a clear leader in each field. I would hazard a guess that most blogs took up the MovableType system judging by a cursory glance at a number of blogs on a blog scraper. This fits since I too run the MovableType software, and as such can run a test scenario even if it's completely wrong.
How does this relate to computer security? Well one of the problems with the MovableType system, just like predominant operating systems, is it's uniformity. Under the 2.x system, every piece of installed software is called mt-*.cgi where the * can be any number of words. This uniformity has greatly reduced the amount of effort required by blog comment spammers, who can generically attempt at writing to the mt-comments.cgi without having to actually look at the blog.
Herein lies my change. It's something simple, mostly a case of name obfuscation, but the point is to see how long it takes the blog comment spam community to re-act to something as easy as changing the name of the script. The hope being that if every MovableType installation could rename their commenting system CGI to unique values, what kind of slow down effect would this cause to comment spammers? I can't imagine the current database architectures or systems would work very well for adding in a second field of comment system name changes. Not that it would take very long to adapt to this, but what if a system could be generated to constantly obfuscate the script? Meaning it couldn't be called upon the same on a daily basis.
Starting today, I've renamed my comment script, and will be re-opening comments from this point on. I'll mark when the first comment spam arrives, and hopefully when the second and third happen. I'm planning on trying to pinpoint exactly how that gets distributed. Once the comments start returning, I'll implement phase two of the process, which is a small cron process to be run daily that changes the installed name of the commenting script based upon a hash of a secret key and some random values. At that point I'll also post the results, and the script so that others may implement a similar process and attempt.
To those that might argue that obfuscation isn't the answer, I disagree. In this case the minor amount of processing time that is required to enable an obfuscation based system pales in comparison to the number of cycles wasted each day as comment spammers attempt to post an entry to my blog. More importantly this will eventually, hopefully, increase the barrier to continuation of blog spam.
[EDIT: it would also be interesting to test this theory on various other installs as well. ]
Posted by Dan at 01:37 AM | Comments (0)
October 09, 2004
Web annoyances re-loaded
I've run into a few times now, that it's become enough of an issue to annoy me. DHTML popups that exist within the page you are viewing, often times covering up the content of the page. Since these are "virtual" popups, you can't use a popup blocker to keep them away, but they can certainly take over a large percentage of your viewing screen. What's worse, is closing your window closes the entire browser window (ugh), and you have no assurance that the little X used to denote a closing capability actually will close anything at all.
Why can't web advertisers realize their invasive usage of technology isn't working. That with each "new" and "innovative" method they discover, someone else will discover a way to dim these thing out. If they would keep to simple banner ads, I'm sure they'd get much more feedback.
Posted by Dan at 01:40 PM | Comments (0)
October 03, 2004
Software Reliability
Dan Bricklin has written an excellent opinion piece on the current state of software design and reliability titled "Software that Lasts 200 Years". If you haven't seen this yet, I do suggest taking a few moments to read it.
Posted by Dan at 11:53 PM | Comments (0)
September 06, 2004
Failures in Usefulness
It sounds like Eric over at OutOfCheese is having the modern operating system blues. While he's already received a few commentaries on how "right" or "wrong" his opinion is, I don't believe the root causes of the problem have been really addressed by anyone.
Yes end users are a primary point of concern, and are typically the root cause of most problems faced today on operating systems. I can count numerous times that my parents have altered system settings, changed dial-up phone numbers, somehow deleted their primary applications all without even realizing what they've done. And yes, they still accomplishes this using a Mac, I fear the troubleshooting I'd have to do if they had Windows. It's not to suggest that end users are stupid, but to realize that using a computer, even with a GUI, requires a fundamental change in a persons thinking. I believe most younger users don't realize this need, mainly because they were able to seamlessly adapt. Herein lies the first challenge of operating systems; usability. OSes have come pretty far along the way to making themselves more user friendly, but it hasn't been enough. It's pretty obvious by talking with those not raised on computers that they still have a long way to go. The biggest change in end user computing has been the introduction of distributed information better known as the world wide web. This mass adoption was done almost 10 years ago, but the general design and use of web pages hasn't changed since day 1. I firmly believe WinFS will be the first major change in computing that will push OS design into new dimensions, allowing interface designers to finally bring about new means of comprehension.
The next major hurdle with modern operating systems is in the fundamental design stage. None of the modern consumer end OSes have been developed with a proven design document that I know of. By this I mean, the creation of the design document in a formal language that can be used to prove the functionality of the idea both before it's implementation and afterwards. Most operating systems are currently written in C (or some derivation of C) with some sections being written in assembler for optimization or control of the bios. This step itself begins many of the problems found in operating systems. The C language while having a defined standard, is still loose enough that any formal verification based solely on the code cannot be done. Right now I believe the Solaris kernel is the only OS that gets anywhere near the verification route, but if you feel your Linux or Mac OS X support is lacking, wait until you ask for help with a Solaris install.
Some will argue that such formal design is not possible for an operating system, or that it will never work. I disagree, and can only point to the current state of OS bugginess as validity to the argument: there has to be a better way. The fact that, in this case, the computer was able to install and alter it's behavior without the end user being aware that is a problem.
Apple did a smart thing with OS X by starting over from scratch, creating abstracted sandboxes for everything to play in, and then implementing some new forward thinking ideas (i.e. Quartz memory management schemes). Microsoft is doing something similar with the eventual release of Longhorn, and (apparently) the future releases of Windows XP by pulling some of the abstracted sandboxes from Longhorn. Linux pretty much goes through a complete re-write every kernel release, which provides for lots of fun and entertainment in creating support. Hopefully neither Apple nor Microsoft will be afraid to continue these processes of re-writes and continue to do research into verifiable computing.
Posted by Dan at 07:02 PM | Comments (0)
September 02, 2004
Splatter proof?
Huh? What? You're In Control a new invention by those crazy kids out at MIT. Once again I question if the brilliance here is being missed, or should somebody really be reigning in the creative process a little bit over there.
This does seem like a rather high tech solution to the urinal cake or painted on fly as an "aid".
Posted by Dan at 11:05 PM | Comments (0)
September 01, 2004
iMacs, or iTablets
As most people know, Apple released their new iMac today. A really smooth looking flat panel all in one box with everything hidden behind the screen. Basically, I see it as a pre-cursor to a G5 laptop (the internal design can't be THAT different) only a little thicker to make it vent better. What I'm really interested to see is how Apple plays this design out.
Design wise, it's really nothing new and different. Apple has released machines like this in the past, for proof check out the 20th Anniversary Macintosh. The big change here though is that the entire front face of the machine IS the screen. With the stand "floating" this just screams out Tablet Mac to me. We know Apple has the handwriting recognition software (see Newton), and that the 17" screen can be powered by a battery (see 17" PowerBook). Now if Apple were to change the screen to a touch-screen capable system and install a decent battery, we've suddenly got a very competent tablet based computing system. Granted a cover is missing, but thats a minor detail in the long run of things I think (buy a damn Write-Right cover).
None the less, it was neat to see the product released. Not something I'm going to run out and buy as it still suffers from the laptop issue (monitor height not correct).
Posted by Dan at 12:36 AM | Comments (0)
August 24, 2004
Looking for Toys
If anyone happens to know where I might find the specification for ASF, or more importantly how to read an ASF file and write one, I'd appreciate a hint.
Posted by Dan at 08:21 PM | Comments (0)
Starting Over
Been busy getting acquainted with my new position but finally figured out a few things here locally. Turns out upgrading to the latest Gallery isn't such a hot idea if you've been hacking around with the HTML code. Seems the initial picture frames were borked for a short while. Finally figured out how to correct them, mostly by just re-generating the alterations in the new default files.
One of the bigger problems I've been having is email forwarding. One of the users local to this system has a real email address on a Verizon Online site. All his email is sent through a virtuser entry locally, and that forwards to his Verizon account. For a long time this hasn't been working as suspected, mainly because Verizon has added some really harsh anti-spam rules. A friend suggested trying the SRS utility. After installing it via FreeBSD ports, I discovered a few things.
First the port install doesn't check your version of Perl. If you happen to be running the default version of Perl (v.5.005) you will find nothing works. Why? Because you need the warnings.pm file to exist. This is easily fixed by upgrading your version of perl to something usable and then doing a "use.perl ports" to ensure everyone is happy. The port though should check for this.
Second, despite having everything working, none of this solved anything for forwarding to a Verizon email address. Anyone know why that might be? The most common reason cited in the postmaster emails is:
(reason: 550 You are not allowed to send mail:sc004pub.verizon.net)
UPDATE: finally figured out what was wrong with the SRS install. To make things right, I followed the directions by Mark @ asarian, which went rather easily. The catch was building from the m4 file. It seems that when being rebuilt by FreeBSD's make command, some of the lines were not inserted into the proper place. By copy and pasting them to the locations as specified in the document above, it works fine.
[EDIT: corrected some grammar mistakes]
Posted by Dan at 08:20 PM | Comments (0)
August 18, 2004
Oh What Fun it is to..
I'm constantly amazed at the foresight of functionality found on OS X. For example, in under 5 minutes last night I was able to use a cellular telephone equipped with Bluetooth and GPRS to work as my temporary internet connection. Now the fun part was sharing it over my 802.11G connection to a few other people around me, and realizing all of this took no more than a few button clicks. Very cool. Very easy.
Now if only I could get the GPRS system to work faster than a 14.4 modem...
Posted by Dan at 12:42 PM | Comments (0)
August 05, 2004
Biggest Blunder of the Post-DotCom?
Looks like everyone's favorite search engine did something bad. CNN is there in all the glory and details. With so many people expecting Google to bring life back into the IPO market, I'm very surprised they let such an event happen. I'm still lost as to why they set such a high offer point, at about 100$ is typically the point of splitting a stock.
Posted by Dan at 09:56 AM | Comments (0)
August 04, 2004
Mainstream attention
Looks like Wired.com's Adam L. Penenberg is also noticing the backlash against web site registrations.
I'm not entirely sure that his argument towards a single login system would be any better, but his non-scientific polling is pretty accurate when asking other net news viewers. I do wonder why the news services aren't as concerned about incorrect viewer data though...
Posted by Dan at 12:56 PM | Comments (0)
July 13, 2004
Say What???
Today in conversation the topic of email spam arose once again. While typically a discussion in how annoying the feature is, the conversation actually focused on some of the techniques currently being used to combat the menace that makes email essentially useless. Tidbits of interest are that the current thought to solving spam isn't by just building filters in email clients, but rather building up a trust network based upon a collection of services and friends.
Anyways, the important point that came out of this was: if we can build a sufficently accurate statistical filter (please note it does not need to be 100% fool proof), at what point does language communication become distrupted when trying to bypass the filter?
We're already starting to see this in current crops of spam messages being sent to INBOX across the world. The subjects contain words with hypens to brace inserted random garbage (i.e. Lev-qjkladjhl-tra), the use of l33t speak (i.e. L3\/1+ra), and the insertion of complete paragraphs that make no logical sense. It hasn't reached the point of being completely unreadable yet, but how far must it go before it does become un-readable?
Posted by Dan at 10:03 PM | Comments (0)
June 30, 2004
Where Oh Where Did My Customers Go?
IT Managers Journal has a two page article on some of the more recent developments in off-shore outsourcing entitled "Hidden Costs of Off-shoring causing IT Managers to rethink stratagies". The article points out a couple of interesting catches that have helped make offshore outsourcing a lot more expensive to many of the smaller companies taking advantage of the situation.
I would be interested to read more on this with regard to larger corporations rather than just smaller companies that most of these articles seem to focus upon.
Posted by Dan at 05:55 PM | Comments (0)
June 29, 2004
Penny Pinching
This Sunday issue of the Philadelphia Inquirer had an interesting article (stupid registration required) on executive compensation within the Philadelphia region. One choice quote from the article:
As a group, chief executive officers who had run publicly traded companies in the Philadelphia area for at least a year brought home an average of 33 percent more from cash and stock awards last year than in 2002. That is nine times the median worker's raise, according to the U.S. Department of Labor. [EDIT: emphasis mine]
The printed article had a nice chart breakdown the salary, bonuses, stock options, etc that built up each CEOs total income for the previous year. After examining it, I've come to the conclusion that it certainly would be nice to receive a bonus that is equivalent to 50%, let alone 100% or more, of my yearly salary from any company I work for. It amazes me to see that CEOs being remodeled into the corporate "star player", while becoming a major source of excess monetary spending. The interesting point here is that employees within the company are not making much of a raucous about it (read John Case in "When Salaries Aren't Secret" Harvard Business Review, requires purchase at $6 for more information). Is this a case where an organized labor union would provide better living for a company? Or is this just a case of short-sighted employees whose primary interests lay in the realm of their department only? The article mentions that MBNA at one point cut back on their overly zealous gratuity only after shareholders complained. Is there some central area where employees and stock holders of a company can place a complaint in an attempt reign in this kind of spending? It's not as if the Board of Trustees has shown any interest in slowing this spending, and it's very unlikely that they will.
On the other hand, employees are being downsized in a maneuver to create a lower corporate operating cost. Originally the measure was based solely upon the differences in immediate salary between a local employee and a potential outsourced employee. When the cost of living in the US gets factored into any salary comparison, we as Americans are going to lose despite what the actual net salary one makes is. As an engineer, I fail to see how an obvious solution to this scenario isn't a viable solution to problem; cut the C-level execs salaries. I understand the concept of "it takes money to make money", "money attracts talent", and various other slogans to be championed as logical reasoning. I don't dispute them either. I find the pre-pending of the word "excessive" to these statements to be my major point of discomfort.
Posted by Dan at 04:35 PM | Comments (0)
June 24, 2004
All the News that fit to print
One of the biggest promises of the internet has been the ability to mass disseminate information to an audience diverse in locations, cultures, and opinions. Overall, the experiment has been rather successful, and the recent proliferation of blogs has been a positive sign of this features continued existence. There are now numerous alternative news sites, the mainstream news sites, and most importantly an easy means with which to discover many of these tidbits (think google or yahoo searches) providing the internet with a content rich environment not found elsewhere.
Which is why, this article on CNN.com about what actually constitutes news surprises me. CNN has tried to fashion itself as the source for all that is news, by providing an objective view towards it's coverage of various topics. Obviously, this doesn't apply to the opinion or talk show segments which are by nature designed to not be objective but inflammatory. As I see, they've done a pretty good job at keeping the individual segments relatively non-opinionated, but that is where objective nature of the programming ends. CNN has historically been found to invite guest panelists and include and exclude segments that support the channels' unspoken agenda. The point of this posting isn't to debate the agenda of CNN, but if you're interested you can find out more at www.fair.org, or your favorite search engine.
Then what it is the point? Reading the original article, CNN seems to mock the broadcast news networks for running news segments about "the final episode of Friends" (among others). As this has been one of the more recent events, I can remember watching small segments on CNN Headline News about this very topic. Why this mockery of other news sites? More than likely to create an air of elitism, when applied with some revisionist history. Doing some searches on CNN's website, you can't find any mention of the Friends finale now, or maybe they just want me to pay for said content, something I refuse to do.
But they do raise an interesting question; When did pop-culture become headline news? When I was younger, I remember television news being one of the most boring and drab segments on TV. This was partially because the news was less interesting to me at the time, but also due to the manner of presentation (mono-tone voice, etc). This might be the rose tint in my vision, but I also remember shows like Extra or Entertainment Tonight filling the void for pop-culture news (there are now numerous speciality news shows doing this). When did it become acceptable to merge these two show formats? Is this a side-effect of the massive mergers of mass-media? Remember, most of the mass media outlets are now owned by for-profit companies, many of which are in the entertainment industry. By law, these institutions are required to put investor interest above all other considerations. This includes presentation of news, selection of segments, and ordering of segments.
To borrow a quote from George Seldes:
"The most stupid boast in the history of present-day journalism is that of the writer who says, 'I have never been given orders; I am free to do as I like.'"
[EDIT: As proof of this whole do as I say not as I do message, this morning CNN.com has the byline "Rapper DMX arrested in New York" listed as a headline under both Entertainment and Law sections.] 
Posted by Dan at 10:25 PM | Comments (0)
June 22, 2004
Of Spaceships and Rocketships
Since I've been excited about space flight for the past day, small questions to be asked. What are the 10 coolest space vehicles designed by Sci-Fi movies?
Posted by Dan at 10:47 AM | Comments (2)
Ground Control to Major Tom
Yesterday was an exciting day in the world of aviation and space travel. For the first time, we've had a civilian pilot reach the outer limits of space. SpaceShip One, built by Scaled Composites reached the space barrier by 408 ft, while it's pilot received the first ever pair of pilot wings for civilian space travel. I believe that SSO took a mere 20 million USD to build, a very small amount of money by todays standards. Looking at the whole, it's taken almost 50 years, but space travel is finally coming down in cost. Very cool, very exciting. Feels like the pioneer days of aviation. Does this make Mike Melvill the Charles Lindbergh of our day? In any case, the Ansari XPrize is now the project to be watched.
Listening to some commentary on the whole event via NPR (how often do I do that?), I got to hear one man claiming that this was just awful for the airlines, travel, and space flight itself. In a few ways he is correct. The feat accomplished by SpaceShip One is really nothing significant in the overall of space flight. After all, NASA did have the X-Plane series of flights in the mid-1940s accomplishing the same feats. The fact that this project is also steering interest away from manned flights to Mars is also of concern, but not a major downfall of the project. Beyond the Mars rovers, there really hasn't been a lot of interest in the space program here in the US, slowly losing it's hold over the imagination of the American public. For the first time in a long time, there seems to be a genuine interest in space flight from those who can be considered regular everyday people. Beyond that, the PR value of these flights is just amazing, and will hopefully help get more funding through for a manned mission to Mars.
Posted by Dan at 10:44 AM | Comments (0)
June 17, 2004
Pay Me My Money Down!
I've been hesitant to post this message for awhile, as I have been unable to satisfy my own background checking on it. I'm posting it now in hopes that someone else might be able to answer the general thoughts, and so that I may at some point revisit the discussion.
The topic of the tech industry off-shoring jobs has come up more frequently in conversations as of late. Typically they revolve around the previous generation (those getting ready to retire) informing me that I should be more active in keeping the jobs from disappearing, asking how the companies can do this, and really why it's happening. Not necessarily in that order, but I'll assume you can gather the natural progression of the conversation from it.
Not to sit here and rehash many of the points again but the general gist looks like so (if you've been completely out of touch with society):
Why is it happen? Because there is the belief that it is cheaper. While short run statistics provide proof of this, long term has yet to be determined. (Who can buy your $500/$1000 product if that is a 1/10th of their income?)
How can they do it? Well, various rules and regulations passed over the years have allowed the market to open up.
The next point is the one I don't understand. I am rather surprised at the short sighted view about this problem many have. It is not my generation that should be fighting this trend most vocally, as we are still mobile and able to navigate the retirement sea, but rather the previous generation of soon to be retirees. Why? Social security.
What is Social Security?
An idea that the government will help elderly citizens after retirement to have some type of income. In it's original form, the idea was good, but has been unable to sustain itself. As it works now, each generation pays to keep the lasts social security working. This money is automatically taken from every eligible citizen (with a few odd exceptions) at a rate of ~6%. Many of those in my generation are not expecting social security to provide any kind of support, and have begun utilizing IRAs, 401K/403Bs, and various other means to prepare for retirement. Even the SSA expect there to be a 27% drop in pay-outs after 2040, an increase in eligibility age, and hints that this isn't going to work.
What does any of this have to do with off-shoring? Part of the advantage of off-shoring a jobs is the reduced wages due to differences in cost of living. The half part comes from the point that many of these jobs are now moved to consulting positions rather than full time employees. As I understand it, a company is not required to deduct social security taxes from an employee who not a member of the company, thus providing a company a means with which they may avoid contributing as much to the SSA. As such an employee, each new position overseas will no longer be adding any portion of their income to the collective social security pot causing SSA to miss two tax forced donations. My generation is young and mobile enough to compensate for this potentially huge pay-out change, provided it is recognized, but many in the soon to retire bracket will not be fortunate enough or possibly even prepared for such a circumstance. How many will be affected? Thats unknown for sure.
For the sake of discussion, let us assume for a moment though that I am wrong on the above statement. That each employee of an off-shored position is not brought in as a consultant, but rather a full-fledged employee of the company paying American taxes on these dollars earned. Average income reports have suggested the range is anywhere within the 10-20,000USD range, with more leaning towards the 12,000USD range. Taking out six percent from 20,000 plus another 1% paid by the company, is really going to have a non-effect for sustaining the SS pay-outs. The cost of living in the US pretty much prohibits this kind payment.
My hesitation in posting this comes from the fact that I don't know the taxation laws (obviously), nor the intimate details of offshore employment. After having spent numerous hours online looking for information on it, talking with various people about it, even trying to call the SSA I've come to the conclusion that no one really knows for sure which way it works. If anyone can correct me where I am wrong, it would be a good thing. As I see it now though, the soon to retire generation is about to lose without realizing it.
So I ask again, why am I the one that needs to fight so hard?
Posted by Dan at 12:55 AM | Comments (3)
May 27, 2004
Recycling Software
I was asked the other day, a question to which I didn't know the answer to. Not an uncommon occurrence, but this one began to intrigue me a lot. Back in the days before Open Source software re-created every commercial program possible, people did something called purchasing software. This entailed going to a store, buying a box that was typically oddly shaped so that competitors could not be on the same shelf, bringing it home, unwrapping it, and installing it on your computer via a series of floppy disks. Now that we have electronic distribution, cdrom/dvdrom distribution we no longer have to really deal with the box idea. But what do you do with old software? Is there some organization you can donate it to? If not, is it better to find some floppy recycling program?
Google seems to provide no answers for any of the above questions. Considering my family has a large collection of older Macintosh software (KidPix!) that no longer is used or cannot run on the current operating systems, it would be nice to reclaim the space these boxes currently occupy. More importantly though, it would be nice if someone else could put them to use, or have them put somewhere I know they won't be adding randomly to the landfill.
You can certainly find information on purchasing recycled software, most for the IBM DOS days of computing. Most of the pages talk about donating computers, and their software as a whole. Unfortunately in my case that will not work, as someone took our Quadra 700 years ago.
Posted by Dan at 11:31 AM | Comments (0)
May 17, 2004
Spam Virus
Via Slashdot comes an interesting article in the Register. It seems we can now pretty much blame Microsoft for spam, which is odd considering their publicly stated anti-spam stance. I wonder how difficult it would be for broadband ISPs to enable a local traffic monitoring device in their bridge. Not that I promote ISPs being responsible for what end clients do, but I can't imagine that the traffic of 10,000 emails doesn't have some repercussions on their network.
Posted by Dan at 09:06 PM | Comments (0)
May 15, 2004
Spam Stats and Ratios
Sometimes I really enjoy seeing the statistics found about internet usage. One of the quotes I hear regularly is the spam ratio of global email usage (last read at about 40%). While I love my email, I have never been one to receive massive amounts of email on a daily basis. I keep my mailing list membership low, and personal emails go through small waves topping out at most at 40 a day. This morning I awoke to 230 messages of email, 190 of which were spam. My spam ratio is now well above 50%, making email become one of the least useful means of communication for me.
I decided it's time to track this a bit. I enjoy using DCCd as my first line of anti-spam defense. Yes I know SpamAssassin will use it, but I have a fondness to running DCCd locally. Vernon has a nice series of graphs based upon the stats collected from numerous DCCd servers. They don't give much hope for validating email as a viable communication tool. I have begun to start displaying my own stats from DCCd a little while ago. You can find them here. These stats are really for about 6 domains, with only one domain actually reporting (I need to work on that).
Now to figure out if I can get SA to start giving me stats and incorporate those as well.
Posted by Dan at 11:50 AM | Comments (2)
April 26, 2004
More Postgres
Recently found on RootPrompt is a story on devx about PostgreSQL vs MySQL vs Commercial database servers. It's a puff piece about why you should try one of the open source databases instead of jumping right to the commercial servers. As a whole, the article can probably be trimmed to a single page of reading, but apparently devx wants more advertising dollars on it and extends it to 4 pages (HINT: pages 2 and 4 are the only slightly interesting ones).
This began a mind trip that got wondering; why are such articles being written? With the byline for the article you'd believe there was some heavy in-depth comparison to be found within, but you find little of that throughout the article, not even a discussion on connection handlers or data type differences. The more I read about computers, the more I realize that there now exists a very large gap in the world of technical literature. It seems to be a constant that you find either an article extraordinarily technical (i.e. Transparent Orthogonal Checkpointing, my current read) article, or some fluff piece that really provides no substance to extending reader knowledge. You can witness this in most computer books too (PHP ones especially, although I haven't read any of the current crop of books).
Jan even hinted at this disparity in a recent email, and it sounds like he has set forth a plan to put some of it to an end. Has technical writing become so useless that we now must exist with no authors willing to explain deeper technical concepts to non-technical crowds? Has this become the Holy Grail of computing; communication?
Before you state that my opinion is biased as I have experience with subject XYZ, I hope you realize that while I agree, the problem isn't germane to just computer concepts. Quickly scan many of the conference itineraries, books, and articles about Open Source applications and uses. You'll find again the very basics about why Open Source is useful, a topic that I believe should be a mere 5-10 min diversion on a presentation as a whole.
Posted by Dan at 09:04 PM | Comments (0)
April 12, 2004
Tasty treats
One of the more successful commercial commodities to emerge from the Easter time period are these little marshmellow peeps. In recent years, there has been a rash of experimentation conducted on the impact of environmental fluctuations to the common peep. Unfortunately, many of these experiments missed one of the prime areas of research, choosing to limit their study to the consequences of variable climate control to a peep, while ignoring the ramifications of a post-VCC'd peep on the environment. As such, the authors of paper began their study in the long-term effects of a peep and it's surroundings post climate fluctuation.
A long understood consequence of the introduction of microwaves into the peep environment is the rapid temporary augmentation of the formal structure of a peep. The most common side effect has been the non-uniform expansion of a peep during exposure, and the rapid contraction once said microwaves are removed. Often the fallout from such rapid structural alterations is the resultant peep is lesser in size from it's original form and a factor of rigidity is introduced.
Currently there are two major theories set forth to explain the addition of the rigidity property. The first theory hypothesizes that the exterior sugar coating becomes slightly moist during the expansion (after all, expanding is hard work and a peep has gotta sweat). Upon contraction, the sugar begins to crystalize, locking out valuable moisture needed to revitalize the peep. This process essentially dehydrates the peep, forcing it to conserve moisture for future life. The second theory introduces the meme that peeps themselves do not enjoy undergoing the rapid property changes. Seeing as a peep has no mouth to vocalize discontent nor limbs with which to escape with, it is forced to a utilize a mean of silent rebellion. It seems a peep is able to hold a grudge for a long time, as the rigid property has not been lost over a 5 month period of time.
Though the peep may in fact not enjoy the contraction period, while the peep is at it's largest expansion point it does in fact become a viable threat to the environment. In the few seconds before complete contraction can be achieved, it is possible to exploit a peeps' about to be induced rigidity factor by using the peep has a high powered super-glue. The quick transference of a peep from the point of microwave radiation to an alternate destination, such as a the crack between a closed door and a door frame, will result in the peep binding the two as the rigid form takes hold.
As such, we successfully conclude that super heated peeps work as an excellent adhesive yet to be exploited by the commercial industry.
Posted by Dan at 03:53 PM | Comments (0)
April 09, 2004
Mail.app and SSL
While for the most part I've been relatively happy with using Apple's Mail.app and most of it's operating system, I've come to find one thing that is relatively inconsistent in Mail.app. Using an 802.11 connection, Mail.app seems to have issues connecting to an SSL wrapped IMAP server. To the point where it begins to ignore the request to use SSL and just attempts a non-encrypted connection. Oddly enough, if one were to use an ethernet cable instead, the connection is established correctly and mail is transfered just fine.
Point of interest is this behavior doesn't establish itself on all wireless connections. I can, for example, establish an SSL IMAP connection just fine from the various internet cafes down the block, but I cannot from my home Airport Extreme device. I cannot use a friends wireless router either.
Posted by Dan at 10:46 AM | Comments (1)
February 29, 2004
Oops my fault
Brian pointed out that I was working with a really old version of diskdev_cmds, and that the latest version was something like 277 not 208 like I had used. Oops. A bunch of effort put forth for no reason whatsoever, goes to show I need to learn CVS a lot better apparently. Thankfully he's now made the system rather self-contained so that all of you may now build and abuse your system such as we do.
We spent a good couple of hours tracking down a mysterious compile error that turned out to be a result of GCC's -traditional-cpp flag changing between versions 3.1 and 3.3. The two line warning in the GCC man page didn't really do justice to the amount of headaches this change caused. Future changes such as this should REALLY stop the compiler with a big:
"HEY NUMBNUTS, WE CHANGED OPTION XYZ TO WORK DIFFERENTLY. USE THIS WITH CAUTION. Use a -understood to skip this message"
Or something similiar. Also corrected a few other issues, like library search paths being from Brian's setup rather than a relative setup. The whole ordeal made me realize just how not at home I feel using XCode. I miss my VIM interface and simple makefile junk. All these windows and split screens really confuse me. As does the fact that XCode's Find function will default to whatever your last Safari Google search was... ugh.
Rock on Chicago!
Posted by Dan at 10:03 PM | Comments (1)
February 28, 2004
ext2fs for OSX
After realizing I didn't have the proper build environment on my machine to compile ext2fs for OSX, I shot an email off to Brian about it. He was quick to respond and set me sort of straight... well, as straight as one could be set given the following circumstances.
It seems that the disklib library (found in the diskdev_cmds project) needed for mounting and unmounting of things is a bit out of whack, or I've forgotten how source control works again. Anyways, to get version 208 of the code to work, let alone compile, the patch in the extended portion of this entry will be needed. Mind you I called the original files blah.orig where blah is to be replaced by the properly named file. Really it seems that disk.h was moved, and someone forgot to update the project. I make no promises that my hack is usable or stable for anyone or anything, user be wary.
ext2fs though does not seem to like compiling, and I'm not sure what the best answer is. Upon opening the project in Xcode, any build fails because of missing header files. Those missing header files are dynamically generated though by the e2fsprogsbuild.sh script, which currently seems to die at the end. Looks like a bunch of time will need to be spent getting this to compile status on Panther yet.
--- dkdisklabel.orig Sat Feb 28 17:15:27 2004
+++ dkdisklabel.c Sat Feb 28 17:19:15 2004
@@ -14,6 +14,7 @@
#include
#include
#include
+#include
#include
#include
@@ -23,13 +24,13 @@
#define NLABELS 4
///m:temp:added:stop::workaround:awaiting-disk_label-deprecation-from-"disk.h"
#ifndef linux
-#include
+#include
#else
#include
#ifdef __powerpc__
#define __ppc__
#endif
-#define DKIOCNUMBLKS BLKGETSIZE
+#define DKIOCGETBLOCKCOUNT BLKGETSIZE
#endif
#include
@@ -90,7 +91,7 @@
int numblks;
/* obtain the size of the media (in blocks) */
- if ( (error = ioctl(fd, DKIOCNUMBLKS, &numblks)) < 0 )
+ if ( (error = ioctl(fd, DKIOCGETBLOCKCOUNT, &numblks)) < 0 )
return(error);
#ifdef linux
@@ -98,7 +99,7 @@
blksize = DEV_BSIZE;
#else
/* obtain the block size of the media */
- if ( (error = ioctl(fd, DKIOCBLKSIZE, &blksize)) < 0 )
+ if ( (error = ioctl(fd, DKIOCGETBLOCKSIZE, &blksize)) < 0 )
return(error);
#endif
--- dksecsize.orig Sat Feb 28 17:22:18 2004
+++ dksecsize.c Sat Feb 28 17:14:19 2004
@@ -38,7 +38,8 @@
#include
#include
-#include
+#include
+#include
#include
#include
#include
@@ -63,7 +64,7 @@
else
return (0);
- if (ioctl(fd, DKIOCTBLKSIZE, &devblklen) < 0) {
+ if (ioctl(fd, DKIOCGETBLOCKSIZE, &devblklen) < 0) {
(void)close(fd);
return (0);
}
--- ufslabel.orig Sat Feb 28 17:19:27 2004
+++ ufslabel.c Sat Feb 28 17:20:00 2004
@@ -17,7 +17,7 @@
#include
#include
#ifndef linux
-#include
+#include
#endif
#include
#include
@@ -184,8 +184,8 @@
*label_p = NULL;
#ifndef linux
- if (ioctl(fd, DKIOCBLKSIZE, &blocksize) < 0) {
- fprintf(stderr, "DKIOCBLKSIZE failed, %s\n", strerror(errno));
+ if (ioctl(fd, DKIOCGETBLOCKSIZE, &blocksize) < 0) {
+ fprintf(stderr, "DKIOCGETBLOCKSIZE failed, %s\n", strerror(errno));
return (NULL);
}
#else
Posted by Dan at 08:16 PM | Comments (0) | TrackBack
February 26, 2004
Off-shore Outsourcing
I've been a follower of Declan McCullagh's PolitechBot for a few years now. While I don't always agree with or care to read much of what comes over the mailing list, the occasional gem that arrives is usually enough to make up for the past couple weeks of non-interesting articles. Recently an article was sent across with select quotes from Alan Greenspan with regards to the current trend of off shore outsourcing. After I read the article, I was actually surprised to find some well written and thought out responses to the original Greenspan article. Mind you I said some of these, not all the articles are well written non-emotional responses. All worth the time to read if you're at all interested in the attitudes of the US administration and what seem to be the general opinions of a technologically skilled public.
Personally, I'm still waiting to for the C-level positions to be out-sourced. The reality is that while a CEO might believe (s)he's invaluable to the company, the truth is (s)he is not. Oh, and I'm sure their job can be done cheaper not just overseas but also within country.
Posted by Dan at 11:14 AM | Comments (0)
February 06, 2004
Blog roll additions
Looks like yet another member has joined the blogging community. Brian Bergstrand has started up a blog. For those of you unfamiliar with the name, he is the primary author of the OSX ext2 KEXT, and a large amount of other OS X utilities (commercial not free). I'm subscribed...
Posted by Dan at 11:02 AM | Comments (0)
February 02, 2004
Your Own Company?
Via Marko, Microsoft has a rather interesting web page setup for those of you considering starting your own company. Fun read.
Posted by Dan at 02:28 PM | Comments (0)
January 28, 2004
Worms
Brian Martin gets it. I said it before and I'll say it again, I hate this stuff.
Posted by Dan at 07:51 AM | Comments (0) | TrackBack
January 15, 2004
Confused Apple?
While I'm not typically one to fall initially for the hype of a new product (I did once and it cost me too much), I found it interesting to notice that Apple has introduced the new Mini iPod at a cost of $250 (plus shipping and handling). Cool features about it: small size, multiple color attachments. Thats pretty much it.
On the flip side, looking at the Macintouch website, one can discover a link to Amazon that looks remarkably like this (Macintouch Amazon referral). It's a link to a 10GB iPod running at a cost of $236 + change.
At approximately twice the storage capacity of the Mini iPod and slightly larger, it's still cheaper with the same interface and options. So why would I choose a Mini version?
Bad Apple innovation! No cookies for you!
Posted by Dan at 01:48 PM | Comments (0)
January 03, 2004
Travels with Pat
Recently I took a trip down to see the National Air and Space Museum's new opening of the Steven F Udvar-Hazy center with Pat. A massive aircraft hanger located off the Dulles airport area that houses many of the aircraft NASM has had in restoration. Upon walking into the building one of the first sights seen looks remarkably like the picture here.
I think there will be a lot of pictures that look similar to this from many others. This was a first time I've traveled with Pat and he's not brought his camera, so you'll be subjected to images created by me.
Things of note throughout the gallery are that it is still very much under construction. Laying about the floor were unused pipes, boards, wiring conduits, and containers of paint/sealant that should really be put away. I had some issues with the layout in the sense that one isn't able to easily travel from one floating walk way to another without having to traverse the entire hanger. The cement floors wouldn't be nearly so bad if there had been some areas to sit introduce along the way to exhibits. After having spoken with one of the volunteers, she made it quite apparent that the floor was not fun to stand on all day.
The exhibits themselves were amazing. The SR71, an Air France Concorde, the space shuttle Enterprise, the Enola Gay, a couple of P51s, the collection of modern jet aircraft, hangers, gliders, and some of the original airline inspirations were just impressive. It helps to convey a sense of how large this hanger, especially when you realize these are all under the same roof. There's even room to expand.
Unfortunately, due to time, I didn't get an opportunity to explore the control tower. Parking cost $6 which seems like an entrance fee, but really wasn't that bad. The fact that you have aircraft coming into Dulles overhead the whole time certainly makes it feel more alive and busy too. It's worth going to check out if you're in the area, just bring soft shoes.
[EDIT: corrected the HTML link to NASM]
Posted by Dan at 08:23 AM | Comments (0)
December 15, 2003
Ext3 update
Brian tells me that he's been a busy person on the ext2fs kext for OS X. One of the nifty things he's gotten working it seems is EXT3 indexing, which while not fully useful yet for using an EXT3 fs, is certainly a step in the right direction. I guess it's time for me to get off my butt and start contributing again.
Posted by Dan at 06:10 PM | Comments (0)
November 24, 2003
Mail.app and ssh tunnels
I believe originally I had mentioned this bug, but in any case a quick recap of it. Under Panther using Mail.app over an ssh tunnel to send outgoing email no longer works. Not sure why it really matters to the mail client, but it seems very obvious that Mail.app won't even send the HELO command to the tunneled sendmail server. This, is a problem for me.
For those of you interested in the status of this bug, Apple has "forwarded this information on to the appropriate engineering team" as bug 3111206. Enjoy.
Posted by Dan at 11:38 AM | Comments (0)
November 13, 2003
Panther ODBC
One bit of good did come out of the whole fiasco I've been fumbling through today with the loss of data. I was finally able to get a working ODBC connection to PostgreSQL again.
Steps taken went like so:
1) Download the latest pgODBC system, build and compile it. I compiled these into a temporary directory that I could blow away easily if I screwed things up. But it seems safe enough to just put this directly into your PostgreSQL share directory, as they contain nothing that dangerous. Oddly enough using the drivers found with the PostgreSQL 7.3.2 install on Apple's OS X software page does not seem to work at all.
2) Add the driver via ODBC Administrator. Find the shared library or static library you just built and add it as a driver to the system in the Driver file area. Give it a description of whatever you want. As for the Setup file I pointed that to the psqlodbc.la file (when used with shared libraries) and this seemed to be the magic trick here.
3) Configure your UserDSN. I followed most of the same as my earlier post, but in this case I cut down a lot of the useless data from before. You'll find a copy of it in the Extended Body for reference if you're curious. Remember to correct (by hand) the generated odbc.ini file before moving to the next step.
4) Test connection with odbctest. After a few email conversations with people, I realize I may have misled some in the notation. The proper notation (as I understand it) is to state something like DSN=pgtest where pgtest is the name of the DSN you wish to connect to. If everything goes successfully, you'll find yourself at a SQL prompt awaiting your every command.
Enjoy.
--------- begin odbc.ini ----------
[pgtest]
Driver = /Users/dank/lib/psqlodbc.so
Description = the new PGSQL ODBC driver
Database = dank
Servername = localhost
ReadOnly = 0
Username = dank
Port = 5432
------- end odbc.ini -------
Posted by Dan at 09:07 PM | Comments (0)
November 06, 2003
Panther Mail bug
Under the old Jaguar system I had originally started sending email using my local copy of sendmail. This worked fine until the anti-spam sites started including DHCP'd address blocks in their list of bulk-mail. The solution was to create an ssh tunnel from my laptop to that of my static IP based mail server.
/usr/bin/ssh -L2525:dirty.deadmime.org:25 dirty.deadmime.org -N &
That line had worked fine, by setting up a localhost port 2525 that mapped to my static mail server just fine for a long time. I would have preferred if I could get Mail.app to actually initiate the connection, but as it stood I had no problem running a script to start and stop any such process. And this worked.
Under Panther, the Mail.app no longer seems to support this. To prove this initiate an SSH port forwarding session such as the one above (to your own mail server please) and set up your Mail.app use localhost and the selected port for sending email. Watch your static mailserver logs and you can see a message stating why this connection is being rejected (Ethereal will show it as well):
Mail.app is NEVER sending a HELO command.
When you send it will look like the application didn't even try to send the message. If you setup the local postfix, Mail.app works just fine. It can even connect to other mail servers I have access to without a problem. It seems to be just going through an SSH port forwarded session.
Posted by Dan at 10:20 AM | Comments (0)
Panther ODBC Administrator
When I upgraded to Panther, I forgot to backup some things. I understand that this was my fault, and not one of anyone else. One of the big things I forgot to backup were my odbc.ini files, used for debugging many PHP based applications. This should be fine, as they aren't terribly difficult to recreate. I proceeded to download PostgreSQL and it's ODBC attachments.
First the good news:
Apple has finally updated the ODBC Administrator interface to being something more on a useful scale. They still don't have any explanation whatsoever of how to use it or what these mysterious "values" to be added are, but at least it looks something like the Microsoft ODBC Administrator now.
Now the bad news:
How does this work? I configured a new DSN via the ODBC Administrator, but unfortunately there is no way to test the DSN within the application. This requires running the odbctest application from the command line. Fair enough. Running the odbctest application shows that NONE of your DSNs have been entered into the user-space odbc.ini file. Huh? Opening ODBCAdmin will show the DSNs still listed, so it's not that they aren't created. Opening the odbc.ini in vim one discovers that for some reason the odbctest application cannot find the DSNs because the [ODBC Data Sources] line is not the first in the odbc.ini file.
Moving that section to the top finally enables one to test, only to have a connection results in the statement:
[iODBC][Driver Manager]Dialog failed, SQLSTATE=IM008
Great. Turning on logging proved to be completely useless as well. Why? Well it seems the log file never gets written to. Why? I haven't figured it out yet, but changing paths hasn't helped either.
In an effort to debug this further, I downloaded the OpenLink Software driver manager and administrator. This quickly picked up the DSNs found in my odbc.ini file, and provided me with an in menu means of testing, almost. Unfortunately the OpenLink ODBC Administrator cannot seem to edit any entries, giving me an error stating:
An error occurred when trying to configure the DSN: Could not load the driver or translator setup library.
The catch is, OpenLink ODBC Admin can complete the test, AND write to a SQL log file! This would lead one to believe that it works, but unfortunately that is not the case.
Building PHP results in an application which still cannot find any valid DSN connections mechanisms. I'm now at a loss. I have exhausted my knowledge, and cannot seem to figure out why this won't work. Anyone with suggestions are welcome to comment. You'll find the ODBC.ini attached in the extended along with some SQL.Log comments
[EDIT: grammatical corrections]
---- begin odbc.ini -----
Driver = /Users/dank/lib/psqlodbc.so
Description = Sample PostgreSQL DSN
DSN = pgsample
Servername = localhost
Username = dank
Database = dank
ReadOnly = No
Servertype = postgres
Port = 5432
FetchBufferSize = 99
ServerOptions =
ConnectOptions =
Options =
ReadOnly = no
Trace = 1
TraceFile = /Users/dank/odbc.trace
Debug = 1
DebugFile = /Users/dank/odbc.debug
CommLog = 1
----- end odbc.ini entry ---
--- odbc.trace -----
OpenLink ODBC A A000A1EC EXIT SQLDriverConnectW with return code 0 (SQL_SUCCESS)
SQLHDBC 0x3742d0
SQLPOINTER 0x336650
SQLWCHAR * 0xbfff58a0
SQLSMALLINT -3 (SQL_NTS)
SQLWCHAR * 0xbfff98a0
| DSN=pgsample;DATABASE=dank;SERVER=localh |
| ost;PORT=5432;UID=dank;PWD=;ReadOnly=No; |
| Protocol=6.4;FakeOidIndex=0;ShowOidColum |
| n=0;RowVersioning=0;ShowSystemTables=0;C |
| onnSettings=;Fetch=100;Socket=4096;Unkno |
| wnSizes=0;MaxVarcharSize=254;MaxLongVarc |
| harSize=8190;Debug=1;CommLog=1;Optimizer |
| =1;Ksqo=1;UseDeclareFetch=0;TextAsLongVa |
| rchar=1;UnknownsAsLongVarchar=0;BoolsAsC |
| har=1;Parse=0;CancelAsFreeStmt=0;ExtraSy |
| sTablePrefixes=dd_;;LFConversion=0;Updat |
| ableCursors=1;DisallowPremature=0;TrueIs |
| Minus1=0;BI=0;ByteaAsLongVarBinary=0;Use |
| ServerSidePrepare=0 |
SQLSMALLINT 4096
SQLSMALLINT * 0xbfffd8b8 (539)
SQLUSMALLINT 2 (SQL_DRIVER_PROMPT)
OpenLink ODBC A A000A1EC ENTER SQLDisconnect
SQLHDBC 0x3742d0
OpenLink ODBC A A000A1EC EXIT SQLDisconnect with return code 0 (SQL_SUCCESS)
SQLHDBC 0x3742d0
OpenLink ODBC A A000A1EC ENTER SQLFreeHandle
SQLSMALLINT 2 (SQL_HANDLE_DBC)
SQLHDBC 0x3742d0
------ end odbc.trace ------
Posted by Dan at 07:19 AM | Comments (5)
November 02, 2003
Panther
Well, I spent my Sunday and did it, upgrading from Jaguar to Panther. Probably not the brightest move I've ever made, but one I'm sure to repeat many times over. Initial impressions are very good. The new finder is noticably faster on my now aging PowerBook. The return to some of the older style Mac windows is nice, but I really just don't dig the brushed metal look all that much. Still can't stand the column view but at least many of the bugs have been fixed with it.
Now my gripes. The install went horribly, and as such I've lost a bit of