I’ve been working on one web site for a week now and so far it’s not only not finished, but it’s not even getting anywhere near. As the sample of my notes in the snap above indicates, I’m heavily overthinking the thing. It’s a self-hosted WordPress site, which means I’m able to modify the CSS files and the PHP templates (the latter with utmost caution, as usually the formula is: me + PHP = white screen of death).
I spent the whole night just changing font sizes. That’s what the notes above were for – as I only have one screen to work with, I take some of my notes in longhand on a piece of paper to be able to refer to them without switching tabs and splitting screens too much. I hated the result of my night’s work.
However, I figured out what I hated about it the most. It was the Verdana font I picked for headings and navigation links. It gave the site a tabloid look (it’s not intended to be a tabloid). Too big and too bold. I chose the classic Times New Roman for paragraphs, which gave the site a rough draft feel in turn (it’s not intended to be a rough draft either).
So, ultimately, what I hate the least about the whole business is that I now know what the chief source of my disgust with the site is. It’s the fonts. Currently I’m considering the classic sans serif Helvetica for headings and my favourite serif font, Georgia, for paragraphs. I’m writing it down here lest I can’t remember it when I wake up.
Also, as part of my Code a Day project of learning a code a day, I’m now at lessons on text and fonts and it’s all kinds of awesome. Though I can’t imagine who would want to use text shadows – unless as a parody of 1990s sites – and for my purpose, I don’t think I’ll ever want to change the direction of text to make it go from right to left either. Well, good to know I could if I would.
I’ve sort of finished the W3Schools HTML tutorial. It took me three times longer than I had expected. Anyway, I tried the quiz on the same site to test myself, and I didn’t score full points. Therefore, I’m not proud of myself really.
I wonder if the note “You can be proud of yourself!” that appears after completing the quiz shows in the same wording no matter what one’s score is, but I can’t be bothered to retake, score poorly and see for myself.
So now it’s the CSS tutorial time. It’s high time too, as I’ve been using CSS forever without knowing entirely what I’m doing. While I’m not really proud of myself for having finally finished with HTML, I’m glad it’s done. Let’s cascade now.
I’ve been learning HTML on and off for the last half a year. I’ve now thoroughly covered the basic tutorial at W3Schools, but there’s more. There’s always more. My original idea(l) of encompassing all of HTML, as in moving all there is to know about it in my head, proved to be rather naive.
I’m also finding that there are overlaps in the HTML tutorial with other coding / programming / scripting languages. There are always overlaps, of course. For now I’m skipping anything that involves functions, but I am trying some very primitive scripts. If I knew a word meaning more primitive than primitive, I’d use it now to describe my attempts.
I’m a rather good typist and I rarely make typos, but I made one that amused me when I was trying to write a more primitive than primitive button. I told the button what to do on lick. Well, the canonical idea is to tell the button what to do on click. The lick button didn’t work, and I didn’t try licking it to see if that would work out.
I take my own posts as prompts: when I blogged about chronic pain, I went to see the doctor the next day; when I blogged about tattoo ideas, I made an appointment at a tattoo studio immediately. While the results of my doctors’ appointments are still being determined, the outcome of my other appointment is now finished—see picture above.
Quick answers to the obvious questions:
Yes, it’s permanent.
No, it didn’t hurt.
It’s a cat-shaped semicolon enclosed in CSS curly brackets.
As to long answers, I wanted a tattoo as part of my dealing with my midlife crisis. I borrowed the catty semicolon idea from the internet (I didn’t suspect I’d actually get it when I was saving it on Pinterest) and I added the brackets as my own idea. I didn’t intend to share my design, however primitive, but I’m too pleased with myself not to share it (insert smug emoticon here).
The tattooing part lasted under ten minutes and hurt less than having blood taken for lab tests. I got it with an extra bonus of glamour feel – it felt superstar-ish to sit with a strong halogen light in your face and the air from a fan in your hair. Of course, in combination with the slacks and the lace top in the picture, it doesn’t look too badass. I guess I need more leather. And more tattoos.
A most unnatural thing has happened. I now own an Apple device. I came into possession of it by the most unnatural means too. A colleague won it, had it lying around for a while and then gave it to me, seeing that I could make a sensible use of it for website testing. Installing the Safari browser on Windows isn’t entirely the same as being able to check how a site displays on an actual Apple.
My feelings about my iPad mini 4 are wildly mixed. My ownership of it is disputable to start with. I wouldn’t be surprised if the donor wanted the device back so as to sell it instead. I also shouldn’t own the device at all, as it’s above my class. I don’t particularly like getting a taste of something that I won’t be buying—like trying on clothes you can’t afford, which is a self-flagellating device that some people apparently enjoy.
When I switched the thingy on, I was thrilled by the quality of the display. I was also thrilled by how fast it runs. That’s a lot of thrills going on, considering I’m hardly ever excited, not to mention thrilled. Fortunately, it manifested some kinks—searching on iTunes didn’t work properly in some instances—and I soon discovered that iTunes is a poorly stocked shop, when compared with what’s available for Android. Ultimately, I’m relieved that I don’t like the tablet without reservations, though I like it well enough.
So far I’ve used the iPad as a rather expensive mirror. The display displays so perfectly that I propped the thing with the camera on against the fridge so I could see myself when practising yoga. It was very subversive and very first-world of me, and I’m likely to do it again. One issue remains unresolved and I’m tired of Googling, so if you know, do tell me: what’s wrong with there being practically no antivirus for iOS? Does Apple think they do their thing so well that their devices don’t need an antivirus? What am I missing?
The other day we were talking with a fellow postaday project runner, Rebekah, about how it’s getting increasingly difficult to think about what to blog about. I don’t mean to think about something worth blogging about, I mean about anything to blog about. On which Rebekah admitted that her mind was blank that day. On which I had a free association with the HTML attribute target="_blank". On which we pursued a discussion of what target="_top" does.
I was explaining my understanding of this in two convoluted paragraphs, while Rebekah summed it up in one sentence. I don’t understand how I can be a teacher. I’m presumably as miserable a teacher as I’m a coder. We however reached an agreement that basic HTML deserves some love too. Like the ugly child (the ugly cat, in my case, because I object against children in general). Now, I think I could combine my two absent skills and teach you code. Hilarious, right?
To sum it up, for my own sake rather than anyone else’s (I’m hoping I’ll remember it forever/longer if I blog about it), target is an attribute of the <a> element. The default value is target="_self", which opens a link in the same window. The aforementioned target="_blank" opens a link in a new window/tab. So far, obvious. But, target="_parent" opens a link in the parent frame. And target="_top" breaks out of a frame when a page is locked in one. Hm.
I probably get it, unless I don’t. I wish I could experiment with frames more, but WordPress apparently doesn’t allow <iframe>. There’s less fun in experimenting when you can’t impose your experiment on your followers (and consequently unfollowers). Ha. At least I’ve progressed insofar that I know the difference between a HTML attribute and CSS property and hopefully use the terms correctly, along with element, value and other element-ary things I should’ve known earlier.
I’ve been thinking forever of getting tattooed because that’s the kind of thing you do when you’re in the midst of a third-life crisis (probably an early mid-life crisis in my case, as my lifestyle isn’t consistent with longevity). One gets to see a plenty of tattoos in summer, when people go around semi-naked, which serve as great examples of how not to do it. Of course, I’m hypercritical and subversive, and I’m sure said tattoo wearers are perfectly happy with their creations.
I find it hugely entertaining when people get tattooed with mottoes in a foreign language, preferably one they don’t speak. Latin, particularly. (My apologies to all speakers of Latin with tattoos in Latin.) A friend has a nasty, cheesy piece covering most of her calf, depicting a dove and Latin for “Soar to the stars” (I can’t be bothered Googling how you say it in Latin because I don’t speak Latin, and neither does my tattooed friend).
If I ever finally get down to getting ink of my own, I’ll design it myself for myself specifically. I have one idea (two ideas, in case I like it and want more), which I’m not going to share because it’s so awesome that you’d want to steal it from me (ha). It has to do with my penchant for punctuation (I proofread) and code (I’d like to code). It has nothing to do with the featured image of this post, which is thrown in just so.
Meanwhile, I’m amusing myself with coming up with subversive alternatives for cliched tattoos. A hand-coded HTML table follows (in case you wonder how I got a table in, as WordPress’s WYSIWYG doesn’t do tables). A code for the table follows next, which I suggest you don’t borrow either because it’s not very good.
Inline CSS, apparently the only CSS you can use in WP Text Editor, should override any external stylesheets, however, I can’t get rid of my theme’s default tr:nth-child(odd) property, which sets the background of every other table row to grey. I solved it, probably improperly, by modifying each <td> in the offending row rather than just the entire <tr>. I guess I could overwrite the offending values via the CSS Editor, but I can’t be bothered (again).
Reach for the stars
You got this
We’re all going to die here
Never give up
Just let me die
<td style="color:white;">Reach for the stars</td>
<td style="color:white;background-color:#44749d;">You got this</td>
<td style="color:white;background-color:#44749d;">We're all going to die here</td>
<td style="color:white;">Never give up</td>
<td style="color:white;">Just let me die</td>
Please note that I dot my i’s, close my tags and quote my attributes. ❤
Wee, sleekit, cow’rin, tim’rous beastie,
O, what a panic’s in thy breastie!
Thou need na start awa sae hasty,
Wi’ bickering brattle!
I wad be laith to rin an’ chase thee,
Wi’ murd’ring pattle!
I’ve complained (ranted) about my troubles with tribbles (mouses) before. My wireless mouse started to behave unexpectedly, so I dragged the thing by its tail (which is a nonsense, a wireless mouse doesn’t have a tail) to the shop where I got it and placed a warranty claim. A few weeks later, the wee, sleekit, cow’rin, tim’rous beastie was returned to me with the note that it is and always was in a perfect working order. That doesn’t explain why it doesn’t work for me.
I think I might have cracked it though. I noticed that owing to the superior quality (*snort*) of my Ikea desk, a shiny spot appeared where I use the mouse. Too much mousing. An optical mouse doesn’t work well on shiny surfaces. That however doesn’t explain why my optical wired mouse works fine on the very same surface. Is it because it’s wired? Or am I just jonsnowing (= of Jon Snow, who knows nothing)?
I’m not much in love with my wired mouse. It’s a spare item I had the good sense to keep when I got a wireless alternative. To see how much I hate my current mouse, please refer to the header image, showing the mouse slaughtered and lying on its scroll wheel. There are mouses that work on reflecting surfaces and after hours of research (no kidding) spanning over several weeks, I picked one model that would be acceptable. What’s highly unacceptable is its price.
I’m also not too thrilled with the mouse’s atypical rechargeable batteries. I’m stocked on AA batteries for my mouse and I own no remote controls, kid toys, cat toys or sex toys to use them in instead. There’s an older model of the mouse with standard AAs (as of the battery type, not Alcoholics Anonymous). It’s also cheaper. It’s also unavailable for purchase via my usual channels. It’s also probably unwise to buy something old. I began this post thinking I have it figured out, and I conclude it seeing that I’ve found nothing. Error 404.
The following applies to self-hosted WordPress sites and is of zero interest to WordPress-hosted bloggers. Or simply, it’s of zero interest. It needs to be however recorded as a cautionary tale. I’ll start with the moral: PHP is different from PhD and having the latter doesn’t mean you qualify to mess with the former. Unless you like a challenge, like me. And unless you don’t mind taking your site down, unlike me.
I’m working on a site for a particularly annoying customer who earns ridiculous money on providing human resources consulting. It’s weird how come that I think so little of such vaguely defined, immaterial and probably unproductive jobs, considering that I’m trained in English Literature. What’s more vaguely defined, immaterial and unproductive than literary research? (That wasn’t a real question, that was a statement in disguise.)
I CSSed the shit out of her site because I enjoy cascading. I can’t cascade really, but I don’t consider it an obstacle to trying. On which the lady tells me that she basically wants a 1990s style static site with white background and black text. Hm. I could probably even do this in HTML from scratch. The lady however insists on being able to edit the texts herself, hence it needs to be WordPress and it needs to be in Czech. (*sigh*)
Czech WordPress is semi-translated, which means that for some sections of the site to display in Czech, I need to translate manually. Reiterating old news, the wrong way is to edit the files of the theme directly as all changes are lost when the theme is updated to a new version. The right way is to create a child theme and edit the child theme files. So far, so good, except when it comes to functions.php.
I was unreasonably encouraged by my success in editing footer.php—of course, it took multiple attempts, but wrong code didn’t take the whole site down, only the footer didn’t display—so I thought I’d try to modify the functions file. I broke it at the first try. Took the entire site down. Parse error. Couldn’t fix it (of course). Locked me out of WordPress admin too. My unadvised and unqualified effort to crack this was quite hilarious. I was even having fun, in a way, because I like a challenge.
I exchanged some emails with a very unsupportive support of my domain and hosting provider, who advised me to try to restore the backup of the site and sent me a link to a manual saying: “In our admin area, export the MySQL database backup and then import it via phpMyAdmin.” Full stop. Not too detailed. I tried and failed (of course). I resisted the temptation to complain via the link that came with each email from the support and asked me to evaluate my support experience.
In retrospect, I think they should probably have told me to go to the FTP client in the first place and try deleting the offending child theme file. Based on what I Googled, this might have been the elegant solution. Well, I went inelegant, and I helped myself—I located Delete Database and Install WordPress options in my hosting admin area, I checked with support that this would help, and simply deleted and reinstalled the whole thing. It did help.
Sure, I ended up with a fresh WordPress install and it took me two hours to set the settings again and import the content again from my various dumb backup files (dumb because I’m pretty sure you don’t save website texts in .docx files and code in .txt files on your computer in lieu of a backup), but I did it on my own, without help. Which I didn’t hate at all. I mean, better than waiting several days for support to fix it for me and paying them for it. Also, be warned: hide your kids, wives and sites, I’m recuperating and considering further ventures into functions.php. I haven’t had enough.
I blogged before about a marketing software I use for work in an attempt (so far unsuccessful) to earn my living. I also mentioned how this software developers most likely hate me fiercely. I’m the poking and prying kind of person, so I check in regularly with them to report bugs.
I’m probably in love with what appears to be the chief engineer of this thing. We correspond regularly. I send him naughty screencasts—videos of what’s happening on my screen while I’m using the app—as proof of bugs being at their end and not me being an ignorant who misclicked and blames the machine. (Of course I am an ignorant in general, but not in this case in particular.)
My favourite engineer sometimes responds as early as within an hour after I announce a new bug to notify me that the bug has been fixed. That’s all nice, but I’m thinking (haha, I’m thinking) he should have programmed it properly in the first place so he wouldn’t have to fix it later. To show my appreciation, I prepared a lovely surprise for him during the weekend.
I set up the software so to send automatic welcome emails to all contacts in the address book. About 2.500 emails should have been sent. The behaviour of the app did strike me as unusual after I set this up but I blamed my own ignorance (see above for ignorance). Well, later I learned that my action took the company’s servers down. I’m such a badass.
It was yet another bug, which caused 27.000 emails to generate over the weekend. Nothing much happened—I mean, at my end, as the emails were never sent, they just kept on generating on the server. The company should get better servers. And better engineers. And better software testers, preferably me.
I’m perversely proud of myself. (I’m always proud of myself perversely and I’m most proud of my most perverted achievements.) See, you can give me any software and I’ll prove you it’s poorly programmed. Without any knowledge of programming. Sure, I can’t fix anything, but I’ll break things that you thought were foolproof.