markjgsmith

2018/07/31 #

Today’s links:

  • North Korea working on new missiles, US officials say, despite thawwww.bbc.com #

  • Evolving the Firefox Brand - The look and feel of Firefox is about to be updatedblog.mozilla.org #

  • A Reminder That The Ocean Is A Big, Scary Placedigg.com #

  • Man Takes Us On A Trip Back In Time With His 1949 Hong Kong Travel Vlogdigg.com #

  • Doing it completely and totally wrong - Sriracha hot sauceseths.blog #

2018/07/29 #

Today’s links:

  • What comes after AI? I think that's where a lot of us probably want to been.wikipedia.org #

  • Beacon API - JavaScript Web API for sending small amounts of data from browser to server without waiting for a responsewww.smashingmagazine.com #

  • Frameworkless frontends are fashionable again - Github replaces JQuery with vanillaJstwitter.com #

2018/07/28 #

Today’s links:

2018/07/27 #

Today’s links:

2018/07/26 #

Today’s links:

  • UIengine - Tool to build pattern libraries and documentation for design systemsdennisreimann.de #

  • Yett - A small webpage library to control the execution of (third party) - useful for creating GDPR compliant consent-first-analyticsgithub.com #

  • CSS Grid Posters - An exploration into the world of possibilities with CSS gridcodepen.io #

  • China Said to Quickly Withdraw Approval for New Facebook Venturewww.nytimes.com #

  • Makerlog is the dead-simple task log that helps you stay productive and ship fastergetmakerlog.com #

2018/07/25 #

Today’s links:

  • BitTorrent acquired by blockchain startup Tron founded by chinese entrepreneur Justin Junvariety.com #

  • Chrome's long-promised HTTP 'not secure' website warnings arrivewww.cnet.com #

  • Facebook plans innovation hub in China despite tightening censorshipwww.reuters.com #

2018/07/24 #

Today’s links:

2018/07/22 #

Today’s links:

  • A Global Guide to State-Sponsored Trolling - virtual hate mobs, surveillance and misinformationwww.bloomberg.com #

  • Authoritarians used to be scared of social media, now they rule itboingboing.net #

2018/07/20 #

Today’s links:

2018/07/19 #

Today’s links:

2018/07/18 #

