Red Might

marvel at my random attempts to sound insightfull as I build a del.icio.us client

Tuesday, September 25, 2007

Groups, Archives and Commits oh my!

Yeay got a Groups Account Setup for RedFlag @ http://groups.google.com/group/redflag-project. This is to serve primarily as a mailing list and discussion place for ongoing development and some user feedback. It also gets subversion commit messages serving as a public archive of ongoing development commits and allows for a discussion of the commits themselves so people can catch mistakes before they become big issues.

Leopard

At some point in October (probably mid-october) development will shift to Xcode 3.0 and Mac OS X 10.5 Leopard and will temporarily go offline to make sure everything runs ok on Leopard. Once Leopard is released public commits will resume and a brand spanking new build will be released taking advantage of Leopard features :)

Test Tool

I'll probably be making some changes to the RFDelicious test tool and may put it into the Subversion repository so other people can download it easily. I'll need some debug messages back for those it's not working properly for... im looking at you Mark ;)

Mark of Subversion

Now the Subversion # is automatically included in the About Box info where it says Build ##M (means Modified, the M won't be there on final releases, it'll just have a simple #) so least the Subversion Revision # is included which should make bug reports/issues easier to track down :)

Sunday, August 12, 2007

Whew Back!

Ok well it's been a long while since I've written here. I'll try and get to doing this more often. Heres what's going on
  • The damn -1012 Error code bug has been solved (unfortunately still not solved for my canadian tester )
  • many source code commits have happened
  • I am finally done with this term and have a few weeks before school starts up again so I have some time to get many things done
  • I am about to push out to the RedFlag Project Wiki several documents outlining goals, project definition, etc so that an archived entry in this blog doesn't serve as the only source for this info
  • whoever bmtennant is thanks for the bugs you've filled, I should get around to fixing a lot of other things here soon and getting around to fixing a lot of the obvious bugs
  • more info to come soon...

Friday, May 11, 2007

4-Day Hackathon

This upcoming weekend I've got 4 days off work to work on various things. Now that i've got RedFlag in subversion heres my goals for this weekend
  1. Finish merging all code and patch (by that I mean finish implementing) all required delegate methods
  2. Implement Login Panel & code to start the login process
  3. XML Parser 100% working (about 70-80% right now)
  4. Receive & Display the Raw XML String
  5. Start process of receiving objects into NSManagedObjectContext
  6. Do CFXMLParser vs NSXMLParser quick test ( i've heard people complain about BOTH of them in various little ways so it's time to see how each of them faire parsing my bookmarks... all 253 of them at this point)

I say start the process (#5) because (1) Figuring out how to get all objects related to each other perfectly within a NSManagedObjectContext may take a little bit of time and (2) this is something that may take some tuning.

Still as long as im not to heavily distracted this should be a pheasable list to plow through.

Wednesday, May 9, 2007

RedFlag is now in Subversion

As a way to kick myself in the @$$ I decided to import RedFlag into Google Code's Subversion repository today. It's already at revision 6 because I had to clean it up and some oddities. Basically heres what happened.
  • I randomly decided that im not getting as much done as I should, therefore so others can kick me in the @$$ when Im slacking I'll import the code into subversion
  • I import the code into subversion
  • I realize that I made the stupid mistake of importing (1) a file I shouldn't have and (2) imported the build directory ( D'oh! )
  • I try several times to get rid of this through xcode and gui tools
  • In the end I get rid of the files and cleanup the directory with the terminal :)
so now I have a subversion repository, though it's not that usefull at the moment. Most of the working code is in testtools so i've got to merge that code into subversion over the next week or so. Also some important notes about the state of the code
  • It doesn't do anything spectacular - the logic code to contact delicious isn't there (it's in my RFDelicious test tool
  • It's currently configured to use SQLite as it's Core Data Store Type - this may be switched over at some point to XML for development and then back to SQLite (permanently hopefully) for release
  • Yes Del.icio.us API documentation is included!


When will development really go fast? When I find out wtf is causing this damn -1012 error!

Im not working much this week so I should get much more work now. I've prepared a question to the cocoa dev mailing list here which im planning on mailing tomorrow (I never send something like this to a list the day I write it because I find I make mistakes or don't explain something clearly and giving me a day does wonders for finding errors.)

Today (beside from the subversion) all I did was try and figure out where this -1012 is coming from and read more apple documentation.

Also I got my Student Membership Kit + T-shirt in a (relatively) large box :) even though im just renewing it..oh well

Tomorrow (err technically today) I've got work in the evening which is great because I can't do WoW from there which will help maintain my focus even more.

