Posts tagged 'appacademy'
Despite my half-vow last week to try to write more, it doesn't seem to have worked out that way. I only consider myself to have missed a single day (Friday), but that's enough.
Thursday I left off having torn out my user auth and dropped in
devise; I was getting frustrated with it by the late hour I left, whenever that was. I finally got it working today, and even though it's one of those things that's really powerful once it's up and running, there's so much going on with rails and devise metaprogramming that it was hard to pin down where the weird behaviors were coming from.
Long story short: getting ajax sign-in working is highly non-trivial in devise, because it has a lot of expectations for how you'll be using it. There's no easy way to shove the user's account data down the pipe when logging in via ajax, and it's not clear from the documentation what's breaking.
It turns out, though, that you can call
:locationargument, and rails does not respect that unless the
:formatis html. So when trying to debug what appears to be a straightforward statement, using the suggestions written by the devise authors, you're led to fixate on a couple small lines of code that actually have nothing to do with your problem.
This is the double-edged sword of using a framework. Once you figure out enough of the gotchas to get things moving, you get a lot of reliability and power for free, but you're forced to either use things how they intend you to (in the given examples and configuration options) or hack up enough of the framework to bend it to your will.
Oh, well; that's out of the way. I may have to generate a toy project using straight rails and vanilla
deviseauthentication to see how it's supposed to work, because I'm not entirely happy with what I've got now. That seems to be the way of this latest phase of my final project: I've been adding things and discovering the limitations of a lot of the more robust options out there, and it's annoying.
One of the things I added to my portfolio recently is a set of progress bars representing my knowledge of different tools. I was reluctant to do this, because any progress number seems quite arbitrary, but I'm willing to venture that one thing that represents knowledge level is when you begin to get frustrated with a tool.
In fact, I'll put this forward: if we're all being honest, able to use something while using the documentation might be 10% knowledge; 20% would, then, be, able to complete simple tasks without reference to the documentation. 30% might be the point where you start saying "oh, this is neat!". At 40% you feel at ease; 50% would be the point where you have the documentation open, but you don't rely on it. By 60% you forget to even open the documentation, but at 70% you've got it open again because you're trying to do something that the tool just doesn't make easy. At 80% you're saying "oh, for god's sake"… at 90% you're patching the tool.
It's rough, but it's something. With this framework, my resume is a bit of a lie, but it's close to accurate so I suppose I can leave it. And by this measure, I'm at 80% with some things I wrote as 70%, and 40% on some 50%s.
I'm okay with this, in the end.
Today: clearing out the backlog of things that I wanted to do on my homepage.
You know, until AppAcademy, I hadn't seen much purpose for a homepage. I remember the days of the late 90s, when everyone had a homepage with "About Me" sections that (let's be honest) no one really cared about, and then some collection of things that they cared about, like spacecraft of the Federation. (There was one guy who had a homepage dedicated to the Performa 6400, and that I used for years to diagnose issues.)
I may do something similar on my own page in time, but for now it's just a pretty good hub for everything I want people (who might want to hire me) might want to know about me.
In trying to put my best face forward, I've been customizing my hosting. Among the NEAT things I discovered today:
gitrepos, and the
hooksdirectory in a git repo, that allows you to auto-deploy files (for instance)
- I have control over all components of my chosen theme, which means I can debug broken scripts (damn designers!)
- It's easy to override the designer's css, especially when he barely uses classes.
- It's easy to keep my version of given plugins up-to-date in order to use the most recent features.
I know, nothing here that's ground-breaking, but there were a couple times today that I found myself exclaiming, "neat!", if only because I figured out a way to get something closer to exactly what I wanted. … well, within a certain definition of "exactly". There are a lot of things I would do differently if I chose to build my theme from scratch, but given the constraints of using Wordpress and (most of) a pre-baked theme, it's pretty cool.
I may still SASS my page up, since SASS is cool, and choose to redo major components of the design (e.g. the font-family), but all-in-all, it's close to where I want it to be to represent me.
One thing I discovered: I haven't been nearly as consistent at posting here as I thought. The calendar widget at the bottom of the page has a LOT more gaps than I'd have believed at first. I shall try to rectify that. One change is that I intend to post more stuff that may not be public up there (here), including blog posts that don't have anything to do with AppAcademy. All in due time.
After a weekend-long breather, I'm searching for work in earnest as of (let's be honest) 11 this morning. Twelve hours later, I left the office, feeling not significantly better than on arrival.
I did a little work on my final project, but nothing of significance. I honestly thought of implementing authentication using Devise—it seems a lot more robust than my home-rolled solution—but I quickly recognized it for what it was, a way to put off taking the next step. Maybe I'll prioritize that down the line, once my app is more feature-rich and I have applied to a few more places. There are a lot of things I can see I could do better; using jQuery's modals in place of Backbone.Modal, for instance… but really, I just want this app to feel like a complete app. In time.
The job search is… well, it feels like the last couple times I've gone looking for work. There are a lot of companies whose missions are practically opaque, and a couple dead-ends—companies that were bought out or maybe even went out of business since they were added to whatever list I'm looking at. But overall, the feeling I get is that there are a lot of companies that are funded to the level they are simply because it's easier for someone to throw a couple mil at a lot of long shots than to get in early on a few sure things. I do wonder about the status of venture capital: are there really that few interesting problems left, that all there is to fund are yet another X?
And yes, if any future hiring manager bothers to read this blog, I understand that I'm pissing on the hand that might want to feed me, and I'm sure there are all sorts of interesting problems that I could find at any employer, but it at seems kind of … pointless? Everyone's doing the same things, at least on the surface, and their marketing copy doesn't do a good job of differentiating them from the competition. Hell, at least half the sites I've seen are using templates or libraries I've seen elsewhere, and it's just like… do you even believe in yourselves? I'm not sure anyone cares how many redbulls you drink per week at your office, and the fact that all your testimonials come from the same thirty day window, eight months ago, says a lot about how dynamic your business is.
Sure, writing copy about yourself is hard—this is something that I'll have to face, on a personal level, in a couple hours or days—but isn't there something meaningful you can say? Or are you all, like the company that specializes in popups on outbound links, just plain evil? I wonder what their conversion rate is?
The strangest things is that I actually believe in marketing, I just don't see a lot of firms that are targeting what seems to be meaningful, reasonable, or sustainable avenues in that area. It's much easier now, with cloud hosting and quick launch templates and tools, to generate a respectable (looking) online presence, and as such it's not as clear now when a company is two bros and a scam compared to the late 90s. And I'm sure that a lot of it has to do with a (relative) lack of creativity and a (somewhat) saturated marketplace; the next real game-changer will probably come out of left field, where no one else thought to look.
Great, now I'm thinking of how to make a better marketing platform. I have some weird ideas, but nothing of any substance; they're all fleeting, like ghosts. Does it merit thinking about? At this point, with basically thirty days of expenses left, probably not. But the money is not going out of advertising any time soon, and I don't have the knee-jerk revulsion for it, conceptually, that others seem to.
I don't mind finance or marketing or mobile app development, per se, but there's just so much crap.
Back to sifting tomorrow.
I don't deal with stress well. I like when I know what I'm doing and when things are working well, but struggle to overcome impasses.
I don't know if there's a known thing called "coder's block", but I have, in the past, pooh-poohed writer's block. There's always something to write, in my head, and if I have problems I just read other people's work and get ideas there. However, I've never written a proper story, so I don't think I can properly state that I know what writer's block is like.
On the other hand, I've been dealing with coder's block for the better part of a week.
One reason is that I'm really not excited about the CRUD aspects of this project. I thought I'd be able to plow through much more easily than I have, and while I now am happy with the framework I've developed, the knotty puzzles are pretty much behind me (for now?).
So, you can spend time doing other things, but you can't, because the work you really need to be doing isn't going anywhere. All this stuff would need to have happened in time, but I can't say that it needed to happen now.
By contrast, though, I was spinning my wheels last week. I'm not so much anymore—I've gotten more actual useful work done on my project in two hours today than in any eight last week. Why is that, I wonder?
My biggest challenge of the moment is maintaining focus. Maybe if I had a single project to work on, it would be a bit different, but there are a lot of little time-consuming things that need to happen in a lot of areas to be ready for, say, next Friday's employer presentation day. I really need a decent portfolio to send out, or a bigger list of employers to contact, or a number of other things… I'm working constantly, but I'm not sure if I'm working on the best use of my time at any given moment. It's an old problem.
Today I think I'm going to take a break by putting some polish on some of the smaller portfolio-like work. I hope that will be enough to get me motivated to hammer on the rest of what I have to do. It's daunting, though, and I know there's not even any free time on the weekends, not that I would necessarily want it. What would I do with the time? Everything I know anymore is here.
Well, we officially don't have to blog, do progress reports, or (presumably) even show up at 9 am anymore.<
Just try to stop me.
Interesting thing of the day: the new class arrived. Did we look so adorable and naive on our first day? It really does feel like basic in a lot of ways, again notably in the way that a person (or group) can so markedly change in a few short weeks. It feels like forever ago that I was writing nonsense ruby code, like everything is a
forloop! Huzzah!, and now I get mildly angry every time I have to write a
forloop in JS.
Another interesting thing I noticed today: I just don't give a damn about reddit. It's been a while now that I haven't found it so interesting, but today there was absolutely. nothing. I cared about. I guess I've transitioned, and it's now time to start reading HN regularly?
There's so many things I could be doing now that it can be hard to know where to start. I've been doing meta-work: getting my hosting set up (it turns out Dreamhost has a lot of the same restrictions as Heroku, viz. spinning down server instances if they haven't been accessed in a while, so I guess I will have to get a pingdom account regardless), getting some documents together, etc. Planning is a big thing; I think I'm going to have to live by a routine over the next three weeks+, moreso than even before, which means identifying overarching tasks that deserve attention and then tending to them at regimented times.
One thing that was made abundantly clear last week is that I can't keep not working out. I have the damn bike setup right here! But… I have no motivation to deal with it in the morning, and that's no excuse at all, especially with a) how much my back hurts by the end of the evening and b) how bad for your health sitting, in any shape, is supposed to be.
A fun part of today: I pulled my resume from dropbox, then rendered it in HTML + CSS, and explored a lot of sub-topics that had tickled my fancy during this course that I hadn't yet had time to look into. I have a whole list of things that I've learned, and a whole list of things that I could spend time learning (
One funny though from today: there are so many different file formats for presenting structured text. I wonder if it would be possible to extract a universal grammar for them all.
Tonight calls for more meta-planning; I am going to try to slice my day up into hour-long chunks and see about tending to many things each day. We're supposed to have applied to jobs by next Monday, preferably earlier, and I know I have my work cut out for me.