HN user

why-el

2,249 karma

Hi!

Programmer at Vendr in Boston. Previously, Grubhub, https://pace.car in Germany, startups in Brazil and Morocco.

Get in touch via wael . khobalatte @ Google's famous email service.

Posts74
Comments806
View on HN
news.harvard.edu 3y ago

Steven Pinker – Will ChatGPT supplant us as writers, thinkers?

why-el
5pts4
www.independent.co.uk 10y ago

Steve Jobs was a Syrian migrant's son too

why-el
2pts1
news.ycombinator.com 10y ago

Ask HN: If you are a job seeker, whats your ideal software to manage the search?

why-el
1pts1
www.wamda.com 10y ago

Againt all odds, Syrian incubator Afkar launches

why-el
2pts0
www.chicagotribune.com 10y ago

Chief Keef Hologram Concert Shut Down by Police

why-el
16pts3
github.com 11y ago

Let's Crowd-Write a GitHub Novel

why-el
47pts44
www.businessinsider.com 11y ago

NASA will pay you to stay in bed

why-el
2pts0
community.skype.com 11y ago

Skype is still not doing two factor authentication

why-el
2pts0
www.technologyreview.com 11y ago

"Dark Web" Version of Facebook

why-el
2pts0
techcrunch.com 11y ago

Ifinity Unveils Battery-Less Beacon Tech

why-el
4pts0
www.sandystoryline.com 11y ago

Comparing Katrina and Sandy

why-el
2pts0
www.facebook.com 11y ago

The most recurring word in each country's Wikipedia article

why-el
3pts0
www.youtube.com 12y ago

Dr. Dre confirms Apple buying Beats [video]

why-el
3pts1
www.nytimes.com 12y ago

A Desert Spider with Astonishing Moves

why-el
42pts2
news.ycombinator.com 12y ago

Ask HN: Where can I follow linux development?

why-el
1pts3
code.facebook.com 12y ago

An Analysis of Facebook Photo Caching

why-el
6pts0
torrentfreak.com 12y ago

Hyperlinking is not copy right infringement, EU court rules

why-el
6pts0
www.fastcolabs.com 12y ago

What it's like to be a woman in Y Combinator

why-el
6pts0
www.sfgate.com 12y ago

Women in tech largely unfazed by men's behavior

why-el
8pts1
www.honeybadger.io 13y ago

The case against using RubyGems.org in production

why-el
8pts1
rapgenius.com 13y ago

ACLU annotates new Kanye West song

why-el
1pts0
thenextweb.com 13y ago

Assange in 2011: "They have automated the process."

why-el
198pts84
mashable.com 13y ago

Tesla Stock Breaks $100 for the First Time

why-el
5pts0
mashable.com 13y ago

Zach Braff Responds to Kickstarter Critics [video]

why-el
54pts40
news.ycombinator.com 13y ago

Can a student/tourist visit your Chicago company (37signals et al)?

why-el
1pts0
blogs.hbr.org 13y ago

Saving Great Ideas from the ideas industry

why-el
8pts0
alexbowe.com 13y ago

Failing at Google Interviews

why-el
1pts0
www.salon.com 13y ago

How Netflix is turning viewers into puppets

why-el
3pts1
mashable.com 13y ago

Apple trademarks store design

why-el
1pts0
bbenvie.com 13y ago

Javascript ES6 has tail call optimization

why-el
3pts0
What Is OAuth? 5 months ago

For Oauth I'd like to borrow what I would describe humbly as a better analogy, and it comes from Douglas Crockford, and so adapting it from him commenting on Monads in Functional Programming, it goes something like this:

"OAuth is a simple idea, but with a curse: once you understand it, you lose the ability to explain it."

I am not sure if this will help you, but have an extended, deep conversation with ChatGPT about your resume. Tell it who you are, what you excel at, and list projects and technologies. Then, paste a couple of the job postings that did not work for you.

This might sound silly to you, but it absolutely works, because it will distill your experience better, ask you to re-arrange and generalize, and more importantly, it is far superior to us in finding unique key word combinations that work.

the user who wants it? and a premature retort: if the feedback is "the user / PM / stakeholder could be wrong", then... that's where we are. A "refiner" LLM can be fronted (Replit is playing with this for instance).

To be clear: this is not something I do currently, but my point is that one needs to detach from how _we_ engineers do this for a more accurate evaluation of whether these things truly do not work.

I am not so sure. Code by one LLM can be reviewed by another. Puppeteer like solutions will exist pretty soon. "Given this change, can you confirm this spec".

Even better, this can carry on for a few iterations. And both LLMs can be:

1. Budgeted ("don't exceed X amount")

2. Improved (another LLM can improve their prompts)

and so on. I think we are fixating on how _we_ do things, not how this new world will do their _own_ thing. That to me is the real danger.

"ask you"

I get the concern, however. But, short of nuking the actual .git directory, the upsides are worth it, in my opinion. Cursor offers filtering via a mini-prompt in its YOLO mode, so does Windsurf. The idea is killer, it allows it to progressively build and also correct its own errors. e.g. Cursorrules can be told to run tests after a feature is generated, or typecheck, or some other automated feedback-loop your codebase offers. That's pretty neat!

Better yet, setup a dev container first. Then, at most, your local DB is the only concern. If still paranoid (as you should be), suspend your network while the agent is working. :D

Love it.

this post is only about buffering that happens inside the program, your operating system’s TTY driver also does a little bit of buffering sometimes

and if the TTY is remote, so do the network switches! it's buffering all the way down.

