Skip to main content

Jupyter / Mario using ipythonblocks

It's me, MARIO! - Made using ipythonblocks inside Jupyter

So far, my programming experience using Python inside Jupyter Notebook has been really exciting for the last few days. Well, it's totally unlike my previous exploration where I need to start from writing on text and trying to run the program from Terminal / Command Prompt.

To reach the state where I am , there are quite some "hickups" along the way, here are my personal Python history:
  • I use Windows mainly on my main computer. I do have MacBookPro laptop and familiar with OS X. When I decided to start learning Python, I was shocked that Windows 7 do not have Python installed by default. 
  • So, for Windows, we are very likely need to install our own Python, from the official Python website, we can easily download and install Python. However, you will find there are Python 2.7 and Python 3.5. Be aware of those two.
  • Apple OS X has Python pre-installed and the working environment is Linux like. Mac OS X user will eventually be familiar with Terminal and Bash and all that.
  • Soon enough, we will learn that to write Python, we cannot rely on IDLE, we need proper Text Editor with syntax highlighting. So I actually choose Sublime Text. And still my favourite. With Sublime Text, we can instantly build Python code and run from its awesome text editor.
  • Beginners, will also eventually learn to install Python module, using PIP. 
  • Here and there, we will find that sometimes we need Python 2 and sometimes Python 3, many old modules are compatible only for Python 2, not Python 3. It could be painful, but there are always solutions.
  • Fast forward, few years later today, things are slowly heading to Python 3. 
  • Now, it's early 2016, and I got the first taste of iPython Notebook, which is already a Jupyter Notebook incarnation, and I think for me this changes everything!
I gotta say, Jupyter Notebook is just another tool, but a pretty good one. Maybe beginner programmer, intermediate or expert could find this so called "narrative programming" notebook quite interesting and useful especially for self-learning or for presenting the fun side of programming.

SO MANY MODULES SO LITTLE TIME...

There are MANY modules for Python out there. It's a blessing and curse.

Some modules are outdated, some are more popular than the rest. If you are reading many Python books at libraries, occasionally the book requires you to use their Python "module" to help explaining the contents of the book, which is all basically about programming and Python.

Random explorations... and programming can get exhausting really fast. We need some kind of aim here. So, again back to my original drive to write this blog: to find the meaning in general programming.
  • I always have BIG interest in Design and Visualization, especially using computer aid and programming to make data looks beautiful (ok, mostly data can be boring, but we need to see far beyond spreadsheet)
  • I am particularly impressed by Wolfram Language and Knowledge Based, I think Stephen Wolfram has interesting vision about computing.
  • Interactive programming is very interesting. Not that I am lack of patient, but it is in tandem with Bret Victor thinking.
  • I love Python programming language (Python is also somewhat applicable for my professional career as CG artist, Python is used in Blender, Nuke, Maya, Houdini, etc)
  • I just love learning and discovering, observing tools and see what the tool can do, and how it works, maybe I could come up with something interesting.
So for above reasons, I am still continuously happy to drill programming. Not that I am planning to be an expert in programming. In fact quite the opposite, I am still a noob, but a curious noob.

I'm just hoping that I keep finding the right path.

START WITH DRAWING PIXELS...

Now, if you are following this blog from the start, I actually was not planning to use Jupyter Notebook. This blog was originally going to be my notes on Wolfram Language and Wolfram Alpha and maybe to store my random thought on all kind of programming language I have interest in (Python, Processing, ChucK).

However, by accident, I stumbled into iPython Notebook / Jupyter Notebook while exploring Python for Data Science. It's another very lucky accident.

I <3 EMOJI
Some computer users got into programming because they love to see moving colorful pixel on screen. I am one of them. And computer can make sound and even imitate robotic or natural human voice and produce 3D graphics animation (check Blender open source 3D, that also uses Python).



Funnily enough, the other day I stumbled into this one interesting module. Simple basic module to drill and understand some Python concepts, and you can use blocks of color (like pixel):


So, ok for the most basic, you can start by exploring PIXEL and COLOR using ipythonblocks. Create some interesting patterns. Share it. Study how other makes a certain pattern. Get used to the idea of grid and list and loop.
http://ipythonblocks.org/

Once again, Jupyter Notebook is great for this because it allows user to write program code, quick snippet of script, to write notes, and to see the INPUT - OUTPUT, interactively, and directly inside a single note. Make a habit of writing and documenting your programming journey. Organization and writing down notes, or drawing doodles along the way are actually as important as the destination.

Jupter Notebook is a simple workflow, but quite brilliant.






Comments

Popular posts from this blog

PYTHON / OpenCV, Recreate Uncanny Manga - Anime Style

Can you tell what it is? Computer Vision. Yesterday, I spend almost whole day exploring this opencv module using Python. What I discovered was revealing. Even at the very basic level, I could produce some interesting Image and Video manipulation using all the code collected from documentation and many, many blog tutorials. If you are a total noob like me, I am still getting used to knowing that the CV in OpenCV means Computer Vision! Actuallly, I recalled that I did try to get into OpenCV few years back ago, when I knew no Python and when Python opencv module was probably still early. It was all C++ code and it was a little bit too hard for me. I read a couple of books about opencv at the library, I did not understand a single thing. That was back then. Today, for strange reason, with a bit of knowledge of Python, I can go a little further. EDGE DETECT IN OPENCV Me holding you know what. What leads me this far is my curiosity on how we can replicate Wolfram Langu...

WOLFRAM / Making Text With Rainbow Color

Continuing with my Wolfram Mathematica Trial Experience... I watched and went through some more Mathematica introduction videos, read lots of Mathematica documentation and also going through the Wolfram Lab Online again a few times. There are some major learning curves and Mathematica is a lot different from normal programming language. Sometimes there is a lot of interesting "shortcuts", say like: FindFaces[] , WordCloud[] . Sometimes I got a little confused on how one can do iterations. Normally FOR LOOP concept is introduced early, but in Wolfram, because everything is EXPRESSIONS and ENTITY (like OBJECTS), sometimes it gets quite quirky. Mind you I am still in the first impression and having to look at many tutorials. Lots of NEAT EXAMPLES from documentation, but sometimes I got lost. I found Wolfram to be really awesome with LIST and generating list. It's almost too easy when it works visually. I cannot explain them with my own words yet, but there are ...

PYTHON PROCESSING / It only really begins ...

Back into Processing again, with Python! While Daniel Shiffman is continuously inspiring us with his CODING TRAIN series on YouTube, using Processing with Java and Javascript language, I decided to free my mind and trying to really do something using Processing and Python language. Installing Python language version on Processing 3 is easy enough, just first download the latest Processing and install the Python language mode via Add Mode button. Other link that might help: https://github.com/jdf/processing.py http://py.processing.org/tutorials/ BLANK MODE As soon as Processing Python Mode, opens up and running I am presented with a  blank environment. Suddenly I recalled my journey in learning programming from zero until now... With Python, outside Processing, commonly people will be introduced to Python IDE or IDLE environment. Something that looks like Console Window or Command Prompt, where we type single liners command. Python Command Line and IDE normally ha...