Q-learning is trending, so it's a great occasion to share this neat little blog post showing how Q-learning, Currency Arbitrage, the Belmman-Ford and Dijkstra algorithms for shortest path search all share a common principle called "relaxation".
C++23 has "first-class UB": you, the language user, can make promises and let the program enter UB if you break them.
int f(int x, int y) {
[[assume(x == 27)]];
[[assume(x == y)]];
return y + 1; // May be optimised to `return 28`.
}
When I was still working with frontend someone new joined the team and changed all my
function aFunction(a, b) { ...
into
const aFunction = (a, b) => { ...
At that point, I realized I was getting too old for JavaScript development.
@steinerkelvin
@mountain_ghosts
Well, Spotify started offline-first. It’s mostly the UI being augmented with backend-decorated things that ruins the snappy offline experience.
Spotify standardizes programming language used by micro services with rare deviations. Adopting micro-services so you can let anyone choose their language is a recipe for disaster.
microservices arent for scale, they're for humans. people don't like to share their pet gardens, follow other people's conventions, work on someone else's code, use a language they don't like. microservices allow everyone to have greenfield work all the time.
This is no more. After today, you can add as many songs as you like to your Liked Songs on
@Spotify
I've been working with a small team on the refactoring necessary to pull this off for a while now. Very happy to see this finally out.
Dear
@Spotify
@eldsjal
. Increasing the maximum library size has been marked as a 'good' suggested idea since 2017. Either I move my library to a playlist and lose my time marks or start a new forked library with no shuffle across my library. This seems like an easy fix. Pls help.
@gabipaiva_adv
Saber detectar um modelo insustentável é uma maldição quando não é acompanhado da capacidade de prever o momento em que o sistema quebra.
git UI is confusing as a lot of tools are, but the most unforgivable flaw really is the lack of an “undo” operation. Complex software is much less scarier when you can try something, see what happens, and undo it if it’s not what you expected.
Every filesystem built on top of modern distributed Blob/Object store is a delusion. In the same way distributed filesystems were a delusion as many people have learned in the 1990s.
Mathematicians can now collaborate on a long theorem proof using Github writing LaTeX and Lean code.
Each collaborator can work on different parts of the proof (separate lemmas that build up the proof) and Lean can check correctness.
This happens because backend devs believe implementing one optimized query per use-case when implementing a GraphQL server will be sustainable.
The right mindset: you will be implementing the equivalent of a database query optimizer.
@marcogomes
Um prato desse seria caríssimo. E nem digo os mesmos ingredientes pq seria comida rara lá, mas nesse nível de qualidade e quantidade de carne.
I don't remember following "Nando Moura" (I haven't), but that doesn't prevent
@YouTube
from recommending him in the highly engaging Stories section.
This channel is responsible for a lot of the hate in Brazilian politics that culminated in last year's election of Bolsonaro.
@swyx
ChatGPT is bad at answering what WolframAlpha can answer, but WA is bad at understanding unstructured queries. ChatGPT’s ability to re-structure the questions and try again was the missing piece to unleash WA’s incredible power.
@azz_maher
@clrs4e
The goal of this specific book is to teach how to reason about algorithms and finding complexity proofs is a big part of that. So many people, probably would benefit more from other books, but this one has a role in the algorithms literature.
Backend developers won’t write a compiler for ad-hoc data fetching, but frontend developers will write compilers to deal with the DOM and lifecycle of components. Much of the complexity could be dealt with on the backend, but they refused to.
@DarnellTheGeek
@mn_google
@elonmusk
The analogy breaks when you take into account that the owner of the house didn't want to sell it in the first place and doesn't care that you've found mold in it.
@bentlegen
This is actually a very good thing. On my 6th and last year working at Spotify, they hired what added up to 30% of the employee base. Explaining the existing systems and design patterns to all these newcomers was very time consuming.
@metaxis_eth
@NannaInie
"Bias in AÍ" is a problem because it reproduces the biases that exist in the population and that reinforces society's injustices. The solution is literally introducing biased datasets: one that causes the AI to not reproduce the idea that only men can be programmers.
@marcosvlqueiroz
O pior é quando chegam na empresa pra dar treinamentos/palestras e mandam "Times diversos dão melhores resultados". Como se a dignidade das minorias, condicionada a um ideal de produtividade, fosse algo aceitável.
@VictorTaelin
And to make things even harder (hot take?): the intersection of the set of people that go very deep into FP and Type Theory with the set of effective people is rather small.
@Luciano655dev
@MySQL
@MongoDB
Qualquer modelo de armazenamento não-relacional funciona muito bem até aparecerem queries que não são compatíveis com a organização física escolhida. O modelo relacional é uma maneira de se preparar pra qualquer query as vezes com um overhead pequeno pras queries mais comuns.
Funny that DHH chose to declare war on TypeScript on the same day Anders Hejlsberg gave a talk about TypeScript at ICFP showing off why TS enabled great tooling that also enabled great software to be written in it.
Anders Hejlsberg
@ahejlsberg
, inventor of Typescript and C#, gave a great keynote talk about Typescript at
#ICFP2023
. It included some type level programming!
@DrawsMiguel
The guy found it because sshd was interfering with his micro benchmarking. I close Slack when I'm running benchmarks on my computer. We need to make sure basic OS services don't become too random in their CPU usage so that high variance triggers the autists.
@andre_berimba
@marcogomes
Empresas americanas que são donas de planos de saúde no Brasil. Pelos remédios que você comprar dá pra traçar um perfil de saúde e negar planos no futuro.
@teodor_io
It’s that feeling of seeing something that should serve as proof to others that can’t see what you already saw some time ago, but couldn’t really make a convincing argument until now.
Where do people learn about vectorized query processing algorithms? All I learned was from reading source code and random papers. Nothing structured.
This could be something I could write about, but I would like to know about existing literature reviews and book-like materials.
@brendasafra
@marcogomes
Algumas pesquisas/teorias consideram outras formas de vida.
É que as chances são muito menores devido às características de combinação dos elementos químicos do universo: o átomo de carbono é muito promíscuo 😅
I'm glad to share the news that I accepted the invite to be an
@ApacheArrow
committer. 🏹
I heard about Arrow in 2017 (or '18), and as a database programming enthusiast,I thought "it would be so cool to work on this". That's what I did for the past year!
Every operation in git has a weird incantation you can use to undo it, but as git is a collection of loosely related UNIX tools, it doesn’t keep a fine grained log of every operation you’ve done to allow proper undo.
@brendasafra
@marcogomes
Um lugar frio não dá origem à vida pq no frio, os elétrons dos átomos não se movem tanto e as reações químicas necessárias pra formar qualquer coisa não acontecem.
If you want to know more about what "the Facebook guys, the
@VoltronData
people" are arguing about, you can read the paper cited by
@andy_pavlo
on the slide or the beautiful "Composable Codex" that the team published recently. See 🔗 to that and the lecture on the replies below.
Uncle Bob wrote a micro benchmark to "show" that switch statements and virtual dispatching have about the same runtime cost and I'm hoping someone writes a good blog post explaining how code/data caches and speculative execution render that micro-benchmark completely useless.
@GergelyOrosz
Each employee designed their own scalable system for serving images, so now when an image is changed in one, it has to go through all the hacky solutions necessary to make the different services interoperate.
@marcogomes
Mude seu dinheiro para um lugar que faça pesquisas que mostram seu candidato na frente ou que o seus inventimentos vão sempre ser certeiros. :thinkwise:
@srprogrammer
Normal. Tenta quebrar em tasks menores se o gerente encrenca muito com isso.
Exemplo: 13 subtasks em uma task que demorei semanas pra concluir.
@eatonphil
The hardware bottleneck today is memory. Keeping the compute circuits busy with data. This reduces the number of workloads where an FPGA beats optimizing code for CPUs and GPUs.
@marcogomes
De quando é o livro de Adam Smith?
1776
O Adam já defendia educação universal pra evitar o efeito de uma nascente indústria que não requer habilidades intelectuais.
Anarcoteens chamariam o Adam Smith de comunista se realmente o lessem.
ChatGPT won’t disrupt Google only because it’s a superior technology. It will disrupt web search because it will be used to generate garbage that pollutes search indexes and by removing the economic incentive for people to write and publish high-quality content on the web.
@ruok162132
The worst on these reviews is that you don't know if they will stop being nitpicky after you fix the trivial syntax issues and have comments they withheld on the first pass.
My tweets made their way into
@andy_pavlo
's Advanced Database Systems course. "German-style Strings" are now also known as "Umbra-style Strings", or if you use terminology from Apache Arrow: String View Arrays.
@quertyvds
Iria além. A experiência chega mesmo é quando você fica no mesmo lugar por tempo suficiente para sofrer as más consequências de suas próprias decisões. :D
@t_pontes
@marcogomes
Note que quase sempre que alguém salta de classe social assim e fica falando bem de "meritocracia" é pq está sendo pago pra isso ou vendendo palestra/livro.
Não percebem o mal que fazem a todos que vão comprar a ideia e se sentir sem mérito :/
@pshc
@pcwalton
Because companies have millions of lines of C++ and unless there's an incremental way of migrating to something better, nothing moves. Firefox still has a lot of C++ even though Mozilla created Rust.
I was excited about the Compilers course in school while also thinking there would be no use for the knowledge — “there are so many PLs already”. I was so wrong! 🥳 Compiler-solvable problems are everywhere and you don’t even have to work with PLs to use them.
@medittere
You need 2 things to leverage this:
1) identify an invariant/property of your code that the compiler can’t safely (or even unsafely) deduce automatically
2) have this property picked by the optimizer in a way that allows better instruction selection, const. folding, code deletion
Every magical tech interview filter is about one thing and one thing only:
What should I do to ensure I hire people that are similar to me and create a less diverse team?
As a Staff level engineer, I always ask interviewees if they have a strong preference on coding fonts. If they do, they go right in the bin. Focus your energy on what matters
JavaScript is a language that will refuse to die. SQL is also a language that will refuse to die.
Is anyone building a language that is to SQL what TypeScript is to JavaScript?
Compiler Explorer is such an amazing tool. Compilers for many different languages and in many different versions. Tools I didn’t know even existed. All readily available and shareable with short links.
@marcogomes
É muito simples: se a revista SÓ acontece aleatoriamente, eles seriam obrigados a *não* revistar pessoas de quem eles apenas suspeitam. Pergunta pra qualquer segurança se ele é proibido de revistar alguém que ele julgue suspeito. Tem o aleatório e tem o discricionário.
@rtfeldman
LSP exists so that any language can write their tooling in whatever language they want (usually the language it serves). A C interface would create integration pains and running in the same process means low quality LSP implementations start ruining your editor experience.
@ken_wheeler
I went on an onsite interview in 2015, successfully implemented A* on the whiteboard for one question but I must have messed up in one of the other 4 45-minute interviews and didn’t get the offer.
Imagine being one of the engineers at Twitter, dealing with caching-related bugs because now tweets will become editable, so that in a few quarters it's launched and Elon Musk gets credited as the genius who taught everyone how it's done.
@t3dotgg
@jamesjansson
Spotify playlists are capped at 10k because even though there’s an incremental update protocol, most integrations use the simplified APIs.
Liked Songs is special for being unlimited. It’s easier to sync: no ordering imposed (you sort by add time) and no duplicates.
This is no more. After today, you can add as many songs as you like to your Liked Songs on
@Spotify
I've been working with a small team on the refactoring necessary to pull this off for a while now. Very happy to see this finally out.
@swyx
I think many applications of ChatGPT will follow this template: you have software that can answer structured queries, you modify it to explain to ChatGPT what it can’t understand in an unstructured query, and let them run this process until the queries become structured.