philkmills: Phil and guitar (Default)
[personal profile] catsittingstill wrote a post that mentioned gender in filk songs. I replied with a comment based on my impression of what songs I've written and then decided that I'd like to see whether the facts matched my feelings. I'll ramble on about it here. :-)

A survey of the songs in my filk book that I've written and are first-person from the point of view of a 'character' gives:
Gender-neutral: 41
Male: 35
    Male from books or TV: 24
        Male from Tolkien: 11
Female: 3
    Female from books: 1
I'm not sure what all to take from that:
- If I write from a character's pov there's a 52% chance gender will not be explicit.
- If it's a character I created, the odds of it being gender-neutral go to 76%.
- If I create a pov character where gender is specified, there's an 85% chance of male
- If I select a pre-made one that rises to 94%.

- Many of the songs listed under 'male' and taken from books and shows would be gender-neutral if nobody knew the source material.
- Most of the male/female ones could be switched by changing a given name.
- ...which leaves approximately a half-dozen songs where gender and relationships are important to the point of the story.
philkmills: Phil and guitar (Default)
The main part of today's programming adventure was testing various ways of creating a custom 'skin' for an iOS application. This is connected to my previous post about things that the development kit doesn't want to let a developer do...but it's also something that's done repeatedly. The trick is not so much in finding a way as in finding a way that is less likely to break than others.

The nice thing about my current choice is that, if it breaks because of changes in a future iOS release, the failure will almost certainly show up as a user interface that looks like the non-customized one. Some of the other candidates could have failed in ways that affected functionality.

Since Dreamwidth now has the ability to send a user's reading list to a client in a similar format to LJ's friends list, I've started fixing the 'bug' related to that not being shown for a DW account.
philkmills: Phil and guitar (Default)
I spent the evening at a local Cocoa developers' meeting in downtown Toronto. Since I got there by public transit I had time to spend and put most of it into exercising the application on my iPad while taking notes. This was the first version of it that I built to run on a device instead of a simulator and it behaved reasonably well -- only one crash in about 45 minutes of testing.

It got me nine more functional/appearance bugs as well to add to my project list, however, so that's good. :-)
philkmills: Phil and guitar (Default)
While working on customization of the application's general appearance today I discovered some very annoying behavior in Apple's "Cocoa Touch" software development kit. A couple of commonly-accepted programming guidelines are: 1) in OOP, a subclass extends the behavior of its parent class; it doesn't restrict it, and 2) side-effects are bad; a routine should do what it claims and little else.

In this library, the class UIToolbar is a subclass of UIView, which leads to the expectation that a toolbar should do anything a view can plus whatever extra its designer thought necessary. Nope. For example, a view allows you to set its background color but a toolbar quietly ignores such a request. A Google search reveals a great number of people questioning their own code because of this breaking of a basic assumption.

While experimenting with this, I discovered the second problem: that of unexpected results having nothing to do with the documented purpose of various routines.
- Toolbars exist as a way of letting a user select actions relevant to some other information on a screen. Changing the translucency of one changes the *size* of the related content.
- Toolbars contain optional buttons as trigger points for these actions. Changing the alpha (transparency) of the toolbar changes it for all the embedded buttons.
- Setting a toolbar translucent and then changing its "tintColor" -- or vice versa -- cancels the translucency.

Some operating systems are designed to give access to computer features in a useful way. iOS, on the other hand, was designed to prevent access except in Apple-approved ways. Some days the difference really shows.


Jan. 10th, 2012 11:20 am
philkmills: Phil and guitar (Default)
Doing a complete review of the iPad-specific application screens this morning only added three items to my bug list. Two of those were obvious enough that I did the fixes first and then created the Bugzilla entries.

This is actually difficult for me...remembering that having entries in the list has value in itself. It serves as a reminder of what problems occur and, therefore, may occur again. It also is a guide for estimating amounts of work for future projects.

Also fixed was a potential problem of attempting to save search terms for a post that had none. This brings the current score of bugs to: Open 28, Resolved 3.
philkmills: Phil and guitar (Default)
After going through a few days of organizational wheel-spinning, I now have a configuration where Bugzilla running on Linux is available throughout my LAN. This inspired me to go through the eleven iPhone screens in my application prototype, try out all the controls, and enter a bug report for everything that wasn't how it should be. Current count: 28.

The level of granularity on these is all over the map, ranging from adding another field to a certain display to "Help...yes, there should be some". This, combined with the fact that the iPad side of things mostly consists of placeholders, means that the number of entries is likely to climb significantly in the near future. On the other hand, I'm happy to have an interactive product plan available.
philkmills: Phil and guitar (Default)
Partly because I'm stubborn and partly because I wanted to learn whether the previous day's installation problems were software issues or me(!) issues, I installed Bugzilla on Linux yesterday. Even this was not exactly simple, but that's because my PC's Linux partition was running an OS version that was four years old.

There are a couple of things about this that come as a bit of a nightmare to a -- by choice -- Mac user. One is that updating applications for that old a system is dicey and the second is that updating the OS becomes a case of replacing it rather than upgrading. After internalizing those ideas, I thought it might be interesting to install a Ubuntu version. I downloaded the ISO image, burned a CD, and started an install...which crashed. It asked if I'd like to send a crash report and I agreed to that. It said it couldn't gather enough information and would I please install some more software first. If I could do that, I wouldn't be sending this report, would I? Go away.

I went back to my old friend openSUSE which installed fine after the standard download, burn.... The PostgreSQL database installed fine and Apache and the massive number of Perl modules that Bugzilla needs and Bugzilla itself. With only a small amount of head-scratching, they all got configured to work together and by the end of the session I was starting to remember where they all hid their configuration files.