Today’s links:

  • Noam Chomsky calmly explains why Trump and allies are a threat to organized human lifeboingboing.net #

  • Event-Driven Architecture (Part of @herbertograca's Software Architecture Chronicles Series)herbertograca.com #

  • Newton’s cradle is a device that demonstrates conservation of momentum and energy using a series of swinging spheresen.wikipedia.org #

  • And now, 35 minutes of commercials directed by David Lynchboingboing.net #

2018/07/17 #

Today’s links:

  • Will Marshall - The mission to create a searchable database of Earth's surfacewww.ted.com #

2018/07/14 #

Today’s links:

  • I lived with a best-selling Indian phone for 10 days - Nothing went smoothlywww.buzzfeed.com #

  • Microsoft calls for federal regulation of facial recognitionwww.wired.com #

  • The Jezus Factory - formed in 2006 and is an independent UK record label that specializes in Belgian and particularly Antwerp musicwww.jezusfactory.com #

  • Andrew Bennett of Jesus Factory Records - On starting an indie label - "Don’t, unless you have serious mental health issues"www.beardedmagazine.com #

2018/07/13 #

Today’s links:

2018/07/12 #

Today’s links:

2018/07/11 #

Today’s links:

2018/07/08 #

Today’s links:

  • awesome-lite-websites - A list awesome lite websites without all the bloatgithub.com #

  • A Stanford researcher says we shouldn’t start working full time until age 40work.qz.com #

  • South Korea has limited a working week to 52 hours, in order to stop overworkwww.weforum.org #

  • Interesting perspective on SPAs and simplicity from the Ruby community - Turbolinks, SJR Responses and modern Railsmedium.com #

  • Meet the woman who decides what Google's emoji look likewww.cnbc.com #

2018/07/07 #

  • cat << EOF > The dead simple todos system

    Over the years I've tried a variety of sofware solutions to todo lists but I always find that eventually I end up just opening a empty file and typing a text list. It's just so straight forward. Almost as if writing a list in a notebook, which of course is the ultimate todo list solution.

    Anyhow I've been adding quite a lot of aliases to my dotfiles recently and I wondered if I could add just a few that would make the bare essentials of a todo list system. These are the aliases that I came up with:

    {% highlight bash %} alias 'slugd=date +%Y-%m-%d' alias 'todos=cd $TODOS_DIR' alias 'tdf=echo $TODOS_DIR/$(ls $TODOS_DIR | tail -n 1)' alias 'tdt=echo $TODOS_DIR/$(slugd).txt' alias 'tde=e $(tdf)' alias 'tdd=echo "### $(date "+%A %d %B, %Y") ###"' alias 'tda=cat $(tdf); echo' alias 'tdc=cat $(tdf) | grep "[x]"' alias 'tdi=cat $(tdf) | grep "[ ]"' alias 'tdn=TODOS=$(tdi); ! test -f $(tdt) && tdd > $TODOS_DIR/$(slugd).txt && echo >> $(tdf) && echo "$TODOS" >> $(tdf) && tda' {% endhighlight %}

    It's all very standard shell scripting, the aliases get loaded from .bash_aliases or similar. The only complicated one is tdn which only creates the new todos file if one doesn't already exist for the current day to avoid accidentally overwritting an existing list.

    • slugd - create slug using date
    • todos - fast navigation to $TODO_DIR
    • tdf - (file) prints latest existing todo file path
    • tdt - (today) prints file path using todays date
    • tde - (edit) opens latest todo file in editor
    • tdd - (date) prints todays date nicely formated
    • tda - (all) prints all todos from latest todo file
    • tdc - (complete) prints all completed todos from latest todo file
    • tdi - (incomplete) prints all incomplete todos from latest todo file
    • tdn - (new) new todo file extracting all incomplete from previous

    In practive the only aliases you actually use are tdn, tda and tde. That's it just 3 aliases to remember and it's pretty close to using a notebook. The only configuration necessary is to set TODOS_DIR environment variable somewhere that gets loaded by the shell automically like your shell's .bashrc file.

    Here is what a todo list file looks like:

    {% highlight bash %} ~ $ tda

    Saturday 07 July, 2018

    [ ] Install new theme on blog [ ] Deploy live keys to payments pages [ ] Troubleshoot failed mail deliveries [ ] Add links to freelancer github repo on payment pages [x] Troubleshoot github remotes issue on markjgsmith.com [x] Troubleshoot freelancer left pane image centering issue [ ] Re-organise dotfiles and dotfiles local [x] Add todo aliases to dotfiles [ ] New blog post: The dead simple todos system

    ~ $ {% endhighlight %}

    The real test of course is tomorrow morning when I create a new todo list.

    EOF

Today’s links:

  • Below The Surface - archaeological project excavating the Amstel riverbed - vast array of objects, broken, whole, all jumbled togetherwww.swiss-miss.com #

  • New Repo: mjgs/freelancer - website for freelancers with homepage and payments pages to securely receive payments for servicesgithub.com #

2018/07/06 #

Today’s links:

2018/07/05 #

  • cat << EOF > Ruby jargon to Nodejs jargon translation

    I've been making quite a lot of modifications to the blog recently. The blog is generated by Jekyll a tool written in the ruby programming language. I have been seeing a lot of warning messages about ruby versions during builds, so it's time to try to figure out what's going on.

    Everytime I've ventured into this area it's been full of confusing articles and definitions that don't seem to quite match up. I found an article comparing the rvm and rbenv ruby version managers, which along with my browsing various ruby sites and blogs and quite a lot of head scratching resulted in the followng translation which might be of use to other nodejs developers:

    • ruby === node
    • rubbies === versions of node
    • RubyGems.org === npmjs.com
    • gems === node modules (packages hosted on npmjs.com)
    • gemsets === node_modules folders (there can be many)
    • Gemfile === package.json
    • gem === npm
    • bundler === yarn
    • rvm === nvm
    • rbenv === simpler rvm

    Something to be aware of is that rvm apparently also overides the system cd command to automatically set ruby on directory change which might not be desirable.

    I don't claim that the list of correct, it's just what I've come up with so far. Email me with any corrections.

    EOF

  • cat << EOF > Commands I ran to install rbenv and upgrade ruby versions

    I was able to upgrade ruby versions. These are the commands I had to run. I will spare you the error messages and detours.

    {% highlight bash %} ~ $ ruby -v ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin14]

    Commands to install rbenv and latest ruby

    brew doctor brew update brew install rbenv echo export PATH=$HOME/.rbenv/shims:$PATH >> $HOME/.bashrc brew upgrade ruby-build rbenv install --list rbenv install 2.5.1 echo 2.5.1 > ~/.rbenv/version rbenv rehash rbenv versions gem env gem install bundler

    ~ $ ruby -v ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin15]

    Re-install the gems in the blog installation directory

    bundle install bundle show jekyll bundle exec jekyll serve {% endhighlight %}

    These are essentially the commands I ran, roughly in that order but it got a bit confusing somewhere in the middle.

    I decided not to run rbenv init, the only mandatory thing it does is add the shims folder to the PATH. So I just did that myself.

    EOF

