Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

Saturday, 28 October 2017

At The End Of Basic Front-End Dev Projects: My Current Issues w/FreeCodeCamp

Up until last week, FreeCodeCamp had been like a dream come true. It had brilliant small, measurable and achievable goals in order to help keep momentum in programming learning, even if you only had the energy for the smallest commitment in the day. It reminded me of the feeling I got when I very first coded with Codecademy: how simple it was to begin, as well as continue, straight from the homepage.



However, I have come to the end of the "Basic Front-End Development" block... And I've reached a sudden roadblock. Technically, yes, we should know everything we have been taught up to that point. I have a reasonable idea of how to use <div>'s and <div class>'s in order to group elements together. I even figured out, through my own research, the one thing I had always wondered... How to create a neat menu along the top, that also follows you as you scroll the page (it turns out it's just an unordered list, with some extra CSS!).

However, the biggest stumbling block was creating my own portfolio page. The "Tribute" project was much easier, as it was easy enough to create an "Ironic" page that incorporated the lyrics of Tenacious D's tribute. I found I completed a rudimentary page pretty quickly on my first attempt, without looking anything up.

Then I got to the Portfolio project. And, I put my hands up (as I increasingly regularly do): the biggest obstacle to my learning is that I am a top-tier perfectionist. If I know exactly what I want, I'll end up creating ridiculous amounts of work for myself to incorporate even the smallest, unimportant element... Even if it means I make no progress with the actual page.

This can be a helpful and important skill; as I mentioned, I have now learned something about creating navigation bars which, even weeks after first learning it, hasn't left me. The problem came when I really wanted that bar to contain a "now playing" section, displaying my currently playing Last.FM track.

In a nutshell, the biggest problem in creating a portfolio for myself is my own ridiculous set of standards. The task was significantly easier when I forced myself into the easier task of emulating my brother's stylish website... But even then, I came up with problems like trying to get a navigation bar centred, and the problems that developed with page colouring when I attempted that.

More than that, I feel as if FreeCodeCamp went from being a course that was very easy to follow, with gamification seemingly ingrained into its soul, to a task where I was suddenly thrown at the deep end. Again, technically this is stuff I have just been taught. But I feel the course could have benefited from another guided example for creating an entire web page within its learning environment (maybe with fewer hints and cues) before asking us to create our own site.

The thing is... I do have a rudimentary Portfolio page created from this as well. And I have made the decision just to submit it; as I know doing so will get me out of this rut, and looking at the continuing course, it goes back to the format of small, achievable tasks.  I intend to go back and improve it as I become more knowledgeable, as well as e-mail/submit this in some way to help improve the course (hell, I would even be willing to help create the learning materials for it).

Anyway, here I present https://glitchwalker.github.io (oh, yeah, I used GitHub instead of the site they suggested; as I already have it set up to update game mod projects, and I preferred the workflow of having the entire site working and editable on my own computer already).

Free Code Camp is free to use and is available at https://www.freecodecamp.org. The learning materials are also open source, and free to use within any setting.

Friday, 20 October 2017

Free Code Camp Is Like The Codacademy I Used To Remember

I have no idea why I didn't use this sooner; I had been subscribed to the FreeCodeCamp Blog for a few months now, as it had lots of little bits of coding news and things like that. I honestly thought it was solely a blog with new ideas on, and maybe a little side community!



However, the main FreeCodeCamp itself is made up of it's free main web design "certification" course, alongside local communities and a scheme in which you can contribute coding to non-profits later on in said course. I nags you once for a donation, near the beginning of the course itself, and that's it.

And I have to say I am impressed. It reminds me of the old design of Codecademy, which would encourage you to start learning from the homepage itself. Although FCC isn't quite from the homepage (there are a couple of pages of logging in and introduction to the site itself), the barriers between the homepage and learning are very small, and you start earning challenge points from your first log in.

This challenge point thing is the one idea that keeps me coming back to FCC at the moment... Each goal is incredibly small, maybe change a piece of code here or there (based on a similar example in the learning materials)... So it's very quick to delve in and start learning, even if there has been some time between learning sessions. This has the effect of making it much more likely you will return to it, and means you're also likely to learn for much longer. This is the kind of concept I hadn't quite been able to find up to now... But FreeCodeCamp definitely ticks the boxes for accessibility and ease of use.

