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

I'm going through converting a Chrome extension to Safari 14, and the process isn't nearly as seamless as shown, although it's nice to have the converter tool.

Chrome extensions only support the 'chrome' namespace, while Firefox supports 'chrome' and 'browser', but Safari 14 only supports 'browser'. So our extension had been using the 'chrome' namespace which worked under Firefox, but now needed to be converted. 'chrome' uses callback functions, while 'browser' uses Promises. So you have to port your Chrome extension to use 'browser' and use the following polyfill: https://github.com/mozilla/webextension-polyfill

Here's some incompatibilities between Chrome and Firefox to consider: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/Web...

Also had some html/css glitches to fix in Safari. Some other issues others have mentioned such as notifications and webRequest APIs.


> Chrome extensions only support the 'chrome' namespace, while Firefox supports 'chrome' and 'browser', but Safari 14 only supports 'browser'.

According to the documentation, "Safari web extensions support both the chrome.* and browser.* namespaces." https://developer.apple.com/documentation/safariservices/saf...


Ah, well that may have well been a recent update. I'll have to try it again under chrome.* It didn't used to work at all unless I replaced chrome.* with browser.


I made something similar, called PlasmaJS which you can view here: http://plasmajs.com


Cooooool


Back in 1995 I wrote a library for creating BBS Door games using RIP graphics, in QuickBasic 4.5. Also created a RIP Door Game of the classic Battleship game. It never went anywhere as most of my local BBSs started shutting down the following year.

I wrote some JavaScript that draws RIP files into a web canvas, and an experimental RIP to SVG converter. It's still incomplete. Here's the source: https://github.com/cgorringe/RIPtermJS

Here's a Demo page where you can see some RIP files rendered in a canvas and as SVG: https://carl.gorringe.org/pub/code/javascript/RIPtermJS/

Specs for v1.54, v2, and v3 can be downloaded here: https://carl.gorringe.org/pub/code/javascript/RIPtermJS/docs...

Some issues with the RIP format:

1. RIPscrip v1.54, the most popular version, was targeted towards 640x350 px EGA graphics, which is an odd resolution with non-square pixels. They tried fixing this in later versions, but they weren't as popular.

2. Non-standard bezier curves and the flood fill algorithm caused issues with rendering. I've had a lot of issues trying to get it working right as the flood fill would leak through holes in lines which aren't rendered exactly like RIPterm did. And the specs don't give details on how they did it.


hey, this is pretty cool! i've actually been looking for something like this as there is quite a collection of RIPscip files in the archive: https://16colo.rs/tags/content/ripscrip

while they convert to PNG just fine, the realtime rendering was at least half of the experience, especially with the ones that used 'dithering' :) there was a similar issue for viewing ansimation, this was addressed by using the javascript version of ansilove (https://16colo.rs/tags/content/ansimation)

i'd surely be interested in integrating this in case you find the time to resolve the last issues.


I wonder how this would compare to Judy arrays. Would anyone like to benchmark this?

https://en.wikipedia.org/wiki/Judy_array http://judy.sourceforge.net

To install the Judy C lib:

  brew install judy
  apt-get install libjudy-dev
Then compile with -lJudy and #include <Judy.h>

Example: http://judy.sourceforge.net/doc/JudyL_3x.htm


Interesting. I wonder how similar a Judy array is to an rrb-tree (relaxed radix binary tree), or if they're the same thing.

An rrb-tree is an effective O(1) time for every category. Scala's Vector type implements one.

If interested about the data structure: https://youtu.be/sPhpelUfu8Q

Scala bigO doc: https://docs.scala-lang.org/overviews/collections-2.13/perfo... Scala's doc on it: https://github.com/nicolasstucki/scala-rrb-vector/blob/maste...


Back in the late '90's there was the All BASIC Code (ABC) repository, which was a large collection of the best Basic code at the time. Some of my code made it there. Found this copy here: https://github.com/qb40/abcarchive

I used to be active on the QB FIDOnet forums in the mid-90's until many of the BBSs shut down. It was my favorite language during my teen years!


> If I was Google I would be providing ... a loose social network that encouraged links to other sites (perhaps similar to HN on a larger scale) that would be easy for third-parties to integrate.

They did. It was called OpenSocial, which originally released in late 2007, and was implemented by MySpace and others to compete against the Facebook platform (also released in 2007). I remember when I first looked at its complex XML documentation, that it was much easier just to use the Facebook API.

https://en.wikipedia.org/wiki/OpenSocial


OpenSocial was a standard for "widget" which could be hosted on a site. I don't think it was ever used on Plus, but it was available on iGoogle.

That was more for games than for the type of links the OP was talking about though.

OTOH Google did a lot of work around things like PubSubHubbub to get cross site links working.


OpenSocial was great in theory, but in practice it was awful. At launch, it had a fraction of the features of the FB platform, was much more complicated to build for, and its behavior was not actually consistent across all the social networks that implemented it. I joined a startup that was building for both FB and OpenSocial and as soon as we had a successful Facebook game we ditched all thirty-something OpenSocial widgets.


I had done some work on a RIP viewer in Javascript a year ago if anyone's interested. It's not yet complete. There's a link to a demo to view some examples.

https://github.com/cgorringe/RIPtermJS


I tried writing a RIPscript generator in javascript a few years ago. I thought it would be easy, but it's surprisingly not.

It's unfinished, but here it is if you'd like to try it out: http://carl.gorringe.org/pub/code/javascript/RIPview/ripview...


Was just going to site that last one:

2/8/12

"Today 92 percent of the taxi fleet is comprised of hybrid or CNG vehicles. There are 1,318 alternative fuel vehicles out of a total of 1,432 eligible vehicles. CNG vehicles account for 89 of those and the hybrids account for 1,229."


Good Story!

I have a little story of my own. :-)

I met Logan Green the day that he first launched Zimride, at a student-run conference on climate change at UC Berkeley, in March 2007.

At the time I was working on a very similar social carpooling website "GotALift", but it wasn't yet ready to launch. I had also planned to announce my website launch to the exact same group of college students, so when he beat me to it with an almost identical product, I was a bit disappointed.

When I met him and got the chance to speak with him, I wanted to see if we could work together. No sense both working on competing websites!

At one point I jokingly suggested that we could rename Zimride to GotALift.

Zimride was really rough and buggy at launch, as he was the sole person working on it, and it was clearly rushed to make in time for the conference. I offered to help fix it up. At one point he offered to split the company 50/50 with me, but then changed his mind. Something about talking it over with his friend, who was going to help him get some funding so that they could contract out the development work rather than have me on as a tech cofounder. I thought that was a bit silly, since he had no money at that point and sharing equity wouldn't have cost him anything! I could understand him being cautious, but I thought we could have worked something out. Sadly it didn't end up happening.

Zimride became rapidly more popular during that summer since it rode the wave of new applications on Facebook's new platform. I ended up scrapping my unfinished social carpooling website because I didn't want people thinking I was making a Zimride copycat (a mistake, looking back), and I ended up rewriting it into a search engine with the goal to searching multiple carpooling websites, the "Kayak of Carpooling". I figured there were all these rideshare websites popping up which could use a way to search them all. That project went nowhere, other than a contracting gig for a local transit agency.

Fast forward to 2012. Zimride finally releases a mobile app, then their Lyft app shortly thereafter.

Next year, Zimride renames their company to Lyft!


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

Search: