I started my internship in Braunschweig… 10 years after Munich, I face
different problems. Munich is a big city…
Braunschweig has 250 thousand inhabitants. The structure is very good,
but unlike Munich, you can’t do everything with just English :-(
10 years older, learning German isn’t as fun anymore. The lack of
new things makes everything turn into routine really fast. At least it’s
raining less than in Mons :-D
Genesis of Computing
As I’m almost forced to program in Java again, here’s the joke:
At the beginning, there were no computers, only machines.
The machines existed, but the logic was limited.
Man harnessed electricity and transformed it into digital signals capable of transporting information.
Everything was null, just 0 bits.
Then came the 1 bits.
Logic emerged.
But the 0 and 1 bits were alone, and the byte was created to group them together.
The Era of Javascript
My first contacts with Javascript date back to a distant era, when Netscape was the most popular browser on the Internet! I used a Sun server and studied a product called Netscape One, which came with a server-side scripting technology called LiveScript. It was also available in the browser, but it didn’t do much back then. The hot technologies were CGI and SSI. I was also interested in the novelty of the moment, PHP 3! If my memory doesn’t fail me, I’m talking about the period from 95 to 98.
Khan on TED
I’m still impressed by Khan Academy. Fantastic tool for those who need to review and learn math, physics, etc., concepts. Now he tackles problems of leveling between students with different learning rhythms. When will we have this type of initiative in Portuguese? Videos and not mini soap operas! The potential of video lessons, with playback controlled by students is interesting, even in areas without Internet or infrastructure for live video classes.
Program or Be Programmed
I saw this video last year, but since it didn’t have Portuguese subtitles… I didn’t post it here.
However, even without subtitles, these ideas couldn’t be left without a brief comment.
Watch the video:
Douglas Rushkoff presents the importance of programming knowledge in modern times.
Not that he advocates for a world of programmers or addresses a specific programming language X or Y.
What’s fantastic about the video is the relationship between the invention of writing, programming, and modern media.
From the early sharing of knowledge through writing, books, and then with the modern printing press, he compares citizen access to each of these forms of transmitting knowledge. How that knowledge was controlled and distributed among common people and how society always lagged behind in new technologies for producing and distributing this same knowledge.
Book on Introduction to Programming with Python is Now Available for Sale
There’s nothing like a cold and snowy night to get the blog up-to-date!
My programming book was published by Editora Novatec and is now available for sale.
I created a page about the book, with links to bookstores and contact emails:
The book was written in such a way as to introduce new concepts gradually, with examples and exercises. When I started teaching, I taught Basic and Pascal. With Basic, there was the problem of line numbers. With Pascal, semicolons… it was too much to write before starting to program. In these cases, using a clear and simple pseudo-code, free from excessive symbols was interesting.
I avoided using pseudo-code or flowcharts, as I believe that when learning to program, it’s best to get straight to the point. With the Python language, everything becomes much simpler. Writing in pseudo-code can even be more complicated than writing in Python!
The reader/student needs to see something happening to continue studying. The important thing is to know how to read the program and understand what will happen when the program is executed. I really believe that the student should know if the program is correct before executing it. Execution is only a confirmation. A section on tracking was included in the book, to preserve this important step in learning programming.
A video about education
Thinking:
Available with Portuguese subtitles and other languages.
Click on View Subtitles and then on Portuguese (Brazil).
How Not to Develop Software
I’ve never seen two programmers develop the same program in the same way. Saying what’s right in software development is very difficult, it all depends on the currents of thought you follow.
Object-oriented programming, script fanatics, functional programming? There’s room for everyone and no one escapes various symptoms described here.
Some things are so bad that even in a “hot” topic like software development, there can be a consensus. I’m going to report some of the worst practices I’ve seen because I believe they’re quite common, especially with new technologies, the Internet, and open-source code. The larger the development team, the more frequent these small problems become. This post aims to report some experiences with scientific rigor similar to a bar conversation. All statements are relative and depend on the reader’s mood. Everything should be taken with several pinches of salt and humor. I warned you!
Reading PDF Books
A problem I’ve always had with PDF books is marking the point where I left off reading to continue later. Over the past few years, PDF books have become popular and I primarily consume books from Pragmatic Programmers in this format. A simple 5- or 10-page PDF document can be read in a matter of minutes, but a 500- or 600-page book cannot be consumed at once. It’s in these cases that an adapted reader is necessary.
Configuring BIND to Use the Google Public DNS Server
Google recently launched the Google Public DNS, aimed at increasing the speed of Internet name resolution.
DNS (Domain Name System) resolution is responsible for converting a website’s name into an IP address (www.google.com -> 64.233.163.163). This service is used whenever your computer needs an Internet address. Every time a new name is converted into an IP address, the result of this conversion is stored in a quick access table on your computer to speed up future accesses, or simply put, a cache.