Mark Smith’s Newsletter - Saturday 27th February, 2021
Javascript Core Special, Aussie News, Peter Jackson’s LOTR, nerdy essays, NFTs, cool history, Spotify, EtheriumFunOver, Android, Firefox, companiesBuyBitcoin, great docs, Indie Web, Twitter features..
Hello and welcome to my newsletter!
Another season 2 instalment…
As promised in last week’s edition it’s the special “Javascript Core Edition” of the newsletter, inspired by my chat with creator of javascript Brendan Eich on HN.
A good excuse to do a bit of an experiment in creating a themed edition, with 3 in depth articles, covering shapes and inline caches, optimising prototype access, and understanding v8’s bytecode. 💯
The other thing I’m experimenting with in this edition is using the linkblog hash links feature I added last week. Most of the links in this newsletter intro are hash links, taking you to the relevant item on the linkblog, where you can see the original linkblog post with any comment I made, clicking the domain link will take you to the off-site article.
It might take a bit of getting used to. I hope the double hop isn’t too jarring, all the links are also included under the intro, so you might prefer just to wait and click there. The thing I’m aiming for is to present the article with the context. I might end up changing things up later.
Email me / comment in various forums with any feedback you have. Sorry if it’s annoying, it’s part of the nature of experimenting and building in public.
The news this week has been completely dominated by the Facebook-Google-Australia saga, but also companies are buying up Bitcoin like it’s going out of fashion (what’s that about?), and Twitter is introducing some cool new features.
Since this edition is pretty hard core on the javascript front, I’ve tried to balance it out with some nice tech and programming related reads.
Several essay style pieces, including the romance of programming, cool internet history with punch card and BBC micro programming, why awesome documentation is great for business, 20 years of open source VLC, and some good insight on being an engineering manager. There’s also a cool piece about implementing web mentions to get ‘on the indie web’.
I ended up having a bit of a discussion on HN that included the author of the punch cards programming article. Some fascinating details of how computing used to be only a few decades ago.
Oh yeah and a great podcast by two brits about digital transformation, and a Lex Fridman interview with legendary chip designer Jim Keller.
A bit of self promotions…I’ve updated the recommendations page on the blog to make individual entries directly linkable, a new recommendation from Tony Vasile (Thanks Tony!) and I also re-included my most recent blog post about project planning and estimation, because though I managed to squeeze it into last week’s edition at the last minute, technically it was part of this week since I wrote it Saturday morning, and I’m kind of hoping someone will read it and connect me with some well paying web development work :)
Anyhows that’s all from me…
I hope you enjoy the links!
Special mentions
If you or anyone in your network is looking for web development services, consider hiring me :)
Consider becoming a sponsor to get your company featured on the linkblog and in the newsletter
Consider becoming a patreon, any support would be very much appreciated
Thanks to Mathias Bynens for his excellent writing, he wrote 2 of the articles in this week’s javascript core special, he has written lots more great javascript articles on his website chronicling issues and discoveries that have arisen during his time working on Chrome DevTools and v8 at Google
Stuff from me
🚀 New Post: My approach to software planning and estimation - A brief description of how I approach project planning and estimation, with some useful articles and resources markjgsmith.com #
🚀 Housekeeping Note: I’ve updated the recommendation page so that each recommendation has a title so it’s possible to link directly to a specific recommendation using the title in a url hash fragment markjgsmith.com #
🚀 New Recommendation from Tony Vasile - I worked with Tony while at Signiant where he was Cloud Solutions Architect, Software Development Manager markjgsmith.com #
Stuff from around the web
Articles
Australia’s ABC News shot to the top of the App Store charts following Facebook’s news ban - It would be cool if there were publicly available signup stats from independent media sources, as much as this is bad, there’s a lot of opportunity for media startups to build something new and exciting theverge.com #
How to redirect URLs on Jekyll site hosted on GitHub Pages - Handy if you publish a page using the incorrect date and later need to update that page, setup a redirect so the page continues to load for people who click the old link superdevresources.com #
What Peter Jackson’s original two-movie Lord of the Rings almost looked like - Hard to believe it is already 20 years ago that the legendary film trilogy was released, this article looks at the business and creative process that led up to the production, it’s an interesting read, the sheer size of this production is mind boggling, the amount of people, effort, money, coordination all to create some bits and bytes, I know a lot about the VFX tools and workflows, but I’m wondering what futuristic tools will evolve to help directors and producers with the pre-production process, I think that would be an exciting place to be polygon.com #
💯 JavaScript engine fundamentals - Shapes and Inline Caches - Deep dive into javascript optimisation covering general javascript compiling concepts, overview and comparison of the compiling pipelines in the various javascript runtimes (Google/v8, Firefox/SpiderMonkey, Microsoft/Chakra, Apple/JavaScriptCore), then looks at the data structures used to optimise property access and storage, gets progressively more difficult and requires you to hold quite a bit in your head, but if you go through it at a steady pace it’s very understandable, there’s a lot going on right below the visible surface where most developers spend their time, loads of very excellent diagrams peppered throughout - It’s amazing to me that we don’t have to spend our days worrying about anything at this level anymore, but good to be aware of the dynamics to avoid optimisation issues - I recommend a cup of tea to help you get through this one, perhaps some biscuits mathiasbynens.be #
How can you not be romantic about programming? - Great essay, well written, just the right length, distills an aspect of programming computers that I’d say all programmers will be able to appreciate thorstenball.com #
Nyan cat, NFTs, $600k, everyone is Banksy now mashable.com #
20 years of orange cones - The history of VLC - I still remember how amazed I was when I first installed it, not only was there no cost, it played literally all the video files I had without needing to install any codecs, and it was cross platform, later I would find out it was open source, the’s a comparison to be had with Mozilla, though their funding from custom services and consulting, great project and I like their ethos of doing things because they are fun rather than concentrating solely on financial gains protocol.com #
Mistakes I’ve Made as an Engineering Manager - Sarah Drasner shares some tips, well thought out and insightful, some are a bit counter-intuative, like the one about how people like to recieve feedback, I reckon it's a good article to read whether you are a manager or a worker bee css-tricks.com #
Spotify debuts new tools for creators to make interactive podcasts - Including tools to turn written content directly into podcasts, adding videos to podcasts, performing polls and Q&As axios.com #
NFT Marketplace ‘NBA Top Shot’ Volume Has Exploded Over the Past Month - Digital collectibles appears to be on fire at the minute, I still have little idea why people would pay money for such things, but I thought the same about Bitcoin and now that’s at a mind boggling 50 000 cryptoglobe.com #
Booting the IBM 1401: How a 1959 punch-card computer loads a program - Worth a read for the historical perspective, and to realise how far the industry has progressed, also for the origins of the computing term ‘bootstrapping’ - I imagine that back in those days there were people as excited about punch card programming as I am about writing javascript in 2021 righto.com #
Spotify to expand into more than 80 new markets bbc.com #
Ethereum isn't fun anymore - Well shit, looks like I’ve missed another ‘internet thing’, from what I’ve seen recently this thing actually looked kind of fun github.io #
Android is now even safer, and 5 other new features - A lot of these features sound very cool, being able to schedule texts, maps dark mode, and I’d love to try the linkblog in TalkBack the new screenreader blog.google #
Firefox release includes Multiple Picture-in-Picture and Total Cookie Protection - Watch several videos at once and enable separate cookie jars for each site mozilla.org #
Square announces purchase of $170m Bitcoin - It had previously purchased $50m Bitcoin - This is Jack Dorsey’s other public company, he also is CEO of Twitter, it occurred to me how strange it is that all these companies are buying up Bitcoin in huge amounts (Tesla did similar recently), it’s like if companies were buying large amounts of gold bars, with some US state bills being passed allowing companies to create governments, I’m wondering if there isn’t a higher level trend starting to appear squareup.com #
💯 JavaScript engine fundamentals: optimizing prototypes - Javascript objects are structured around prototypes, and as such lookups that walk to prototype chain happen very often, so it’s an important area of optimisation - The article does a quick refresh of the various javascript engine implementations, discussing the trade-offs inherent in each, looks at some examples of bytecode vs machine code in the context of optimising execution, and then covers the core part of the article on optimising prototype property access, including a great overview of classes, prototype based programming and the prototype chain; how the prototype link is stored on the Shape class rather than the instance, how ValidityCells are used to invalidate the inline cache, and why modifying Object.prototype during runtime destroys performance mathiasbynens.be #
BBC Micro at 40 - How it inspired a generation of coders bbc.com #
Facebook got everything it wanted out of Australia by being willing to do what the other guy wouldn’t - Article that uses a film analogy to repaint the Facebook-Google-Australia situation as a gruesome hostage situation, it’s quite a good read and certainly entertaining with a bit of worthwhile analysis, the reality though is that Facebook just made the move that made the most business sense - It’s still unclear to me what the amendments the government is going to make are, based on the description in the article it sounds like a law that doesn’t actually do anything apart from add beaurocracy - “Facebook can now decide to offer different publishers whatever amount it wants, including nothing at all, without risk of penalty” - Whatever happens I sure hope aussie journalism industry survives niemanlab.org #
💯 Understanding V8’s Bytecode - Rather technical but short article that starts with a description of the compiling pipeline, then goes on to cover register / stack machines with an accumulator register, the v8 javascript bytecode instruction set and how to list it using node - It’s pretty weird to read assembly when you are used to higher level languages, but it’s useful to have at least a vague idea how that level of the stack operates because it can help in understanding how and why some of the lower level optimisations are implemented medium.com #
Teaching Web Dev for Free is Good Business - I’m slightly envious of Chris Coyiers’ effortless sales and self promotion style, somehow he manages to combine useful and promotional material into blog posts that hardly ever feel more than some bloke on the internet giving a few tips css-tricks.com #
Google Cloud vs AWS Onboarding Comparison - A personal (and self-admittedly probably quite biased) writeup of the onboarding process of both providers kevinslin.com #
Australia passes law forcing Google and Facebook to pay news publications - I’ve read a dozen of these types of articles and none of them describe what the amendments are clearly, when they do mention it, it’s tacked on right at the end like some sort of scribbled post-it note, accompanied by hand waving, it’s like they are all deliberately avoiding talking about it, the whole thing stinks IMO cnet.com #
Grow the IndieWeb with Webmentions - I like the idea of aggregating mentions on my site but finding an implementation that has both live data, is secure and mostly works without javascript isn’t so obvious amberwilson.co.uk #
Twitter announces paid Super Follows to let you charge for tweets - Also announced it’s planning a groups feature theverge.com #
Podcasts
The Another Podcast Podcast - Shopify and digital transformation - Benedict and Toni get into talking about digital transformation, a topic which has become very en vogue recently, I’ve been enjoying their podcasts because it’s nice to hear some brits talking tech, they have interesting angles because of much experience in the industry and their dynamic works well together another-podcast.simplecast.com
Lex Fridman Podcast Ep #162 – Jim Keller: The Future of Computing, AI, Life, and Consciousness - The slight awkwardness present during their first podcast episode together is mostly gone, replaced by a great rapport which makes for excellent listening, lots of really interesting topics covered but the highlight for me was listening to a world expert in computer chip design talking about human consciousness lexfridman.com
——-
Thanks for reading!
Mark Smith‘s Newsletter is a weekly roundup of some of the best javascript, tech and web development links published to my daily linkblog.
If you liked this newsletter you might like my blog, daily linkblog or experimental podcast :)
I’m a freelance web developer, consultant and automation engineer, consider hiring me!
Have a great weekend and a fantastic next week!