HN user

chacham15

1,599 karma
Posts25
Comments591
View on HN
9to5mac.com 4y ago

Apple Cloud gaming ban and mandatory WebKit usage both declared anticompetitive

chacham15
84pts34
nianticlabs.com 5y ago

Niantic Reveals Depth Technology to Turn Any Smartphone into 3D Mapping Tool

chacham15
3pts0
news.ycombinator.com 6y ago

Ask HN: What was the article about how optimizing for being right was bad?

chacham15
2pts0
www.youtube.com 11y ago

New Data fetching framework for React

chacham15
3pts0
www.sqlite.org 11y ago

SQLite User Authentication Introduced

chacham15
2pts0
news.ycombinator.com 12y ago

Ask HN: Does Heartbleed affect CAs?

chacham15
1pts2
sqlite.org 12y ago

SQLite now supports recursive CTEs

chacham15
114pts22
news.ycombinator.com 12y ago

Ask HN: Is there a place where I can see what the karma thresholds are?

chacham15
3pts1
news.ycombinator.com 12y ago

Ask HN: Are there any YC Alum who can give me feedback on my application?

chacham15
2pts0
news.ycombinator.com 12y ago

Ask HN: Where do you get your images from?

chacham15
14pts16
news.ycombinator.com 13y ago

Ask HN: What is necessary for a launch?

chacham15
6pts7
www.cnn.com 13y ago

Angelina Jolie undergoes double mastectomy to prevent breast cancer

chacham15
1pts0
news.ycombinator.com 13y ago

Ask HN: Why is hn not on the first page of Google anymore?

chacham15
1pts0
news.ycombinator.com 13y ago

Ask HN: What software do you use to monitor your servers?

chacham15
5pts3
techcrunch.com 13y ago

Heroku Admits To Performance Degradation

chacham15
3pts0
pandodaily.com 13y ago

VCs in Angels’ Clothing: The Sneaky New Trend of “Deal Scouts” in Silicon Valley

chacham15
2pts0
www.apple.com 13y ago

Apples' Updated Statement

chacham15
1pts0
news.ycombinator.com 13y ago

Ask HN: What was the article about the effects of law on Protected Classes?

chacham15
1pts0
news.ycombinator.com 13y ago

Ask HN: How does seating to Startup School work?

chacham15
1pts1
news.ycombinator.com 13y ago

Ask pg: Why MUST good startup ideas look like bad ideas initially?

chacham15
4pts8
www.forbes.com 13y ago

First Film By Google Glass Signals Good Things To Come

chacham15
3pts0
news.ycombinator.com 14y ago

Ask PG: Has Hollywood actually peaked?

chacham15
1pts1
torrentfreak.com 14y ago

MPAA Filter Censors Legit Torrent Files on isoHunt

chacham15
54pts3
news.ycombinator.com 14y ago

Ask HN: What are the best management texts?

chacham15
2pts2
news.ycombinator.com 14y ago

Should I incorporate? How do to it?

chacham15
1pts1
Banter 8 days ago

This is a shallow analysis. Banter doesnt need to be about a transgression or offensive at all. E.g. if you were talking to Armand Duplantis, you could tease him about how easy he makes breaking the world record look: "Hey Armand, you havent broken the world record in this past year...arent you due?"

There is a difference between a service and a good.

It doesnt make sense to "own" a massage just the same way it doesnt make sense to "own" spectating a game in person. The video recording of people playing a sport is a good that you can own however. This is why an online/multiplayer game is harder to separate because it straddles the line of both a service and a good, but other cases are much more clear cut. (also, a quick google does reveal multipke open source diablo projects fyi)

I think you're confusing two different axes. There is a difference between the cache state and the context state.

Imagine a conversation with turns X, Y, and Z. When the LLM "reasons" about the next token A it does: P(A | X,Y,Z) and then P(B | X,Y,Z,A), etc. It will eventually produce a result P(D | X,Y,Z,A,B,C). Instead of continuing the context from X,Y,Z,A,B,C it continues it from X,Y,Z so you have P(N | X,Y,Z,D). This is what is meant by dropping the reasoning. This is done to save cache context for the session.

This is a different thing than preserving the K/V state of P(N | X,Y,Z,D).

People Hate AI Art 2 months ago

I hate these overly grand clickbaity statements. AI is a tool. You can use it well. You can use it poorly. "AI Slop" is the category of lazy AI tool usage. It is the same with AI code. Do you ask Claude to implement a feature and then not do a manual code review? If so, you're likely to get slop.