Friday, 6 October 2017

The Big Problem with Gamification, GTD, Task Lists, Motivation...

Task lists are great. There's an abundance of research that shows even ticking a box for the smallest of goals fires off all kinds of chemicals that make you feel good and encourage you to complete (and create!) more tasks than you can possibly imagine. Meanwhile, sites like DuoLingo and KhanAcademy keep a tally of how many days in a row you have engaged with the sites, reinforcing ongoing interaction with them and keeping the consistency of visits up (resulting in more effective learning).



The biggest problem is when that consistency is broken. From this week, I'm going to be involved in work away from home potentially two days a week. Having come back from my first week of this new routine, I have found my previously unblemmished record of learning now replaced with an empty hole for one of the days.

Now, DuoLingo offered a cheeky solution for keeping my streak intact by paying nearly £3 to restore it. I understand they are ultimately a business, and to be fair it isn't too different to those apps that lock away your internet so it isn't a distraction; unlocking it either at a fixed time or by paying a fee to the company. However these ultimately frustrate me, as I'd rather pay money to a charity for missing my goals than paying the priviledge for a company to reduce my services.

On top of that, it is only a solution for my use of that one site... It doesn't fix my record for sites like TypingClub or KhanAcademy (although these two visualise your learning in a better way, either as an average of a week like TypingClub or showing your stats for a month as well as daily, like Khan).

I therefore wanted to announce a new project tentatively called Goalst. It is an app that aims to do one thing: enable you to focus on a single preset task consistently every day... Or a one-task task-list. It specifically needs to be the easiest possible task you can think of.

This is for two reasons: firstly, and I can say this from experience, in the depths of depression sometimes even getting dressed, getting washed, or brushing your teeth can be forgotten. For the longest time my "Goalst" has been simply to brush my teeth. Which sounds ridiculous. But, by being the smallest possible goal I can think of, it's incredibly easy to convince myself to do and earn myself a success. It is one bonus to my health and wellbeing that, at times, would not otherwise be achieved if it wasn't for the sake of ticking a box.

The second thing is that single act of ticking a box, regardless of how easy, starts that chain reaction of chemicals I mentioned earlier. It motivates you to add more tasks, and can kickstart you to keep your consistency with more difficult tasks. For the average person it's a catalyst to keep to your other goals... To someone in a mental health crisis, I think the benefits are also obvious.

The aim of the app will be solely on that one task... It will specifically not offer any kind of integration with other app systems, or more than one task. The whole point is anyone can slot it into whatever organisation system (if any) a person has, so a person can open a clean interface with nothing but a tickbox and no horrifying stack of tasks. I might include features to keep a streak or show stats for the month, as well as a "start anew" button (for people who haven't used it in a while because they haven't needed it, and want to start afresh). I may even include some way to push the completed task to other task list sites, but the point isn't to replace these sites nor to rely on them as part of your system; it is meant for periods of "Crisis" in your life (whether it is extreme anxierty, or even procrastination... Whatever a crisis in not meeting your life goals is to you).

Anyway. I'll start coming up with designs... I understand the logic to code it, but still need to learn more on how to code an interface (in Python).

Monday, 2 October 2017

GameHut Channel on Youtube Offers Wealth of Info on SEGA Genesis Game Programming

This is just a very quick shout out to a Youtube channel I discovered today that has some excellent videos from a former Travellers Tales (now Tt Games) employee. Calling himself GameHut, I was drawn to his videos after watching how they cut Sonic 3-D Blast into two pieces so that it could be downloaded from SEGA's early internet service Seganet onto a Genesis. Then, straight after, I saw another video explaining how wiggling the full Sonic 3-D cartridge on a live console activated the level select, thanks to some ingenius debugging code.

The beauty of the videos is, even though it jumps into the deep end of code in some places, he explains everything in a way just about anyone who has turned a computer on can understand.

