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
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.
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
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.
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.
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.
"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."
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.
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.