very useful! can you add the pronunciation button to the "list page"? thank you!
̶ Yao Xiao, May 19 2019, Chrome
Reason enough for me to jump back in the development! I feel it's important to maintain the extension and help users where necessary, especially now that 150 people are using it daily. That's the only way it will stay relevant, grow and provide more value.
The pronunication button is now there in v0.6, enjoy Yao! And being back in it, I tackled one more task.
For another feature of the extension, a collection of links to external services in a list of saved words, I was annoyed by the repeated icons to external services: they were bloating the page. The words should stay the main content of the page, and this was not the case.
Now the icon row is collapsible and collapsed by default to avoid visual bloat. I had some fun (and trouble) implementing CSS animations in inline-blocks 🙃. Here's a little demo of this functionality (or disguised advertisement for Google Define, youglish, and the Urban Dictionary).
Some trade-offs & decisions I made while designing this change:
I still want to see how I can visually tune the menu so it looks more organized. If a proper UI designer is reading this, feel free to send help! Feedback is also welcome, always.
Last week I spent some hours on visualizing my sleep pattern. It is based on 99 days of manually tracked data (yes!). This is a first part of a much larger data tracking project in progress. See a rendered full screen version here.
Stylistically I used a minimalistic color scheme that could've come straight from Hundred Rabbits1. Obviously, this visualization still misses a legend or visual cues to give meaning to the elements. But maybe the air of mystery around my actual sleep/wake times is not too bad ;)
Technically I had fun implementing a parser that could understand my ambiguous notes on sleep & wake times. I used an Airtable2() spreadsheet with a row for every day and columns for sleep and wake times. The format is not consistent though. I could write "2:15" to mean a bed time at 2:15 AM the next day, or "11" to mean 11 PM that same day. Moment.js was helpful. For the visualization itself I used the JS vector interface library paper.js just to try it out. It's great for what it does - more advanced than the p5.js library I had used before. But I might still replace it it with D3.js as the latter offers more tools for working with data dynamically, as I used in a similar project for visualizing the movies I've seen.
You might already be able to spot that starting a 9 to 5 job had an effect on my sleep stability the last weeks. To be continued!
Today I watched an interesting documentary (in Dutch) from Flemish public television about Russian disinformation in the US and Europe. Among the cases it explores are Russian blaming of Belgian F-16 fighters for killing civilians in Syria and the defamation of a Finnish reporter that investigated Russian interference in Finland.
The techniques used to disinform are not new however. While social media is the prevalent medium today, masses have been misled or centuries by parties that have incentive to do so. It reminded me of Merchants of Doubt, a 2014 feature-length documentary that tells the stories of the tobacco industry fighting medical counterpressure with lies, and climate change deniers tainting scientific consensus with fake science.
The main takeaway is that sowing lies causes people to doubt truths spread in the mainstream media. Little false discourse is necessary to achieve a sufficient level of confusion about eg. climate change. When people are confused, they stick to what they want to believe and ignore information that disconfirms their beliefs (see cognitive dissonance). That is the goal of the disinformers.
These documentaries remain relevant today with climate change denier Trump in office and the Russians doing their thing as we speak. They teach us to be wary of counter-information, wherever it may come from. Recommended to watch!
Sometimes you want to copy-paste text from a web page, but it won't work. Here are a few common reasons and workarounds.
The text might be contained by a link. If you click+drag to select text, you will move the link element! Sometimes it is not visible that the text you're trying to select is, in fact, a link.
Solution: hold the ALT key while selecting (Option key on Mac). This will allow you to select text in a clickable area like a button
PS: μBloc Origin is a versatile, lightweight and open-source ad-blocker. It is probably better than other adblock plugins you might have installed.
When you're developing a cross-browser add-on, you probably want to try it out for a while in your daily browser. Unfortunately, contrary to Chrome, if you temporarily load your extension in Firefox, it will be gone after a restart.
That's because Firefox needs to sign your add-on before you can install it anywhere.
The documentation explains so, but in a convoluted way. It's actually pretty simple:
.xpifile & enjoy. It can be installed from
about:addons → gear icon → Install Add-on from file
Like most students, I made a resolution this semester to have a fresh start, to attend all classes and make sure I understand the main points in the lectures. I've been able to live up to that promise these two weeks, but I'm afraid you just made me break it.
The reason? It's not your stuttering, I can live with that. Your verbal skills and physical presence are decent too. The problem is, there is almost zero added value in coming to your class.
Almost every single word you say is projected black-white next to you.
Then, what do you expect me to do when sitting there? Should I listen to you, or read the PowerPoint content? When I try to listen, the slides distract me. When I try to read, your talking distracts me. The people around me checking their 9GAG feeds on Facebook don't help either. I'd rather just browse the slides at home.
This is the prime example of PowerPoint illiteracy. Slides are meant to support your message, they should not overwhelm everyone with an exhaustive summary of the course content. Do you want to distribute your course notes? Awesome, just publish them online, thank you. They would form a terrific summary for later reference.
But please, do not project these slides. They're the reason I won't be in your class today.
With kind regards,
PS: check out this TED talk. It might help you.
It's striking how some insights from school can slip into daily life when you least expect them to. Today my sister showed off a Brother LW-20, an electronic typerwriter. She had rescued it from our grandparents who wanted to discard it. It's a nice example of how a new technology (the computer) substitutes an old one (the typewriter), something I learned about recently.
When hearing "typewriter", I would think about the mechanical type with pounding metal letter sticks. Yet, this particular model was on the market somewhere in the 90's: a period were computers were growing fast. A computer had more possibilities concerning word processing than typewriters, Microsoft Word was already available in the 80's.
And that's where the insight striked: according to a paper of Adner & Kapoor (2015), old technologies can still survive for some time while better technologies are available, given that there is an extension opportunity for the old technology. More specifically, some innovations for the new technology can be "spilled back" to the old one.
This seems to be the case for the Brother: a German Wikipedia article tells us it was marketed as an affordable, dedicated word processor. It had some "modern" features like a screen to edit text on and compatibility with floppy storage for documents: features that got spilled over from computers.
It's the closest thing to a computer my grandparents have ever owned, and at the same time, it represented the last gasp of the typewriter.
As a meek Google user, I've been sporting their Calendar for years. Years in which I have used a feature that is being casted into obscurity: Google Tasks. It once started as a fancy addition to Calendar. Now it seems to be present only for legacy purposes:
Then why not only use Reminders? There is no overview of Reminders on the web version. Now let this just be the most useful way to keep an eye on long-term deadlines. I will stick with the 2009 tasks, until the reminder overview jumps from the phone to the desktop. Or until the plug gets pulled, of course.
Last week I got the opportunity to join a TypeScript/Angular/Ionic training at Hackages in Brussels. They're a consulting and teaching company specialized in modern web technologies.
The training followed a learning-by-doing methodology. We were submerged in a continuous exercise session, of which a large part revolved around fixing common mistakes planted in example code. Sometimes important concepts were briefly explained & demoed, but mostly we tried to fulfill the requirements of an incomplete program, with little pointers on how to code these.
So, we were still scouring the web for documentation, like you would when learning a new language on your own. The difference with self-study is: 1) you can ask when you're really stuck for a while 2) you're doing pair programming.
This is generally a valuable learning approach. But I have my critiques:
That's why I started this section of my site, where I'll log these thoughts or whatever they might be. You'll be able to scroll right through, every log should fit on a large screen in its entirety.