Coding again: CodeCademy

I’ve been using CodeCademy this week. It’s a web package that lets you learn a whole variety of coding languages by doing exercises and seeing what happens! I was warned that it might annoy me, but it’s also considered a very good learning platform, so – I had a go!

It did annoy me. But it’s also a very good learning platform. So…best of both worlds, I guess?

I’ve got a number of languages on my list; HTML/CSS, Sass (a type of CSS), Javascript, JQuery, Command Line, and also Git & website uploading. Obviously, I already know HTML and CSS – and those were the bits that were very frustrating! Yes, I know how to write a table. Yes, I know how to change fonts, and WHY ARE YOU HARD CODING COLOURS SERIOUSLY DON’T DO THAT.  Argh. CodeCademy also has a mix of practical exercises and then projects, which allow you to use your skills in a more free-form environment. However, the HTML/CSS ones are incredibly repetitive; I like some of the others as they’re more structured to what I just learned, but to be asked to put a background image on for the fifth time…BLEG.

I’m currently on Javascript, which I’m finding hard as my brain just doesn’t get the logic of the language, but I love Sass – it’s essentially a shortcut way of writing CSS and it looks wonderful. I’m also halfway through Command Line, which lets you move around/create/delete files on your computer without using the mouse or clicking through folders, so that’s useful to know even if I won’t use it.

There are bugs in the platform; you can’t vary your techniques (so I got caught out on the HTML/CSS one a few times, as the way I’d do something wasn’t the way they wanted me to do it) and the error messages can be frustratingly vague when it comes to working out what I’d done wrong. I’d really appreciate a crib sheet or some way of just getting reminded about commands, too; if I’ve learned something literally two minutes before, I may just need a reminder of exactly how to spell it – and not the answer given to me! The platform bugs are probably the most annoying part; several of the CSS and Sass pages wouldn’t work unless I had Chrome on 60% zoom, despite a comment from others that they needed it on 100%.

Anyway. Essentially, if you like step-by-step tutorials, it’s a good learning tool. It doesn’t provide useful help – I could really use a crib sheet or a reminder tool rather than the Q&A forum or ‘assistant’ who I’m not sure how to contact – and it has some frustrating usability bugs. But overall, if you want a basic grounding in the languages, give it a try. It’s free for a basic version, and worth using to see if you get on with it!

On web dev and learning code

I love coding. I’ve squeaked before about it, but it’s one of the things that I get such a high from. It combines learning new things with actually being able to see the changes and create something that then works…I love the real-time amendments, the logic of it, the sheer amount of things you can do and ways you can do them. Even when I’m swearing repeatedly at my computer because I can’t work out why something’s broken, or feel close to tears because I simply can’t understand something, I love it.

I’ve already worked with HTML and CSS on front-end webpages, and I’m currently learning two new things; Javascript and PHP. Javascript is…how do I put this?…a f***ing ball of wet noodles that deserves to be binned. It’s the lack of errors that really gets me; if you do something wrong, even down to adding an extra space, it just breaks. Won’t run. No error codes, no indication of what’s wrong. Just nada. *rage*

PHP, I’m in the early stages of – but so far, it’s making sense! I’ve done the echo “Hello World”, if/else, ? operators, date & time pull-ins, and I’m just about to start looking at form inputs. It’s still a little while before I get to Laravel, thankfully, because that sounds hard! If none of that made sense, by the way, don’t worry. It doesn’t entirely make sense to me yet either, and I’m learning the wretched stuff. Essentially, I’m on the basics.

To actually work on things I’m using Cloud 9, which is an online development environment; it means I can log in from anywhere and don’t have to download any tools. I’ve also set myself up a Github account, which I’m definitely still learning to use. I have Atom as my text editor when it’s available (aka. when IT let me install it) and Notepad when it’s not – I used to use Sublime Text, but the adverts got annoying.

In addition to learning new things, I’m also brushing up on my CSS again as I’m revamping two websites. Unfortunately, this also includes a crash course in how to make things work in WordPress…yay? It feels more like diplomacy than code – what’s going to work with what, how much should I change, should I just scrap and rebuild…bleh. But hey, I volunteered, and it is fun – if frustrating.

So yeah, CODE! Love it! *happy Kate dance*

Another creative outlet

14/07/2014 20:11

I haven’t done any writing for a little while (officially, since the first Saturday of the month, and even then my hour’s writing time courtesy of the Swindon Freewriters was actually spent plotting charts…), but I do have another creative outlet at the moment that I want to talk about: coding.

