Showing posts with label mathematics. Show all posts
Showing posts with label mathematics. Show all posts

This Week I Learned - 2017 Week 31

Another week, another post. Looking for last week post or something from the archive?


The annual nature appreciation week. Didn't realize that such a place exists in this country. I really need to brush up my local geographical knowledge. However, nature should be explore in its natural form, as in camping, not from some resort built near to it.  And the food, that's a lot to be desired. Pity though.


Fighting with idiotic MySQL 2013 lost connection error for the past week with the Docker instance. Tried different approaches to tweak the server so the database restoration process won't kept throwing such error. In the end, proceed with Plan B approach by changing the mysqldump script so that it will skip extended insert. The side effect of such approach is that the dump file will be bigger and database reloading will take longer. But something working even though slow is way better that something broken. In coming weeks, will look into different approaches, for example, putting the whole test databases in memory (using tmpfs approach which can speed up testing), mysqlpdump (parallel version of mysqldump), or using ProxySQL.


Scientific communication as sequential art. I hope one day that the academic world will publish literature in more readable and accessible way. Actually it's not that hard, some common sense with certain good "taste".


Unit circle. After living for so long, I finally grok trigonometry and understand what the heck is sine, cosine, and tangent.


If you've fork a repository and want to sync from the remote upstream? Two steps. First, set up the remote upstream URL. Second, sync the fork from the upstream.

This Week I Learned - 2016 Week 39

Last week post or the whole series.

The month of October have started. As we're closing in to the end of year 2016, I've still have long list of pending items to follow up. Sometimes, is best to take break, reflecting on the current situation, and re-prioritize your short and long term goals. Nevertheless, there is one thing for sure, regardless the outcome, discipline is one sure way to get closer to what you want to achieve.

Interesting stuff I've learned this week.

Few days back, I've managed to finish the book Modern Perl. I bought and starting reading the book on 25th June and finished it by 30th September. It took me roughly 98 days to wrap up the whole book page by page (not a good strategy according to How to Read a Book). My impression? Not a beginner book and not quite a suitable book for any developer switching from other languages. It's more like a reference book on how to code according to the Modern Perl convention. The correct sequence of Perl books to read are as follow:

Language FundamentalsReferences
Learning Perl
Intermediate Perl
Mastering Perl
Programming Perl / the "Camel book"
Modern Perl

While we're in the discussion on book. I'm quite disappointed with Eloquent Javascript. Someone suggested that I should look into `You Don't Know JS` book series instead. Maybe I should try it out instead. It's currently the next item in my reading list.

Again, on Javascript. There is an annoying behaviour of using Array with Object. Seriously? I was caught surprised by this.

On a related note, the popularity of Javascript leads to an issue of Same-origin policy where it's not permitted to request a resource from different domain. The Cross-Origin Resource Sharing (CORS) is a specification to resolve this. Solution exists for different popular web servers with support from different web browsers. For example, how to resolve this matter in Cloudfront.

Life as a Middle-Aged Geek (via HN). The advantage of being a middle-age developer is you probably know what you want or don't want out of your life. As time is catching up and you have plenty of life commitments elsewhere, if better you should constantly review and revise your own life goals. While ageism is an ongoing issue with technology sector, the Old Geek Jobs site was created for those developers whose are (35 and beyond). Or you can be an indie hacker instead?

Look-and-say sequence. Quite an interesting integer sequence, useful when you want to setup a new Wifi password but at the same time, want to confuse the hell of your users.

TLD used for local development? Mine is still using `.dev` but you must be aware that `.dev` is a generic Top Level Domain (gTLD).

Differences between Ansible's `command` and `shell` usages and when to use it. It seems I need to rewrite most of my dotfiles' steps. Didn't realize that `ansible-lint` actual exists.

What are the software stacks or cool tools used in the startup scene?

How to hire a programmer? While technical skills is a crucial requirement, cultural fit and attitude are equivalent important as well. But, as the article mentioned, nothing is guaranteed.

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..