Modern Web Dev Overview Presentation

My knowledge on web development practices is several years old, and I find this presentation by Mark Erikson to be a great overview. The number of tools and doodads being in use right now can be overwhelming, and the presentation helped fill in the knowledge gaps in my mind about which one goes where, and why. Highly recommended.

The presentation also linked to this eye-opening (to me anyway) comment on Hacker News:

By the same note, you likely won’t be writing a complex desktop application without some tooling installed, with similar pre-requisites. I don’t know why people get so irritated at “JS tooling is hard”. Try writing an (INSERT FRAMEWORK HERE) app outside the browser.

People assume that writing an APPLICATION for a browser is easy, which is why people get stuck maintaining monstrosities that are disorganized, not composed and tens of thousands of lines of spaghetti. Writing an application in the browser deserves just as much respect as one would give towards setting up the database & schema or creating a service layer.

That lack of respect for front end code is a big reason as to why front end projects have crappy code. React is a real break from this on so many levels… Yes, you’ll need (webpack|jspm|browserify) with (babel|typescript), and likely (postcss|less|scss) in place closer to the start than the end. Much like if you’re writing code for a desktop application you’ll likely need at least an IDE installed, and potentially several libraries close to the start.

My current tooling of choice is webpack + babel, depending on the project I may bring in scss or less, and react tooling as needed. Using CSJ or ES6 style module syntax means cleaner code that’s easier to restructure. Using webpack means being able to bundle resources in a logical flow. Working on a project without webpack + babel is just painful by comparison… I’m working on an ng1 app at work that’s less than 6 months old, and feels like it was written in 2011… having to add .js files to some common point, and not being able to easily refactor services/controllers/directives/components into discrete modules is pretty painful in general.

What does it take to get a Java application going? Maven, some build system, some other tooling, and understanding the component/class hierarchies? It’s not any easier than working with any new tooling.

Surabaya Trip

Here are some photos from a trip to Surabaya last week. Coincidentally there was a night market event near our hotel celebrating the city’s 724th anniversary.

All of these are taken with a Sony NEX-6 bought secondhand from Japan (where it is not possible to change its language, but that’s for another story) using the neat Sigma 30mm f/1.4 DC DN Contemporary Lens.

They were all edited and posted to Instagram first, and I merely uploaded the Instagram-generated files from my phone. Mostly out of laziness, but also to see how the images would work on a bigger, non-smartphone screen. The file turns out to be 1616 x 1080 for the landscape ones (example), which seems quite decent for web uses.

Wrist Rest and Keyboard Ergonomics

I am currently in the middle of finding a new keyboard to use. Typing is something I do a lot in my work, and a keyboard is the main interface with which I produce, so finding the best possible tool for it seems like the logical thing to do.

My current main keyboard, the Microsoft Sculpt Ergonomic keyboard, is a good one. It’s a bit on the large side, though, and it’s not something I can travel with comfortably. It’s also starting to slightly fall apart after about two years of daily use. I am also curious about using a mechanical keyboard, and want to see if it helps improve comfort or speed or the feel of typing (or hopefully a combination of those).

I found the keyboard that matches my criteria the most, but this post is not about it.

Before deciding to get that keyboard, one thing that bothered me the most is the lack of wrist rest. The Microsoft Sculpt has a large wrist rest, and I always put my wrists on it whenever I’m typing. So I was worried that the lack of wrist rest will cause ergonomics issue. After reading a little bit more about wrist rests, though, it turns out I’ve been using it wrong the whole time.

Here’s a picture:


It turns out the right way to type is to sort of hover your wrist above the keyboard. A wrist rest is to be used to rest the wrist on when you’re taking a break from typing. The Occupational Safety and Health Administration from the United States Department of Labor says:

  • comp_keyboard_bent_wrist
    Figure 1. Bending the wrist upward.

    Performing keying tasks without a wrist rest may increase the angle to which users’ wrists are bent (Figure 1). Increasing the angle of bend increases the contact stress and irritation on tendons and tendon sheathes. This is especially true with high repetition or prolonged keying tasks. Keying without a wrist rest can also increase contact stress between the users wrist and hard or sharp workstation components.

  • Resting the wrist/palm on a support while typing may inhibit motion of the wrist and could increase awkward wrist postures.

So it turns out I have been using an ergonomic keyboard the wrong way. No wonder my palm/wrist area is usually sore after a long session of typing, the pressure they get every time I’m typing must have been the cause.

Right now, while waiting for the new keyboard to arrive, I’m trying to fix my typing posture again. It’s hard to remove an old habit, but it’s probably going to be easier for things that are done regularly like typing.

Not The Most Important Thing in the World