Yes, I’m a nerd*.

 

For all the non-tech people reading, I do all the stuff that makes your screen look pretty and the words flow nicely and the boxes to resize when you look at this website on your iPad instead of your computer screen. I mostly work in X/HTML and CSS, and I’m currently learning (ok, swearing at) Javascript with plans to learn jQuery because apparently that is SO MUCH DAMN EASIER THAN STUPID JAVASCRIPT**. I’m also mostly self-taught, as I suspect a lot of coders are. I did six months with a web team who were brilliantly helpful and I picked up a lot of the basics there, but things change a lot in the web world. There are some courses that teach you; I highly recommend Lynda.com if you have access to it, and W3 just generally, as their mini-courses are excellent to play with.

But I mostly learned simply by fiddling. Most web editors have a WISYWIG (what you see is what you get, aka. plain view), but also have a code button. I simply started changing things; I looked through the code, and began to recognise the format. That’s a <p> paragraph, oh ok…and that’s a <table>, and there’s a <a href “www.writingandcoe.co.uk”> link…so that’s the <h1> title, and then if I go into the CSS I can see that the <h1> is bold and larger size and ooh look, I can turn it colour:blue; – and it goes blue! Whee! So what happens if I change that…ah. Um. Ctrl+Z? Ummm, nope. Ok. Restore saved version and try again!

 

I admit, I love coding. I absolutely love the feeling of getting something working. I get the same high as I get from writing when I write code and it does what I want. I get ridiculously happy in the moments when I’ve spent an hour trying to figure out what’s wrong, and I work it out. I love being able to make a change and see it happen. I love the languages, the formats, the structure and the ability to explore and experiment, the fact it changes with every iteration of the language. I really admire the W3, and that fact that so much of the languages and the whole coding and formalities are crowd-based and anyone can chip in, anyone can understand. Coming from someone who is very disillusioned by politics due to the lack of ability to participate***, who felt that so much of life is the preserve of people with something I didn’t – one way or another – have, the fact that you can simply learn coding yourself and understand it well enough to be able to understand and participate in this amazing community is still a constant surprise to me.

I also love the teaching and learning process. I love that there is always more to learn: I will never be good enough, and that’s amazing. There will always be better ways of doing things, and everyone I speak to helps me with my understanding. On the flip side, I was recently absolutely floored by the realisation that I have suddenly got good enough that I can help other people, and that I am that person I have been looking up to for the past few years. Last week, a colleague brought across several pages – and I could see the errors, and see where it had gone wrong, and point her at how to fix them.

And that’s probably the most important thing in coding for me. It’s a sharing experience, and it’s a learning experience. I won’t fix my colleague’s errors for her: I’ll point out the problem, and point her at how to fix them; I’ll be there for when she needs help; I’ll happily show her how I would fix it – but she needs to know what the issue was and what the solution was for next time, and so I won’t just make it all better. If the people who taught me had just fixed my errors, I wouldn’t know what to do when I saw them again.

 

So for the past three weeks, I’ve been coding for three days a week(…ok, four-and-a-half. Don’t tell my two-days-a-week-boss). I have done coding before, fairly obviously, and I’ve coded several sites from scratch. But the fact I am getting paid to do this, and the fact that it is all I am doing – sitting blissfully in the corner of the office with my headphones in, tapping away – is still astonishing to me.

So there you go! I haven’t been writing novels, but I have been making things change colour and resize and display what they’re meant to instead of error messages. It’s just as creative, in its own way!

 

* I was told this in some astonishment by a colleague. I just looked at her and said “I am ridiculously happy because my menu goes bold when I click on a page. Of course I am a nerd!”

**I may have opinions about things.

***I don’t usually discuss my political opinions (unlike my opinions of Javascript), so that’s likely all you’ll hear about them.

General ramblings

13/04/2014 12:35

Advanced warning: this one isn’t really about writing, so you can skip it if you’re not interested. I’ve been mulling over a few things recently, and I just wanted to get them out and onto (metafforical) paper. So, have some randoms…

 

Role-playing and writing:

I’m starting a new RPG with some friends*, and – due to the rather complicated nature of the world and the fact I’ve never RPG’d – I’ve picked a pure mortal as the simplest thing to play. I opted for a journalist, and then had to pick a name, and someone sprang into my head. Someone from one of my previous books. My main character from Shadows…Dini.

