In Over My Head


I’ve been particularly demotivated lately, but I finally decided to start figuring out how to develop an app for Mac and pretty quickly realized I’m in way over my head here. Xcode is a completely alien development environment for me, the Mac development style involves the use of Objective-C and Cocoa and other things that are somewhat distant from the Windows-based technologies I have learned, and it’s been so long since I last learned a whole new paradigm that I’m having trouble getting started.

I suppose the best thing to do at this point is probably to get a book. So this goes on hold until I get to the library. The good news is the library does have a good number (~21) of books on the topics of Objective-C and Cocoa!

Monday and Wednesday I have a block of 1 hour 45 minutes between two afternoon math classes near the library in the afternoon. Hmm…

Posted in Uncategorized | Leave a comment

Microsoft OneNote 2007 randomly creates shortcuts

I’m trying to grasp a very slippery issue lately. Several users have OneNote 2007 installed and are sharing a notebook over the network (via a shared network drive). One of them will open OneNote and sometimes (randomly) a shortcut to a tab will be created in the shared notebook. This occurs without the user even viewing that specific notebook and sometimes multiple shortcuts are created at once. Looking at the owners of the shortcuts, not everyone is affected by this bug. They are all running Windows 7 64-bit with an almost identical environment.

I found a few instances of it across the web but it seems to be a very scarce bug:

The best idea is probably to bump them to OneNote 2010 (and hope it doesn’t happen) but we are not yet ready to migrate users, so in the meantime I’ll need to try and find a solution.

I need to run Office Diagnostics on each of the computers. It might fix the problem automatically, if the moon is aligned just right.

I will update this page once I find a solution. If you are also having this issue, please comment, especially if you have something to add.

Posted in Uncategorized | 3 Comments

Mac App Store

Hooray for the Mac App Store! It’s not as exciting as I thought it would be, though I’m glad it came out earlier than expected. I wish it recognized more of my existing apps, and many (most) of them were not already in the app store but I’m sure that will come in short time.

Overall, it’s not really useful to me at the moment but very neat. I hesitate to purchase any apps because I might be launched into a spending spree, but I did grab a couple free ones and the whole process is as smooth as should be expected.

I hope they add a section for dashboard widgets. I love playing with the dashboard but there are so many widgets that it’s hard to find the good ones!

Posted in Uncategorized | Leave a comment

phpMyAdmin – Import Excel CSV into table

Importing a CSV file which was saved from Excel 2007/2010 into MySQL using phpMyAdmin is easy once you know how! Just carefully follow all of these steps:

1. Sanitize the CSV file: Open the CSV file in a text editor (preferably something better than notepad.exe, such as Notepad++). If the first row contains column names, delete it. If there are extra last rows at the bottom of the file, delete them (leave one completely blank line at the end). Do a search for “,,” (two commas in a row) and wherever you find that, add a value between those commas; the value should match the type of that column, so if it’s a numeric column, add a number (0 or -1), and so on. Do a search-and-replace for “” (two quotation marks) and replace all by ” (backslash quotation mark). Save!

2. Open phpMyAdmin: In phpMyAdmin, click the table, and then click the Import tab at the top of the page.

3. Import: Browse and open the (sanitized) csv file. Leave the charset as-is. Uncheck partial import unless you have a HUGE dataset (or slow server). The format should already have selected “CSV” after selecting ¬†your file, if not then select it (not using LOAD DATA). If you want to clear the whole table before importing, check “Replace table data with file”. Optionally check “Ignore duplicate rows” if you think you have duplicates in the CSV file. Now the important part, set the next four fields to these values:

  • Fields terminated by: ,
  • Fields enclosed by: “
  • Fields escaped by:
  • Lines terminated by: auto

Currently these match the defaults except for “Fields terminated by”, which defaults to a semicolon. The crucially important sanitization step prepared the CSV file to work with these values so make sure you did in fact follow my sanitize step above. Now for column names, put a comma separated list of your table’s column names which match the CSV columns. This is case sensitive, no spaces after the commas, no quotes around the table names. Like this: column1,other_column,column3.

Now click the Go button, and it should run successfully. I tested this method with values that contained combinations of single quotes, double quotes and commas, and the values all seemed to import correctly after following everything above. If you have problems with this method please email me via the button on my homepage, and if you found this to be helpful please consider commenting or reposting and linking back to here so that perhaps this can rise to the top of search results. Thanks!

Posted in Uncategorized | 14 Comments

Chicken and Rice

Here’s my recipe for chicken and rice:

1 George Foreman grill, 1 pot with lid and spoon, 1 sharp knife to cut into the chicken, optionally something to flip chicken with
1 small chicken breast, optionally marinated for flavor
3/4 to 1 cup (uncooked) Minute Rice (or any other rice)

Preheat the grill. Cook the chicken breast on it for several minutes (5-8) until outside is light golden and inside has no pink (use the sharp knife to cut and check).

Prepare the rice. Depending on the type of rice you may want to do this beforehand.

Cut the chicken into small pieces. Mix into rice. Mix other things into it (e.g. vegetables or soy sauce or cheese or herbs).

Great for storing in tupperware and taking to school or work for lunch!