There’s a new profile article on Bleacher Report about Golden State Warrior’s current head coach, Steve Kerr. It includes a lot of interesting bits and quotes, and these ones are my favorite:

Popovich, then as now, was not surprised either. “The guy is there before and after practice, running and shooting until he’s dripping wet,” he told reporters before the ’03 Finals. “He hasn’t stopped practicing every day, working every day, even though he hasn’t played.”

“Life is too short to be with jerks,” Popovich added. “This is a business, and it’s not the most important thing in the world.”

No, you can never have too many shooters.

And, no, Kerr does not think basketball is the most important thing in the world, or that his team’s very public failure to win another title last year—the seventh ring coming down to the seventh game—was the end of it. “You’ll wish that you had won that game forever,” Kerr says of the Game 7 loss to his former team. “But you go home and you have dinner with your family and you take a vacation and you remember it’s not life or death.”

The Logic Behind Japanese Sentence Structure

I’ve been learning Japanese on and off for  several years now. I’m nowhere near good at it, though, and the knowledge decays slowly as it’s not being used. I also have a problem understanding a lot of the why’s in how the language works, so I’m really happy to have found this article:

One of the biggest reasons for this is that the usual way of learning Japanese involves remembering random phrases and sentence patterns in isolation, without actually being taught why those sentences work the way they do. This is fine in the beginning when you’re just trying to learn a few basic phrases, but it makes it very hard to take the next step. The truth is, Japanese sentence structure is actually incredibly logical, and a solid understanding of it will save you a huge amount of time trying to make sense of Japanese grammar.

It is quite well written and now a lot of the rules just click in my mind. I’m glad to now understand the emphasis on particle usages in Japanese sentences, compared to word ordering in English sentences. The article also comes with great diagrams that should help clarify things better for visual learners, like this one: jp-sentence-3

Nintendo Switch’s Cartridges Taste Horrible

Nintendo designed the cartridges for Nintendo Switch to taste horrible, so that children and pets do not eat it:

A Nintendo spokesman said “To avoid the possibility of accidental ingestion, keep the game card away from young children. A bittering agent (Denatonium Benzoate) has also been applied to the game card. This bittering agent is non-toxic.”


Samsung S7 Edge Lens Cover Wide-Angle Lens Image Samples

Samsung produces a pair of lens, one telephoto and one wide, that can be added to a S7 phone using a special case. Both the lenses and case are sold in one package. There were a few reviews of it on the web, but most of them do not come with picture samples with enough variation in them, mostly just one spot taken with three different lenses (regular S7, with telephoto, and with wide lens).


I bought the lenses anyway and tested the wide lens on various scenes. To show a bit more about how the wide lens and its 108° angle coverage performs, have a look at the pictures below (click each picture for bigger version):

These are all straight out of the camera, with a few edited a bit with Snapseed app. I like that the wide lens helps find more interesting angles and put more things into a picture. Occasionally it adds a bit of a photojournalistic style to the pictures, which is quite fun. The lens also feels quite sturdy and well-made.

A Little Bit of Your Abilities

A very important piece of information I want you to understand is that these tests only measure a little bit of you and your abilities. They are important and you have done so well, but Ben Twist is made up of many other skills and talents that we at Lansbury Bridge see and measure in other ways.

Tentang Malang

Malang adalah kotaku, tapi hanya pada hari-hari tertentu. Apabila datang akhir minggu, atau hari-hari di mana jam kerja dan sekolah tak lagi berlaku, Malang penuh sesak menjadi milik siapa saja yang datang memenuhi jalan-jalan dan pertokoan.

Barangkali adalah baik melihat bagaimana kotaku tumbuh kian semarak, menarik perhatian banyak pihak. That it’s a good problem to have. Tetapi juga aku berpikir bahwa pada akhirnya Malang adalah kota kecil yang tidak bisa tumbuh ke mana-mana lagi. Penataan tidak segesit pendatangan.

Setidaknya pada hari-hari tertentu, Malang masih tenang, dan aku bersyukur untuk itu. Hanya saja ketika kulihat anakku dan kubayangkan masa depannya, tidak kutemukan jawaban yang tepat di mana lagi dia bisa menemui ruang lapang dan sunyi di kota ini.



Raising Good Adults

Another gem found on Reddit:

[…] parents raise good children but should instead be raising good adults. The thought blew my mind and really got me thinking.

Let kids be kids. Let them screw up occasionally and let them be sad every now and then. They’re only preparing themselves for the real world and will be ready to face it when the time comes. Most parents do a great job raising good children and when those kids grow up, they’re clueless how to handle real world problems.

There are nuances on that line of thought, of course, and I am not even sure if I know how to be a good adult, but it’s still a good thing to keep in mind.