I’m apprehensive about the fact my mind decided to pick her. She fits in the RPG (with a few tweaks), but I admit I am worried about what the game will do to her. I do want to continue rewriting Shadows at some point, and I’m slightly scared that if she gets twisted by the RPG, she won’t be the same person in my head. But…she fits. She’s a good character, I know her, and it works. So I’m rolling with it for the moment, and I think I’ll simply have to give it time before I write again if the game does start warping her.

 

Talking about writing:

One of the things I am still getting used to is being able to talk about writing. I’m an odd writer: I jump around and don’t plot, I write novellas, I don’t write one genre, and I have several things on the go at once. All of those things mean that I have found it hard in the past to talk about what – and how – I write. But I’ve now been plunged into a group where everyone writes differently, and there’s someone else who writes weirdly (although he does end-to-beginning), and everyone writes different things…so it’s really strange, but really nice! The one thing it hasn’t done is made me write more, but I blame the social life for that: I am choosing to spend my time on other things at the moment! I’m sure that will change when Sammy sends over Green Sky changes and then starts asking for more books.

 

Websites:

I’ve been working on my websites for the Madcap Library and the Bibliothecary. I wrote most of the code from scratch (ish), and then one of my friends came over to help me make it responsive and tweak it to what I want. I absolutely love coding: I love being able to write and then see the changes, and I love tweaking the designs. Being able to learn more from Sam has been amazing, and I’m so grateful for his time and effort. I’ve got to finish sorting the domains and details out, and then I’m pretty much done with coding, which is sad – it’ll be on to e-book creation and all of that stuff, which I’m not quite so enthusiastic about at the moment…

 

Balancing everything:

One of the things I’m still trying to balance at the moment is the demands of various parts of my life. My job involves a long commute, which does give me time to read, but eats into my time at home. I’m struggling to balance being out with friends and staying home; I want to be involved in all the projects I’m doing and I enjoy hanging out with friends, but I appreciate that I do need time to just relax (or work) at home – especially after last year. Jon’s pretty worried about it, which I appreciate, but it doesn’t make the “I’m-missing-out” feeling any easier. I also have multiple personal projects, including writing, websites, trying to find a new house and finish the old one, and a new musical project – plus the standard demands of keeping the house tidy and being nice to Lizard. I’m hoping that it’s going to get easier: I’m slowly finishing projects, or pushing them to the stage where they’re background rather than lots-of-work, and slowly learning to balance. I think all it will take is time!

 

And finally…

On a personal note, I’m feeling older and wiser about making friends and getting to know people. I’ve screwed up pretty badly with some things in the past: I hurt people, including myself, and I really don’t want to do that again. I think I’m doing ok so far: I’m feeling fairly pleased that I’ve recognised some awkward situations and avoided them, and I’ve hopefully put measures in place to prevent things spiralling too far in the wrong direction. I really want to make this work and not make things awkward, so we’ll see. I sometimes think that being grown up simply means you discover a whole new set of complicated situations that you can make bad decisions about, and you can’t blame your sister for breaking it any more…**

 

*I should add in some background here, I guess. I did NaNoWriMo in 2013 for the first time, and met an absolutely awesome group of people. In addition to writer’s meetings, I’ve somehow got myself into a number of different projects, games and late-night-chocolate-eating sessions with various members, which has been ridiculously wonderful and I am still in shock about. It appears that I now have a social life again…

 

** Not that I ever did. We were quite nice children and I don’t think we really broke much, but I’ll have to check with my mother because she’s probably got a completely different opinion!

Blank page problems

28/02/2014 06:38

I’ve never had an issue starting a story, or a piece of writing, or an essay. I think it’s mostly because I start in the middle of things, and so I never worry about ‘how to start it’ – I just write whatever down and then fill in the beginning later on. I have heard of it, of course, as something that happens to all those normal writers out there who start writing at the beginning of something…but I have to admit that I do now appreciate it!

I am brushing up on my HTML 5 (I originally learned HTML 4 so 5 has a few new things I still trip over) and re-learning CSS2; in addition, I have a website I need to build. So, hey, combine the two and code it from scratch! So I was faced with a blank page…and had no idea where to start. Even putting a bit of code down didn’t really help, as I’m feeling pretty lost with the formats. I’ll be ok and I just need to sit down and go through it step by step – I know where to find the info, so it’s something that I can ‘solve’ rather than something I need to hammer my brain for. But for the first time, I do appreciate the ‘faced with a blank page’ problem!