So I just wanted to formally write that up, as simple as it is. I think the biggest pain in that dish is the cleanup; the George Foreman grill is nonstick but still just a mess to clean up. Also I haven’t yet figured out what is best mixed into the chicken and rice. I assume a marinated chicken breast would be much more delicious but still the rice is so plain (especially Minute Rice). Oh well, I’ll keep experimenting until I find something that sticks.

Posted in Uncategorized | Leave a comment


Happy New Year!

Posted in Uncategorized | Leave a comment


You know how when someone tries to talk to you and you’re mostly asleep, you usually reply with a gibberish sentence?

I wonder if you’re actually having coherent thoughts and your brain’s “speech processor” is asleep, unable to translate your thoughts into coherent sentences, or if your thoughts are really as scrambled as your grammar.

I’m leaning towards the latter. Usually if the person is persistent enough to really wake me up, I snap out of it and reflect on how confused I was in my dream state.

Posted in Uncategorized | Leave a comment

An Effective All-Nighter

Many of my all-nighters are terrible and I end up regretting them, as necessary as they usually are. But tonight hasn’t been all too bad. I want to make note of the various things I’m doing, so that I can recreate it next time I need an all-nighter.

1. Comfortable spot on the couch; all my work surrounding me.

2. Focus! Occasional breaks to check Facebook, but for the most part, I’ve kept on task.

3. Soft Christmas music in the background. Substitute something else soft for any other time of year (e.g. trance or chillout or soft jazz).

4. My new Aromatherapy “Stress Relief” candle from Bath and Body Works. It smells great and seems to have worked; it’s been burning all night. It might be a placebo, but what’s the difference really? I believe in the candle therefore it helped. (thanks for buying it Elizabeth!)

5. Plenty of light and an open window in front of me to look out of (but not right in front of me; it is across the room and the blinds are mostly shut, so that I can just barely see out and it’s not a distraction).

6. Plenty of water. Also a couple cups of hot chocolate throughout the night (slightly caffeinated).

7. A good, filling dinner; I wasn’t hungry for a long time. Then when I got hungry around 5am, I realized it and popped a bag of popcorn. Not the best nighttime snack, but it worked.

8. Keeping warm! Long sleeve shirt, pants, and slippers. Cold is bad.

Also, a few don’ts: loud music. Headphones. Laying down or closing eyes.

When starting to feel tired, get up and walk around. Even go outside in the cold.

Posted in Uncategorized | Leave a comment

No More Twitter or GReader

I cast aside Twitter and Google Reader, at least for the moment. Maybe it’ll last; in the case of Google Reader, probably not, though I do need to trim down my subscriptions again. But I’m really wondering if Twitter is really worth keeping up with; there’s a lot of overhead in scrolling through tweets I don’t care about just to find one or two that I might actually care about.

I cleared Twitter from my phone and removed it from Adium. As far as Google Reader, there’s not really anything to clear about it (as I have to visit it manually).

Now it’s a matter of staying away from them, and finding something better to work on. Maybe I’ll start by browsing Git and Bitbucket for some project that I can fork and implement a feature of. I suppose my ultimate goal would be to get a push request accepted, which would signify me having made an impact on a piece of software.

Should this perhaps be a new year’s resolution?

Posted in Uncategorized | Leave a comment

An Exam Week Like No Other

My other exam weeks have been relaxing breaks at the end of a busy semester. They were the calm AFTER the storm; they were the time that I played video games (and almost every one, I got hooked on RuneScape again after not playing it all semester).

This exam week is different. Elizabeth and I are getting along okay I guess, not the best but there’s a lot of stress coming from me as she only has a couple exams. Then there’s the pressure to get Christmas gifts; I’m not exactly sure what I’m getting, and I’m trying to put it out of my mind until I actually get out shopping tomorrow, but it’s very difficult to just forget about it entirely. It’s that kind of unconscious worrying that is the root of my stress, even when my conscious mind has nothing to be stressed about.

I feel kinda burnt out too, after a whole semester of non-stop school and work. At the same time I feel somewhat unaccomplished. I haven’t done much programming this semester, especially not on personal projects. I feel like I’m a pretty good programmer but I need something to work on, and the motivation to actually work on it.

I have an idea in mind. I’m not going to post it publicly here. But I’m starting research on it and it will be a great learning experience; if I can actually complete it. My history shows I’m not very good at completing anything large (but in my defense, that’s a very common problem among people of all types). I just feel like I need something to get done!

I’m considering shaking off the cruft. I spend a lot of time in Twitter and Google Reader, and for very little benefit. I feel like I want to isolate myself from all the news and hype, find a programming project to work on, and spend my spare time programming instead of reading junk on Google Reader and checking Facebook.

But I’ve felt this way for quite a while now, and yet I continue. Will I ever actually do it? I guess deep down I wonder if it’s worth it.

Hmm, here’s a thought… What if I just back up all I have right now (Google Reader subscriptions, Twitter follow list, etc.), store it someplace in my Dropbox, and then remove it all? That way I can go back if I regret it.

It’s a solid idea. I’m going to give it some serious thought over the next few minutes or hours and maybe do it.

Posted in Uncategorized | Leave a comment