HNHacker News
TopNewBestAskShowJobs

coldsauce

176 karma · joined March 3, 2014

submissionscomments
coldsauce··on Bob Lee, former CTO of Square, has died after being stabbed in San Francisco
While I agree those areas are much nicer, most people still need to commute to go work in, and spend considerable amount of time in soma, fidi, etc.

I used to live in one of those areas you talk about, yet still was attacked and threatened several times in the span of 6 months during my commute to our office on Market street.

coldsauce··on Show HN: Lenses: AI-Augmented Twitter Timeline
Hi HN! Excited to showcase a fun browser extension we built over the weekend. Lenses is a browser extension for Twitter that transforms all the tweets in your feed to make them match your mood.
coldsauce··on For your next side project, make a browser extension
So great to hear! What kind of extension are you building?
coldsauce··on For your next side project, make a browser extension
Great feedback! I'll push a change to add that.
coldsauce··on For your next side project, make a browser extension
We have a lot of ideas on how to make this problem a lot easier. It's a big reason why extensions aren't as big as they could be. Browser extension devs having to tinker and even think about the DOM or any other website-specific quirk is a leaky abstraction.

If it's an issue, people's usual approach to solving that problem is to create some mapping of "twitter-sidebar : some XPath selector" on the backend and have their extension query whenever they want to interact with the web page.

They'll have e2e tests to check if their selectors or xpaths still work. If not, they'll figure out what changed and modify the xpath. Some automate this step.

It's tricky because A/B tests are a thing, websites might change based on geographical region, and a bunch of other stuff that leads to users seeing different things in the DOM compared to the e2e test). Logging errors to something like Sentry mitigates some of this, but the complexity is still quite large.

It stems from the fact that frontends only consider humans, not robots. You either need to make your robot super resilient to change (above approach), make your robot act more like a human, have the website consider the robot ("Connect to Wallet", etc), or use the web app's backend API if it exists.

We're experimenting with all four of these approaches this year and seeing which ones are the most valuable to people, so stay tuned for more exciting extension stuff!

coldsauce··on For your next side project, make a browser extension
Shameless plug, but we built the Plasmo Framework to make that (and a lot more) super easy: https://github.com/plasmohq/plasmo
coldsauce··on Tell HN: Domain fronting to be blocked on Azure
Yeah, I believe China doesn't even allow TLSv1.3
coldsauce··on The search for dirt on Mudge
In his most recent testimony, Mudge mentioned that he was in the leaked OPM database with his details and clearance level leaked which implies he had clearance.
coldsauce··on Show HN: Plasmo – a framework for building modern Chrome extensions
Thanks for the feedback! Updated it.
coldsauce··on Show HN: Plasmo – a framework for building modern Chrome extensions
Thanks!
coldsauce··on Show HN: Plasmo – a framework for building modern Chrome extensions
Our tooling is written in Node.js. So developers must have Node installed on their machines to utilize our tooling.

When they use our CLI to watch the file system for changes for live-reload or to build their extension, etc., that's a Node.js program.

The build target is browser Javascript, though.

coldsauce··on Show HN: Plasmo – a framework for building modern Chrome extensions
We use Parcel under the hood and are huge fans! Our framework has opinionated abstractions on top of it that we think help improve the extension development experience considerably.

Features we've built so far:

- manifest.json is generated automatically. If you want to create a content script, you name a file content.ts, and it'll auto-gen the right manifest key-value pair for it. Same with backround.ts. [1]

- Mounting a React component to the popup or options page is similar. You create a popup.tsx or options.tsx file, export a default React component, and it'll automatically associate it in the manifest and mount the component automatically for you.

- We support environment variables with .env files [2]

- We just released support to automatically inject a shadow DOM into a webpage and mount a React component from a content script [3]

- We have remote code bundling that automatically fetches URL based imports (like Google Analytics) in build time to mitigate issues with MV3 not allowing remote code [4]

[1]: https://docs.plasmo.com/#where-is-the-manifestjson-file

[2]: https://docs.plasmo.com/workflows/env

[3]: https://github.com/PlasmoHQ/examples/tree/57791e70549441e391...

[4]: https://docs.plasmo.com/workflows/remote-code

coldsauce··on Show HN: Plasmo – a framework for building modern Chrome extensions
Thanks! We wrote a custom Parcel runtime [1] inspired by Parcel's HMR runtime (which was too bloated and buggy for us) that injects a web socket listener into the development build of the extension.

Whenever a bundle change happens, Parcel sends it the refresh message and it either does `chrome.runtime.reload()` or `location.reload()` depending on the context.

[1]: https://github.com/PlasmoHQ/plasmo/blob/main/packages/parcel...

