Well, it’s 12:43am on Wednesday, February 14 (… happy Valentine’s Day?) and I feel like a coding badass.
Why? Well, two reasons.
The first is that I was working on Tuesday and someone had a ticket open with me that was complaining that one of our plugins was forcing use of the httpprotocol, rather than the httpsprotocol. And I’m like “pfft, no way,” so he sends me a video and shows me and I’m like… “whaaaat?”
So I went digging around on GitHub in the code.
Sure enough, in the abstract class file (which, in case you’re unaware, serves as a template, if you will), there was a reference to a variable for a base URL… which had http hardcoded as the protocol to use.
Now, that might not seem like a big deal, because so much of the web is insecure and has no real need to be secure. But we deal with ecommerce sites, so HTTPS is, more often than not, in use on these sites. So why on earth didn’t the developers use // as a protocol agnostic prefix to the base URL? No idea. Literally, no idea.
Of course, this was coming from me, with my whole entire 80 hours of PHP under my belt, so although that’s what it looked like to me, I wasn’t certain. I flagged it to a developer who took a look and said “great sleuthing!” and she pushed some changes which made it into the release that’s going out this week. I was so surprised that:
a) I was right
b) This code existed in the first place!
I mean, I haven’t done any secure sites ever, but I learned at my last workplace that one needs to account for whether or not the client will be using an SSL certificate, so you should always use // instead of specifying http or https. Makes sense. I checked the history and it appears that the two lines with httpin them had been there since, oh, the start of the plugin. hahaha.
So, that’s one reason I feel like a coding badass.
It took me longer than I’d like to admit, but I finally got it to work. The main issue was that I’d accidentally written newTime=newtime.settime(newvalue) instead of just newtime.settime(newvalue). ¯\_(ツ)_/¯ The secondary issue was that my universaltimevariable wasn’t going to GMT/UTC, for some reason, which ended up being “Julie, you’re stupid and altering the wrong variable before passing it back.”
Just six more classes (including Thursday) before I’m done! And then maybe I can return my attention to my game.
No real updates there, although I now have figured out I’m probably just going to end up using bcrypt as my password hashing method. Literally, the only piece of personally-identifiable information I think I want to store that belongs to a user is an email address. No reason for anything else, so I don’t think I need to go all out for security. Still, I did a lot of research and reading and feel a lot more comfortable with what I’m going to be attempting here, at least when it comes to users.
Okay, it’s getting late and I should be up in about 8 hours to work, for eight hours, and then study for the rest of the evening.
I was planning all kinds of things out (oh god, the things I’m going to have to do!) and I suddenly was consumed, paralyzed, with this fear: what if I can’t even do the basic stuff I think I know how to do???
For me, the basic stuff is the questions and answers of the trivia portion of the game, which will be the majority of it. While I was thinking about the game itself, I was like “yeah, sure, I know how to pull a single row from a database!” and “yeah, sure, I know how to pull something from the resulting array!” and “pfft, how hard could it be to make it a random question?”
So I decided to dive into it. It’ll all need to be rewritten, of course, because it needs to be built within the game’s framework and right now it exists on a trivia-test.php page (and a private GitHub repo, thank you for loving students like you do!), so it’s messy. But it works. I can randomly pull out a row from the question database. And I can display the question to the user. And I can take the user input and transpose it all to lowercase, then match that to the answer in the database (which is all lowercase) and I do that because, that way, OTTAWA, Ottawa, OtTaWa and ottawa are all valid answers to the question of What is the capital city of Canada?
So I can do this. I can actually do this. And man, that’s super exciting.
I’m still working on the narrative for the story (my friend Lisa is helping me). I’m also still working on the gameplay itself, since it’s still kind of fuzzy, and I’m picking my friend Andrew’s brain about that, since he has probably played more games than anyone else I’ve ever met. My brother insists there be a fishing component to the game and it does make sense, so I’m thinking that there will be a side-quest to level your fishing skill and such. My brother’s going to help me with ideas for how that should go, too.
The coolest part of this so far, apart from realized I can do this, has been figuring out how to organize the databases. I really liked SQL when I took it last winter, and I enjoyed using it in Java class and through PHP. I am not, by any means, an expert, but I really kind of dig SQL. I’m more comfortable on the command line, owing to how I learned, I guess. It’s fun. It’s cool to be able to use Docker to build my database when I restart my environment and I love being able to basically ssh into the container on the gitbash command line and test stuff in there. It’s fun and challenging. Will my alter table command work? Will this command retrieve what I need it to? It’s awesome when it does.
Anyway, that’s it for now. Just wanted to be like yeahhhhhh! More to come, I’m sure.
Oh, hello! Didn’t expect to see me so early in the new year, did you? It’s only been about five weeks since my last post, so I know, this is weird. 😉
I passed PHP II. Not only that, I kind of did pretty well. I nailed a bunch of stuff on my final project and am still feeling pretty good about that. I saw The Last Jedi with my brother and his friend A on December 15th. Afterwards, we stopped in at our parents’ house, where my brother would have dinner with them and his wife and the two kids, while I… had to go home and code until my fingers bled. So I bounced my youngest nephew on my knee for a bit, squeezed the eldest in a hug, then headed back home.
It all started to just click for me. I would have passed, if I’d handed things in as they were. But it would have been something like a 65% or something and that would have stuck in my craw. So I was thrilled when things just started to click and I was able to build out a lot of the required functionality that, to that point, hadn’t been working right for me. At the risk of sounding cliché, the force was strong with me that night and I finished the class with an 87%.
So that was a relief, but I also felt like I learned a lot of lasting knowledge in PHP II — and not just PHP stuff, either. We’re talking stuff like gitbash, git, Docker, containers, APIs, JSON, all kinds of stuff. It’s pretty cool and I’m so glad I learned that along with the PHP stuff I learned.
I can’t wait to be done and reclaim any portion of my free time again. 😉
And speaking of free time, I have a crazy idea.
I spent a lot of time playing on the computer as a kid. A lot. Not a lot playing triple-A games or first-person shooters or whatever (although there were a ton of games from Sierra and such, of course). No, what I spent probably way too much time doing as a kid was calling in to local Bulletin Board Systems and writing on message boards and playing online games. I spent what must be years of my life playing Trade Wars 2002 and Legend of the Red Dragon, which were two of the most popular BBS door games that existed.
Another one I loved was written by a friend of mine. It was called Sky Mountain. The goal was to climb to the peak of the mountain, at 241,000 feet, but you had to mind the Sky Lord and the other climbers on the mountain. The way you climbed the mountain was by answering trivia questions. (Or was that how you gained health? Magic? Whatever, trivia questions were vital.)
So I’m going to take my neophyte PHP skillz and create a web-based game. Details are very fuzzy right now, but I’m planning on a game that harkens back to Sky Mountain in that it has a lot of trivia in it, which will, naturally, be vital to game progression. I’m hoping to have over 4000 questions to start with, in a ton of categories, and I also hope to have a reasonable mechanism to prevent duplicate questions (outside of just having a metric assload of questions to draw from). We’ll see how that goes, since, you know, I’m going to write all these questions myself. While I’m sure that there are open-source trivia databases out there, if this is my game, it’s going to be my game, at least for the content. Some of the questions will be easy to come up with — periodic table stuff, for example, or capital cities. Stuff about geography, music, religion? All a little more difficult.
So that’s my plan for basically the rest of the year. My goal is to have a working beta by late September. Of course, I can’t dedicate much time to it right now because of class, and I do have a full-time job (which I love) and I do have at least a couple of trips happening this year, plus there’s National Novel Writing Month in November… It’s going to be challenging for sure, but I’m really looking forward to taking all the stuff I’ve learned (and will be shortly learning) and incorporating it into a real, actual project.
Whoops. And here I thought I’d be updating this more frequently.
Work, class, business trip, National Novel Writing Month, all of these things are conspiring me from actually updating things here. Also, not going to lie, the fact that I deal with WordPress installations all day long makes me a little less likely to want to open up my own blog admin page. 😉
Seattle was awesome. Meeting my team was great, but so was meeting Sandra. At long last! Just 23 years in the making, no big deal. 😉 And how “Seattle” is this pic? Seriously.
In terms of National Novel Writing Month, I had taken the last week of November off from work to get that taken care of and to work on my PHP final project. I hit 50k at 6:58am on Thursday, November 30th, after pulling an all-nighter. I do not remember the last 3000 words or so. I was falling asleep while typing, which was an interesting experience. But I validated!
Then I went to sleep for six hours and then I went to class that night and did PHP stuff.
Honestly, PHP II has been a very different class from PHP I and I’ve really, really enjoyed it. I’m conversant with tools like git, now, and GitHub. I’m doing shit from the command line. Merging things, making branches, testing stuff out. It’s pretty cool.
I’m still panicked because my final project is due this Friday, the 15th, but at least now I think I should be able to pass. I got Stripe integration working, which is GLORIOUS, and also a chunk of my grade. I still have a lot of finicky work to do, but hey, that’s what this weekend should help me to accomplish. Plus every day after work this coming week. I basically can’t do anything until the 15th.
But also on the 15th? Seeing The Last Jedi with my brother and his friend, A. My brother, A and I have seen The Force Awakens and Rogue One together, so it’s like a tradition now. And we have reserved seating. AND it’s not a stupid 3D showing! (Yo, some of us get motion sick at the drop of a hat, okay??) So I took a half day off work that day (I had 11.5 days off allocated to me when I joined my company, which resets to 25 on Jan. 1!) and will go see the afternoon movie with my brother and A and then come home and finish my project. If, by some miracle, I’m finished my project before 11:59pm on the 15th, I’ll go Christmas shopping after the movie.
Can’t believe another year is nearly over and that the holidays are almost upon us. This year has, in equal parts, dragged by and flown by. It seems as though it’s been in fast-forward since I started working in June. Days turn into weeks and weeks into months without my realizing.
Oh, and for those of you interested in the final version of my home office:
I do quite enjoy it.
Okay, on that note, I should get back to gitbash and Sublime Text 3 and GitHub and Docker and Postman. #nerd #geek
Well, I finished Java by pulling more almost-all-nighters than I’d care to think about. I was also in the midst of, you know, working, so I couldn’t do actual all-nighters. But I survived on something like five nights in a row of under four hours of sleep. And then did it again for three (?) more nights.
But I passed, in the end.
Unfortunately, I didn’t have any kind of break between Java and PHP I.
So, PHP is kind of the reason I wanted to take these classes in the first place. My previous workplace had a web app built in PHP, so I thought to myself, “Self, you should learn PHP so you can actually sort of kind of understand what people are talking about.” Essentially, I was just so tired of always telling my clients “I’m sorry, I’m not a technical contact”, and I was tired of not fully grasping what the devs at work were talking about.
However, in order to take PHP I (and then PHP II), I had to take:
HTML 5/CSS 3
Fundamentals of Java Programming
So I did all those. I did HTML/CSS (which was a nice refresher, but I learned all about media queries! HOORAY!) and I did SQL Essentials (I can create database tables! And query them! And stuff!) and then I suffered through Java, but, ultimately, I emerged victorious.
And finally, PHP.
I don’t know what I was really expecting. I’d known of PHP for years. I’d edited old PHP scripts, used PHP includes. It wasn’t a complete black box to me.
And yet, that was a hell of a difficult course. Not sure how I passed my final exam because it was pretty rough. Still, I passed the exam, did well on my assignments… well, the two of the three that I know of, anyway. The third assignment is due in less than half an hour as I write this, but I finished it 90 minutes ago or so and that completes my obligations for PHP I. I didn’t even really need to do the assignment, but it got personal. Stupid databases and displaying them as tables in HTML using PHP. Still, I learned a lot of stuff. Database stuff, especially, but also things like foreach loops and all about arrays and sticky forms! Note to self: redo your personal website (not this one) and incorporate not just pretty forms like you learned in HTML/CSS, but sticky forms.
I gotta say, it’s come in handy. Work, which is going well, supports some stuff built in PHP, so a customer asked me why a subscribe button wouldn’t display on her site. So I went and it was displaying for me. And then I realized that she must be subscribed to her own list. So I checked the code and, yep, right there — if user is already subscribed or if the third-party site is unreachable, don’t display the subscribe button. Of course, it was in PHP and not basic English, but I understood it just fine!
So that was exciting.
As to work, I’m getting into the swing of things. Still learning, but I don’t feel completely idiotic anymore, which is nice. I’m heading to Seattle in October for a conference, so that should be fun, especially because I’m finally going to get to meet Sandra, who I first met online in late 1994 — and we still haven’t met. She is the oldest online friend I have whom I’ve not yet met. Well, not old in that sense, but the person I’ve known the longest, consider a friend and yet haven’t met. I won’t have a ton of time due to work conference stuff, but should be able to steal a couple of hours to meet up.
So I work from home and that is such a lovely thing. I decided I would redo my spare room into a home office. I remember from working at About.com that it was important to have a workspace and a living space, so I, uh, might have potentially gone a little bit overboard with the home office thing. To begin, I got my parents to take me to IKEA… All we could fit in the car was the Alex Riser so I assembled that on the Friday night before my delivery was due.
Then, on Saturday, the desk arrived and so I started building that stuff. It’s not an actual desk, per se, it’s two sets of drawers and then a countertop, basically. It’s the Linnmon/Alex “desk” from IKEA.
On Sunday, I started anew with the other set of drawers.
So once I’d finished constructing everything, I screwed in the middle leg and added the riser. Looks pretty great, right?
BUT WE’RE JUST GETTING STARTED.
Why yes, that is a blue-coloured light coming from behind my desk. Why Julie, how did you achieve this? Simple, the Philips Hue Light Strip Plus. I MAY have gone a little nuts and spent, oh, a few hundred bucks on smart lights I can control with my phone. I have two in the living room (soon to add another three) and I’ve got four bulbs and the light strip in the office. The light strip is actually stuck on the back of my desk. It’s great.
So this is what my desk started out as. Oh, yeah, did I mention the Light Strip Plus has sixteen million colours? Because it does. 🙂
The monitor is an ASUS VC279 (27″) and it’s perfect for me with its large desktop, allowing me to put less important applications on my work laptop. The large grey pad is a Corsair Gaming Mouse Mat and I have a Fellowes wrist support I got at Staples with a Logitech USB wireless mouse. The keyboard is an older version of the Apple Magic Keyboard,
The lamp is also from IKEA — a Klabb. It needed an adapter to be able to take the Philips Hue bulb I had bought for it, so it’s not lit here.
What you see under the monitor, under the riser, is my Sony bluetooth speaker. It’s not great — I usually let it hook up to my iPad when I’m in the kitchen — but it works nicely here. Still, it’s a temporary solution. I’m planning to get actual speakers. Also a riser for the laptop.
I stole my own floor lamp from the living room and put in three Philips Hue Ambiance/White light bulbs in there. So they don’t change colour, really, but they can be one of 50,000 shades of white. Bright white, blue white, yellow white, etc. It’s very cool. I actually went out and bought an identical floor lamp to put back in my living room and I’ll purchase another three bulbs to place in it. Mwahahaha.
Of course, there are all these icky cables everywhere.
I bought ALL KINDS OF SHIT, yo. And I put a lot of it to good use!
The desk is a little further out from the wall than I’d orginally wanted, but there’s just no way to keep it closer if you want things to appear clean.
It’s not perfect. I probably should spend some time re-doing parts of it, but it’ll do for now. Just gotta get those speakers and the laptop riser and I should be good to go.
I like the setup so much that I want to get a second one for my PC desktop computer. I kind of want to put it on the opposite wall as the work computer and just have that be The Computer Room, but I do think it’s smart to keep business and pleasure far away from each other. Or, at least one room away.
I definitely need a new main desk for my desktop, though. We’ll see, we’ll see. 🙂
So that’s what’s been up with me. PHP II starts in about three weeks, so we’ll see if I manage to do anything with my personal website before then. 😉
Oh, and my eldest nephew, Henry, turned three on Sunday! Here’s a selfie of me with the birthday boy.
So, the important thing first: my sister-in-law had the baby on May 30 and so I now have two amazing nephews, Henry (the eldest) and Louis (who, in case you didn’t figure it out, is the newborn.)
Apart from that, my search for a job has been somewhat fruitful. I start a trial period for a remote job on June 12th, so that’s exciting. Working remote! It’s what I did for four years in the late 90s and I’ve been trying desperately to get back to that for the last, uh, 15+ years. Relatedly, I just did up my budget for June. OUCH. Since I got laid off from my last position, I’m receiving EI, so losing those payments and then having to invoice my new client (for now — hopefully my employer!) at the end of the month is going to mean that June is gonna be tight. I went through a spreadsheet, organized all my payments and expenses and stuff and was like “huh, this isn’t going to be too bad,” when I then came to the startling realization that I had forgotten to factor in things like groceries. Eesh. To think I didn’t want the credit line my bank offered me a couple of years ago…!? I guess there will be no impromptu visit to Ottawa for Canada Day, which is a bit sad-making because it’s Canada’s 150th! I’ve only ever been to Ottawa once on Canada Day and that was in 2010 when my mom and I (yes — my mother. And me. Together. In a car. For two hours there, two hours back and several hours in Ottawa) went because the Queen and Prince Philip were there. (As was Barenaked Ladies, unbeknownst to me. When One Week started playing and I started sinigng along, my mom was like “you KNOW this music?!?!”) Anyway, it’s a shame I’ll miss Alanis, who’s performing this year, and BNL again, but hey. Gotta be responsible, right? Right.
As to class, class is getting… better? I understand how to connect to an SQL database with Java! And we’re starting to play with the GUI, which is all CSS-based, so that’s outstanding. I did skip class to go meet Louis on Tuesday night, though. No regrets! It was, however, the first time I skipped a class out of the 10 weeks of HTML, the 5 weeks of SQL and the 8 previous weeks of Java. Go me.
Finally, all the migrations got done last weekend. Every last site I have (that I’m going to keep) has been migrated to my new host and I couldn’t be happier that it’s all over with. Overall, it went well. Working at my last place of employment taught me a lot about migrations and DNS in general, so it was nice to be able to use some of that knowledge when it came to my own projects. What a giant relief it is that it’s all done, though. Whew!
The next week is gonna be rough:
Finish Java Assignment 2 ASAFP
Study for Java final exam which is on Thursday
Start Java Assignment 3, due within the two weeks following the final exam
Get up to speed on stuff for work!
Probably see parents, once they’ve returned from their shitstorm of a cruise (delayed in dock at the start, missing two stops, then a fire on board that caused a delay, so they’ll miss another port)
Hopefully get to see the nephews again
Start work on Monday the 12th!
I’m supposed to see the nephews tomorrow, actually. Well. Today. It’s almost 5am and I’m supposed to probably be picked up at 10:30am? But I’m not sure? I might have to go steal my mom’s car and drive out on my own. The things I do to see my nephew. Well, nephews, now, I guess. 🙂 It’s just that Henry is so damn delightful and says the CUTEST THINGS that are so incongruous coming from him, as opposed to from any adult. “Be right back, guys!” he’ll exclaim, for example. It’s adorable.
Anyway. If I want to be at all conscious, I should head to bed.
I’m feeling productive. This weekend, I did the two biggest migrations from my old webhost to my new webhost. One was rough. Copying a phpBB (ughhhhhhhhhh) forum and its database and its settings etc etc and copying a WP install I couldn’t even access any longer? Both difficult. It was over 24 hours from the moment I put the forum into maintenance ’till when I took it out at the new host.
I mean, I slept. But it was still rough.
The other one, was my dear old GoodChatting.com. I’ve run the IRC server there since, uh, February of 2001. It’s still running. The website had not been touched since, uh, like, 2003? 2004? So, rather than migrate it, I redid the whole damn thing. Of course, I downloaded everything to my hard drive first and I threw in a ton of 301 redirects for various chatroom links, etc, that would have died otherwise. I should probably run Google Webmaster Tools on it, too. Oh, and insert my analytics code. Crap.
Anyway. GoodChatting is moved and that’s one less headache.
Coming up on two weeks until the old host goes away, so I’m really pleased with the efforts of the weekend.
Also, really pleased that my MySQL skillz came in handy! I was able to edit stuff in the MySQL shell and also in phpMyAdmin AND I KNEW WHAT IT MEANT. I was able to query stuff! I felt pretty awesome.
Speaking of skillzzzzz, class is okay. I’m in the midst of Fundamentals of Java Programming and it is kind of kicking my ass. I understand most of the concepts, but the code still looks weirdly foreign to me. It makes me miss MySQL. MySQL made sense! Logical sense! To me! Still, doing Java has helped me in at least one job application, so there’s that.
In other news, my parents are going to Europe for a couple of weeks this coming Sunday. Due in just under two weeks is my second nephew. My sister-in-law gave birth to my first nephew five weeks early and this little guy is apparently quite content right where he is. We missed out on being birthday twins, alas. Maybe the next one?
And on that note, I need to finish getting ready for Mother’s Day dinner with the family. I cherish time with my nephew. He’s such a cute little stinker.
It has been years since I’ve posted on this domain. Actual years. I was running WordPress 2.0.5 and there wasn’t any auto-update or export function, so we’re starting from scratch. No great loss; there were only eleven entries on the previous incarnation of this site.
I’m hoping I’ll actually post on this thing. It’s certainly my intent. I just don’t know if I’ll stick to it. I definitely need an outlet, though.
So what’s new with me? I’m looking for work and, while I do so, I’m taking classes at one of the local universities, working towards a diploma in web programming. I’ve already taken the HTML/CSS class (I was conversant with HTML and CSS up to versions 3 and 1 respectively and now am nicely up to date — I can make responsive websites! All hail media queries.) and the SQL class and am now somewhat suffering through Fundamentals of Java Programming.
As geeky as I’ve always been, I’ve never learned a formal programming language. This shit is hard, yo. I mean, it’s slowly coming together, but it’s still hard. Methods, classes, user input and keyboard buffers… Some of it is just like “wtf am I actually doing??” and some of it is “oh, well that makes sense”. Week four of my ten week class is now done and I’ve got about a week to finish up my first assignment. At least I feel that I’ve made some progress on it. I think I understand all the parts of it separately. Now I just need to incorporate them all together. Should be fine, right? … right?
In the meantime, I’m migrating all kinds of crap over to a new host, this blog included. I might actually try to post some photos and such, but in the meantime, you can check out my Instagram. (All of that gets cross-posted to my Flickr and Twitter, too.)
So yeah, I host something like 20ish sites and I’ve moved four of them entirely, two of them partially and another is sort of in limbo because I don’t want to go backup the database, but I’m going to have to force myself to do so at some point. I’m glad I gave myself a full month to do all this.
Hilariously, I actually had given myself six weeks to do it, but my new webhost was inaccessible from my home ISP. Worked fine on my cell network. Worked fine at school. Anyone I asked was able to access it, unless they were using the same ISP as I am. My brother? No luck, either on his home wifi or his cell network (both using my ISP). After two weeks of lots of phone calls, trying to discern what the issue was, the webhost and I figured out that my ISP is blocking the specific IP address my webhost had assigned to my account. This after my ISP was insistent it was an issue with my host, of course.
I swear, as soon as fibre is available in my neighbourhood, I’m switching from my current ISP. Of course, I’m not certain it’ll ever be available here. Every six months, a rep from the company who offers fibre calls me and is like “hey, you should come back to us!”
And I’m like “so do you have fibre in my area yet?”
“I’m betting you don’t. Can you double-check?”
“Oh, but I’m almost certain we do offer it there.”
“No, seriously. Go check.”
The invariably go to check and then come back and apologize.
I guess there’s just not enough demand in the area, which is ridiculous, but I do acknowledge I live in an area where there are a lot of older people, so that might have something to do with it.
Well, I think that’s a sufficient amount of ranting for the first blog post here since, uh, December of 2007.