Readit News logoReadit News
dimaggiosghost commented on LLMs work best when the user defines their acceptance criteria first   blog.katanaquant.com/p/yo... · Posted by u/dnw
marginalia_nu · 7 days ago
Ok so here are the actual course corrections I had to make to push through a replacement implementation of a btree.

Note that almost all of the problems aren't with the implementation, it basically one shot that. Almost all the issues are with integrating the change with the wider system.

"The btree library is buggy, and inefficient (using mmap, a poor design idea). Can you extract it to an interface, and then implement a clean new version of the interface that does not use mmap? It should be a balanced btree. Don't copy the old design in anything other than the interface. Look at how SkipListReader and SkipListWriter uses a BufferPool class and use that paradigm. The new code should be written from scratch and does not need to be binary compatible with the old implementation. It also needs extremely high test coverage, as this is notoriously finnicky programming."

"Let's move the old implementation to a separate package called legacy and give them a name like LegacyBTree... "

"Let's add a factory method to the interfaces for creating an appropriate implementation, for the writer based on a system property (\"index.useLegacyBTree\"), and for the reader, based on whether the destination file has the magic word for the new implementation. The old one has no magic word."

"Are these changes good, high quality, good engineering practices, in line with known best practices and the style guide?"

"Yeah the existing code owns the lifetime of the LongArray, so I think we'd need larger changes there to do this cleanly. "

"What does WordLexicon do? If it's small, perhaps having multiple implementations is better"

"Yes that seems better. Do we use BTrees anywhere else still?"

"There should be an integration test that exercises the whole index construction code and performs lookups on the constructed index. Find and run that."

"That's the wrong test. It may just be in a class called IntegrationTest, and may not be in the index module."

"Look at the entire change set, all unstaged changes, are these changes good, high quality, good engineering practices, in line with known best practices and the style guide?"

"Remove the dead class. By the way, the size estimator for the new btree, does it return a size that is strictly greater than the largest possible size? "

"But yeah, the pool size is very small. It should be configurable as a system property. index.wordLexiconPoolSize maybe. Something like 1 GB is probably good."

"Can we change the code to make BufferPool optional? To have a version that uses buffered reads instead?"

"The new page source shoud probably return buffers to a (bounded) free list when they are closed, so we can limit allocation churn."

"Are these latest changes good, high quality, good engineering practices, in line with known best practices and the style guide?"

"Yes, all this is concurrent code so it needs to be safe."

"Scan the rest of the change set for concurrency issues too."

"Do we have test coverage for both of the btree reader modes (bufferpool, direct)?"

"Neat. Think carefully, are there any edge cases our testing might have missed? This is notoriously finnicky programming, DBMSes often have hundreds if not thousands of tests for their btrees..."

"Any other edge cases? Are the binary search functions tested for all corner cases?"

"Can you run coverage for the tests to see if there are any notable missing branches?"

"Nice. Let's lower the default pool size to 64 MB by the way, so we don't blow up the Xmx when we run tests in a suite."

"I notice we're pretty inconsistent in calling the new B+-tree a B-Tree in various places. Can you clean that up?"

"Do you think we should rename these to reflect their actual implementation? Seems confusing the way it is right now."

"Can you amend the readme for the module to describe the new situation, that the legacy modules are on the way out, and information about the new design?"

"Add a note about the old implemenation being not very performant, and known to have correctness issues."

"Fix the guice/zookeeper issues before proceeding. This is a broken window."

"It is pre-existing, let's ignore it for now. It seems like a much deeper issue, and might inflate this change scope."

"Let's disable the broken test, and add a comment explaining when and any information we have on what may or may not cause the issue."

"What do you think about making the caller (IndexFactory) decide which WordLexicon backing implementation to use, with maybe different factory methods in WordLexicon to facilitate?"

"I'm looking at PagedBTreeReader. We're sometimes constructing it with a factory method, and sometimes directly. Would it make sense to have a named factory method for the \"PagedBTreeReader(Path filePath, int poolSize)\" case as well, so it's clearer just what that does?"

"There's a class called LinuxSystemCalls. This lets us do preads on file descriptors directly, and (appropriately) set fadviseRandom(). Let's change the channel backed code to use that instead of FileChannels, and rename it to something more appropriate. This is a somewhat big change. Plan carefully."

"Let's not support the case when LinuxSystemCalls.isAvailable() is false, the rest of the index fails in that scenario as well. I think good names are \"direct\" (for buffer pool) and \"buffered\" (for os cached), to align with standard open() nomenclature."

"I'm not a huge fan of PreadPageSource. It's first of all named based on who uses it, not what it does. It's also very long lived, and leaking memory whenever the free list is full. Let's use Arena.ofAuto() to fix the latter, and come up with a better name. I also don't know if we'll ever do unaligned reads in this? Can we verify whether that's ever actually necessary?"

"How do we decide whether to open a direct or buffered word lexicon?"

"I think this should be a system property. \"index.wordLexicon.useBuffered\", along with \"index.wordLexicon.poolSizeBytes\" maybe?"

"Is the BufferPoolPageSource really consistent with the rest of the nomenclature?"

"Are there other inconsistencies in naming or nomenclature?"

dimaggiosghost · 4 days ago
One thing I'm finding early success with is to define how the system can know if this statement is being met. Frequently I will include in the prompt e.g. "research what makes good high quality engineering practices and derive how to tell if those practices are being followed".

Directly telling it my team's values would be better, if we have it developed (like the style guide you mentioned) ... but that's a lot of work, the reasons that hasn't happened before are just as true now, and honestly - there's a lot of overlap with the generic research result.

> Are these changes good, high quality, good engineering practices, in line with known best practices and the style guide

Deleted Comment

dimaggiosghost commented on Seed funding slows in Silicon Valley   reuters.com/article/us-ve... · Posted by u/justswim
pm90 · 9 years ago
Its not an unpopular opinion, but that Juicing thing was definitely an exception, not the norm.

As to why everyone is chasing unicorns, one of my friends who's actively trying to get funding for his hardware startup sums it this way: VC's would make more from 1 unicorn than 50 other mildly successful businesses, and the other 50 businesses would probably require just as much work as the unicorn.

Its a really fucked up calculus to be sure. I'm not sure what the solution is though. How do we encourage VC's to invest in more meaningful startups?

dimaggiosghost · 9 years ago
The problem is it's impossible to predict success in an early stage company. Optimal way to ensure profit is to place many bets and hope one pays off enough to cover the costs of the losers. Asymmetrical outcomes are a requirement for sane strategic investors.

If all you can do is buy lotto tickets, you are better off buying insane payoff opportunities than trying to pick which lotto tickets will have a higher frequency of payoff, but a much lower yield.

dimaggiosghost commented on 'A reckoning for our species': the philosopher prophet of the Anthropocene   theguardian.com/world/201... · Posted by u/diodorus
patcon · 9 years ago
I'm going to write a thing that I'm not sure I totally believe, but I'm going to try it on for size. Pls feel free to push back on any part, or give feedback on whether anything resonates with you:

I don't think you give enough credit to the potential importance of eloquent memes and the building of new religions of sorts, in pursuit of making the more complex truths about our world and humanity (which hopefully can inform desired common futures) more palletable to a sizeable majority. (My underlying assumption is that we are emotional machines that sometimes engage in rational thought, and not vice versa.)

Pure rationalism won't get us to the future we deserve. We need to treat our packages of beliefs almost as we do the most widely-used open source projects -- shiny surfaces, perhaps built collaboratively, that package up a more meticulously considered core, rooted in something that tends toward a more just world -- a surface thing that is perhaps a little more superficial and concealing of it's unique working, but can be interrogated and dissected by those who care to dive in. The rest can just consume it and have a shallow affinity for the beautiful packaging, and that's ok. The point is that we together build the core carefully, we can all interrogate it to understand why it does what it does, and why it points us in certain directions without asking us to go all the way down the rabbit hole, and that those who care to question its tenets can dig deeper into them.

So in this analogy, might Morton just we working on the pretty UI, that's trying to package up the underlying architecture in a way (if not with 100% fidelity) that can at least be more socially transformative ? It's this line of thinking that makes me feel your criticism to be, while not untrue, then at least somewhat counterproductive to the sorts of action/memes that I believe will be most effective in the world.

dimaggiosghost · 9 years ago
It depends on values.

Someone who values the best version of the currently knowable truth would have one perspective.

Someone who values human life over freedom has another.

Others value believing in something palatable for a majority of others (clothes, social status, etc.)

Most of what we look at is our projection. Parents believe in things like the future. Others are content for their moment, without wishing for that.

It's impossible to escape our initial and very personal biases to describe these things.

IMO the best we can do is to reveal consistencies we can act upon. For me that is enough.

dimaggiosghost commented on Starting a Bank Is a British Town’s Solution to Funding Cuts   bloomberg.com/news/articl... · Posted by u/JumpCrisscross
fiter · 9 years ago
> While technically true, this is misleading. The numbers are still the same whether or not the government runs the bank. The private bank would lose 1 cent, as you mentioned, but no matter what the government is still getting the $2 in taxable revenue resulting in 20 cents to the government at the 10% rate.

This doesn't seem misleading at all: in your scenario, the private bank would not lend so the government would not be able to collect tax revenue.

> I don't know about you, but I would never, ever count on the government running anything more efficiently than the private sector. This is a bad idea.

Why? What is the inherent quality of the government run enterprise compared to the privately run enterprise that makes the former less efficient?

dimaggiosghost · 9 years ago
Skin in the game seems to be a large factor. Government workers tend towards better job security (less of a stick) and don't tend to get bonuses (smaller carrot) than private sector.

This is of course by design, since favoritism is generally acceptable in a private organization but (the perception of it) poison to govt roles.

dimaggiosghost commented on Boost – Your personal advisor and career coach   getboost.io/... · Posted by u/neat0-ninj4
beager · 9 years ago
Thanks for sharing. Some notes:

1. Signups go right to waitlist, so it's hard to validate any of this. Is this vaporware? Why waitlist? Are you still in dev, or is this an artificial scarcity play?

2. All I see here conceptually is headhunter lead-gen, so I don't understand why you're charging $708+/yr for chatting. Why not offer your service for free, register orders of magnitude more users, and make your money as an agency by placing users in new jobs? If they are engaged with your platform, you'll know it's time to do that before any other platform or agency does, and you have a qualitative advantage over other agencies because you will have counseled your candidates for a long time prior. Seems like the focus of Jobstart before you rebranded it, n'est pas?

3. Your job functions in registration are constrained to tech and tech-adjacent functions only. Is that a limitation of the advisors you have on your platform, an unconsciously narrow scope, or is it related to your market designs for point 2?

4. How will you not get obliterated in court for encouraging the transmission of proprietary or privileged information?

5. Back to the $708+/yr point, so many alternatives could provide the same use for less. A private curated Quora, a user mentor network with perks (advise other users for incentives), even curated career resources in a newsletter or Amazon book-of-the-month club. I realize that a service like this might pay for itself in boosting one's earning potential, but many less-expensive incarnations of the same are at anyone's disposal.

6. Why chat? Why not email? Why not Hangouts? I feel like chat is such a restrictive medium.

dimaggiosghost · 9 years ago
Disclaimer, I have gotten much value out of their previous project, jobstart.

1/ it's based on personal advice so needs to scale on both sides. I've spoken w the founders and they legit.

2/ I intend to get my work to pay for it under "high quality outsourced good management". I don't expect to use it for a new job, but to perform better in my current.

3/ it is my understanding that it's a scaling thing.

5/ in my job, a 10% improvement in efficiency Uncompounded is worth thousands of dollars in direct costs per month. Well worth it, based on my jobstart experience w the same team.

dimaggiosghost commented on Etsy is under pressure to start acting more like a conventional company   bloomberg.com/news/featur... · Posted by u/marvinpinto
ClearAsMud · 9 years ago
To bad they don't sell hand made, home grown artist stuff anymore. The Chinese knock-off Gucci "authentic" syndication machine took over under many names / masks / illusions. It's more the Walmart Hobby Lobby .. where it all looks good on the way or on your back (shirt/whatever) .. it's still most likely made in China. #fact. The revenue is more about the fees and clear profit machine that is required to run a profitable business on their side. The problem? The sellers - the "real" ones like myself and my wife. We sell authenticate stuff with pottery and photography made locally here in Buffalo. However, I find more and more #buffalo search related material are major hub outlets of people I don't know. I've been doing this for almost 7 years now - I know people here and the artists specifically OF Buffalo. It's the trend that then started to go up in margin % and no return. Only recently have I seen an overhaul to the interface for the Store, but it runs like a sweatshop with minimal tools that any of us were accustomed to online. I wish it was better, but we are leaving and concentrating on real world sales.
dimaggiosghost · 9 years ago
Personally, if the goods quality is high, I don't think the designers or Brandee's ought to capture the majority of the value.

The "credit" (my money) goes to the people that made and got the product to me.

I think the appropriate level of discussion is "at what level is art conodditised" to which I would say "I have no idea, but somewhere before it's printed on clothing and sold to me".

Other people who value different aspects of fashion are likely to disagree, but in general I don't highly value the creativity in clothing

dimaggiosghost commented on Transform Data by Example [video]   microsoft.com/en-us/resea... · Posted by u/gggggggg
teddyh · 9 years ago
You know what this reminds me of? Those trained neural-net things which, however many training examples you give it, always seem to find some way to “cheat” and not do what you want while still obeying all your training data correctly.

Something like this: Suppose we have a table of strings of digits, some including spaces, and we’d like to remove the spaces. From

  123 456
  234567
  345 678
to

  123456
  234567
  345678
Now, what happens if it encounters, say

  4567890
Would the result be unchanged (as we would probably want), or would it “cheat” and remove the middle “7” character, giving “456890”?

dimaggiosghost · 9 years ago
I agree, thank you for peovoking this thought. It is raw and if so I apologize.

This is where hinting is important. Metadata. That sequence if I know it's a phone number, or a sequence of increasing digits, depends a lot on metadata.

Given some reasonable sample size, i believe machine learning could provide hints as to some of the common types of formats. Semi automated data hinting or structuring?

There is a bidirectional connection between interpreting your data and how your data is structured

Is it possible to use your data column to statistically hint at metadata characteristics by some sort of clustering, then use that to automatically clean input data?

dimaggiosghost commented on Soma Water Filters Are Worthless   tylermw.com/soma-water-fi... · Posted by u/dmitrygr
YokoZar · 9 years ago
This shouldn't be too surprising, as caffeine itself has a flavor. It is somewhat bitter, which is one reason why it's particularly common in root beer.
dimaggiosghost · 9 years ago
Did you mean that it's not common in root beer? Wiki says that root beer has little to no caffeine.

Root beer is so sweet that I would think it could mask the bitterness. I wonder if the plants that originally were brewed into it just didn't have any caffeine.

Do the ingredients to coke naturally have caffeine, or was that a substitute for the original alkaloid? I.e., is decaf coke because the removed the caffeine, or is caffeinated coke that way because it was added?

Dead Comment

u/dimaggiosghost

KarmaCake day12April 18, 2017View Original