“Heroku is a platform as a service (PaaS) that enables developers to build, run, and operate applications entirely in the cloud.” (Heroku)
Setting it up is quite easy, first you need to sign up for a free account:
Once you have a free account, you will need to download the Heroku Command Line Interface (CLI) here.
Sleep deprived as exams are approaching. I hate this feeling. Here I am, spending time studying instead of enjoying my bed. What can I do to ease my mind? I might be odd, but I find that coding is relaxing to me. As mentioned before, I love breaking and fixing stuff. The bug I chose (mozilla/thimble.mozilla.org#1887) doesn’t involve breaking, but it involves fixing! So let’s get started.
Fixing issue #1887
As mentioned by @pomax, if the user imports and existing file/folder, the conflicting item will be overwritten without notifying the user. The code for importing file/folder lies here.
Following the same pattern before, I chose 2 bugs that were not related to each other. Why do I keep doing this? I try not to be a picky developer. This way every bug is “new” to me and I’m able to better understand how the whole project works.
In this release, I fixed 2 old bugs (mozilla/thimble.mozilla.org#591 and mozilla/thimble.mozilla.org#889).
Fixing bug #591
As you can see, the issue with this bug is that, if a widget is open (In this case “Quick Edit” or “Quick Docs”), and the user opens it again, the widget closes and re-opens. The expected outcome should either be: “The opened widget closes” or “The widget stays open and nothing happens”. I choose the former.
In this release, I focused on 2 issues that were quite different from each other (adobe/brackets#11862 & mozilla/brackets#596). I’m always is the lookout for new things to learn, so by choosing 2 different issues, I was able to accomplish my goal and delivered 2 fixes.
Fixing this bug was really time consuming. Even though I didn’t write much code, I spent quite sometime thinking which file names are invalid and which are valid (I still don’t know if I’m right or not haha).
Here’s a scenario:
I have an important file named
file<3.txt. In Windows, this file name is invalid (Because of the char
<), but in macOS/Linux, this file name is valid! So… do I disallow
file<3.txt for every OS? Or just for Windows? Lets say I disallow it for Windows and I import a project that came from a macOS machine. If that project contained
file<3.txt, this file wont be imported. Do you see my conundrum? The user will be annoyed and clueless as to why the file is missing.
To avoid this issue, I disallowed
< in general (I’ve included other chars too).
This conundrum wasn’t even the main issue! The original issue was that users were able to “folder hop” by creating a file that contained a relative path in its name (Ex: A user created a file and named it “
../../file2.txt"). This allowed users to create files in unexpected places.
To fix this, I created a function that checked if the filename and file path where valid.
Bam! Now if the user gives a “bad” file name, Brackets will throw an error 🙂
I remember when I first installed Notepad++ on my computer. It was the best feeling in the world! It felt like I went in a time machine and jumped a few years ahead. A text editor with plugins? Colour scheme? Themes? Wow! What more can you ask for? In 2008, notepad++ changed who I was.
I never thought of using notepad++ as a development tool (I used it as a replacement for notepad). I was actually shocked and a bit annoyed (Still am) when I saw people use Notepad++ as a development tool (Use an IDE you fools!). It gets to me when someone asks for programming help and I see that they’re using Notepad++ as an IDE. Why?!?!
Putting my saltiness aside, a lot has changed since 2008. There are tons of other editors! Here are the 2 editors I’ve been using latelly and some of the best plugins for them.
Atom is an Open Source hackable text editor (As in, you can add/remove parts of it. Sort of like Legos). At this time, its free, and it has over 5,000 plugins! In the beginning I wasn’t comfortable with the layout. It felt like there’s were too many stuff on the screen. but once ignore it, Atom is actually a really nice editor.
Here are 3 cool plugins for Atom
You guessed it! It’s a colour picker! What’s cool about it is that you can change between outputs on the fly (RGB, HEX, etc). To access Color Picker, you press
C (macOS is
C). For some odd reason, those key combinations were already taken, so I had to change it to
E on my machine. It can easily be done under settings.