What public figures publish and believe, in their own words.
About this feed
Highlights: posts that did unusually well for the person who wrote them, everything
they published at length, each release and new project, and every belief — at most
two a day from anyone. Day by day, newest
day first; within a day, the people with the most beliefs on this site come first. Nothing
else orders it. Show everything instead.
The quoted blocks are what people actually said; a beneath one is
the belief those words support, in korrents' wording. Nobody here wrote their own page.
Top people are the people in this feed with the most beliefs on this site, then the
most here. Choose an area and the row leads with the people whose beliefs are about it;
tap a face for their feed.
I think the big thing to realize for indie developers right now is there's massive, massive competition in every major genre, and it's very unlikely that unless you just happen to be the world's best at a particular thing that you're going to release a game in an existing highly competitive genre and win.
But the metaverse and 3D gaming in general needs something that's rather more powerful, more safe, more scalable, and more capable than JavaScript because the metaverse is actually a more difficult technical problem than a webpage.
The biggest limitation that's built up over time is the single-threaded nature of game simulation in Unreal Engine. We run a single-threaded simulation. If you have a 16 core CPU, we're using one core for game simulation and running with the complicated game logic because single-threaded programming is orders of magnitude easier than multi-threaded programming.
But there are other parts of programming languages that are not subjective but should be fundamental. And when you look at type systems, there is a way to do type systems that gives you mathematical proofs. And every other way of type systems that doesn't give you mathematical proofs is just worse and should ultimately be rejected.
This is getting easier in the lastest versions of Fedora and Ubuntu (e.g., Ubuntu 24.04 LTS) which are shipping system libraries with frame pointers by default.
Everyone’s software is good enough these days. The barriers to entry are low. To stand out, you need to make your product feel great. One way of doing that is through animations.
These systems will be absolutely central to the economy, technology, and national security, and will be capable of so much autonomy that I consider it basically unacceptable for humanity to be totally ignorant of how they work.
I then asked myself, is the position of speed unique? and is it available? And the answer was overwhelmingly yes because almost no software was being sold or has ever been sold on the value proposition of speed.
Well, I strongly believe that we should make business software like we make games because when we make products like we make games, people find them fun. They tell their friends. They fall in love with them.
And that's why when you have a missionritical product like email where you are interfacing with customers with candidates with investors it turns out to really matter. Email is mission critical. So it's not something where you can simply launch with a halfbaked product.
Sometimes you have to move fast at the sacrifice of knowledge, and I'm totally on board for that, but I worry that what we'll create is an entire generation of incompetent programmers who can do some amount of things well, but anything that is unique, bespoke, or requires some extra like little elbow grease, might become very difficult. It might cause a whole chasm where juniors remain juniors forever.
And so we often talk about programming in perspective of web, or something that's pretty narrow, and I think that's just a social construct of Twitter more than anything else, that actually I don't believe it's that representative of the entire programming world out there.
Most of the time I'm not thinking, I'm programming. I know what I want to do, I want to go as fast as possible because I've been just doing it for so long and I'm so familiar with the general space that it becomes a huge problem for me. I cannot tell you how many times that I've been purely bottlenecked by the fact that I just can't type fast enough and I just need to get it out of my head onto the text editor.
The editor obviously does not make the programmer, but I think it says a lot about your character as a programmer if you don't know how to use your editor well.
The new trend toward vibe coding and vibe design may be upending the user-centered design paradigm that has remained based on the same ideology since the first UX design projects at Bell Labs, starting in 1947.
However, with so many different software projects out there, each moving so rapidly and depending on and being used by so many other projects, it becomes practically-inevitable that some regressions "like that one" happen, almost constantly.
I'm hopeful this framework will turn out to be a much more robust style for writing performance-sensitive code, especially over time and as compilers evolve.
Vibe coding can execute instructions, but deciding what the software should do and why is not automated. Product managers and designers must still do user research, market analysis, and creative brainstorming. In that sense, vibe coding changes the implementation phase more than the planning phase of the product lifecycle.
As a Python and JavaScript programmer my favorite models right now are Claude 3.7 Sonnet with thinking turned on, OpenAI’s o3-mini-high and GPT-4o with Code Interpreter (for Python).
This is what leads to slop JS/TS software. Treating errors generically like this is a mistake. It leads to fragile software, poor telemetry/observability/debugging, and as a result worse experiences
You Need a Budget (YNAB) is a simple to use (but sophisticated under the hood) bit of budgeting software that uses the principles of human habits and behavioral finance to make you more conscious and efficient in your spending.
The important thing about, hey, is cost a limiting factor here? My view is that we'll have really awesome intelligence, like AGI, before we have it permeate throughout the economy.
To some extent, training a model does effectively nothing. They have a model. The thing that Dario is sort of speaking to is the implementation of that model, once trained to then create huge economic growth, huge increases in military capabilities, huge increases in productivity of people, betterment of lives.
But really the software engineering agents I think can be done faster sooner than any other agent because it is a verifiable domain. You can always unit test or compile, and there's many different regions of it can inspect the whole code base at once, which no engineer really can.
But what happens when every company can just invent their own business logic really cheaply and quickly? You stop using platform SaaS, you start building custom tailored solutions, you change them really quickly.
And they're decent, their hardware is better in many ways than in NVIDIA's. The problem is their software is really bad and I think they're getting better, right? They're getting better, faster, but the gulf is so large and they don't spend enough resources on it or haven't historically, right?
The big picture is that I don't think it's going to be a cliff. I think a really good example of how growth changes is when Meta added stories. So Snapchat was on an exponential, they added stories, it flatlined.
I think that they're trying to shift the narrative. They're trying to protect themselves. We saw this years ago when ByteDance was actually banned from some OpenAI APIs for training on outputs. There's other AI startups that most people, if you're in the AI culture, were like they just told us they trained on OpenAI outputs and they never got banned.
until there are feedback loops of open source AI, it seems like mostly an ideological mission. People like Mark Zuckerberg, which is like America needs this and I agree with him, but in the time where the motivation ideologically is high, we need to capitalize and build this ecosystem around, what benefits do you get from seeing the language model data?
It is a fork of Visual Studio Code with AI-based auto completion and code generation built-in. It’s my go-to for programming with AI assistance at the moment.
This is a command line tool with plenty of plugins that lets you prompt different models. Think of it as a command-line version of Open WebUI. It’s particularly useful for quick scripting and basic automation.
I mean, I've been doing this for over 15 years. If there were any shortcuts, I'd be all over them. There are patterns and there are frameworks, but there's no shortcuts.
A fresh take on navigating the tech the interview process, tailored for frontend engineers. She wrote the book after she found Cracking the Coding Interview to be too Java/backend-focused. The book comes with 1, 2 and 4-week learning plans as well. A great book to start with.
"Tidy First? is the first in a series of books about software design. Kent has been coming back to the topic of “taming” software design in a digestible format."
I think it’s fantastic when businesses are built on open source, the WordPress ecosystem is at least 10B+ a year; Automattic and WP Engine are less than 5% of that.
Many software investors eschew hard tech startups because of their capital intensity, but it’s hard to deny that huge returns are possible in hard tech: just consider SpaceX.
This isn’t a money grab: it’s an expectation that any business making hundreds of millions of dollars off of an open source project ought to give back, and if they don’t, then they can’t use its trademarks.
If WP Engine wants to find another open source project with a more permissive license and no trademarks, they are free to do so; if they want to benefit from the WordPress community, then they need to respect WordPress trademark and IP.
when you send someone a link to a post, they can't read it without loading the entire Mastodon frontend app into their browser, which will is a monster React codebase that will break if they have scripting disabled and also can take up to 30 seconds on older hardware.
I use MAMP for WordPress development, Postman for API testing, Notion for notes and task management, Slack and Discord for communication and Keynote for course presentations.
I’m also still not sure how much I like nix – it’s very confusing! But it’s helped me compile some software that I was struggling to compile otherwise, and in general it seems to install things faster than homebrew.
Their words now
I’ve mostly switched back to Homebrew, nix was interesting but overall I think it’s not worth the complexity for me
In my approach, I resist using any external value framework as an ultimate set of criteria against which to measure games’ worth - not purpose, not pleasure, not politics.
Clients still pay a fixed monthly retainer to ensure the professional maintenance of the whole portfolio, and to get access to the expertise of all of Geomys’ maintainers.
From the onset, I envisioned small firms of professional maintainers with thematic portfolios, accommodating diverse maintainers and project sizes, just like the specialized firms of other professionals.
I started with a rather non-consensus hypothesis: companies want to pay for their critical open source dependencies, but most projects are not selling them a legible way to do so.
At current deployment rates it will take Waymo about 20 years with ZERO fatalities to show they are net as safe as average human driver fatality rates (including the old cars, impaired drivers, etc. in that comparison baseline).
I think life obeys universal principles. I think there is some deep underlying explanatory framework that will tell us about the nature of life in the universe and will allow us to identify life that we can’t yet recognize because it’s too different.
My hot take is that JS has the lowest bar of entry to building and being productive (a good thing) but one of the highest bars of any language and stack to building high quality, stable, and reliable software. Very few devs have the expertise to pull off the latter
And for a long time, I thought that's what had worked. That this was why Ruby on Rails took off, became one of the most popular full-stack web frameworks of all time, inspired countless clones, and created hundreds of billions in enterprise value for companies built on it. But I was wrong. It wasn't the crusade that did it.
Side note for CSS, I'm cool to use what ever tech available out there that makes my task done quickly & well, I have personally used Bootstrap 3 & 4, Bulma, Lostgrid, Materliaze, Skeleton, Tailwindcss, Styled-components, emotion, CSS modules, Tachyons & made my own micro CSS framework called Unnamed that has over 200 stars on GitHub. Still I prefer using Tailwindcss.
By all accounts, from people who become memory athletes, they weren’t born with some extraordinary memory, but they practice strategies over and over and over again. The strategy that they use for memorizing a particular thing, it can become automatic, and you can just deploy it in an instant.
In a rapidly growing organization, it's much more important to have a developer environment that "just works" out of the gate, with minimal setup pain for new engineers.
The best tooling in the world will struggle to make up for "regularly losing a day debugging your environment," and so getting that aspect right can easily outweigh almost any other decisions you make.
It is almost inevitable that per-engineer productivity drops to some extent as an organization and codebase grows, even though it's also nearly-impossible to quantify that effect.
That is, labs should make sure that the safety measures they apply to their powerful models prevent unacceptably bad outcomes, even if the AIs are misaligned and intentionally try to subvert those safety measures.
Yeah, it is interesting because, when people react against you by saying you are being arrogant about this, 99.999% of the time, all they mean is I disagree. That’s all they really mean, right?
Copyleft does not impose restrictions, but it does impose obligations. The obligations exist to guarantee rights to the users of the software – in other words, to ensure freedoms.
No such restrictions are found in free or open source software licenses, be they permissive or copyleft – all FOSS licenses permit the use of the software for any purpose without restriction.
I'm excited about what this means for the open-source community and research, with the gap between closed-source and open-weight models closing and SOTA-level conversational models being more easily accessible.
This is not the same
world that you were part of. The complexity is off the chart; we are hidden
layers and layers under the scaffolding. And we are used everywhere.
Based on public commercial data that tells a lot about the military potential of these dual-use robotic spacecraft, we have shown that China can manufacture and deploy 200 such spacecraft as early as 2026, enough to cripple critical US satellites in geosynchronous, highly elliptical, and other orbits, and thus severely degrading space support to wartime operations.
I think that was an unfortunate move because their goal is mainly to extract profit from the software project rather than to uphold the ideals of Free and Open Source Software.
In short summary, the licenses limit the freedoms of what one can do with the software in order for Redis Labs to be solely enriched, while asking for volunteer labor, and having already
So part of the reason that we deploy the way we do, we call it iterative deployment, rather than go build in secret until we got all the way to GPT-5, we decided to talk about GPT-1, 2, 3, and 4. And part of the reason there is I think AI and surprise don’t go together. And also the world, people, institutions, whatever you want to call it, need time to adapt and think about these things.
I think that the enshittification framework goes a long way to explaining it, moving us out of the mysterious realm of the 'great forces of history,' and into the material world of specific decisions made by named people – decisions we can reverse and people whose addresses and pitchfork sizes we can learn.
Because patents have fixed term lengths, with small extensions to compensate for the year or so when the drug is under regulatory review, drug developers are incentivized to go after conditions where clinical trials can be completed quickly, all else being equal.
In light of the increasing number of closed-source LLMs, it is important to continue to promote an open culture of sharing knowledge, data, and software, from which the NLP community has benefited greatly.
One thing that drives me crazy about the React ecosystem, and more specifically "tech influencers" and "thought leaders" in the space, is the infantilization of the developers using and working in it. I’m tired of reading takes like TypeScript generics, mapped types, etc should only be needed and used by library authors for most use cases. Or today’s discourse; Don’t use `useCallback’, ‘useMemo’, and React.memo. If you’re building anything beyond a simple CRUD app or a an incredibly focused app with few features, you _will_ need these features.
Despite evaluations, we cannot consider coming powerful frontier AI systems "safe unless proven unsafe". With current testing methodologies, issues can easily be missed. Additionally, it is unclear if governments can quickly build the immense expertise needed for reliable technical evaluations of AI capabilities and societal-scale risks. Given this, developers of frontier AI should carry the burden of proof to demonstrate that their plans keep risks within acceptable limits.
A number of commentators have consistently predicted that solar cost improvements will level out “this year” since about 1990, and yet if anything deployment, cost decline, and the learning rate have only improved.
What we don't want to happen with AGI, we want to happen with synthetic biology. What we don't want to happen online and software with language, we want for it to happen with bio-based materials.
It’s always harder to write software for more specialized hardware. A GPU is pretty generic. If you can’t write an in Nvidia stack, there’s no way you can write a stack for your chip. My approach with Tinygrad is first write a performant NVIDIA stack.
Of course, when you talk to an AI that’s made by a big company in the cloud, the AI fundamentally is aligned to them, not to you. And that’s why you have to buy a tiny box. So you make sure the AI stays aligned to you.
So almost if Codex or copilot are helping you, that actually probably means that your framework or library is bad and there’s too much boilerplate in it.
But the real thing that I want is not something that like tab completes my code and gives me ideas. The real thing that I want is a very intelligent pair programmer that comes up with a little popup saying, “Hey, you wrote a bug on line 14 and here’s what it is.”
I think driving is not tool complete and programming is. Meaning you don’t use the best possible tools to drive. Cars have basically the same interface for the last 50 years. Computers have a radically different interface.
At the same time, in order to reduce the probability of someone intentionally or unintentionally bringing about a rogue AI, we need to increase governance and we should consider limiting access to the large-scale generalist AI systems that could be weaponized, which would mean that the code and neural net parameters would not be shared in open-source and some of the important engineering tricks to make them work would not be shared either.
While we love GraphQL for many use cases, implementing a secure and performant GraphQL API can be tricky and there is a definite cost to requiring it during early prototyping of your app.
RSC is the future of React. The React team has made this very clear and we are lucky to be in touch with their amazing team members to help us along this path.
The app costs a few dollars up front and then has an optional subscription for unlimited requests, but I would recommend going directly to OpenAI’s developer dashboard, creating your own account, and copy/pasting your own API key into Petey.
It simply cannot be the case that we're willing to give up a decade or more of hardware performance just to make programmers’ lives a little bit easier.
This experiment started from the observation that despite being critical for the functioning of the Internet—and, by extension, the economy—the role of open-source maintainer has not yet found a sustainable manifestation.
The temptation to enshittify is magnified by the blocks on interoperability: when Twitter bans interoperable clients, nerfs its APIs, and periodically terrorizes its users by suspending them for including their Mastodon handles in their bios, it makes it harder to leave Twitter, and thus increases the amount of enshittification users can be force-fed without risking their departure.
The Linux Programming Interface by Michael Kerrisk – an exhaustive reference on how Linux works. There are about a million chapters, but every individual chapter is pretty short and I find it quite readable.
Hell even worse, a lot of the libraries that underpin the fabric of what we all call the digital economy have trouble getting enough money to pay for food.
We are not suppliers. All the people writing and maintaining these projects, we are not suppliers. We do not have a business relationship with all these organisations.
I spent the last few weeks reading Template Metaprogramming with C++ by Marius Băncilă. It is currently 50$ on Amazon. Though, technically, the book is about advanced 'template' techniques, it is much more broad and practical. It is one of the 'good programming books'. If you are an experienced C++ programmer, you should give it a peek
Our Tendency shapes every aspect of our behavior, so understanding this framework lets us make better decisions, meet deadlines, suffer less stress and burnout, and engage more effectively.
Sure, electric bikes aren't cheap. But I believe they're a rare object to be well worth the cost. This in spite of their annoying flaws, their often bad software, their defective geometries. Because they open the world.
The Vanmoof is much smarter — the brain and software within it are refined, the app good, the acceleration curves smooth — but the bike is all custom components, and they aren't the highest quality at that.
Programming, of course, is forgetting, but we need to at least try to be aware of the costs of the abstractions we choose and consider who it is that ends up being forgotten.
In my opinion the root cause of this bug is that when a white american developer sees a terminal they immediately interpret it as this idealized cartesian plane where they can lay out any writing they want in neatly-spaced characters that behave in "predictable" ways (in other words, behave exactly like English).
I have argued that the probability of a bad equilibrium is only marginally influenced by the level of debt, but can be much reduced by a contingent rule making the primary balance react to an increase in debt service.
Multipliers are likely to vary a lot over time and space, but the bulk of the evidence is that they are different from zero, positive for spending, negative for taxes, and that they are stronger when monetary policy does not or cannot react to fiscal policy.
Modern browser with split-screen functionality. Helps organize different work contexts more efficiently. Yeah I know, I know. It's a Microsoft product.
Code has mass. Every additional line of code you don't need is ballast. It weighs your codebase down, making it harder to steer and change direction if you need to.
Climate change is the existential crisis of our time. We need more ideas and progress in every sector, including software-based approaches to preventing emissions and sequestering carbon.
Free software is designed to be used commercially, but you have to do it correctly. This is a resource which is made available to companies who want to exploit it, but they must do so according to the terms of the licenses.
I used to think that this was unequivocally a win for open source. That to fight for attention with the commercial alternatives, we had to adopt the commercial playbook. Now I think it’s at the very least a mixed blessing.
We as a profession misunderstand and misuse the concept of backwards compatibility, both upstream and downstream, by focusing on narrow legalistic definitions instead of outcomes.
a good software project tries to break downstream as little as possible, and when we do break downstream, we should do our best to make the breakage obvious and easy to fix.
WinMerge just gets better and better. It's free, it's open source and it'll compare files and folders and help you merge your conflicted source code files like a champ.
Other software I use to build stuff includes Netlify for hosting, GitHub for version control and collaboration, SVGO and TinyPNG for optimization, Kap for screen recording, GoatCounter for analytics, and Chrome and Firefox dev tools.
Other software I use to build stuff includes Netlify for hosting, GitHub for version control and collaboration, SVGO and TinyPNG for optimization, Kap for screen recording, GoatCounter for analytics, and Chrome and Firefox dev tools.
But nobody will ever get to the billions of representative miles necessary to say anything compelling about expected safety until after they actually deploy their fleet.
The fast route — venture capital funded — is going to impose constraints on your business that will ultimately make it difficult to remain true to your open-source mission.
Selling is hard. Building a repeatable model with a team that you attempt to rapidly scale is even harder. Fortunately, Mark Roberge, who was one of the very first employees at HubSpot shares the processes and frameworks he used to build a sales machine. If you like the principles behind Lean Startups, then his data- and experiment-driven approach to sales will be very appealing.
Want to know the story behind how Salesforce was built? This is that story in founder Marc Benioff's own words. At times I found him overly prescriptive without an appreciation for his unfair advantages he had (getting to start it while having a big salary at Oracle, having $6Mn in "bootstrapped funding", etc). However, he also helped pioneer the cloud and SaaS as a business model, so there are many great lessons to glean if you're building a high-growth SaaS business.
Breville Bambino Plus Espresso Machine and Baratza Encore ESP Pro Coffee Grinder - Developers need coffee, and I like mine HOT. The integrated milk steamer is a must-have, and since this machine takes freshly ground beans, the grinder allows me to tweak the grind size for perfect single dose espresso shots.
To read papers, I use Adobe Acrobat Reader and sync them in the cloud. This lets me read, highlight, and sync my papers across devices (work laptop, personal laptop, iPad). Instapaper does the same for online articles.
To read papers, I use Adobe Acrobat Reader and sync them in the cloud. This lets me read, highlight, and sync my papers across devices (work laptop, personal laptop, iPad). Instapaper does the same for online articles.
Firefox is a great browser with some awesome tools, plus strong privacy. I use Edge when I need to test on Chromium; I don’t even install Chrome on my personal machines.
The data paint an incredible picture: One that shows the price of solar electricity from utility-scale systems dropping by anywhere from 30-40% with each doubling of cumulative solar deployment.
Because arguably the majority of our time working on software is not spent writing it: we're reading code, trying to understand it, slightly tweaking and editing it.
I'm currently running macOS Mojave, backed up with both Time Machine and SuperDuper to an external drive and BackBlaze to the cloud. Overkill maybe, but after a major drive crash a few years ago, I'm not taking any chances.
I've run all my sites on Jekyll and GitHub Pages for a while now. I have found it easier to manage than WordPress (particularly as I know next to nothing about databases),
When I'm writing articles etc that need to be shared with an editor, I typically write in Microsoft Word. I hate all word processing software, and anyone who insists that Google Docs is so much better than Word is a liar.
Firefox is my favorite web browser. This is in large part due to Tridactyl, an add-on that makes the interface Vim-like, which makes the interface far more capable.
It's basically the Vim of audio editing software, so I wouldn't recommend it if you don't have the time and energy to heavily invest in customizing it for your workflow, but I can move like lightning in this thing.
Sizzy is a cool browser specifically for responsive design. It lets you view all of the breakpoints for a site at the same time and also does a good job auto-scaling fixed size viewports to fit whatever window size you're using.
here's some notable software that I use daily. I also maintain an active list here. Fish Shell. Micro text editor. Toot Mastodon client. cmus audio player.
here's some notable software that I use daily. I also maintain an active list here. Fish Shell. Micro text editor. Toot Mastodon client. cmus audio player.
Work that’s too fine, too early commits everyone to the wrong details. Designers and programmers need room to apply their own judgement and expertise when they roll up their sleeves and discover all the real trade-offs that emerge.
Shaping is primarily design work. The shaped concept is an interaction design viewed from the user’s perspective. It defines what the feature does, how it works, and where it fits into existing flows.
Speed and reliability are often intuited hand-in-hand. Speed can be a good proxy for general engineering quality. If an application slows down on simple tasks, then it can mean the engineers aren’t obsessive detail sticklers.
Fast software is not always good software, but slow software is rarely able to rise to greatness. Fast software gives the user a chance to “meld” with its toolset. That is, not break flow.
I love software that does this: Software that unbloats over time. This should be the goal of all software. The longer it’s around, the more elegant it should become. Smooth over like a river stone.
Speed in software is probably the most valuable, least valued asset. To me, speedy software is the difference between an application smoothly integrating into your life, and one called upon with great reluctance.
I'd say the central piece of software I use is Dropbox, which syncs subsets of my entire filesystem across all of my computing devices: iPhone, iPad, laptops, and desktops.
I’ve seen recurring comments to the effect of “This is great, but individuals aren’t where the money’s at, it’s companies”, which is a position I’ve also previously taken.
The only reason it isn't higher on this list is that the content is a bit specialized and narrowly focused on the landing and the software and adjacent topics; it's definitely one of my favorite books here.
Did you know, the tests you write with react-testing-library look almost identical to the tests you write with vue-testing-library. Magic things happen when you don't test implementation details. :)
If you were as I was and are contemplating diving into Rust, a couple of pieces of advice, for whatever they're worth: I would recommend getting both The Rust Programming Language and Programming Rust. They are each excellent in their own right, and different enough to merit owning both.
Let me close by offering a sincere thanks to those in the Rust community who have been working so long to develop such a terrific piece of software – and especially those who have worked so patiently to explain their work to us newcomers.
not only did I buy the canonical reference (The Rust Programming Language by Steve Klabnik, Carol Nichols and community contributors), I also bought an O'Reilly book with a bit more narrative (Programming Rust by Jim Blandy and Jason Orendorff).
This is about the craft of software development, and thinking about how to produce good code. As the name suggests, it's a very pragmatic and hands-on book. It really helped me on my journey as a software engineer, to be able to write quality code day in and day out, and be confident that it's going to work correctly.
Another similar and also interesting book is Concepts, Techniques, and Models of Computer Programming, which explains all the models of computer languages and how they fit together.
The right to fork is still critical as an implied threat to keep the system in check. But major political forks aren’t as common, and certainly not as top-of-mind, anymore.
In order to understand Marx, you really do need to know something about Hegel. It's a mistake to think you could read Marx as a scientist or an economist without understanding the Hegelian framework of his thought. That's why I chose to begin with Hegel.
Google Chrome: What's a Web Developer without Google Chrome browser? The first thing I do with Safari is to get Google Chrome and install the latest version.
Awesomely creative think-piece. 40 very short fictional stories about what happens when you die. The framework is inspiring for anyone: coming up with 40 different answers to any one question. But they’re also just brilliant ideas and powerful little fables. I just read it a 2nd time and love it even more now.
This book had a big impact on me as young software developer. It was the first time I saw in print the principle "bugs that go away by themselves come back by themselves". It's something that I've often repeated to myself, and my team, if nothing else but to prepare us mentally for when that hard bug does come back. The chapter advising developers to "proactively step through your code during development, don't wait for the bug report" improved my productivity enormously, and I followed the practice for many years.
The Unix Programming Environment is a book you can't read too soon. It's something I wish I'd come across years before I actually did. An authoritative and comprehensive manual for using Unix as a programmer, it clearly explains concepts such as inodes, hard and soft links, system calls, and the power of joining programs together via stdin and stdout. By the time I came across this book I already knew these concepts, but had never studied them before in one place, and in such a coherent manner.
Becoming a Technical Leader is both an interesting and subtle book. At times it feels like a self-help book, at other times a Machiavellian explanation of how programming teams really wok. But in the end it's sincere and mature, and wants to help. Weinberg's introspective style will appeal to many programmers, and it appealed to me. This book is useful because it talks about many of the practical issues of becoming a technical leader or manager within a team of developers — and from many unexpected viewpoints.
It covers concepts at a high level and hits the major points, but it's lacking in technical depth, details on how things work, advanced topics, and clear exposition.
Podcast. Yes, yes, yes! We live very distracted lives and most of our working days are filled with shallow tasks and interruptions. Although programmers get the importance of flow, it’s so hard to achieve. Our environments don’t support it, and shallow work is just easier. The book makes a compelling case for why we should double down on deep work, and offers some practical strategies for achie…
It's well studied in a number of other contexts including healthcare, aviation, mechanical engineering, aerospace engineering, and civil engineering, but we don't see it discussed in the context of software.
as an application developer, writing to files safely is hard enough that it should be done via some kind of library and/or database, not by directly making syscalls
For programming, I spend most of my time in vintage Microsoft Visual C++ 6, released in 1998, because the workflow is superior to newer Visual Studios for me.
The known connection between geometry, logic, topology, and functional programming suggests that the connections between representations and types may be of fundamental significance.
And if I’m allowed to extrapolate, a clear path is now laid out towards a future where the steps to go from sketch to design to implementation are greatly more accessible to everyone with an idea.
The main issue, however, is that underestimating the size of the state space is actually very easy. In other words, it’s difficult to come up with the complete list of questions that your UI needs to answer.
I use Outlook to maintain my calendar and address book. I hate that program, too, but I can't find anything else that lets me sync locally to my iPhone without going through the cloud.
I still use Eudora for my e-mail (version 7.1, not the one based on Thunderbird), because I don't want my mail living in the cloud. I'd upgrade to something newer and better, but there isn't anything newer and better.
Since the project I work on is a command-line tool that is primarily implemented in C, I use the usual CLI development tools, e.g. make, gcc, gdb, etc. The documentation is in AsciiDoc.
I however recently started to experiment with crouton, which allows me install a chrooted Ubuntu (or other variants of Linux) on a Chromebook and I can use GnuCash there. So far, this set-up seems to be working well enough for me, so I may be able to lose the Vizio someday.
It's true that controlled studies only tell you something about a very limited set of circumstances, but the fix to that isn't to dismiss them, but to fund more studies.
A flexible enough system that can share rendering code between browser and server and provides tools for progressively loading scripts and styles will probably eliminate the colloquial distinction between websites and webapps. Both are reigned by the same UX principles. A blog and a CRM are fundamentally not that different.
JavaScript allows us to mask network latency altogether. Applying this as a design principle should even remove most spinners or “loading” messages from your applications.
Then comes Prince, which converts HTML and CSS to beautiful PDF files. (Disclosure: I'm the chairman of the board of YesLogic, the company behind Prince.)
Back in 2009, my music player of choice was Amarok 1.4. This was by far the best music player I had ever used on Windows, Mac, or Linux, especially when combined with the wonderful ReplayGain plugin.
I write code in Atom, the text editor we've been working on for six years at GitHub. It's based on Chromium, so to customize it you can inspect it just like any other web element.
My development environment is managed by Boxen, Homebrew, and my dotfiles. I'm feeling good about all of that, which wasn't always the case if you were a Ruby developer five years ago.
For photo editing I use GIMP, and if I need something deeper, my wife has a Mac with Photoshop, Illustrator, and software to make movies and burn DVDs.
I admit a bit guiltily that for previewing and designing CSS, I turn to MacRabbit's CSSEdit 2.5, a version that's no longer shipping, as its functionality was absorbed into the company's Espresso Web site development software.
For text editing that is not specifically related to programming the Mac and iOS, I rely heavily upon BBEdit, where I do most of my Python, HTML, JavaScript and PHP editing.
I've been recording electronic music using strange software like WolframTones, which lets you 'evolve' pieces using cellular automata, or QuasiMusic which generates sounds mathematically from quasicrystals - patterns that almost repeat but never quite do.
I spend a lot of time writing papers and preparing talks with free software: emacs for text editing, LaTeX for typesetting, and IrfanView for editing images.
I spend a lot of time writing papers and preparing talks with free software: emacs for text editing, LaTeX for typesetting, and IrfanView for editing images.
The last important piece of software I use is Counter-Strike. I've been playing Counter-Strike for well over 25% of my life now. These days I specifically play a modification of the game called Gun Game. It's ridiculous and mindless. The reason I play it, and the reason I say I "use" Counter-Strike is that you can get in 5 minutes of stress relief with Gun Game without having to commit to playing for 30 minutes or an hour. Each round lasts only around 5 minutes, you have fun, then you get back to being productive.
It's hard to learn, but Logic is a beautiful piece of software. It's also hard to learn how to record using real studio equipment, so it should be no surprise that learning how to record with professional quality music software is difficult.
The field of programming need to see a renaissance in fundamental reinvention, just as it did in the 1950s when programming machines using levers and buttons was replaced by programming machines using textual sequences of computer commands.
I use my knitr package to generate reports directly from code (literate programming); the "reports" may include homework, blog posts, websites, papers and books.
Combined with git, the best source code control tool I've ever used (and I've used them all), I can set up a bare machine in a matter of minutes and have full access to all of my kernel trees, emails, and development tools.
I've gradually became a big fan of Haskell; I feel it makes me write much more solid code that is much easier to maintain and refactor. But the best part is there are seemingly no end of things to learn in the Haskell space.
Computer: My only machine is a 13" MacBook Air. I switched my daily partner from Linux boxes to Mac laptops 5 years ago. I love Macs since they work well with both UNIX tools and Adobe software.
I use Flixel and NAPE to make web games, and I use Cocos2D and Box2D to make iPhone games, and in both cases I can just implement my ideas without worrying about the boring, arcane aspects of programming.
I use Flixel and NAPE to make web games, and I use Cocos2D and Box2D to make iPhone games, and in both cases I can just implement my ideas without worrying about the boring, arcane aspects of programming.
At home on the Mac, I use a nice program called Arq, which also backs up to S3. It is not open-source, but all of the data is stored on your own S3 buckets, and there is an open-source program for retrieving it, so you aren't locked in.
I also have a dedicated Arch Linux laptop, currently a Lenovo x220 Tablet PC with capacitive & pen touch screen. I run a lot of customizations to take advantage of the hardware.
Textpad - text editing software that I do most of my writing and development in. It gets out of the way when you need it but has great features like regular expression search/replace (so handy!) and search-in-files, which I use quite a bit too.
A korrent is a belief a person has stated in their own words: one
sentence stating the claim, backed by a quote and a source, kept at
korrents.com.
Under a name here, the quoted block is what they actually said.
The korrent beneath it is the claim those words support, in
korrents' wording — tap it to see the record, its source, and who
else holds it.
Nobody here wrote their own korrents. They are compiled from public
statements, and a person can change their mind, which is recorded too.
About the English under a post
Some people here publish in a language other than English. Where they
do, this site shows a machine translation beneath the post, in
this typeface — the site's own, not theirs.
The post itself is never changed, moved or hidden: what is set in the
serif above is exactly what the person published, and it is what to
quote them on. A translation can be wrong in ways that matter,
especially about tone.
Only the post's own words are translated. A quoted post, a linked
article and a belief on korrents.com
are left in their original language.