The research findings “could present a challenge to those who argue that the AI model does not store or reproduce any copyright works,” said Cerys Wyn Davies, an intellectual property partner at law firm Pinsent Masons.

The defense to training with copyright is that it is the same as how humans learn from copyrighted material. The storage or reproduction is a red herring. Humans can also reproduce copyrighted works from memory as well. Showing that machines can reproduce copyrighted material is no different than saying that a human can reproduce copyright material that the human learned from.

The defense to actually reproducing a work is that in order to do so, the user has to "break" the system. It is the same as how you can make legal software do illegal things (e.g. screen recorder to "steal" a movie)

None of this is to say that these defenses are correct/moral; but rather that this article doesnt add any additional input into whether it is or isnt.

Deno Sandbox 6 months ago

I am so confused at how this is supposed to work. If the code, running in whatever language, does any sort of transform with the key that it thinks it has, doesnt this break? E.g. OAuth 1 signatures, JWTs, HMACs...

Now that I think further, doesnt this also potentially break HTTP semantics? E.g. if the key is part of the payload, then a data.replace(fake_key, real_key) can change the Content Length without actually updating the Content-Length header, right?

Lastly, this still doesnt protect you from other sorts of malicious attacks (e.g. 'DROP TABLE Users;')...Right? This seems like a mitigation, but hardly enough to feel comfortable giving an LLM direct access to prod, no?

This only works when strangers = target customer because there is no way a stranger would have the understanding of the pain you are relieving for someone when they dont feel that pain. Therefore, it can be better read as "validate your ideas on your target customer" which is kind of obvious.

The main thing that confuses me is that this seems to be PHP implemented in React...and talks about how to render the first page without a waterfall and all that makes sense, but the main issue with PHP was that reactivity was much harder. I didnt see / I dont understand how this deals with that.

When you have a post with a like button and the user presses the like button, how do the like button props update? I assume that it would be a REST request to update the like model. You could make the like button refetch the like view model when the button is clicked, but then how do you tie that back to all the other UI elements that need to update as a result? E.g. what if the UI designer wants to put a highlight around posts which have been liked?

On the server, you've already lost the state of the client after that first render, so doing some sort of reverse dependency trail seems fragile. So the only option would be to have the client do it, but then you're back to the waterfall (unless you somehow know the entire state of the client on the server for the server to be able to fully re-render the sub-tree, and what if multiple separate subtrees are involved in this?). I suppose that it is do-able if there exists NO client side state, but it still seems difficult. Am I missing something?

Since nobody here has actually read the article, it states that the reason the posts were taken down was "prohibits incitement to terrorism praise for acts of terrorism and identification or support of terror organizations." This type of speech (incitement) is illegal in the United States and support is very borderline depending on the type and meaning of "support". Now, if the reason doesnt match the actual content removed that should definitely be addressed which is your point, but I think that the reason is valid.

So, if I understand correctly, the consistency model is essentially git. I.e. you have a local copy, makes changes to it, and then when its time to "push" you can get a conflict where you can "rebase" or "merge".

The problem here is that there is no way to cleanly detect a conflict. The documentation talks about pages which have changed, but a page changing isnt a good indicator of conflict. A conflict can happen due to a read conflict. E.g.

Update Customer Id: "UPDATE Customers SET id='bar' WHERE id='foo'; UPDATE Orders SET customerId='bar' WHERE customerId='foo'"

Add Customer Purchase: "SELECT id FROM Customers WHERE email="blah"; INSERT INTO Orders(customerId, ...) VALUES("foo", ...);"

If the update task gets committed first and the pages for the Orders table are full (i.e. inserting causes a new page to allocated) these two operations dont have any page conflicts, but the result is incorrect.\

In order to fix this, you would need to track the pages read during the transaction in which the write occurred, but that could easily end up being the whole table if the update column isnt part of an index (and thus requiring a table scan).

With a big changeset, its better to have a brief discussion about how it works / what it needs before you actually actually make a PR. Just big principles high level stuff. This way if you build a train station, the devs wont be like "ooh, we really need an airport." Thats why an issue to track it is good: it raises visibility for anyone who has an issue with the approach etc. long before its time to make a merge. Also, if theyre like "well never take this" or "well take this if you build a space station" its good to know that before investing a ton of time into something PR-able.

I have tried SO hard to get rr to work for me, including buying a separate pc just to use it...but it just consistently fails so I've basically abandoned it. Something like this would absolutely be a godsend. Just getting something consistently working with Ubuntu is amazing. Does this approach make working in something like WSL viable?

I would love if this were upstreamed. Is there a github issue where you discuss the possibility of this with the rr devs? That might be something to add to your readme for everyone else who wants to follow along. Thanks!

