I believe I’ll be taking in the next MadDotNet meeting on July 8th. I attended the user group meetings a few times when I first moved back to Madison, but it didn’t really appeal to me at the time. But after talking to a few guys at the Software Development meetup last week I really want to check it out.
The next meeting also covers RESTful services in .NET, which I’m excited to hear about. A-way back when I tried to build a C# desktop app that talked to a RoR RESTful service and all that was really supported was SOAP/everyothermicrosoftonlytechnology. For this meeting, I got myself the speaker’s book to check out beforehand.
A few days ago I started building an app I’ve had in my head for awhile now. I wanted to see if I could throw my current Flex skills and personal situation (wedding planning) at Intuit’s new cloud computing platform. I read up on IPP docs for awhile, downloaded all the tools, and then embarked on creating a test app (just crudding a name, date, and combobox selection) which took me all night and left me a little less enthusiastic. But my heartache is your benefit, as I now have a useful tip.
The interesting thing about IPP is that you make your database first (online at workplace.intuit.com) before generating all your ORM/transport code in Flex Builder. Even more interesting: the workplace schema generation process has no guardrails. You can make fundamental choices (not mistakes, but choices) that will simply not allow your generated code to work.
So here’s the tip: do not name any fields in a table the same as a data type (especially built-in data type) in Flex. My fatal problem in building the test app is that I named the date field ‘date’. When the code was generated I got lots of (initially very confusing) compile errors:
1046: Type was not found or was not a compile-time constant: Date. HelloZachIPP/src/com/whazzing/hellozachipp/dto HelloZach_DTO.as line 57 1246111026280 141
Huh? Date is a built-in type, how is it not found? Ahh, the class now defines a property called Date, which returns a type called Date. Problem solved… eventually. I went back to workplace and changed the field name to MyDate, and resynced the code generator with the new schema. After that my app built, and I was able to continue developing.
Also, Cairngorm for small projects is like stuffing an aircraft carrier into a swiss army knife.
Last week I experimented with import/export APIs to link two competing services, and I must say it was easier than I expected. A couple of like-minded engineers and I started at around 10pm in my hotel room, and by noon we had a pretty good first pass at importing some complex objects, as well as half an implementation to manually sync the two apps.
Separately, I am considering trying my hand at building an app on Intuit’s Partner Platform– I’m interested in integrating the easy ORM that IPP provides with a bunch of services from places like Facebook/Twitter and see what kind of app I can pump out. Should be a good case study for this blog.
Some real quick background: heard about Google Wave through Twitter initially, as a tech guy I follow was out in Mountain View for the Google IO conference where they demo’d it and he was raving in real-time. This morning, however, I watched the full hour-and-twenty-minute demo video and I must say it’s been quite awhile since a tech demo has made me sit forward and really start thinking.
I’m not smart enough to expound on the world-changing aspects of such a system, and I’m not an architect astronaut who envisions medical systems that run on Wave. What the demo did do, however, was immediately spark thoughts of how an integrated system could be integrated into my company’s products and services. An all-in-one upgrade from email, IM, etc. to a single collaborative service is a powerful vision. One that will be difficult to achieve, but a powerful vision nonetheless (read the linked Joel on Software article on architecture astronauts for the downside to all-in-one solutions.)
Of course, I was incredibly stupid and clicked on the Slashdot comment thread about it. I stopped reading Slashdot comments years and years ago when I realized that any subject could be boiled down to:
Commenter A: <new thing> is so stupid! I would never use it because I can do the same thing with bash + LaTeX!
Commenter B: You’re obviously a M$ drone!
Commenter C: <not funny “witty” remark modded up to +5 Funny>
Believe me when I say: nothing has changed.
At any rate, I’m definitely going to be looking into Wave. The APIs are online and they are handing out developer access now. Maybe my day job will give me a leg up in getting early access, but probably not.
The excitement of exploring an interesting new code base is diminished tremendously when you import the code and upon initial compile get one critical compile error and 120 warnings due to bad style. Do I even want to go any further? C’mon man, is it so hard to actually use the language syntax to write your code? Were you in such a hurry that you couldn’t be bothered to define a return type for 100 of your functions?!
Also: in the right hands I’m sure Adobe’s Cairngorm is a great framework for creating Flex/AIR apps, in the wrong hands it turns everything into one goddamned confusing mess. When I see a model class that has properties which store references to various UI elements I start to shake uncontrollably.
I’m having quite a tough time finding a code highlighter/display plugin for Wordpress that plays nice with the theme. Since fancy themes overwrite the styles for <pre> and <div> it comes out looking yucky.
I also found a Ruby gem that will format your ruby code for you, but it’s a hassle-and-a-half and only works on Ruby code (though it does make a real nice output.)
It don’t work. Believe me, I’ve tried to get past coder’s block by wrintg to-do lists, notes, diagrams, and what-not but it never prompts me into a spate of useful activity. The only thing that gets me past a block is to sit down and write code until I’m productive again. If I’m stuck on layout or design code I try to spend time refactoring or improving my environment. If I’m at a loss on how to model some data I try to improve my CSS/design code. Problem is, even though I know this I still try to get past a block by writing in my design book or working on a blog post instead. This may occupy my mind, but it doesn’t move the project forward.
Interestingly enough, I don’t have this problem very much on my work projects, just my personal ones. I think it’s because I have support on my work software projects (QA, XD, etc.) that I can utiltize to move past a block quickly, whereas at home I don’t have someone to cut assets for me. If I get stuck on a design issue, with no one to hand it off to and no one to bounce ideas off of, I go into a death spiral.
Does this happen to anyone else? How do you get past coder’s block?
A long time ago (roundabout 2006) I was looking for a new place to host a rails app I was working on and Joyent seemed to be the best choice at the time. Shared hosting worked out great for me since I didn’t really have uptime or performance requirements for my little app. Gradually I moved other websites over there as well, including my personal blog. Over time, however, I strained at the downsides to shared hosting: unstable boxes (resulting from lengthy restarts when someone else’s account foobar’d the thing), restrictions, and difficulty in doing anything where you at least needed root to setup something. I’m not complaining about the nature of shared hosting (it is what it is), but I felt like it was no longer a good choice for me.
Joyent offered a product called an Accelerator, which I think is similar to a VPS solution. My problem there was primarily the price– the absolute cheapest accelerator is $45 month. It also says $199/year, which is a gigantic discount, but I was unclear on this point and that illustrates the second aspect of why I was looking to switch away from Joyent. All of their hosting solutions and products were wrapped in weird names and I couldn’t easily understand the differences. I also didn’t want to get a PhD in Hosting Packages.
I heard good things about RimuHosting from my friend Ben (check out his online bookkeeping app, Outright) so I decided to go with them. Their cheapest VPS solution is about $20/mo but I went with the $30/mo plan for better Rails hosting, and they were extremely helpful in setting up the VM exactly how I wanted it. I’ve since moved every site I have but one (and am prepping that one as well) and things are going well. I’ve never had any availability issues, and I like the control over the environment.
All this to say that I don’t have anything against Joyent, and they were very helpful (their CEO responded to my tweet!) but I wanted to simplify and Rimu seemed very simple.
Anyone else have opinions about what makes a good or bad hosting company?
Here’s a list of projects that are floating around in my head (in order of importance):
Do something with http://wowtracker.org — it’s been sitting there for awhile. My sin: it got too complex, and then it was hard to update per set release, and then I got lazy. What to do?
Solve my annoyance at not having an app that posts to Twitter and Facebook status simultaneously. I’m seen solutions that come close, but nothing that really does what I want. I’m thinking an AIR app similar to Twitterific (great app if you like Twitter, by the way.)
Jumping back into iPhone development– I authored the first Safari version of what is now Quicken Beam back before the SDK was released, and then switched to other things so I never really dove into the SDK. Now that my company has released an iPhone SDK for our new SAAS platform (Intuit Partner Platform) I’d like to try a few simple apps.
Way, way, at the bottom of my list is to what Silverlight’s all about. I’ve been doing a ton of Flex development lately, but my former life involved a lot of C# code so I’m interested to see a C# RIA framework.
Well, time to get back to my RL job for today. Let’s meet back here once a month for the next million years.
Recent Comments