If you want to checkout the subversion repository open up a terminal and type this

svn checkout http://redflag.googlecode.com/svn/trunk/ redflag

or go here to browse the repository via the web http://redflag.googlecode.com/svn/

and of course you can find more info on the Red Flag Google Code Project Page.

Monday, May 7, 2007

The Plan

Well my hope of getting a bunch done with Google Code Project Page last week was dashed as preping for my camping trip took longer than I thought. Well my camping trip with friends ended early and i've cleaned up my room and continued working on Red Flag now.

Right now I am working on getting the remaining basic methods implemented in RFDeliciousClient and RFDeliciousParser classes. At first all I'll have RedFlag do is output a bunch of messages into a NSTextView. These messages will just be your bookmarks and some debugging messages, then I'll merge in the visual and UI code i've been working on.

Eventually once Mac OS X 10.5 Leopard comes out I'll create a 10.4 and 10.5 branch at least for a little while, though I'd say right now im leaning on making RedFlag a 10.5 Leopard only application.

If things go well I should be able to make a good amount progress with the time I have. I guess sometimes even I have gone overboard with my little experiments. One small test Im going to write here is to see NSXMLParser vs CFXMLParser in terms of speed. I've been getting decently comfortable with CoreFoundation as of late as evidenced by my personal blog if you read it. If CoreFoundation is significantly faster it may be worth it (even if it's some more code) to see if it's worth integrating into RedFlag. As i've dugg more and more into CoreFoundation im trying to see how it integrates into Cocoa and the Foundation Framework, sometimes it's hard to get straight answers to see if say NSXMLParser is just a straight Objective-C wrapper for CFXMLParser where some people imply that they aren't, whereas in other parts it's a straight yes (ie CFString -> NSString .)

Monday, April 23, 2007

Organizing Wiki in VoodooPad

Rather than trying and experimenting with the structure of a wiki on Google Code Im experimenting right now with VoodooPad which seems like a great tool for this sort of thing. Im still getting used to it as i've only just now really seriously, but so far it's looking really good.

Assuming I get my remaining assignments and quizzes done (that I am allowed to do this week) I should start putting wiki pages up on thursday or friday. Im also going to try to do a Subversion import this week assuming Del.icio.us cooperates and everything goes well.

As tonight I couldn't get my Delicious tool working in part to errors like this

[Session started at 2007-04-23 23:37:06 -0500.]
Starting to contact Del.icio.us...
2007-04-23 23:37:07.386 RFDelicious[3143] ERROR: NSError "Error NSURLErrorDomain -1012" Domain=NSURLErrorDomain Code=-1012 UserInfo={
NSErrorFailingURLKey = https://api.del.icio.us/v1/posts/recent?&count=10;
NSErrorFailingURLStringKey = "https://api.del.icio.us/v1/posts/recent?&count=10";
}
2007-04-23 23:37:07.386 RFDelicious[3143] DelString:
Data is: <>
Complete
RF Done

RFDelicious has exited with status 0.


if you look error code -1012 up you'll find...

...
NSURLErrorRedirectToNonExistentLocation = -1010,
NSURLErrorBadServerResponse = -1011,
NSURLErrorUserCancelledAuthentication = -1012,
NSURLErrorUserAuthenticationRequired = -1013,
NSURLErrorZeroByteResource = -1014,
...


Which is odd because im obviously not cancelling authentication. Im running the same unmodified code as before. What does the documentation say?

NSURLErrorUserCancelledAuthentication

Returned when an asynchronous request for authentication is cancelled by the user.

This is typically incurred by clicking a “Cancel” button in a username/password dialog, rather than the user making an attempt to authenticate.

Available in Mac OS X v10.3 and later.


Pretty much what I thought, but still makes no sense. So what will Red Flag do to deal with not being able to login to Del.icio.us even when you have an active internet connection?

I think that even though it'll be harder work, that RedFlag should (upon first login) download everything and store the data in a NSPersistentStore in Core Data and after everytime it sees an update only update the appropriate objects, possibly clearing out the whole store and possibly reimporting all your data as necessary (which I hope should never be necessary, but possibly be available as an option.)

I'll see what this week brings...

Wednesday, April 18, 2007

Del.icio.us Victory!

Sweet Victory!

