AMP is frankly one of the most hostile attempts to control the web that I’ve ever seen. Does faster loading really justify the degree of control that Google exercises over the web as a result?
Users treat Google search as a utility of the internet, not a business. But it is a business, and a near-monopolistic one at that.
This looks awesome! I’m definitely going to try to start using this.
A big workflow problem I’ve noticed when talking to management and designers at my day job is that the mocks/specs that I’m handed are often under-specified. This looks like a great way to collaboratively reason about edge cases in the design and also break down the wall between how the designer sees an interface (as well-defined happy case workflows) and how I end up implementing it (having to make judgment calls about what should happen if something goes awry).
I’ve run into that same issue with designers many times, at different jobs. While being very careful of making generalisations, thinking past the pixels (and the happy-case workflows) seems to be a problem for a lot of UI designers (many of whom have backgrounds in traditional/static design, and who now like to call themselves UX designers, too).
The handful I’ve encountered who can do both the design work and think in terms of workflows and states have been very good to work with.
Supposedly they’re coming. Gary Bernhardt said on the Deconstruct Slack that they’re being processed by a third party – time estimate was “several weeks”.
Thanks. I can see now they have a website, https://www.deconstructconf.com/, I hope they’ll post information about videos (or on their twitter, @deconstructconf).
I was also at Deconstruct! It was a fantastic conference with speakers from a really diverse range of perspectives and experiences. A few that stood out to me:
Sandi Metz gave what I thought was a really solid analysis of what a lot of teams get wrong in OOP. It definitely had some immediately actionable takeaways for me and the code base that I work on in my day job. I really like the idea that conditionals -> complexity and that you should try as best as possible to remove them from the procedural-style code that orchestrates objects and move it into deciding which types of objects to create in the first place. It mostly consisted of her most recent two blog posts: Breaking up the Behemoth and What does OO Afford?
Nabil Hassein’s talk was really powerful. I don’t really know what to write about it here but it was a pretty sobering look at how we in the business of creating technology affect the world around us, and how we in the “Global North” consume resources far in excess of those in the “Global South”. The talk seemed to really resonate with the crowd and he received a standing ovation afterwards. When the video comes out I’ll definitely be sharing it with people.
Allison Parrish’s talk seemed to be a big hit with a lot of people. As far as I can tell it expanded on some work she has previously talked about with applying algorithms to the case of poetic manipulation of English text. She’s previously talked about it in terms of apply JPEG-like compression to text to see what happens. She talked about her recent efforts to apply machine learning techniques to this end via semantic analysis, as well as some playful text transformations via searches/random walks in semantic space as well as pronunciation space. The resulting poetry was very impressive!
Tom 7’s talk was pure fun, technical weirdness. Halfway through, he gave us the punch line which was that his slides were being run through a video output of a NES. He stuck a Raspberry Pi inside of a NES cartridge, emulated a SNES, and played it back through the NES! There was some meta-analysis of his own humor and of the presentation itself (as it was happening!) in there too, which I thought was both funny and interesting.
Pablo Meier talked about distributed systems and what we might desire in a programming language that treats distribution of work as a first-class operation (spoiler alert: he ended up talking about golang). He expanded on how a lot of these ideas come from Erlang and the interesting, perhaps underappreciated/underutilized innovations also present in Erlang, relating back to its supervisor process model and how.
Elle Vargas’ talk surrounded the history and investigation of the 2016 election interference, focusing especially on DEFCON 25’s “Voting Village” and the frankly disturbing findings (voting machines compromised within minutes, and even some real voter data found on one of the test machines which were procured from previous state elections). She had a great call to action at the end in terms of how technically-proficient people can be civically engaged.
Anjana Vakil, who has a background in linguistics, talked about the relationships between human languages and programming languages, especially with respect to how a language can shape your thinking. Her thesis was that programming languages are fundamentally human languages intended for human consumption, and that we should examine how those languages inform our reasoning and how they can affect or be affected by our cultural contexts.
Sandi Metz has posted her slides for “Polly Want a Message”. It’s an interesting refactoring and I hope video of the talk is posted online. As I read, I was mentally doing a functional refactoring, mostly centered on a Line type with a line number and string. From there, most of the strategy objects she extracts instead become functions to be composed. Her final version of Listing on slide 297 reminded me strongly of a blog post I wrote a few years ago on composition.
I hope that the talk ends up in video form at some point, because I think there something missing from the slides.
I didn’t quite put together a functional refactoring in my head, but I was wondering about one the whole time. There was something that felt a little… uncanny about the preponderance of strategy objects in play.
I wasn’t sure how I felt about the “now we’re down to one execution path” slides. This is a refactoring, so the same number of decisions are being made, and the same combinations of execution paths exist in the code base, they just being selected for differently. The increased isolation is good for testability, which means that if the code is properly isolated you can get away with a linear increase in testing as opposed to a quadratic one. But I’m split as to if the numbers at the end are a fair assessment.
The code does seem somewhat improved, but it also hides complexity more now.
Thought provoking slide deck, and I’m very curious as to what didn’t make it to the slides.
I use Dashlane. I started using it way back when it was in beta, and when they released 1.0 I had an option to pay a one-time fee to get premium features for life. I like the browser integration, mobile app, and “security center. It tracks incidents and let you know if a password you have is potentially compromised. It also has an automatic password changer, although it only works on a limited set of websites.
this post only links to https://www.reddit.com/r/serverless/ not to an article.
This looks like the intended article.
Edit: Ok, having actually read the actual article now, uh, what? Is this satirical? I have no idea.
Edit 2: Wait, this is posted on IOPipe’s site, which is a technology used in the article. So this is an ad? Weird.
I’m curious to see what the general consensus on Bitwarden is. I can’t find many articles about it outside of its own announcements. It looks like they have a bug bounty program? I’m a bit dubious of the fact that there’s just one developer.
I’ve been using Bitwarden for about a year now and it has been great. Works on all platforms and it’s open source—and people are actually contributing. The code looks reasonably clean, well organized, and the author is quick to respond and fix any problems.
While it’s not quite at feature-parity with 1Password, it’s well beyond an MVP password manager, and new features are added regularly.
Overall, I recommend it.
I don’t know if it’s intentional, but the title and content is pretty similar to the sort of thing found in Thinking, Fast and Slow by Daniel Kahneman. If you enjoyed these puzzles and the faint awareness of the lack of control you have over your own thinking that they may have inspired, the book is full of them.
That was a fun read. I went looking for the second part and found it on Jonathan Blow’s blog along with more posts about his Braid code cleanup.
Video of the site For all of you who can’t see it. Chrome 56 on Windows 10.
The Web 3.0: you need someone to take a video of website to have at least a basic idea of it content. I guess W3C is already working on standardizing this.
The presentation of the Overwatch logo is disingenuous. It completely omits the circle logo
And while we’re looking at Blizzard games:
And it’s not just Blizzard.
Guild Wars 2 has an incredibly iconic logo
DOTA 2 - now of course, if you take the text part in isolation, it’s another boring text logo, according to the author.
There’s clearly more than a few modern games out there that have colorful, eye-catching, iconic logos.
Yeah, I thought that some of his examples were overly biased. Taking the monochrome version of every logo is cheating too. Though, his main point that many triple-A games have similar looking logos (large impact-style fonts with a bit of distress) was fairly accurate which is the main reason I found it interesting.
Being able to go back in the past is basically everything I’ve ever wanted from OllyDbg. And it has IDA integration! This is exciting.
WhiteFox (True Fox layout) with Kaihua Brown switches. I use AHK to rebind Caps Lock to Esc if pressed and Ctrl if held. It is programmable, but I haven’t yet done anything terribly special with it on the firmware side (waiting for Kiibohd to support dual-role keys so I can move that AHK script to my keyboard’s firmware).