9 ms·
Show HN: CPU Prices on eBay
Tech stack: Go + templ + htmx
There are some rough edges but this combo is quite refreshing after React. The best thing is that I could omit npm from my stack. Having just a monolith (Go) server greatly simplifies things if you're an indie dev.
- K0IN 3y agoI need this for GPUs.
- cchance 3y agoYep
- lostmsu 3y agoWorking on it: https://gpuprices.us/ https://gpuprices.us/
- efreak 3y agoPlease include cheaper GPUs as well. Make I'm just looking for more/different video ports for my PC? The name doesn't imply any restriction for being for training. Also, using best buy as the only data source seems odd, maybe there's a way to use PCPartPicker or similar as a data source, and expand from there?
- lostmsu 3y agoThere are plenty of cheap options. You can remove default 12GB memory filter, adjust utilization, and limit price to $300. On the data source: BestBuy just had the best least walled off APIs and prices seem lower that Amazon, so it is the first.
- mattgreenrocks 3y agoVery nice! How are you getting the data? eBay API?
- 1xdevnet 3y ago"If the given search has not been performed recently, it's pulled fresh from the eBay API. Otherwise, records are cached for 2 hours."
- prakhar897 3y agoU saw diskprices.com and copied that, didn’t u ;)
- KyleSanderson 3y agoLooks awesome! Isn't there one of these for laptops as well?
- DarrisMackelroy 3y agoThis is great! I would love to see a passmark/$ metric on here as well.
- sirlancer 3y agoThis would be very useful to me in helping to source CPUs for a +40PB Ceph cluster that I’m building at a University. Could this be extended to include server grade AMD SP3 CPUs? I’m in the market soon for +30 Milan processors.
- w-ll 3y agoThis is awesome, but would be cool to see a GPU version. Friends keep telling me 2nd market GPUs from crypto or ai is the sweet spot of ~10-20% discount on ebay
- yjftsjthsd-h 3y ago> 2nd market GPUs from crypto or ai is the sweet spot of ~10-20% discount on ebay I thought those were iffy because they were run so hard? If not, I need to go shopping:)
- sodality2 3y agoSome disagree because almost all miners underclock and run under close to ideal temperature to increase efficiency per watt. So it might turn out to be a deal because it was better treated than a random gamer
- JonChesterfield 3y agoThey probably ran at a constant temperature too, none of the getting hot then cooling down to fatigue solder joints.
- latchkey 3y agoThis is a myth. I ran 150k AMD gpus. We overclocked/undervolted all of them. While they were run continuously "hard", they didn't fail. Some of them ran for years out in containers in the middle of dusty fields through 4 seasons. They don't burn out the way that people think they might. That said, a lot of the GPUs used for crypto, don't apply to AI, unless you really want to be constrained. Just be super aware of what you're buying and what you plan to use it for.
- yjftsjthsd-h 3y ago> Some of them ran for years out in containers in the middle of dusty fields through 4 seasons. ...story time? This sounds more interesting than hardware prices;) > That said, a lot of the GPUs used for crypto, don't apply to AI, unless you really want to be constrained. Just be super aware of what you're buying and what you plan to use it for. Yeah, I'll have to do my homework. While AI would be cool, I'm actually largely interested in running video games, but I keep equivocating because I'm a terrible cheapskate:)
- cjbprime 3y agocpubenchmark score would be much more useful than GHz, when comparing CPUs across 10+ years of generations. It doesn't look like you have EPYCs listed, or Threadripper? (These are some of the best CPU deals on eBay.)
- judge2020 3y agoWorth pointing out this is specifically regarding "cpubenchmark.net", not "cpu.userbenchmark.com" or anything else from User Benchmark, which is known to have a heavy bias against AMD.
- attilakun 3y agoI'll have to look into whether there's some public API to pull cpubenchmark score as I agree, it'd be immensely useful. To your other point, EPYC and Threadripper are listed now: https://www.cpuscout.com/?Processor+Type=Epyc https://www.cpuscout.com/?Processor+Type=Epyc https://www.cpuscout.com/?Processor+Model=AMD%2520Ryzen%2520Threadripper%25201900X%2CAMD%2520Ryzen%2520Threadripper%25201920X%2CAMD%2520Ryzen%2520Threadripper%25201950X https://www.cpuscout.com/?Processor+Model=AMD%2520Ryzen%2520...
- renewiltord 3y agoNumber Of Cores filter immediately 500s.
- networkchad 3y ago[dead]
- monocasa 3y agoHell yeah, includes stuff like zilogs.
- 1xdevnet 3y agoEdit: Filtering appears to be fully broken for me, with "Error: Could not retrieve items. Please contact support." (Originally thought it was just filtering on sockets with a '/').
- nine_k 3y agoI suspect eBay may have banned the project. They are not very happy about scraping, like most e-commerce sites.
- Randor 3y agoIt's working for me. It's probably due to the high traffic from posting the site here on HN.
- attilakun 3y agoYes, got IP rate limited by eBay, sorry about that! Thought my caching was enough but apparently it is not! eBay only allows 5000 API calls per day for most APIs useful to me which is very easy to hit: https://developer.ebay.com/develop/apis/api-call-limits https://developer.ebay.com/develop/apis/api-call-limits My infinite scrolling implementation probably didn't help either but I couldn't help myself, it was so easy to implement with HTMX.
- 8organicbits 3y agoIt may make sense to run an hourly or daily job to collect data from the API and then implement the filters exclusively within your back-end. This pattern can work well with rate-limited APIs and a dataset that changes fairly slowly. There's some risk that an item shown will already be sold (user would click back and try another). Also, I don't think I see any affiliate links in use. I believe eBay runs a program, so you could make some money here: https://partnernetwork.ebay.com/solutions/creating-affiliate-links https://partnernetwork.ebay.com/solutions/creating-affiliate...
- attilakun 3y ago
- beacon294 3y agoIt could be useful but currently too broken
- swills 3y agoLooks great! Can you please add LGA 4677? Thanks!
- firecall 3y agoLooks just https://diskprices.com/ https://diskprices.com/ but for CPUs :-)
- 8organicbits 3y agoIt seems like there is demand for simple search tools that focus on a single product. The big marketplaces don't have good search filters for most products and probably struggle to justify investing engineering effort. Paired with affiliate links, it looks like there's good money to be made building these. I like that these appear to be data-centric instead of review-centric; I don't trust random review websites.
- thrdbndndn 3y agodiskprices.com has a good concept but every time I tried to use it, I found that it has too many "garbage" listings (weird brands, 3rd party sellers, obvious scams, etc.), to a point that it would be easier to just search a few reputable brands manually on Amazon. Again nothing against the website itself, just unfortunate experience in practice.
- starkparker 3y agoHugged: > Error: Could not find aspects. Most likely because the server is under heavy load. Please contact support at magicsourceltduk@gmail.com and tell me where you saw the link to this website because I have honestly no idea where all this traffic is coming from. Many thanks!
- MuffinFlavored 3y ago> I have honestly no idea where all this traffic is coming from. Aren't there HTTP request headers that tip this off?
- metadat 3y agoThe referer header behavior changed for https 7+ years ago. As I recall, it can be crippled by the source site (e.g. inbound google traffic). https://stackoverflow.com/questions/21922143/why-isnt-the-the-referer-header-removed-for-google-https-http https://stackoverflow.com/questions/21922143/why-isnt-the-th... Why this is good for anyone other than Google Analytics is beyond my current understanding.
- henriquez 3y agoIt’s a privacy measure so that third party sites can’t see which page a user is coming from. It’s not necessarily anyone’s business to know the previous URL in a user’s browser history.
- xnx 3y ago> Why this is good for anyone other than Google Analytics is beyond my current understanding. Better privacy. There have long been extensions to strip out or fake referrer information from requests.
- tamimio 3y agoIt works fine for me, I like it!
- MuffinFlavored 3y agoInteresting idea (very out of scope): CPUs go into motherboards which use power supplies and RAM and a storage device to boot and run operating systems/code This all adds up once plugged in to "at the wall" power pull (basically measured in watts per hour * 24 hours = how many kilowatts a day) Then, you take how efficient the hardware is at say, a proof-of-work mining algorithm (hashrate) Then you can sort by which CPUs are most efficient I've yet to find a database that does this (probably for good reason, mining is pretty dumb)
- hi_hi 3y agoI'm another fan of diskprices.com :-) https://listofdisks.com/ https://listofdisks.com/ The Aus version went offline for a while so I built this quickly. The day I launched it came back online haha. Oh well, was a fun experience. Initially was static html (generated by python) but that was leading to large page sizes, so I transitioned to ag-grid, which worked surprisingly well.
- bitcharmer 3y agoThis is only useful for USA residents
- attilakun 3y agoYes, although this might be a not too difficult fix. I'll look into it.
- petercooper 3y agoI saw this when it was posted yesterday and was sad it didn't make front page, so I'm glad it got revitalized! It also sent me down a fun rabbit hole yesterday when I saw there was a 72 core chip for only $200 listed.. and I was introduced to the byzantine world of Intel's Xeon Phi (which you can buy in coprocessor form for <$50 on eBay).
- alexdns 3y agohttps://www.cpuscout.com/?Socket+Type=Socket%2520TR4 https://www.cpuscout.com/?Socket+Type=Socket%2520TR4 Error: Could not retrieve items. Please contact support.
- attilakun 3y agoYes, sorry, got rate limited by the eBay API!
- zerowisdom 3y agoSo you don't use a database to store all the data and update it when it needed? Are you allowed to scrape the data?
- attilakun 3y agoNo webpage scraping is involved here, data is from the eBay API. It's not using any database at the moment, just in-memory caching in the Go server. Problem is there are a lot of cache misses which result in API calls of which eBay only allows 5000 a day. Funnily, the website seems to be crashing due to the API issues while the web server is at <1% CPU utilization.
- shibel 3y agoYeah, I also wondered how quick would it be to ~~rip off~~ replicate “diskprices.com for X” and took a weekend (ok more) to build https://tvpricesindex.com https://tvpricesindex.com (Also using HTMX). TVs are much less of a “commodity” of course, but it’s a nice experiment that I’ll iterate on a bit more with time. Also, first deploy on Railway (was nice enough, definitely compared to Heroku, but they have a way to go), and using other libraries I wanted to learn. Will probably start grouping models better soon, and offer other filters. BTW: If you plan to do something like this with PAAPI (Product Advertising API), know that Amazon has the constant axe of banning you if you don’t generate “qualified” sales for 30 days straight.
- attilakun 3y agoThe Amazon PAAPI is "interesting" because to even access it, you need to have 3 qualified sales. But... I wanted to use the API to create a website where I'd post the affiliate links on. It's a chicken-and-egg problem. That's why I went with eBay.
- shibel 3y agoYep, I don't have much experience with affiliate programs (I like to build more SaaS-like apps[1]) but from my research Amazon have gotten really stingy circa 2019. Happy to see an alternative. [1] I didn't know about the 3-sales precondition either. I guess some people bought albums on Amazon on my other music-related app.
- gitinit 3y agoUsing Selenium, even headlessly, Amazon prices can easily be scraped. This could be turned into an API without much difficulty, I imagine.
- shibel 3y agoYeah, my first lines of Python (or code) were Selenium/BeautifulSoup. The problems with these are sensitivity for (DOM) changes, speed, and scale (not that I'm too concerned with those at the moment, it's just a fun refreshing project).
- ronyfadel 3y agoI guess after https://news.ycombinator.com/item?id=39066480 https://news.ycombinator.com/item?id=39066480 showed up on HN, every hacker with some spare time wanted to replicate diskprices.com for other commodities.
- distortedsignal 3y agohttps://www.cpuscout.com/?Brand=AMD https://www.cpuscout.com/?Brand=AMD Got a 4xx or 5xx error on this (probably important?) URL. Told me to contact support.
- RecycledEle 3y agoIf it could tell the difference in socket 2011 v1, v2, v3, and v4, I might use it.
- zx8080 3y ago"Error: cound not retrieve items. Please contact support" immediately after the first click to some chrckbox. Was this even tested?
- genr8 3y agoThe Coming Soon columns make it hard to see the two main price and name columns on mobile small screen at the same time. I wish to hide those. But nice idea.
- dinkleberg 3y agoHow are you liking templ? I've played around with it a bit and am not totally sold on it yet.
- attilakun 3y agoIt was a great experience, at least to the extent I needed it. What sold me on it is its support for template composition[1], something I've struggled with using the standard `html/template`. And I really like the idea of generating statically typed templates which are just Go functions in the end of the day. In theory, I can share them between many of my apps, especially as I'm using a monorepo for all my projects. This is yet to be tested though. There are some rough edges around using `script` templates[2], for example it doesn't allow you to pass `this` and `arguments` from HTML event handlers[3]. This is not a show-stopper though, because you can always fall back to just defining your event handler in an HTML <script></script> block, albeit without type checking of the arguments and deduping the scripts. Also it hurts Locality of Behaviour which I'm a fan of. That being said, I think it has some great potential. I can completely imagine people building fully-fledged UI libraries in this once component reusability is improved. But the best part of using templ for me was that I could completely get rid of Node and NPM from my stack. How was your experience? [1]: https://templ.guide/syntax-and-usage/template-composition https://templ.guide/syntax-and-usage/template-composition [2]: https://templ.guide/syntax-and-usage/script-templates#script-templates https://templ.guide/syntax-and-usage/script-templates#script... [3]: https://github.com/a-h/templ/issues/494 https://github.com/a-h/templ/issues/494
- dinkleberg 3y agoI’ve been using pongo2 for a year or two as I always found the standard html/template to be annoying to work with for inheritance as you mentioned. I’ve got years of Django experience and always liked their templates, and pongo2 is basically just Django templates in Go so it’s nice. But being able to break things into reusable components with templ is compelling (and works fairly well from my experimenting). I’m just not in love with how you pass data into it and I ran into a few awkward points with the string interpolation of data when doing inline scripts. I’m sure if I spent more time with it, I’d overcome these issues quick.
- KomoD 3y agoEvery entry just get stuck on "loading..." Tried disabling adblock, checked devtools which has no failed requests or errors though there were 4 "itemspecifics" requests that all returned 204 with no body
- attilakun 3y agoYes, apologies for that, I had to disable that call as it was making too many calls to the eBay API endpoint which resulted in the rate limit getting hit.
- culi 3y agoA genre of website? https://www.cpuscout.com/ https://www.cpuscout.com/ https://diskprices.com/ https://diskprices.com/ https://gpuprices.us/ https://gpuprices.us/ https://instances.vantage.sh/ https://instances.vantage.sh/ https://listofdisks.com/ https://listofdisks.com/ https://tvpricesindex.com/ https://tvpricesindex.com/
- robotnikman 3y agoI would also add https://shucks.top/ https://shucks.top/
- goatsi 3y agoOne thing to be aware is that for older CPUs, the limiting factor is often compatible motherboards. The original ones are more likely to have died than CPUs from the same generation, and new ones aren't being made.
- dehrmann 3y agoSince we're talking about the used market, has anyone even seen a CPU fail? I'm used to CPUs and RAM being insanely reliable.
- antifa 3y agoI was thinking that an old motherboard may require a BIOS update for a relatively newer, but socket compatible CPU. I remember having to ebay in a random CPU just to able to turn on a motherboard to update the BIOS for the better CPU I bought earlier.
- mminer237 3y agoKind of useless to have a giant list of entries for $10 with 1 bid without any indication of how long's left. Since there's no reason to bid until the last minute, I personally only want to see Buy It Now items or bids ending within the hour. Also, some items are listed but out of stock, which should be filtered out.
- nullsmack 3y agoYou know what would be helpful is some way to reference when it was released, generation, maybe a cpu bench?
- devaiops9001 3y agoI have great experiences building webapps with Rust and HTMX.