Today’s links:

2018/07/04 #

  • cat << EOF > Description of my freelance NodeJS and automation software services

    Update - This is the blog post that constituted the original services description, it is no longer being updated and has been replaced by the services page.

    The consultancy service is very straight forward, it covers any aspect of building cloud web applications and is delivered via Skype call. It is customizable to the clients needs but generally covers architecture, building and deployment as well as things like efficient setup of developer environments.

    The infrastructure service deliverable is a running cloud based system ready for web application deployment. There are lot of tweaks necessary over and above the vanilla Ubuntu install that your cloud provider offers, such as machine access, cloud provider environment setup, firewall rules, logs, 3rd party applications installation and configuration, user accounts, aliases, SSL certificates, cron jobs to name a few. This services covers all these and does it at 3 complexity levels depending on the size of your installation.

    The maintenance service is aimed at maintenance and support of a web application infrastructure. It should be used for upgrades, improvements and customizations to an existing infrastructure.

    The development service covers the development of NodeJS based web applications and could cover any type of application. It also covers the development of software based automation and workflows. I recommend doing some consultancy services sessions first to determine the application specifics before starting a development services engagement.

    The custom training service covers the creation and delivery of custom training on web development and automation/workflow design and implementation. These can be made according to customer needs, could involve a systems discovery and consulting phase, and delivered either onsite or remotely via video conferencing tools. Other training topics might be possible.

    The writing service is aimed at internet publications that wish to create content for their websites. It could cover any aspects of web development, and might be in the form of a tutorial or perhaps an essay expressing an opinion on a particular aspect of modern technology. The details could be fleshed out via a short consultancy service.

    The pricing page has the full list of the packages for each service. If you would like to purchase some software services or products visit the payments page.

    EOF

Today’s links:

2018/07/03 #

Today’s links:

  • Belgium completed a remarkable revival as they came from the World Cup abyss and beat Japan to reach the quarter-finalswww.bbc.com #

  • TaTaTu has raised funding to develop its blockchain-based social entertainment platform and finance the production of moviesblocktribune.com #

  • ‘Everyone is breaking the law right now’ - GDPR compliance efforts are falling shortdigiday.com #

  • Blue light, prevalent in modern UIs, is aesthetically pleasing, but poses health risks; designers should switch to deep red/orange as the military did long agowww.fastcodesign.com #

2018/07/02 #

Today’s links:

  • Homes 'Earn' Minimum Wage or More in Almost Half the Nation's Largest Citieswww.zillow.com #

  • Musk says Tesla pushed out 7,000 cars last week, meeting goal of 5,000 Model 3swww.cnbc.com #

  • 500px will no longer allow photographers to license their photos under Creative Commonswww.theverge.com #

  • Midnight is a Jekyll theme for GitHub Pagesgithub.com #

  • Minimal is a Jekyll theme for GitHub Pagesgithub.com #

  • So Simple is a simple Jekyll theme for your words and picturesgithub.com #

  • Unsplash - Beautiful, free photos - Gifted by the world’s most generous community of photographersunsplash.com #

2018/07/01 #

Today’s links:

For enquiries about my consulting, development, training and writing services, aswell as sponsorship opportunities contact me directly via email. More details about me here.