[Session started at 2007-04-18 15:39:21 -0500.]
Starting to contact Del.icio.us...
2007-04-18 15:39:22.358 RFDelicious[4171] DelString: < ?xml version='1.0' standalone='yes'? >
< posts tag="" user="colinw" >
< post href="http://lifehacker.com/software/quicksilver/hack-attack-the-quicksilver-video-extravaganza-250949.php" description="Hack Attack: The Quicksilver video extravaganza - Lifehacker" hash="5724c31050be83194cfeaa77e85f4ce8" tag="quicksilver mac tutorials lifehacker video" time="2007-04-17T19:12:35Z" />
< post href="http://integral.grahamenglish.net/graham-english/iquicktwitter-my-quicksilver-twitter-ichat-growl-hack/" description="iQuickTwitter - My Quicksilver + Twitter + iChat + Growl Hack » Graham English's Integral Conversations" hash="c57adfe77012a1d6cc4eef146a84745e" tag="twitter QuickSilver" time="2007-04-12T03:32:12Z" />
< post href="http://creativebits.org/keyboard_shortcuts_in_os_x" description="Keyboard shortcuts in OS X | creativebits" hash="aa13ffe302541ee559922d740dc6eccd" tag="mac shortcuts keyboard" time="2007-04-10T05:33:58Z" />

< post href="http://www.shipbrook.com/onnotice/" description="Youre On Notice! - The Stephen Colbert "On Notice Board" Generator" hash="912239fef4aca3ce28f4a60542a0fc02" tag="humor colbert generator funny StephenColbert" time="2007-04-04T22:06:15Z" />
< post href="http://allyourbase.planettribes.gamespy.com/video3_view.shtml" description="All your base are belong to us - Official Video Site - Planet Tribes" hash="242b23af898d085275adf24915ef703e" tag="funny video allyourbase" time="2007-04-03T19:22:13Z" />
< post href="..." description="50 Things She Wishes You Knew - Men's Health" hash="20cd2839ea88948fb3b39c80703bfa0f" tag="women relationships lists love" time="2007-04-02T18:19:50Z" />

< post href="http://www.vnunet.com/vnunet/news/2186013/dearth-mac-malware-continues" description="Lack of Mac malware baffles experts - vnunet.com" hash="cbbaf4e19924a6a26f1b555d899af7eb" tag="Mac Apple Virus Malware osx security spyware" time="2007-03-29T02:41:12Z" />
< post href="http://health.msn.com/dietfitness/articlepage.aspx?cp-documentid=100150894" description="The Best Exercise You're Not Doing - MSN Health & Fitness - Diet & Fitness" hash="b5b936845809776e57868f935a10f7f8" tag="exercise fitness health workout leg squats howto" time="2007-03-28T14:51:16Z" />
< /posts>
Data is: <3c3f786d 6c207665 7273696f 6e3d2731 2e302720 7374616e 64616c6f 6e653d27 79657327 3f3e0a3c 706f7374 73207461 673d2222 20757365 723d2263 6f6c696e 77223e0a 20203c70 6f737420 68726566 3d226874 74703a2f 2f6c6966 65686163 6b65722e 636f6d2f 736f6674 77617265 2f717569 636b7369 6c766572 2f686163 6b2d6174 7461636b 2d746865 2d717569 636b7369 6c766572 2d766964 656f2d65 78747261 76616761 6e7a612d 32353039 34392e70 68702220 64657363 72697074 696f6e3d 22486163 6b204174 7461636b 3a205468 65205175 69636b73 696c7665 72207669 64656f20 65787472 61766167 616e7a61 202d204c 69666568 61636b65 72222068 6173683d 22353732 34633331 30353062 65383331 39346366 65616137 37653835 66346365 38222074 61673d22 71756963 6b73696c 76657220 6d616320 7475746f 7269616c 73206c69 66656861 636b6572 20766964 656f2220 74696d65 3d223230 30372d30 342d3137 5431393a 31323a33 355a2220 2f3e0a20 203c706f 73742068 7265663d
... lots cut out from the middle...
652e6173 70783f63 702d646f 63756d65 6e746964 3d313030 31353038 39342220 64657363 72697074 696f6e3d 22546865 20426573 74204578 65726369 73652059 6f752772 65204e6f 7420446f 696e6720 2d204d53 4e204865 616c7468 2026616d 703b2046 69746e65 7373202d 20446965 74202661 6d703b20 4669746e 65737322 20686173 683d2262 35623933 36383435 38303937 37366535 37383638 66393335 61313066 37663822 20746167 3d226578 65726369 73652066 69746e65 73732068 65616c74 6820776f 726b6f75 74206c65 67207371 75617473 20686f77 746f2220 74696d65 3d223230 30372d30 332d3238 5431343a 35313a31 365a2220 2f3e0a3c 2f706f73 74733e0a >

RFDelicious has exited with status -1.


The app still crashes, but this is the standalone tool not using my recently developed framework which im now tweaking to work with Core Data :)