I learned the following:

- Everything public in Slack. Create a fun-sounding moto that discourages DMs. Even if a DM happens, and the back and forth resulted in a consensus, share that consensus in a public channel (which makes it searchable).

- Record your team meetings, preferably with software that can AI-summarize. Folks on vacation / leave can get the rundown easily.

- Encourage the sharing of solutions to various problems (technical or otherwise) in Slack. If a developer is stuck, and someone helped them in a huddle or a pairing app, share the solution afterwards (again, makes it searchable). Discourage the over-sharing of screenshots (of your application and other things). Again, not searchable. If one must be shared, describe it. For instance, many devs share a picture of a stack-trace. Not super helpful for others. Grab the text and dump it to Slack.

- Have a good pairing software setup, unblocks for when Slack back and forth is too tedious. I like Tuple (tuple.app).

- Connect your issue tracker to Slack, if you use one, makes creating issues easy. Linear does this well.

- If feasible, have your team meet in person, cadence up to you, but at least once. Meeting the people in real life humanizes them more. I know it sounds silly to say, but it's very true in my experience. Your people will seem even lovelier.

Hm, I thought Happy Eyeballs (HE) was mainly concerned with IPv6 issues and falling back to IPV4. I didn't think it was this RFC in which finally some words were said about round-robin specifically, but it looks like it was (from this article).

Is it true then that before HE, most round-robin implementations simply cycled and no one considered latency? That's a very surprising finding.

To be inspired by something really has no bearing on how the _inspired_ thing is built. I think you place much emphasis on that but really it does not bring much to the argument. One can say that a plane was inspired by a bird (and it is, since we wouldn't to build one if we didn't see birds flying), but a plane is not designed like a bird.

I also somewhat contest that "interesting behavior comes from the emergent runtime interaction of tons of tiny components". There can be very tight, hierarchical structures to programs designed in the way Alan Kay talks about. He is promoting clear, manageable interactions, not emergent unpredictability, which is something I am sure you came across (we all did), but I would not go so far as describe the whole model of Kay as "fundamentally misguided". He talks of "clear fences", which can be understood to refer to things like "actor-based" models, with controlled, clear messages, as done in languages such as Erlang.

I am confused by this comment:

open source stuff with long history of maintenance and improvement

improvement and maintenance is continent on usage, and having been used at Netflix, this project is in a better place to have already faced whatever bug you are worried about (and let's be real, 99% of applications wont ever get the luck to exercise code paths sophisticated enough to find bugs Netflix has not found already).

You might be unnecessarily projecting here. You don't have evidence to support that open sourcing this might have been for any other reason than it is simply good for the community to have.

The same reason Babbage never built the full Difference Engine. Design of this sort allows some tinkering unbothered by the constraints of actually building it (if you know history of the Difference Engine you know how many ideas it unleashed even if never really built to completion except in recent times for display at a London Museum :p).

A Writer's Ruby 3 years ago

newspeak is for dramatic (and dare I say, rather fun) effect. I think his point is straightforward and not confused: one style and one liner for the entire programming language prohibits personal expression of style. A linter to enforce your own personal / team styles is a good idea. I don't see the confusion. You might disagree with one or both, but to me it seems logically consistent with the premise of the article which is that personal style is important in programming.

I didn't mean to say it's all IO, that would be wrong. Rails is feature-rich, ActiveRecord for instance spends plenty of time in the CPU (manipulating its internal state). But the idea that Rails/Ruby is slow is outdated and does not jive with any monitoring and metrics we collected even in extremely busy environments. Of course one would gain some percentage of speed if say your backend is some compiled language, but that would mean possibly slower development cycles, hiring, and so on. Billion dollar companies run Rails, and, crucially, show relentless speed in execution (for instance, Stripe). If anything, Rails has the strongest case yet for performance / feature set.

In my experience most Ruby apps (Rails in particular) develop this idea that Ruby is the bottleneck when in reality most of the time it's something else entirely (mostly DB or network IO). Of course you found compiled languages faster! that's by definition. You also tried Ruby on CPU sensitive code bases ("Advent of Code or Project Euler solutions"), that's textbook "ruby is slower than C". Rails pays dividends in the web and in large code bases with many engineers.

Not quite I don't think. For a busy database, The Heroku followers will not catch up to your upgraded database as quickly, so during an upgrade using Heroku's physical replication (as opposed to logical), there will be a time period where your freshly upgraded primary is on its own as the followers are being issued and brought up to date.

I've learned only one constant with git in my years as a programmer: master your own employer's git use cases, and pray to god for three things:

1. you don't change places often and thus git patterns.

2. you don't accidentally ship and commit a multi-GB file to your remote.

3. you don't change the git process on yourself and your colleagues without an extremely solid reason.

Document your chosen git patterns, even in 2023.

I think there is a useful LLM based solution (chrome extension or something) here where you ask it (with some trial and error), to only list constructive responses, hhh. I am only half kidding, most of internet feedback is useless, even here, but the ones that matter do matter someone somewhat exponentially, so you'd want them. You can even allow it a margin of error.

Do the queries still have to be serial? I imagine so. The README is not clear but it can be interpreted as me being able to fire more than one query (say 2, but the first one is still running, like pg_background). Is that the case?

I've been asked this numerous times, and similar questions. Most of these questions boil down to "are you, the interviewee we are about to give a job to, a crazy person". Most likely you are not, so find some plausible scenarios, like a missed deadline, scope creep, or any of the normal shit that happens to us, humanize the other in the story, state the resolution (or what you changed in process), the end.