coldsauce··on Show HN: Plasmo – a framework for building modern Chrome extensions
There's standardization work being done at the moment with the W3C WebExtensions Community Group [1] which is definitely a step in the right direction!

Mozilla has also done some great work building a web extension polyfill library that attempts to abstract away the differences between the browsers [2] but the translation will always be imperfect, and edge cases are abundant.

[1]: https://www.w3.org/community/webextensions/

[2]: https://github.com/mozilla/webextension-polyfill

coldsauce··on Show HN: Plasmo – a framework for building modern Chrome extensions
It's definitely something we want to consider in the future! Right now, we want to focus on a single view framework and make the developer experience as seamless as possible with it. The framework we've chosen is React because we're most familiar with it.
coldsauce··on Ask HN: Is there a pure SMS based UI?
That's awesome - feel free to email me (should be on my website) if you want to talk more. Can share some tips and tricks or answer questions you might have.
coldsauce··on Ask HN: Is there a pure SMS based UI?
Thanks! Yeah it was fairly slow but we did some work to try to make it faster.

Our process was

1. Remove all JS and CSS from the HTML file

2. Compress the file into a gzip stream

3. Base64 encode the file

4. Send it as a stream of text messages with some metadata on sequence numbers, etc

SMS uses the GSM 03.38 encoding which is a 7 bit encoding. I think we were working on building a custom encoding scheme for it rather than using Base64's 6-bit encoding, but never got around to it.

I think reddit.com (back in 2014 when it wasn't so fancy as it is now) took about 20 text messages to load, so you can imagine it would take less than a minute.

coldsauce··on Ask HN: Is there a pure SMS based UI?
In 2014, I had a similar problem so I created Cosmos Browser, an Android based internet browser which allowed people to connect to the internet via SMS. It's pretty much dead now, but wouldn't take a lot of work to revive it if you really wanted to.

https://github.com/ColdSauce/CosmosBrowserAndroid

coldsauce··on Ask HN: Why FB Messenger video still on (green light), when off in UI?
yeah, i guess it's incorrect, and probably would be something like /dev/zero
coldsauce··on Ask HN: Why FB Messenger video still on (green light), when off in UI?
You can buy some cheap 3.5mm earphones, cut the wire right in the beginning, and plug it into your microphone slot, and assign that as your mic. If you're on mobile, it'll automatically do it. Basically piping from /dev/null
coldsauce··on Kaspersky AV injected unique ID allowing sites to track users in incognito mode
Agree with you, on Windows. But when you go into Linux and Mac territory, there really isn't any OS Vendor specific security solution that does what many people need.

AV is still super important to have for people who don't understand that downloading a fake flash player to watch the newest game of thrones episode isn't the best idea. And there's a lot of those people out there.

coldsauce··on Show HN: Whapp-irc – A simple WhatsApp IRC gateway
why hasn't there been anything like this for iMessage? or any 3rd party applications at all, really.
coldsauce··on Vehicle-to-Vehicle Communication Could Replace Traffic Lights, Shorten Commutes
> accept that you are only safe to the extent that your radios are reliable.

Won't you need to have the same assumption if you had a centralized infrastructure? Otherwise how would your car talk to the centralized system?

coldsauce··on Google’s Jeff Dean’s undergrad senior thesis on neural networks (1990) [pdf]
Weren't neural nets popular back then?
coldsauce··on Adding BigInts to V8
Wow! I find it remarkable that you have had this question open for 25 years without a single answer.
coldsauce··on Amazon to increase fee of prime from $99 to $119 in U.S
This is just a hunch from me, but I think it has to do with the fact that people are in for a year usually. When the next year comes, you usually don't even remember how much you paid last time. It feels similar to how cable companies increase base prices after "deals" expire.
coldsauce··on Streaming Video and Audio with Low Delay
Anyone know what the best streaming solution for browser <-> browser video calling is? It probably has to be built on top of WebRTC but I'm wondering if there are codecs and forward error correction algorithms out there already in Javascript to use.
coldsauce··on Publisher Gets Carte Blanche to Seize New Sci-Hub Domains
> The crypto that protects a Tor hidden service is much weaker than you can have in HTTPS.

Could you explain what you mean by that?

coldsauce··on Ask HN: Who wants to be hired? (April 2018)
Looking for Fall co-op/internship

Location: San Francisco or NYC

Remote: No

Willing to relocate: no

Technologies: React Ecosystem, Go, Python, Scala, WebRTC

Résumé/CV: http://stefanaleksic.com/resume.pdf

Email: stefan@stefanaleksic.com

coldsauce··on U.S. To Seek Social Media Details from All Visa Applicants
Also, the United States hasn't historically always given constitutional rights to non-citizens living in the United States.
Page 1 of 2Next →