Substrate

2476 bookmarks
Custom sorting
Rob Rix’s “Postmodern Programming” talk transcript
Rob Rix’s “Postmodern Programming” talk transcript
The important parts of the job are done with our minds. It’s how we think about things, and what things we think up, and how we arrange these things. ​ that is to say, you will very likely make you a better programmer, and I will be very glad indeed if I have helped in some small way. ​ Before that, I spent eighteen months implementing sync, and so I know a thing or two about making mistakes. ​ If it’s new to you, there’s nothing wrong with that, either—it just means it’s your lucky day, and for that matter, mine too. So please don’t take my word on anything: if there’s anything in here that strikes you as interesting or dull or likely or implausible, try it out for yourself. See where it takes you. More than anything else, I would love to see you make things. ​ In truth, it isn’t easy selecting a name, but that’s not the hard part by half. The hard part is selecting something which is deserving of a name: abstracting. ​ With -setUpNavigationItem, defining the what is a contradiction in terms: it’s not a noun, not a concept. It has no value (by which I mean that it declares its return type to be void, i.e. no type, no value). It was abstracted, but in a sense it is not an abstraction, but merely an extraction of specific instructions. ​ In this sense, too, -setChild: and -setUpNavigationItem are not abstractions, despite having been abstracted: they have no meaning, only instructions. They are not nouns. They are not concepts. ​ but I promise the segue makes sense if you’re me. ​ instead the Grand Declarator, telling each abstraction what it is. Again: how vs. what. ​ At the same time, abstracting imperatively, abstracting-without-abstractions, denies you the ability to deal with these extra concepts behind the veil of local complexity; that is, any code using an imperative abstraction necessarily incurs the complexity of any changes it performs in a total sense (as with any other abstraction), but also incurs it locally—because any other changes to the same state need to be carefully sequenced. The details leak from callee to caller, again and again, and can never be contained. ​ part of what I think about when I think of “declarative programming” is the notion that you are constructing a system of objects at runtime out of which the desired behaviour falls naturally: a necessary consequence of the structure. ​ Composition is abstraction’s dual; where abstraction is breaking a problem into simpler components, composition is reassembling those into the solution. Constructing an abstraction is generally itself composition of other abstractions; any time you use an abstraction, you are composing. ​ It is therefore in our best interests to ensure that the abstractions we build are as simple as possible: simple abstractions are more flexible, meaning more easily composed together, because they do not introduce factors not necessary to their operation. ​ And it is clearly the direction that the market and the industry is heading in: there is a lot of ongoing, exciting research being done in declarative languages and systems and how to survive in an imperative world. ​ It’s necessarily different, of course; if control flow is abstracted, it becomes increasingly difficult for your the API’s client to simply use lldb to debug it. ​ To abstract is to identify an idea, a concept, as a unique thing which can be reasoned and acted upon in isolation. It is to give it a name; to define that name with that concept. This is equally true in language and in code. ​ or of the bittersweet experience of a trusted colleague and friend leaving to work on something important to them ​ If abstraction is vocabulary, then composition is grammar
·raw.githubusercontent.com·
Rob Rix’s “Postmodern Programming” talk transcript
The Future Of ReactiveCocoa
The Future Of ReactiveCocoa
GitHub desktop developer Justin Spahr-Summers presents a case for what the future of ReactiveCocoa might look like at the 2014 Reactive Cocoa Developer Conference hosted by GitHub. As always, feel free to leave us a comment below and don't forget to subscribe: http://bit.ly/subgithub Thanks! Connect with us. Facebook: http://fb.com/github Twitter: http://twitter.com/github Google+: http://google.com/+github LinkedIn: http://linkedin.com/company/github About GitHub GitHub is the best place to share code with friends, co-workers, classmates, and complete strangers. Millions of people use GitHub to build amazing things together. For more info, go to http://github.com
·m.youtube.com·
The Future Of ReactiveCocoa
'MTA Museum' Pays Tribute To Butt Imprints, Bubble Gum & Other Everyday Subway Sights
'MTA Museum' Pays Tribute To Butt Imprints, Bubble Gum & Other Everyday Subway Sights
It reads: "As a political statement on transit and the concept of rest, millions of New Yorkers collaborated over a period of decades to meticulously create these unique patterns using only their posteriors." ​ they've taken it upon themselves to try to curate our mass transit experience as if it were a living museum.
·gothamist.com·
'MTA Museum' Pays Tribute To Butt Imprints, Bubble Gum & Other Everyday Subway Sights
zurry and unzurry
zurry and unzurry
When working with a monad, you work in its Kleisli category which is another example of a CCC. The above discussion relating function evaluation to function composition, would then relate Kleisli evaluation (=) to Kleisli composition (=). Woah, is `bind` just monadic function evaluation?
·tangledw3b.wordpress.com·
zurry and unzurry
in conclusion: you will make better things if you go grave robbing in really weird and shitty cemeteries that no one else likes
in conclusion: you will make better things if you go grave robbing in really weird and shitty cemeteries that no one else likes
never apologize for your terrible taste. the ability to derive enjoyment from something no one else can stand is a form of comparative advantage this is especially true in creative fields, where everything is built from the bones of everything else and you make "novel" stuff by importing fresh new bones in conclusion: you will make better things if you go grave robbing in really weird and shitty cemeteries that no one else likes
·twitter.com·
in conclusion: you will make better things if you go grave robbing in really weird and shitty cemeteries that no one else likes
New York is one of the best cities when things are going well in your life because everyone else has so much energy that you can thrive off them. But, when things aren’t going well, that same energy can make it feel like everyone has their shit togeth
New York is one of the best cities when things are going well in your life because everyone else has so much energy that you can thrive off them. But, when things aren’t going well, that same energy can make it feel like everyone has their shit togeth
New York is one of the best cities when things are going well in your life because everyone else has so much energy that you can thrive off them But when things aren’t going well, that same energy can make it feel like everyone has their shit together and you don’t Honestly it sort of feels like some sort of social darwinian experiment where only highly resilient people with fantastic stress management can survive for extended periods of time
·twitter.com·
New York is one of the best cities when things are going well in your life because everyone else has so much energy that you can thrive off them. But, when things aren’t going well, that same energy can make it feel like everyone has their shit togeth
The Dark Forest Theory of the Internet
The Dark Forest Theory of the Internet
“Yancey Strickler, a co-founder of Kickstarter, on the internet retreating to safe spaces – well, safer spaces: Podcasts are another example. There, meaning isn’t just expressed through language, but also through intonation and interaction. Podcasts are where a bad joke can still be followed by a self-aware and self-deprecating save. It’s a more forgiving space for communication than the internet at large. Dark forests like newsletters and podcasts are growing areas of activity. As are other dark forests, like Slack channels, private Instagrams, invite-only message boards, text groups, Snapchat, WeChat, and on and on. This is where Facebook is pivoting with Groups (and trying to redefine what the word “privacy” means in the process). Obviously, the various spaces mentioned above are wildly different, but it is interesting to try to bucket them all together into this trend. And it is something that resonates with me about newsletters…”
·onezero.medium.com·
The Dark Forest Theory of the Internet
Purl | Pixar
Purl | Pixar
Purl, directed by Kristen Lester and produced by Gillian Libbert-Duncan, features an earnest ball of yarn named Purl who gets a job in a fast-paced, high energy, bro-tastic start-up. Yarny hijinks ensue as she tries to fit in, but how far is she willing to go to get the acceptance she yearns for, and in the end, is it worth it? Get ready for more #SparkShorts coming to Disney+ later in 2019. Sign up for updates at http://disneyplus.com Facebook: https://www.facebook.com/Pixar Instagram: https://www.instagram.com/pixar/ Twitter: https://twitter.com/Pixar Copyright: (C) Disney•Pixar
·m.youtube.com·
Purl | Pixar
The Twitch argument for GitHub Sponsors
The Twitch argument for GitHub Sponsors
Viewed through this lens, Sponsors can be understood as a first, important stepping stone towards company sponsorships, which seem inevitable for GitHub given the presence of Organization accounts. ​ Their eyes light up when they talk about specific developers. If I ask why, I tend to hear a few common responses: 1) they’re learning a specific skill, and watching that person is helpful, or 2) they’re experienced developers who just love being able to see how “the best” do it. ​ it struck me the other day that open source is a sort of “high-latency streaming”. ​ the relationship between a prominent GitHub developer and their audience, and a prominent Twitch streamer and their audience, is similar: they gain followers because people enjoy watching them do something in public. ​ an additional set of motivations, which is, “I want to watch and learn from you”. A graphic artist or a blogger who’s funded on Patreon doesn’t quite have that same relationship to their audience. In those cases, I think their output – the artifacts they create – takes center stage. ​ there are probably others who just love watching the person who makes it. ​ With companies, open source developers are selling a product. With individuals, they’re selling themselves.
·nadiaeghbal.com·
The Twitch argument for GitHub Sponsors
Bad Metaphors: The 30,000-Foot View
Bad Metaphors: The 30,000-Foot View
The phrase is meant to convey authority, but it is also a plea for trust. Believe me, I can see more than you — so do as I say. ​ While these sights may amaze the neophyte air traveler, the window-seat view soon becomes routine — and yet it still manages to conserve its power in metaphor. ​ While everyone is invited to see things from 30,000 feet, not everyone is invited to stay there or make decisions from such an elevated position. ​ The expression enfolds a double maneuver: It shares a seemingly data-rich, totalizing perspective in an apparent spirit of transparency only to justify the restriction of power, the protection of a reified point of authority. ​ It’s not about flight at all: It is a vertical metaphor to negate horizontalism.
·reallifemag.com·
Bad Metaphors: The 30,000-Foot View
The lingua franca of LaTeX
The lingua franca of LaTeX
With his students, he was able to write a program capable of typesetting the entire 700-page revised volume of his book by 1978. The program, called TeX, revolutionized how scientific papers are formatted and printed. It’s also one of the oldest OSS projects still in use. The disconnect between technical or scientific and nontechnical authors is also fundamental to understanding TeX’s mainstream obscurity: In nontechnical publishing, typesetting is usually not essential for conveying the author’s intent. Typesetting is considered ornamental; authors of popular material are content to send a Word document to their publisher and let professionals do the rest. Technical authors, on the other hand, need to convey their meaning precisely through glyphs, sizes, and placement. TeX lets them do that, as well as exchange their documents in a widely understood format.
·increment.com·
The lingua franca of LaTeX
#89: Mars Is a Place on Earth
#89: Mars Is a Place on Earth
Antarctica has become one of the most widely cited examples of how law enforcement might operate on other worlds ​ Throughout history, frontiers have been where we experiment with innovative societal arrangements, but they are also where we most faithfully reproduce the most current version of our culture, unfettered by the historical customs that temper it back home. ​ but it will also feel like where we came from.
·medium.com·
#89: Mars Is a Place on Earth
Pull Requests Volume 1: Writing a Great Pull Request
Pull Requests Volume 1: Writing a Great Pull Request
The real benefit of doing this is it gives your team a chance to learn something. It gives anyone on your team who’s reviewing the code a chance to learn about the issue you faced, how you figured it out, and how you implemented the feature or bugfix. Yes, all of that is in the code itself, but here you’ve just provided a natural language paragraph explaining it. You’ve now created a little artifact the team can refer to. In a good description, you need to tell the reviewer: What the pull request does. How to test it. Any notes or caveats.
·nearthespeedoflight.com·
Pull Requests Volume 1: Writing a Great Pull Request
Me and not me
Me and not me
We can be all of these things as we grow into adulthood, but I experienced them so much differently as a father, watching my girls live them. ​ I'm not sure how thinking about this distinction will affect future me. I hope that it will help me to appreciate everyone in my life, especially my daughters and my wife, a bit more for who they are and who they have been. Maybe it will even help me be more generous to 2019 me.
·cs.uni.edu·
Me and not me
Everything Easy is Hard Again
Everything Easy is Hard Again
Everything is different now, but I am still at my desk. Except with the websites. They separate themselves from the others, because I don’t feel much better at making them after 20 years. My knowledge and skills develop a bit, then things change, and half of what I know becomes dead weight. This hardly happens with any of the other work I do. ​ I don’t bring this up to imply that the young are dumb or that the inexperienced are inept—of course they’re not. But remember: if you stick around in the industry long enough, you’ll get to feel all three situations. ​ Experience, on the other hand, creates two distinct struggles: the first is to identify and unlearn what is no longer necessary (that’s work, too). The second is to remain open-minded, patient, and willing to engage with what’s new, even if it resembles a new take on something you decided against a long time ago. ​ This situation is annoying to me, because my thoughts turn to that young designer I mentioned at the start of my talk. How many opportunities did I have to reproduce what I saw by having legible examples in front of me? And how detrimental is it to have that kind of information obfuscated for her? Before, the websites could explain themselves; now, someone needs to walk you through it.
·frankchimero.com·
Everything Easy is Hard Again
Free Shipping
Free Shipping
This tide of packages is unlikely to recede. ​ If the arrival of automated delivery robots could lower the effort to sell or return goods to the minimal amount it now takes to buy them, users might exchange products through a new kind of logistical network that would make the process of acquiring and trading physical objects as frictionless as that of downloading and deleting digital files. Users might trade products among themselves through new kinds of logistical networks — a kind of peer-to-peer sharing for physical objects. ​ Minor physical annoyances that might have once subtly discouraged excess spending — such as the burden of carrying multiple items through stores — have been replaced with an interface that feels the same regardless of the quantities you buy.
·reallifemag.com·
Free Shipping
On Global Accountability
On Global Accountability
Facebook’s deflection of responsibility is merely the latest instance common line of argument that social media companies like Facebook put forward is that their work exists on a different plane of reality. The digital realm ties into the analog, but the relationship is not a two-way street. Rather, they claim, it is a set of two one-way streets. One of these streets is from computers to the real world, where only the good stuff travels, enabling free speech, liberating the oppressed, democratizing the internet. The bad stuff, however, only goes the other way, where bad individuals misuse and abuse internet platforms. In other words, Facebook argues the good things happen on Facebook, but the bad things happen to Facebook. ​ Most other fields of engineering, like civil engineering, already have this built into their culture, but software engineering is lagging behind. Tech employees need to realize that their responsibility doesn’t end at the last line of code — that’s just where it starts.
·ramblingspace.com·
On Global Accountability
There are a lot of obvious missing features from workplace tools to avoid bothering people when they're not online.
There are a lot of obvious missing features from workplace tools to avoid bothering people when they're not online.
There are a lot of obvious missing features from workplace tools to avoid bothering people when they're not online. Why can't I send calendar invites, assign tasks and send emails at any hour, but change recipient notifications or receipt to avoid interrupting off hrs? This is in line with the internet's idea that it's up to every individual to "protect" themselves with their own filters and settings I don't believe full responsibility should be on the receiving end. I wish our tools gave responsibility to senders for how they communicate. I work weird hours. We have team members in different time zones. My productivity is inhibited when I can't do anything that would notify my team. I find myself prepping tasks and setting calendar holds, alongside a list of who I need to add to things at a normal hr. I'm not even remotely surprised that considerate communication use cases haven't been accounted for. The people building these tools have been rewarded for "working so hard" – evidenced by cal invites and PRs submitted over the weekend. Doing work when it's productive for you is good. But if there's a consequence of negatively impacting another teammate's productivity then where does the team net out? I'd like to see tools be more thoughtful about that please.
·twitter.com·
There are a lot of obvious missing features from workplace tools to avoid bothering people when they're not online.
Online writing is too didactic. Would like to recapture the feeling that not everything I read has to explicitly deliver information - feels like that's more frequently the case with stuff I've found offline
Online writing is too didactic. Would like to recapture the feeling that not everything I read has to explicitly deliver information - feels like that's more frequently the case with stuff I've found offline
Online writing is too didactic. Would like to recapture the feeling that not everything I read has to explicitly deliver information - feels like that's more frequently the case with stuff I've found offline My hunch is that digital writing evolves to be more responsive to measurable engagement, so there's an ever-present incentive to optimize what's written for utility (why internet content also gravitates toward self-helpyness)
·mobile.twitter.com·
Online writing is too didactic. Would like to recapture the feeling that not everything I read has to explicitly deliver information - feels like that's more frequently the case with stuff I've found offline