Hacker Newsnew | past | comments | ask | show | jobs | submit | gregsadetsky's commentslogin

I think that it's very unfair to call the development of a CLI [0], TypeScript & Rust SDK's & starter examples [1], a desktop simulator, and a seamless deployment infrastructure, as "slop".

[0] https://www.npmjs.com/package/rcade

[1] https://github.com/fcjr/RCade


As noted in the article - and in the related article [0] by Stephen who goes in-depth into the development of the custom CRT display adapter - some of the constraints/wishes were: wanting to go beyond 18-bit color to avoid color banding, and also to have a generic USB interface so that the CRT could be driven by a laptop or any PC.

I also think that the people involved in this project enjoyed inventing/creating/coding just as much as they wanted to "get it done" - and so, there's definitely a healthy/heavy mix of "we took this existing thing" and "we invented this completely new way of doing things".

[0] https://www.scd31.com/posts/building-an-arcade-display-adapt...


it's mostly only accessible to folks who are part of the Recurse Center - but there are public events at Recurse such as https://luma.com/localhost-rcade -- which is a talk about the RCade..! (it seems to be waitlist-only at this point unfortunately)

If anyone wants to attend but can't, we'll post the recording of the talk to the Recurse Center's YouTube channel: https://www.youtube.com/@RecurseCenter (Where you can also watch recordings of all of our previous talks!)

Thanks. I just requested an invite on Luma.

Coming here virtually/in person to confirm that even though it’s a bit rude to “rank” people, I basically struggle to understand how incredibly good Frank is - extraordinarily fast, deeply capable, and kind to a fault. A very uniquely, typical, amazing Recurser.

I wholeheartedly agree. Glad to see his work on the front page.

Huge congrats! I have been getting the instagram reels/ads targeted at me these past few days! and was really bummed to have missed you at nyc tech week last year.

I plan on porting my number to you soon - very quickly, I read in your FAQ that international roaming gets throttled after 5gb (which I already get with t-mobile when traveling). Would you mind confirming - does it get throttled to ~256kbps or something more sensible?

And should the service work with an iphone 13 pro? Finally, any plans for esims? (if the service isn't already esim-only)

Thank you!


Thanks, appreciate the post and questions.

On throttling, I can’t share exactly how it works, but we are doing the bare minimum just to curtail runaway abuse. You will most likely not notice.

We are exclusively eSIM, and compatible on all iPhones that support eSIM.

Happy to answer any other questions and feel free to send along any feedback if you end up trying it out.


Yeah - these [0] kinds of cables are so extremely scary.

"The O.MG Cable is a hand made USB cable with an advanced implant hidden inside. It is designed to allow your Red Team to emulate attack scenarios of sophisticated adversaries"

"Easy WiFi Control" (!!!!!)

"SOC2 certification"? Dawg, the call is coming from inside the house...

[0] https://shop.hak5.org/products/omg-cable


> "SOC2 certification"? Dawg, the call is coming from inside the house...

Helps corporate red teams in environments where the purchase department is... a bunch of loons.


you need to login


amazing work!

gemini 3.5 pro reverse engineered it - if you use the code at the following gist, you can jump to any specific lat lng :-)

https://gist.github.com/gregsadetsky/c4c1a87277063430c26922b...

also, check out https://cannoneyed.com/isometric-nyc/?debug=true ..!

---

code below (copy & paste into your devtools, change the lat lng on the last line):

    const calib={p1:{pixel:{x:52548,y:64928},geo:{lat:40.75145020893891,lng:-73.9596826628078}},p2:{pixel:{x:40262,y:51982},geo:{lat:40.685498640229675,lng:-73.98074283976926}},p3:{pixel:{x:45916,y:67519},geo:{lat:40.757903901085726,lng:-73.98557060196454}}};function getAffineTransform(){let{p1:e,p2:l,p3:g}=calib,o=e.geo.lat*(l.geo.lng-g.geo.lng)-l.geo.lat*(e.geo.lng-g.geo.lng)+g.geo.lat*(e.geo.lng-l.geo.lng);if(0===o)return console.error("Points are collinear, cannot solve."),null;let n=(e.pixel.x*(l.geo.lng-g.geo.lng)-l.pixel.x*(e.geo.lng-g.geo.lng)+g.pixel.x*(e.geo.lng-l.geo.lng))/o,x=(e.geo.lat*(l.pixel.x-g.pixel.x)-l.geo.lat*(e.pixel.x-g.pixel.x)+g.geo.lat*(e.pixel.x-l.pixel.x))/o,i=(e.geo.lat*(l.geo.lng*g.pixel.x-g.geo.lng*l.pixel.x)-l.geo.lat*(e.geo.lng*g.pixel.x-g.geo.lng*e.pixel.x)+g.geo.lat*(e.geo.lng*l.pixel.x-l.geo.lng*e.pixel.x))/o,t=(e.pixel.y*(l.geo.lng-g.geo.lng)-l.pixel.y*(e.geo.lng-g.geo.lng)+g.pixel.y*(e.geo.lng-l.geo.lng))/o,p=(e.geo.lat*(l.pixel.y-g.pixel.y)-l.geo.lat*(e.pixel.y-g.pixel.y)+g.geo.lat*(e.pixel.y-l.pixel.y))/o,a=(e.geo.lat*(l.geo.lng*g.pixel.y-g.geo.lng*l.pixel.y)-l.geo.lat*(e.geo.lng*g.pixel.y-g.geo.lng*e.pixel.y)+g.geo.lat*(e.geo.lng*l.pixel.y-l.geo.lng*e.pixel.y))/o;return{Ax:n,Bx:x,Cx:i,Ay:t,By:p,Cy:a}}function jumpToLatLng(e,l){let g=getAffineTransform();if(!g)return;let o=g.Ax*e+g.Bx*l+g.Cx,n=g.Ay*e+g.By*l+g.Cy,x=Math.round(o),i=Math.round(n);console.log(` Jumping to Geo: ${e}, ${l}`),console.log(` Calculated Pixel: ${x}, ${i}`),localStorage.setItem("isometric-nyc-view-state",JSON.stringify({target:[x,i,0],zoom:13.95})),window.location.reload()};
    jumpToLatLng(40.757903901085726,-73.98557060196454);


That second link shows controls but does not have any water effects?


As far as I can see, OP tried to implement water shaders but then abandoned this idea.


that's right - it worked very nice, but the models to generate the "shore distance mask" for the water shader weren't reliable enough to automate, and I just couldn't justify sinking any more time into the project


0 shade (hehe), the project is extraordinary as it is! cheers


Great work, thanks for sharing and congrats on the launch!

Very very small note - many clickable things on your site (the "explore" and "new task" buttons, the directory and blog links at the top, etc.) don't change the cursor to the css "cursor:pointer" (ie the clicky hand)

You might want to add `cursor-pointer` to your tailwind <button> elements


Noted I will fix it


Yes, it's a step in the right direction.

However it is opt-in aka "Launch a page in minutes and showcase Sponsors buttons on your GitHub profile and repositories". That's effort & friction and only simplifies the "begging" aspect that I am (strongly) reacting to.

https://docs.npmjs.com/cli/v11/commands/npm-fund will also "list all dependencies that are looking for funding in a tree structure"

I want the step (or 5 steps) after that. Charge first, then distribute.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: