XCODE

Wednesday, May 25th, 2011 08:16 pm
afuna: Cat under a blanket. Text: "Cats are just little people with Fur and Fangs" (Default)
OMG. I finally got my hands on XCode. It only took me a month and a half!

Look just to let you know how hard it was, I:


  • Started at the beginning of April. My first post where I mentioned trying to obtain XCode was made on April 15

  • Spent two to three weeks trying to download it to my laptop. Each attempt failed after about a week, because my erratic internet would cause the download to time out

  • Managed to massage the download using a download manager until one day I finally had 4.something gigs, but weirdly enough, the file was too big! The .dmg wouldn't open either.

    I had to log back in a couple of times, so I wonder if the 403 error page from Apple got appended to my download somehow?

  • Tried to download it to my server, but I ran into a links issue (I think) which caused the download to consistently fail after some 140MB

  • Was lucky enough to have [personal profile] exor674 volunteer to burn and send me a CD overseas ♥ Unfortunately, it looks like it took a battering in transit, because I couldn't open the file once it got to me

  • Was lucky enough again to have [personal profile] exor674 volunteer to help download it again (!) and let me grab it via her server which, I mean, handled resumes like a champ even when my internet went down (again and again and again...)



And now I have xcode <3 And it took less than two months...

Thank you so so much [personal profile] exor674 you have been super awesome and patient with me and my connection throughout all this <333
afuna: Cat under a blanket. Text: "Cats are just little people with Fur and Fangs" (Default)
I accidentally wiped out my entire dev folder -- we have a bootstrap script, so setting up the repos again is easy, but my unsubmitted patches were another matter.

Unluckily, my dev environment is in a virtual machine, and I excluded that virtual machine from my Time Machine backup (in hind sight, not the smartest decision ever).

Worse still, it may not have been much help in this case because my older sister borrowed my portable hard drive and hadn't returned it, so I haven't been able to back up for ages. A backup plan is good and fine, but a backup plan you didn't actually run is less so!


BUT. Luckily, I occasionally push my MQs (mercurial queues -- where my patches are stored) to my public webserver, so that I can test my code in an environment that's set up closer to production.

The last time I did so was a month ago. And I didn't lose a month's worth of work, because almost everything is short-term and had either already been submitted to zilla for review, or was committed as soon as it was coded. I judge I only lost a couple patches, most of them involving only debug and exploratory work, rather than actual behavior-modifying code.

That left long-term projects (redesigns, etc). BUT and I still cannot believe how lucky this is because seriously if there ever was an afternoon where it would be okay for me to delete all my work locally, this was it, I had just transferred over a copy of my update page redesign work to my public server because I'd been talking over things with [personal profile] foxfirefey and wanted to show my progress to her.

So I lost an afternoon's worth of work on the update page, and I lost a few small things in misc projects, but it could have been so much worse.



This all has led me to re-examine my back-up strategy.
  • my public server is backed up by my webhost for a small fee. I have my personal website on both my laptop and the public server. I need to check how much other things I have on my server which I can back up locally as well

  • my phone and tablet are both backed up to my laptop (I'll need to make sure I sync more often though >_>)

  • my laptop is backed up, but only to one portable hard drive. I am planning to buy a newer non-portable external hard drive (my brother found one my Western Digital: 2TB, USB 3, 6.5k pesos), and Il'l be backing up to both.

  • my virtual machines images are still not backed up, but most of what is in there either comes with the OS or is just testing data / sessions

  • instead of storing my dev folder in the virtual machine, where it can't be backed up, and accessing it via sshfs from my mac for editing, I have turned it the other way around. Now I have my dev folder on my mac, where it will be backed up, and I have mounted it as a shared folder in the virtual machine. My server runs a tiny bit slower now, alas, but it's still faster than if I had to contend with a network bottleneck, and I can live with that for the added security of being able to back up

  • perhaps I should back up a few essential but non-sensitive files to Dropbox?





In entirely more pleasant news, I have finished a shawl for my maternal grandmother, and am now looking at making a vest for my paternal grandfather. I'm not sure what makes a good vest pattern though; I have never done one, and I'm overwhelmed by the options on Ravelry!

(If I could narrow it down to all vests that open in the middle so you can put them on easily, rather than pulling them over your head, that would be a good start)


Also I am sending a friend of mine a hat! :DD :DD :DD


I have been working diligently, and I have finally cut down my projects to just three in progress: a pair of gloves where the second glove, barely started, is much looser in gauge than the first which is stumping me; a hat I ran out of yarn for, so I'm waiting for new ones from my LYS; the Grounded scarf which is perfect for mindless comfort knitting, so I'm saving it up for when I need something like that. Oh, and a half-finished top which I started when I was new to knitting and which is finished up to just below my breasts. I think I'll undo everything I have; I don't have the rest of the pattern because the person who was helping me is no longer at my LYS, and the tension is very uneven besides. I am only holding on to it for nostalgia *_*

Ooh and another project will be added to that list, as soon as I figure out a patten for my grandpa's vest.

I think that my knitting projects are multiplying. (help)
afuna: Cat under a blanket. Text: "Cats are just little people with Fur and Fangs" (Default)
Not the inside-inside, Perl guts, but trying to update all (DW) layout layers, to get all the updated features!

Long-term goal (actually, medium-term, because once the site goes live, everything needs to be stable, so I won't be able to do any drastic changes) is to turn this layout/feature chart entirely green. I know it's not possible; I can at least try what is reasonable.

One The hard thing about developing with S2 "officially" is that the quickest (only?) way to get feedback on your changes is to apply the layout to your journal, use the S2 compiler (layeredit.bml), apply changes, check journal, rinse repeat. However, then you have to copy the updated layer to bin/upgrading/s2layers. I've found that last step error-prone: tedious to pick out the changes bit by bit and transfer them manually. If I try to replace the entire layer in one go, I find that I have a hard time copy-pasting more than a screenful in vi (hm, have I ever tried just truncating the file and then pasting everything into a blank file? I don't think I have. Maybe I should do have tried that before trying to work around it).

So, anyway! Perl script! You give it the name of the layout. It reads the updated version which is currently "live" (on your dev site need to set the base URL; localhost works fine reads from ljconfig.pl). It then updates the static file in bin/upgrading/s2layers. After that, just need to do cvsreport.pl or hg diff or svn diff or commit or whatever. I've stuck in my ~/bin, so I can run it from anywhere, which is pretty convenient:

http://afunamatata.com/scripts/dreamwidth/s2sync.old

(This assumes that $LJHOME is set properly, and live versus cvs directories are in their normal LJ-setup locations, though this is really more for DW, since it overwrites bin/upgrading in DW-free)

Sample in action )

At some point, I may find it useful to modify it so that it accepts and upgrades multiple layouts (and themes??), but too much trouble to do so now, since I'm not touching themes at all.

And hopefully this will make development that much easier :) I was dreading keeping my live layout versus my diff-able layout in sync, but I am looking forward to coding this weekend now.


Update
[livejournal.com profile] exor674 just came up with a much prettier version <3 http://pastebin.com/f2fc673b3

I'm appropriating it for my own use.

Update2
Slightly tweaked version here: http://afunamatata.com/scripts/dreamwidth/s2sync!

(Basically, sanity check to make sure it's a layout layer, and also put the output directory into a variable, so that people who want to stick it straight into live instead of under cvs/ can change just the one line)

It now accepts either layer id (as a number), or layout name or redist_uniq, so either of these will work:
$ s2sync 333
$ s2sync bob/layout
$ s2sync bob


Also, output slightly changed:

dh-afuna@li-166:~/dw/cvs/dw-free$ s2sync 336
Can only handle layout layers at /dreamhack/8080-afuna/bin/s2sync line 33.
dh-afuna@li-166:~/dw/cvs/dw-free$ s2sync 333
bob/layout written to /dreamhack/8080-afuna/dw/cvs/dw-free/bin/upgrading/s2layers/bob/layout.s2