suggesting that side stepping lock in altogether by simplifying down to traditional techniques is not “serious” makes me bristle a little

This is a strawman. You're misinterpreting the word "serious". They are using it to mean scalable, not about unimportance/ability. At some point in the scaling process, it will be more effective to scale to another machine than stay on a single one at which point you need a lot of other primitives like the article mentions. E.g. a shared cache with proper invalidation mechanisms. If you dont need scale, then you're right, you dont have to worry about this. I will also note that it is slightly odd to use a framework like next.js if you arent (or planning on) running at scale because most of its features (e.g. SSR) are entirely performance oriented. Essentially, the whole point of the article is that despite being "open source" you cannot run next.js at scale yourself without a massive investment of your own.

honestly, i run into the same issue. my use case is mostly for older wifi capture portals which just dont work against https since they obviously cant mitm the user. my other use case is for development work when I want to capture the traffic with wireshark without setting up https stripping via pinned certificate myself.

At some point I am not sure what the maintainers could do except ignoring it.

Ignoring people is a childs approach to communication. If there is a problem, its your responsibility to communicate it. If you have communicated the issue and the other party is refusing to hear it, that is a different issue, but it is your responsibility to communicate.

According to the documents, the AI services that the Defense Ministry purchased from Microsoft include translation (about half of the average monthly consumption during the first year of the war), OpenAI’s GPT-4 model (about a quarter of the consumption), a speech-to-text conversion tool, and an automatic document analysis tool.

The leaked documents show that the Israeli military’s average monthly use of Azure’s cloud storage facilities in the first six months of the war was 60 percent higher than in the four months leading up to it.

This is the actual data in the article, the rest is a bunch of speculation around these pieces of data. They note that GPT-4 may have been used in air gapped systems which would make it impossible to know how it was used, but it would be interesting to have more detail here.

I also find it interesting that the largest usage of services is actually in translation more than anything else.

Thanks for taking the time to respond! I have a few followup questions if thats ok:

You are correct in that the source code to the function being evaluated must be available to the compiler. This can be done with #include. I do it in D with importing the modules with the needed code.

D's strategy is to separate the parse from the semantic analysis. I suppose it is a hair slower, but it also doesn't have to recompile the duplicate declarations and fold them into one.

I dont quite follow all the implications that these statements have. Does the compiler have a different way of handling a translation unit?

- Is a translation unit the same as in C, but since you're #including the file you would expect multiple compilations of a re-included C file? woudnt this bloat the resulting executable (/ bundle in case of a library)

- Are multiple translation units compiled at a time? Wouldnt this mean that the entire translation dependency graph would need to be simultaneously recompiled? Wouldnt this inhibit parallelization? How would it handle recompilation? What happens if a dependency is already compiled? Would it recompile it?

Performance

I think a lot of this is tied to my question about compilation/translation units above, but from my past experience we have "header hygene" which forces us to use headers in a specific way, which if we do, we actually get really good preprocessor performance (a simple example being: dont use #include in a header), how would you compare performance in these kinds of situations vs a compiler without (i.e. either recompiled a full source file or looking up definitions from a compiled source)?

If you're using hacks to do templating in C, you've outgrown the language and need a more powerful one. D has top shelf metaprogramming - and as usual, other template languages are following in D's path.

yes, as also demonstrated in the performance question, we do a lot to work within the confines of what we have when other tools would handle a lot more of the lifting for us and this is a fair criticism, but on the flip side, I dont have the power to make large decisions on an existing codebase like "lets switch languages" (even if for a source file or two...I've tried) as much as I wish I could, so I have to work with what I have.

While the author has WAY more knowledge/experience than me on this and so I wonder how he would solve the following issues:

Evaluating Constant Expressions

- This seems really complicated...if you're working within a translation unit, thats much simplified, but then you're much more limited in what you can do without repeating a lot of code. I wonder how the author solves this.

Compile Time Unit Tests

- This is already somewhat possible if you can express your test as a macro, which if you add in the first point, then this becomes trivial.

Forward Referencing of Declarations

- I think there may be a lot of backlash to this one. The main argument against this is that it then changes the compiler from a one-pass to two pass compiler which has its own performance implications. Given the number of people who are trying to compile massive codebases and go as far as parallelizing compilation of translation units, this may be a tough pill for them to swallow. (evaluating constant expressions probably comes with a similar/worse performance hit caveat depending on how its done)

Importing Declarations

- This is a breaking change...one of the ways I have kind of implemented templating in C is by defining a variable and importing a c file, changing the variable, and then reimporting the same c file. Another thing I've done is define a bunch of things and then import the SQLite C Amalgamation and then add another function (I do this to expose a SQLite internal which isnt exposed via its headers). All of these use cases would break with this change.

Are there any thoughts about these issues? Any ways to solve them perhaps?

First off, thanks for all the work! I have a few questions if thats ok:

1. What is the next thing that the team wants to focus on improving?

2. What are the performance differences between the old architecture & new one?

3. What are your thoughts on the fragmented state of rn wrt react-native-web/react-native-windows/react-native-macos?

4. It is quite difficult to know what supports RN vs what relies on react-dom. Is there any thought to create some ecosystem focused around RN? Or if something like that is too cumbersone, perhaps even just adding some badge to github pages for "Supports RN"?

5. I forget what it was called, but the creator of react-native-web stated that they wanted to start winding down support in favor of an alternate approach which attempts to bring web apis to native instead of trying to make the native api work on web. I.e. instantiate div elements in native instead of view. What are your thoughts on this?

6. React (and IMO Meta as a whole) seems to generally have had the tech philosophy of take what you want, leave what you dont. With the dropping of create-react-app and endorsement of frameworks like Expo, it seems like its getting harder to just take the pieces we want. Is there any thought about this trend?

7. Related: as for the upgrade process: it would be cool if there were a way to "opt-in" to auto upgrades. E.g. what if there were a package which contained a base class controlled by the RN team so that a client side upgrade could be as simple as updating the version of the library the base class is in? (customization would be simple extending the class and doing w/e else needed there)

Again, thanks for all the work!

setBigTimeout 2 years ago

I would imagine the intent behind this would be that the attacker has indirect control over the timeout. E.g. a check password input which delays you in between attempts doubling the length of time you have to wait in between each failed attempt. With this bug in place, the attacker would simply wait all the timeouts until the timeout exceeded 25 days at which point they could brute force the password check back to back.

The idea is that if enough people use ride sharing, the total number of cars needed will decrease, therefore, the needed space to put those cars will decrease. It doesnt necessarily require that everyone use it, but its about reducing the total number of cars necessary. If the density of these cars are sufficiently high, I can see a world where not owning a car is more convenient than owning one (if it isnt cost prohibitive).

I think the difficulty here is addressing: who is your target audience? Depending on that answer, you have different existing relatively succesful visual programming languages. For example, game designers have managed to make good use of Unreals' blueprints to great effect. Hobbists use Comfy UIs node language to wire up generative AI components to great effect. As far as generic computing goes, Scratch has managed to teach a lot of programming principles to people looking to learn. The problem comes in when you try and target a generic systems programmer: the target is too abstract to be able to create an effective visual language. In this article, they try and solve this issue by choosing specific subproblems which a visual representation is helpful: codebase visualization, computer network topology, memory layouts, etc...but none of them are programming languages

Am I the only one who, in response to: "dont use loops" thought of the following:

   int numDigits(int num){
     if (num < 0){
       return numDigits(-1 * num);
     }
     if (num < 10){
       return 1;
     }
     if (num < 100){
       return 2;
     }
     if (num < 1000){
       return 3;
     }
     if (num < 10000){
       return 4;
     }
     if (num < 100000){
       return 5;
     }
     if (num < 1000000){
       return 6;
     }
     if (num < 10000000){
       return 7;
     }
     if (num < 100000000){
       return 8;
     }
     if (num < 1000000000){
       return 9;
     }
     return 10; // cant be more than 10 since sizeof(int) == 4, otherwise extend to 19
   }

I think it depends on how you deduplicate your code. Creating a DeadlineSettter as illustrated is definitely too much, but creating a function:

  def assert_datetime_in_future(datetime):
    if datetime <= datetime.now():
      raise ValueError(
        “Date must be in the future”)
and then calling that from both places seems fairly reasonable to me.
Veo 2 years ago

I dont think "turn the horse's head 90˚" is the right path forward. What I think is more likely and more useful is: here is a start keyframe and here is a stop keyframe (generated by text to image using other things like controlnet to control positioning etc.) and then having the AI generate the frames in between. Dont like the way it generated the in between? Choose a keyframe, adjust it, and rerun with the segment before and segment after.

This logic has a key flaw: just the fact that the size of the space is different doesnt mean that every representable thing in the larger space is a thing we care about. E.g. a person with three hands may not have a representation in the smaller space, but we would never care about that. The actual question is: what is the difference in the amount of information encoded in a large image vs the small latent space and compare that to the difference in information between a large image and a small image. If those two differences are close enough together, being able to determine a legitimate difference between SD generated vs not becomes near impossible.