Even though it is at a much lower level than what I am learning at the moment, it was still interesting to see what is actually being done at a lower level. Also, thanks to this video explaining how 3-D was achieved on a beta Toy Story 3-D stage, I now have a much better understanding of how they created the illusion of 3-D on a Genesis (as well as how games like Wolfenstein achieve this).


EDIT: Posted wrong Toy Story video (although it's still very interesting, so I'll leave the wrong link up still underneath this)


Learn Python the Hard Way Exercise Solutions Now On My Github

Call it the "gamification of Github", but interestingly one of the motivators for me to continue studying a programming language was the little indicator that shows how much activity you have contributed to your projects each day under your account. Without uploading my progress there, I felt a little stifled... Whereas before I could see the progress I had taken each day.

I was thinking how to do it, and decided to just upload the contents of my exercise folder to Github. Mostly as a mark of my own progress, but also for anyone to poke around who might be struggling on the same course, or just looking for alternative solutions, or whatever. At some point I intend to give the full contents human readable comments for each line (at present maybe three quarters of the files are fully commented).

Needless to say, I'm mostly loving the book, and felt the end of the first section of the book (up to exercise 26) was the perfect time to upload my progress so far. Even though most of the information in those exercises I already knew, what sets the course apart is it fully deconstructs each new topic you over over a number of exercises, so you know inside-out how to implement it before moving on. The focus on forcing you to type it rather than just copying and pasting is annoying initially, but it gives me a better understanding of the code line-by-line and what it should look like (although I'll tell a secret, I didn't do things like memorise my own dictionary, it seemed overkill when I was also commenting line-by-line and hadn't run into anything I needed to look up).

Again, the idea of "trying to break the code" seems non-sensical to me, as there are an infinite amount of ways to break it... Trying to aim for collecting many different kinds of errors seems tedious as well. Instead, I've been trying to mod and hack the code with as many of the skills I've learned as possible and still keep it working... e.g. adding lots of user inputs, moving repeated lines of code into functions, doing the same thing a different way with other things I've picked up from my other attempt to learn Python. It seems akin to taking apart an engine and putting it back together in order to learn the mechanics of it- and I think it's great.

My exercises from the course are available on GitHub.. Also, the course I am now following is "Learn Python The Hard Way" by Zed A. Shaw

Friday, 29 September 2017

Learn Python 3 The Hard Way: Initial Thoughts

I'm on exercise 15 now, and I'm finding I really enjoy it. It's going slow enough that I feel I can write something from scratch from the concepts I've already learned, and actively encourages hacking and breaking the initial code.

My only complaint is I'm not sure I like the snarky attitude of the author. I hope it's meant to be humourous, as I would really despise him as a tutor. It's very right side/black and white/arrogant thinking that seems to permeate some of the web development scene, which discourages questions and discussion and focuses solely on a RTFM approach. It's an approach I feel puts a lot of people off learning programming or getting more involved, as different people have different ways of internalising difficult concepts. He even says himself to not just stare at code but interact with it and print more outputs to diagnose what's wrong rather than just staring at it... And yet tells people to just "do as he says" rather than ask questions, which seems rather hypocritical. Also, on the one hand he chastises experimentation from "actual" questions he has received ("You shouldn't do that and just write it like I originally said"), and yet simultaneously chastises those who haven't taken time to experiment or break the code.

Again, I hope it's meant mostly in jest. Otherwise he really comes across a dick.

I'm still figuring out the best way to integrate the new course with my GitHub, nonetheless, the old work is still available there. Also, the course I am now following is "Learn Python The Hard Way" by Zed A. Shaw

Move to Learn Python the Hard Way

I had my last straw with the "Python Beginner to Advanced" course today. It was after I finished a task on API calls using POST requests to the Google URL minimizer. I thought I'd take what I learned to attempt some fancy stuff with my Last.FM library (or even basic stuff)... Yet realised I actually knew very little about what I needed to go. I had a decent, surface-level understanding... But couldn't get anything to work. I realised I needed a course a little deeper. I finally lost it with that course.