I'm not sure whether I'll actually use this installation or not but I feel better knowing that the previous day's failures weren't due to brain deterioration. Cross platform software is wonderful in theory but, in practice, use it on the system it was *really* designed for.
philkmills: Phil and guitar (Default)
After a few more dead-end searches and evaluations, I discovered a simple, one-person issue-tracking application that looks like it would do everything I need. It was written by a developer for his own use -- this is a good sign! -- and then polished up to sell as a low-cost commercial product.

It doesn't run on the version of OS X that I'm using. Gah!
philkmills: Phil and guitar (Default)
The past couple of days have been mostly 'readonly' with respect to this project.

Using a new feature of Dreamwidth that allows a client program to obtain a reading list, similar to a LiveJournal friends list, revealed a bug in its implementation. I reported that to DW. It was fixed and I now have code to use it...and verify that their fix worked. (Amazing response time from the host developers!)

Probably as a protection mechanism, my mind temporarily lost track of the fact that I spent a half-day fruitlessly trying to install a bug-tracking system for personal use on my Macintosh. (I'm used to using them on Linux and the core Mac OS isn't *that* different, hard could it be?)

Bugzilla is written in Perl. Perl uses CPAN as an installation module. CPAN is wonderful when it works and impenetrable when it doesn't. It died with an "unknown error" on installing prerequisites. (If *you* don't know, I'm sure *I* don't!)

The Bug Genie -- a PHP application -- almost worked. After a number of upgrades to supporting software, I got it to connect to my database server (PostgreSQL), at which point it hung attempting to create tables. No error message...a form of communication that makes "unknown" seem exceptionally forthcoming.

MantisBT's install page -- also PHP -- came up blank with no clues concerning errors. (I detect a pattern!) Trying a different admin page gave an error, saying that my version of PHP was missing UTF-8 support in its regular expressions module. Nope...not rebuilding the language processor based on the whims of an unproven application!

Still looking for a bug-tracker.
philkmills: Phil and guitar (Default)
  • Completed the logic for moving between views on an iPhone/iPod. Any button or gesture that brings a new set of views onto the screen or dismisses the current one is now functional.

  • Identified views that don't need to exist on an iPad and coded around those in the controllers that are shared between devices. (Although I want this to work on smaller screens, working with them makes me happy that I originally waited until the iPad came out to get involved in iOS programming.)
philkmills: Phil and guitar (Default)
In order to give some context for my proposed development journal, I suppose I should start with a couple of existing items: some description of the project and its present status.

What I want to create is a client application that runs on iOS and provides access to host systems running LiveJournal code or code derived from it. Although clients exist, I don't know of any that focus on working offline with the ability to defer and 'batch' actions related to a journal. This gave rise to my completely unimaginative working title of "Offline-Journal" for the application. Another goal is to create this as (what Apple calls) a Universal application, meaning it will run on iPhone/iPod/iPad devices as a single build and single download.

The state of the application at the moment is that the iPhone/iPod version of the UI is about 80% done and the iPad one is somewhere around 50%. I've written code that acts as a proof of concept for most of the host features I want to access. There are a couple of those that still need to be verified, including RSS access...something I've never tried.

This morning's job was to create a storyboard1 as a way of verifying that the various screens and controls are connected in sensible ways. The result was that I realized I needed two more view controllers: one for previewing posts and another for selecting among draft messages for extra editing or to post. Those now exist in skeleton form. Barring scope creep, I now have the high-level view of the iPhone UI in place -- just add logic.

1A storyboard is Apple-speak for a new way of graphically designing user interfaces that focuses on views and transitions between them as one thing. It has the advantage over similar 3rd-party tools of producing a runnable application shell as its end product.


Dec. 30th, 2011 09:04 am
philkmills: Phil and guitar (Default)
Having created this account primarily for the purpose of software testing, I note that it would become more useful in that regard if it had content. :-)

While thinking about what I could put here, I got the idea that I might use it as...a journal! I think it would be an interesting -- to me! -- experiment to see if I could keep a log or diary of what I'm doing, primarily as it relates to software development. As I imagine the content and structure, I realize that it would be very low on entertainment value. (Possibly better on an 'educational' scale but even there, unlikely to be great.) I won't be cross-posting it.

For anyone who finds this boring beyond belief, feel free to drop me from your reading list! I understand completely. :-)
philkmills: Phil and guitar (Default)
I'm pondering the current LiveJournal attackers, along with the ever-present spammers of mail and newsgroups and blogs, SEO con artists, and various types of anonymous trolls and abusers.

One view of the network that enables all this is that its creators were nice people and amazingly naive, that the worst of humanity's parasitic nature, which would be magnified by commercialization of the net, was beyond their imagining. On the other hand, we (technologists) keep doing it. It's not just 70s technology that's being hijacked to serve one scam or another but today's as well.

I wonder whether we still don't expect low-life to be quite that low or whether the pressure to ship software now (!), either for money or acclaim, stops people from confronting the possibility that they're putting another "weapon" into the wrong hands.

(It all reminds me too much of "Nobel's Safety Powder".)

If the originators of TCP/IP and the various services that use it had designed with perfect foresight, what would the internet look like? Would it even have been usable enough to develop into something popular and worth attacking?
philkmills: Phil and guitar (Default)
Here I am on Dreamwidth. My main purpose here for the moment is to test client/server software development to see whether there are differences between talking to this server's software and that which runs LiveJournal.

I will now spend a bunch of time finding people and configuring my account so that I have "data" to play with.

(I have previously had a "sort of" account here that used OpenID, which was essentially read-only.)

April 2012

2223 2425262728


RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 27th, 2017 06:53 am
Powered by Dreamwidth Studios