This Week I Learned - 2016 Week 01

In case you miss out, last week post.

#1 Flowgorithm: Flowchart Programming IDE. Creating application using simple flowcharts, yet another level of abstraction for coding. Screenshots, step-by-step tutorial, and file format. Similar flowchart-based programming environment tools are RAPTOR, Visual Logic, and LARP. Unfortunately Windows only (should try with Wine). Flowgorithm is written in C# and most probably can run in GNU/Linux since .NET Compiler Platform ("Roslyn"), the compiler for C# and Visual Basic has been open-sourced. If there any tools to do the reverse or something like Visualize Python which let us visualize the flow from the source code instead? Well all the mentioned tools catered for educational purpose, is there anything similar for the industry like those for Model-driven engineering?

#2 How to think visually or rather, which visualization diagram should I use? Which reminds me of another visual decision tool, the chart chooser and slide chooser by Andrew Abela and Paul Radich. I always interested with visualization tools as it's a form of storytelling with data. I've been exploring different chart tools these days to plot my daily walking steps.

#3 Dummy output sound adapter in Ubuntu? Nothing but a force restart (pulseaudio -k) of PulseAudio sound server can't solve. It has been so long since I last encountered any sound card issue in GNU/Linux. I still remember many years back I tried, for weeks, to get my sound card to workonly to realize that I picked the wrong driver for the Linux kernel. Although the is a Yamaha sound card, the driver only works with the chipset, if I remember correctly, Cirrus Logic.

#4 DNS Conformance Suite and Test Harness. Conformance or to be exact, conformance testing, "is testing to determine whether a product or system or just a medium complies with the requirements of a specification, contract or regulation". Enormous list of Request for Comments (RFC) just to make sure that the DNS implementation conformance to the standards. Standardization is always tricky where so many parties involved and each with their own agenda which sometimes, slow down the the adoption of the certain standards. Case in point, Hyper Text Markup Language (HTML).

#5 Software Testing Techniques. Class Report for 17-939A (PDF) by Annie Lu Luo. Comprehensive literature review of software testing techniques. So far, the best paper I read in 2016. How I wish all the software engineering papers were written in such way. Again, this remind me of Ke-Sen Huang's resource for computer graphic page. Unfortunately my lack of mathematics knowledge and patience prevent me from fully understand most of these papers. Nevertheless, you can appreciate the beautifully generated images of these computer graphic research papers. And off course, there is this Papers We Love, where a group of people who love to read academic computer science papers. Unfortunately, as usual, there is still MY chapter and judging by all the past meetups, its existence will not sustain for long.

#6 Books Scientists Should Read Before The Age of 20. Some books are questionable but nevertheless, a good starting list. Personally, I will like to start with George Pólya's How to Solve It: A New Aspect of Mathematical Method. If you're short of time, here is the summary of his method.

#7 100 Days of Swift. Progression notes on learning Swift programming language. Compare to other self-learner, he managed to create interesting UI related small projects just by applying a few concepts. Something that anyone should try out when picking up new programming language.

#8 Write code every day? Not necessary, as fellow redditor, EarLil advised that just "follow your rhythm and stay healthy" (make sense but which rhythm?) or you can just switch between coding and writing, "code doesn't have to be code". Github commit heatmap is a good motivator to encourage you to make an effort to write or code something, even one-liner. The question remains? How long should you allocate time in a day so that it will get you started and won't burn you out? For me, one line of record or code, or a sentence. Something so easy that you don't have any mental excuses not to do it. Getting started is always the hardest. But once you've started, everything else will fall into places. Just start!

#9 Valuing time over money is associated with greater happiness. First empirical evidence that people who value time over money are more happier. This reminds me of the personal finance book, Your Money or Your Life, where the authors asked "how much that we have trade our hourly life energy for money?". Once you realize that the actual amount of cost, time, and effort spent just to earn an hourly wage, you will have a change of opinion regarding your career and the money you earned..

No comments:

Post a Comment