So first I tried Codecademy... Which gave me my very, very first coding experience years ago with its intuitive interface. I progressed fairly well, then we got to booleans. They seemed to think the best way to explain it was to copy, word for word, the code they had already explained before you actually type it. So you end up typing stuff you already know, just to get the tick and move on. Don't get me wrong; the course I ended up going with takes pride in asking you to type and retype verbatim what is written. But it at least leaves you to test it first before explaining why it works, then it makes sure you investigate yourself why it works (or, if there's a bug, doesn't work). I was so switched off with Codecademy I left an angry message on their feedback forum... Then hunted elsewhere.

I decided to focus on Learn Python3 The Hard Way for a number of reasons. Firstly... The website looks pretty. Joking; I mean, it's a pretty website, but I'd heard a lot of good things about the course. Not only that, but when I read through the materials earlier in the year it really appealed to my desire to understand code inside-out, rather than just copying snippets "because it works". Even though maybe 90% of the stuff I covered in the first 10 or so exercises was already information I knew, I appreciated the focus on encouraging me to comment each line of code in order to explain exactly what is going on. I felt like some of these ideas on what might be happening were finally given some form... Not only that, but I now feel much more confident creating something very basic from scratch than I ever did following the "Ums" and "Ahs" of the main course I'd been featuring up to now. The flow of activities often includes researching Google for the meaning of something, then coming back and integrating that with what I have already worked on (not that it should be mistaken for laziness on the author's part; he often has the concepts explained in a future exercise). There is also a great focus on hacking and "breaking" your code... The breaking part I find tedious I admit... I mean, I get he's getting us tuned onto debugging and figuring out what's wrong myself. But often I'm pretty honed in on where I make a mistake already just from the error messages I'm left with. Instead, I take "find ways to break your code" to mean hacking it so its purpose and operations become something entirely different from what was initially coded... And including inappropriate expletives wherever I can.

That being said, I have felt extremely lethargic today. Maybe it has been from focusing more on courses in the last week then I have done in a long, long time. I'm surprised I typed as much as I did for this post, as I just feel slow at this moment.

I'm still figuring out the best way to integrate the new course with my GitHub, nonetheless, the old work is still available there. Also, the course I am now following is "Learn Python The Hard Way" by Zed A. Shaw

Tuesday, 26 September 2017

Python App 2: Working, animated HP bars + Working items + building my Party!

Firstly, I think I'm in a fair position now to offer some constructive criticism of the course. Although it is amazing that in the 10 years since leaving school this is the first course I have finally gotten more than a quarter through, let alone genuinely learning a programming language finally in my life, I sometimes find the lack of certainty frustrating. It would be one thing if it were a real lecture, but leaving in mistakes rather than editing them out doesn't help my own confidence in what I have learned. Especially when one or two mistakes broke the game I was working on (even more frustrating as I tend to deviate slightly, at least once making me think it was my own fault before rewatching and realising his error). It would be one thing if it was an end of video test to spot a deliberate error, but I should at least be able to trust the tutor's own code as a barometer with which to measure my own (especially for an absolute beginner).

I have turned it into somewhat of a game, where I pause the video and try to spot the error myself first, but still. It makes the learning experience needlessly difficult and harder to grasp. I don't want these words to be taken as slagging off the course, as on the other hand I enjoy the more conversational style. It means I can, generally, follow along. One other minor frustration is that he tends to have the program front and center on his recordings, wheras I would prefer either to have it only covering one one half of the screen (so I can code along with it on the other side), or to have the video tall and fill the entire screen, so I can snap it to one of the sides.



Now that is out of the way, onto what I was learning today. Firstly, I implemented some proper item usage code. Because I had already created a "charge" function (is function the right word? I get a little confused with the lingo, I mean something that works something out and comes back to you), I could use that for mp healing items too. I also replaced some of my own code with his, to do with only healing max hp/mp for elixers (rather than just healing a blanket 9999MP, which had the same effect but looked strange when the status came up as that on healing to max... It looks cleaner just having "fully restore mp".

After that, it was a kind of combined task to create animated statusbars with adding new party members. In some ways they went hand-in-hand with each other, and to my surprise it was increadiblyeasy (you just use classes, which act like a metaphorical "mould" when there is more than one of something, like characters). It was interesting seeing how to make the code cleaner by only calling a few lines of code a number of times (rather than copying and pasting that same piece of code multiple times, which is inefficient and results in a longer, and uglier, document).

It was quite a similar experience creating the hp bars. There is actually only one code for what a Name/HP/MP bar looks like... Then, for every character, it peeks at that template, and adds the character's own stats to it.  Again, it was fascinating seeing solutions to problems I'd never even considered when sat at home playing games. I mean, if I thought about it logically I'd probably imagine it look something similar, but it's cool to implement these things myself and have them do the work for me.

My one frustration was... name lengths. I wasted a great deal of time trying to figure out how to deliver a fixed 9 character field for names on the HP bar, so they are laid out in something like a table rather than all over the place (and so, when a status update is posted like "Ronius attacks for 85!" it doesn't end up appearing "Ronius    attacks for 85!". I gave up in the end... Which is maybe for the best, seeing as I want to somehow give this more of a GUI for Android and Windows (using Kivy), which will likely require an entirely different solution!

As usual, my code is available to peruse and learn from at my GitHub page.  The course I am learning from is Nick Germaine's "The Complete Python Course: Beginner to Advanced!" Available at StackSkills.

Monday, 25 September 2017

Python App 2: Magic Class, Fixing Heals and Charge MP magic type!

It's a pretty awesome feeling when you first use what you have learned to fumble around the code and create something entirely new.



The last lesson I completed was to do with moving magic into its own class rather than the main script. And, although the tutor nearly broke his (and my) game because of a mistake he made in the video, I managed to finish it successfully. I then realised I hadn't included a "heal" function for my Player... So I hacked it together, using some of the code for dealing damage, and replacing the minus sign with a plus. I also added an "if" statement that set the hp to maxhp if the HP went above that amount (effectively capping the HP to whatever the max is.

As such, the magic code looked like this:

...
def take_damage(self, dmg):
self.hp -= dmg
if self.hp < 0:
self.hp = 0
return self.hp

def heal(self, dmg):
self.hp += dmg
if self.hp > self.maxhp:
self.hp = self.maxhp

...
 I then added a line to my main code copying the black magic code but replacing it as such:


...
if spell.type == "white":
player.heal(magic_dmg)
print(bcolors.OKBLUE + "\n" + spell.name + " heals for", str(magic_dmg), "HP." + bcolors.ENDC)
elif spell.type == "black":
enemy.take_damage(magic_dmg)
print(bcolors.OKBLUE + "\n" + spell.name + " attacks for", str(magic_dmg), "HP." + bcolors.ENDC)
...

Feeling pleased with my work, I decided to create a magic that charges some MP called Pray (at a 0MP cost); first I created another copy of the heal code, but tweaked it as such:

...
def charge(self, dmg):
self.mp += dmg
if self.mp > self.maxmp:
self.mp = self.maxmp
...

And then finished by adding an extra line to the main script:

...
elif spell.type == "charge":

player.charge(magic_dmg)
print(bcolors.OKBLUE + "\n" + spell.name + " charges", str(magic_dmg), "MP." + bcolors.ENDC)
...

And... Well, it worked! Which astounded me! It may be a tiny thing, but it shows me that I'm actually learning the ropes and create my own deviations rather than purely copying/pasting code! It appears I'm actually understanding it!

As usual, my code is available to peruse and learn from at my GitHub page.  The course I am learning from is Nick Germaine's "The Complete Python Course: Beginner to Advanced!" Available at StackSkills.

Sunday, 24 September 2017

Typing Club and Touch Typing

So, in my current educated-oriented mood, I decided to broaden my horizons. I have been an avid use of Pocket (known years ago as Read it later) for a number of years now, mostly as a repository of all the articles I've read (as, inevitably, I would lose articles that might be useful for academic argument... Or pointless internet arguments...) but also as time went on for reading things later. I was also probably one of the few people that loved Mozilla's decision to purchase and integrate Pocket into Firefox, and also quite like Pocket recommendations (one of the rare places you can find curated, intelligent, content I've found... Like a Google News/Facebook Feed of more in-depth articles... And zero Daily Mail). Anyway, this suggestion for additional learning came from one of those recommendations.

It is an article about someone who recently learned to touch-type at 29, and how it has improved his workflow as a programmer. Fitting the bill of being both 29 and learning programming, it seemed to make sense I may as well try to start learning touch-typing as well. It's something I'll aim to do daily, alongside my programming course.



My first thoughts when visiting the aptly named TypingClub were that it was very reminiscent of DuoLingo from its home page. It is clear they have gone for a similar gamification route (where tasks are cut up into small 3 minute chunks, and you are given "badges" or achievements for doing a certain amount each day). That is fine by me; I have seen through learning German that Gamifying it turns it from a chore to something incredibly addictive, that you can quickly dip in and out of (usually meaning you end up spending more time with it each day than you might have done learning traditionally, because of its easy pick-up-and-play design). My only gripe is it doesn't quite have the polish of DuoLingo in some places... The results screen looks pretty ugly, and isn't helped by having an ad at the bottom. Although I guess it is better to have it on your results, rather than while you're trying to type!!

Starting from the beginning turns your keyboard from that familiar thing you can just about "pretend" to touch type, to something entirely alien where you find yourself constantly pausing to think where the next key is, and constantly hitting the wrong key because of muscle memory. And yet, as you start learning more finger/key placements, you slowly find something "clicks", like something is being reconnected in your brain, and you start to find the placements tallying up with that map in your brain again... Just that the map now covers all your fingers, rather than a few. Seriously though, those first couple of sessions learning to touch-type just random combinations of F and J repeatedly feel so alien... Suddenly it's like the letters look completely unfamiliar, the keyboard feels unfamiliar; it's so strange to think how our brains chunk up the words and know how to spell those words from that muscle memory, whilst changing up how you type completely shatters all that and feels like you're relearning to type all over again.

Anyway, I ended up spending 20 minutes with an average typing speed of 14wpm, which interestingly was consistently well above the minimum speed to pass. It doesn't compare with the 40wpm I can type while writing this (I most certainly didn't write this post as slow as my touch-typing speed!), but hopefully it will make this one task that takes up most of my life more efficient.

Python App 3: "Plong" For Windows



Another common problem I find with learning a programming language is how far you really need to get into learning a language before you get any useful returns in creating anything that even resembles an everyday Windows/Android game.

So, I was desperate to move on to something as an "Interlude" to my second Python app to investigate how difficult it actually would be to port some form of Python code into a ".exe" or ".apk" we are used to.

In my investigation, I discovered Kivy... Which acts as a library to create and compile apps to Windows, iPhone, Linux, Android and pretty much anything else you could name. So I dived into their Pong Game Tutorial

It was refreshingly simple to set up, as I had already used pip to set up PyCharm (pip feeling very similar to how something like apt-get works). Installing everything I needed was a breeze... Even typing, running and making changes to their code was quite easy considering I'd already had some deeper experience of Python now under my belt... I was probably at about the right part of my education to start "experimenting"!

The only fiddly part was subsequently completing their tutorial to Create A Package For Windows, only really fiddly because you had to manually park command prompt in the empty folder you wanted to compile to, manually add a name in the command you type in then manually edit the created ".spec" file to include the files of your project. I mean really it was easy stuff too, although used to the ease of projects up to now I only question why no-one has simplified this experience as of yet. Equally, it finally made me feel like doing "real" coding.

It spat out a "Plong.exe" file, I launched it... And it ran exactly as it did in PyCharm! Finally, I had created my first ever application! There are some things that niggle me, like the command prompt that opens before the actual game which I wish I could silence (saying that even Steam Games such as Metal Gear Solid V do the same thing). There is also the small fact it isn't completely mine, it is largely the unedited code from their website at the moment as I wanted to quickly progress to actually compiling the thing. But, actually, if you're an intermediate at computing like me (and barely an intermediate at programming) you'll actually find the whole compilation process pretty simple.

Plong.exe is available at https://github.com/GlitchWalker/Python-and-Kivy-Pong-Game/releases, and as always my source code is available at my GitHub

Python App 2: Adding a Magic and Game Over System

I have continued bulldozing through the course today, and my silly text RPG now has a magic system as well as a way to get a "Game Over". The application now starts straight into an enemy battle, and the played character has a limited amount of HP/MP, along with the enemy having a limited amount of HP. The application ends when either the player's hp or the enemy's hp reaches 0.



The biggest problem I'm finding is the same thing I bump into learning programming in the past: The further I go into it, the less in control I feel of the code and understanding what it does. All I have been doing mostly is copying almost verbatim the instructors code- although I do seem quick at finding typo errors when it doesn't run properly. I have also made my own changes to the program, such as making the text detailing enemy and player hp/mp stand out more, and giving different colours to the instructor (so text involving magic or MP are universally blue, for example).

I suppose these are the bugbears of learning anything unfamiliar. The thing is I know each of the systems individually and how and why they work. It's just, as a whole, I would have difficulty tracking down how or why a certain part of the code does a certain thing, without spending 30 seconds or so reading through it and remembering what each part of the code does. Still, the fact I can make little changes that work out how I want them to shows I must understand what I am coding on some level?

As usual, the code is available for study at: https://github.com/GlitchWalker/Python-RPG/

Saturday, 23 September 2017

Python App 2: A simple RPG



Astonishingly enough, I kept to my word. I spent some more time on the beginner to advanced Python course at Stackskills, learnt some "advanced techniques", and am now on the second project. As my title indeed suggests, its aim is to create a simple text-based RPG. The code I'm working on is of course available at my Github page although be warned that for the time being it simply includes some of the character set-up code.

I have also spent some time sprucing up the Blog, seeing as it was based on code some seven years old. First I reset to the default dynamic theme- which still looks, surprisingly,  modern. My next step is to add silly little features like a Last.fm "Now Playing" widget if I am listening to music, and to add back some colour to the defaults. Gone is the snot green- I'm likely to go with either purple or red. I've also changed the font to the beautiful and easier to read Fira Sans, based on the Firefox logo font and also used in the short-lived Firefox OS.

Thursday, 21 September 2017

My First Python App: The Vulgar Calculator

So I finally pulled myself out of a bit of a slump, and spent a (relatively) substantial amount of time learning the Python programming language (for those interested, it is the "Complete Python Course: Beginner to Advanced!" available at http://stackskills.com).

I name it "The Vulgar Calculator"; which is my programming equivalent of learning all the rude words when you first learn a foreign human language.



It is available on a GitHub repository I created to put my learning projects on, aptly named Python_Learnings).I will be (hopefully) uploading more of my projects there as I continue the course- the next project is to create a text RPG, which is actually pretty exciting and right down my alley!

Hopefully I will progress through it.

Friday, 25 August 2017

Glitch Walking MGSV; modding, hacks... and Lisa Decoy from PT!

Firstly, shoutouts to TinManTex and Lakitouille for creating some brilliant mods and experiences for MGSV.

I basically spent most of last night playing with Lakitouille's frightening and brilliant Lisa Decoy mod, putting her in spots like the Afghanistan Abandoned Village and Central Africa's Industrial area..

You can watch the streams on my Youtube Channel, or right here:


and:


Tuesday, 26 February 2013

New Interface For Firefox Mobile Nightly Version 22

I don't deny I love living on the edge when it comes to software like Firefox. There's something cool about saying "Haha, I saw it first!" And seeing what new surprises await.

I updated my Nightly version of Firefox today to find they seem to have overhauled the interface. The tab menu is now in the top right, and when tapped the open tabs are now arranged as horizontal screenshot icons rather than the focus being on a vertical list.

The interface isn't complete, however, as tapping the sync button shows. The menu of tabs on other computers is hidden underneath the awesomebar, making it impossible to access some of them. However this is the development version, so bugs are yet to be ironed out.

Feeling adventurous? Check it out on the Firefox Nightly Website.



EDIT: After trying the nightly on my Nexus 4, it turns out the interface upgrade is only for the tablet version of Android.