Neon
The primary goal of Neon is to find out whether a useful programming language can avoid some of the common pitfalls that beginners frequently encounter in other languages. Some of these common errors avoided by design are:
Floating point errors due to binary floating point
Writing
if (x = 0)
whenif (x == 0)
is intendedNull pointer exceptions
Unintended empty loop with
while (condition);
Forgetting to use the return value of a function
These errors have been identified through many years of participating on Stack Overflow, answering the same kinds of beginner questions over and over.
last commit: yesterday, first commit: Aug 8, 2014
S4
S4 is 100% compatible S3 storage, accessed through Tor and distributed using IPFS.
last commit: 3 days ago, first commit: Oct 5, 2020
https://twitter.com/anthonybudd
FreePN
FreePN is a free open-source peer-to-peer VPN service.
last commit: 4 days ago, first commit: Dec 11, 2019
I2P
I2P is an anonymizing network, offering a simple layer that identity-sensitive applications can use to securely communicate. All data is wrapped with several layers of encryption, and the network is both distributed and dynamic, with no trusted parties.
last commit: 1 hour ago, first commit: Apr 7, 2004
Stealth
Stealth is a secure, peer-to-peer, private, and automatable web browser/scraper/proxy.
last commit: 6 hours ago, first commit: Mar 24, 2019
https://twitter.com/cookiengineer
Differential Dataflow
Differential Dataflow is a data-parallel programming framework designed to efficiently process large volumes of data and to quickly respond to arbitrary changes in input collections. You can read more in the differential dataflow mdbook and in the differential dataflow documentation.
last commit: 19 days ago, first commit: May 5, 2015
https://twitter.com/frankmcsherry
onhold
Onhold allows you to play sounds while and after shell jobs complete.
last commit: 2 hours ago, first commit: Sep 16, 2020
react-chrono
React-chrono is a timeline component for React with multiple layout modes.
last commit: 2 days ago, first commit: Aug 14, 2020
https://twitter.com/prabhumurthy2
TileCode
Microsoft TileCode is a game creation app that allows you to design and play games directly on low-cost gaming handhelds or in a web browser. TileCode games are similar to board games with pieces that can move from one tile of the board to a nearby tile.
last commit: 1 hour ago, first commit: Nov 7, 2019
https://twitter.com/OpenAtMicrosoft
An Interview With Anthony Budd of S4
What is your background?
I’m a PHP and Node expert. I run an API platform called Ideea. I have been a full-time software developer since before I finished high-school. My last job was at Apple in Austin, TX but it was super boring so I quit to start a delivery app called Teleport.
How is the courier business?
The margins are slim but that can be mitigated with economies of scale so providing we are profitable and growing, it's not something that I'm too concerned about in the long-term. I have developed a new business model where we have a very cheap delivery option called "By 5pm". Where we collect in the morning and all that matters is it arrives by 5pm on the same day, we could deliver the item in 20min, 1hr or 6hrs. This allows drivers to serve far more customers than was possible in traditional courier business models.
How did you find drivers?
I was the first driver. We do not operate like Uber so the driver client balance is less important. My drivers use the app I have built to handle multiple simultaneous deliveries, so as demand increases we just make our drivers do more simultaneous deliveries instead of hiring more drivers. This keeps staffing costs low further mitigating the low-margin issues that are inherent to the industry.
Do you have plans to scale up further, or perhaps move into markets aside from Austin?
Yes, of course. I'm going to take over the world.
Why was S4 started?
I’m concerned with the conduct of big-tech providers and social media platforms like Google, Amazon, Twitter, Facebook, and Reddit etc. S4 was designed to make robust object-storage practical for anyone to build and deploy. This is why we use TOR for DNS and IPFS as a CDN.
What is the most challenging problem that’s been solved in S4 so far?
Explaining it LOL. By far the hardest part was building s4-client. This does all the heavy lifting so developers can keep all of their existing S3 code but all of the requests are seamlessly proxied to S4 using Tor. Many late nights.
How is S4 current monetized?
You can deploy a S4 server on my platform, it’s just like AWS. When you click create S4 server we deploy and we provision the server for you for a monthly fee.
How do you balance your work on open source with your day job and other responsibilities?
Day Job? 😂
What is the best way for a new developer to contribute to S4?
Make a PR
Where do you see S4 heading next?
- Make S4 production-ready
- I need an endpoint for usage stats (xxGB used of xxGB)
- In prod we should really be using K8s not docker-compose
Where do you see software development in general heading next?
Away from big tech and towards decentralized technology. Google, AWS, Microsoft, and Apple pose an existential threat to the internet freedom and personal freedom (don’t get me started...)
Where do you see open source heading next?
I think we will see bigger and more complex projects requiring broader teams and more collaboration in different ways. A great open-source project doesn't just need coders, you also need UI/UX, documentation, etc.
What is one question you would like to ask another open source developer that I didn’t ask you?
Why do we do this?
An Interview With Ian Bateman of FreePN
I saw a lot of comments on Reddit when I posted about FreePN in the /r/opensource subreddit as to whether FreePN forced the user to act as an exit node in the Tor network or not. Would you like to respond to some of these questions and confirm or, clarify the proposed solution?
So I think this is a pretty reasonable question, and it tends to come up relatively often. So, in short, yes, when you use the FreePN network, you’re expected to contribute back. Right now, FreePN is structured as a one-to-one peer connection, so that while you’re using the service, someone else on the network acts as your exit node, and you act as the exit node for them in return. While this isn’t a perfect solution for all users, it’s still very early days for the network, and many pieces of our architecture are currently in flux and under active development.
There are a few ways we plan to improve our architecture going forward. One is that in the very-near-future we plan to allow users to selectively ‘blacklist’ certain categories of content (so that they don’t act as an exit node for that kind of traffic - which since we only route web-traffic is a relatively reasonable expectation). We plan to use open-source block-lists like those maintained by the Fortiguard project to achieve this. We’ll then give users connecting to the network a few configuration options to choose from (think: ‘any’ or ‘unfiltered’), so we can route their connections appropriately. Two is that over time, we plan to move from a one-to-one to a many-to-many architecture (with many-to-one in between), so that traffic won’t be evenly distributed & not every user on the network will ultimately act as an exit node (though it will most likely be opt-out).
Another question that continued to be raised was that FreePN was considering following the Brave advertising model for monetization, which many people were unhappy about. Would you like to respond to this?
Understandably, a lot of folks have questions about FreePN’s future plans for monetization. It’s no mystery why — in the past, a lot of programs — especially in the privacy space — have broken user trust when they’ve been exposed for logging user data or compromising user privacy for profit in other ways. Ultimately, my goal with FreePN is to monetize in such a way that what we’re doing is entirely transparent to our users & that user privacy is never compromised in any way whatsoever.
A general problem in this space has been that historically, a lot of the big projects have been chronically underfunded. By monetizing in a privacy-forward way, I think we’ll be able to use the additional resources to improve on FreePN & take it past anything that’s currently on the market in terms of its ability to protect user privacy. At the end of the day, that’s what keeps us coming back into the office to work on this every day — the idea that we’ll be able to make a big impact on the Internet privacy space & push the future of a decentralized web forward. Having more resources at our disposal will go a long way towards helping us to further that goal.
What is your background?
Though I’m living in San Francisco currently, originally, I grew up in a small town on the Jersey Shore! I believe I was very fortunate to be exposed to computers early in life — my parents actually bought me a Dell laptop when I was in third grade so that I could do some supplemental Math programs outside of school. I think I wrote my first line of HTML somewhere around fourth grade, though I didn’t really program more than casually until I got to college. I was also very fortunate there to have had some exceptional mentors that helped really develop & sharpen my programming skill-set. In terms of daily development, I’d say Python is by far my main driver, though when I can find some free time, I’ve enjoyed using Elixir & Processing for some personal projects (I’m involved with the generative art community & do some moderation work over on the /r/generative subreddit). Prior to FreePN, I co-founded a company called Orchard Systems (that developed a Linux-based Operating System & Point-of-Sale solution) with a friend from college — we were very lucky to have had a successful exit to a larger payments company in mid-2019.
Why was FreePN started?
I’ve always had a deep interest in both peer-to-peer technology and Internet privacy, so after Orchard sold, I finally had the time and resources to pursue a new project in the p2p / privacy space. I’ve actually been using VPNs since high-school (I went to a boarding school where they’d turn on network restrictions during study hours), so I’d actually been kicking around the idea of a free p2p VPN for a few years, and was very psyched to jump directly into the project once I had a chance.
Are there any overarching goals of FreePN that drive design or implementation?
We really envision FreePN as eventually serving as the portal to a larger decentralized / private Internet, so all of our planning work keeps that high-level goal in mind. More near-term we’re consistently working on balancing growing the network & speed of feature delivery with stability & continually increasing the level of privacy we can offer.
What trade-offs have been made in FreePN as a consequence of these goals?
Practically speaking, recently that’s meant shipping some very early versions of our client that we’ve had to cut some features from & earmark for future releases & iterations!
What is the most challenging problem that’s been solved in FreePN so far?
By far the most difficult technical challenge we’ve faced in designing FreePN so far has been the core peering algorithm (basically, how peers get matched up with each other). I have to say the credit for that one really goes to Steve, the primary engineer we have working on the project.
How did you meet Steve?
I've been working with Steve for ~5 years now actually - he used to be pretty involved in the open-source Linux community, and he was actually our lead OS developer at Orchard!
What’s your typical approach to debugging issues filed by users in the FreePN repo?
When users file issues on the FreePN repo, we’ll typically ask them to upload some info from a few state / local log files as a jumping off point for starting the debugging process, as well as ask a few questions about the OS version / hardware they’re running.
How do you balance your work on open source with a day job?
Balance is for quitters. More seriously, juggling a day job, FreePN, personal life, and sleep hasn’t been easy by any means. Usually something suffers, and unfortunately that often ends up being sleep.
What is the best way for a new developer to contribute to FreePN?
We actually have a contributing doc on the fpnd GitHub repo here: https://github.com/freepn/fpnd/blob/master/CONTRIBUTING.rst! The best way to propose an improvement or new feature suggestion would definitely be to open a suggestion on the repo and tag Steve or myself.
If you plan to continue developing FreePN, where do you see the project heading next?
There are lots of features to come! Our next major initiative is actually to ship ad-blocking, before porting to MacOS. I always encourage folks to sign up for our newsletter on freepn.org for updates — we announce all our new releases and feature plans there.
Where do you see software development in general heading next?
Maybe I’m a bit biased, but I really see companies and developers placing an increasing emphasis on putting privacy tools & settings front and center in the coming years. It’s not necessarily that they’ll be super enthusiastic to do it — but I think as more Internet users become increasingly aware of the value of their privacy, the market will demand it. That’ll mean more transparency around what data is being saved & shared, what telemetry’s being used, and what’s being logged.
Where do you see open source heading next?
Open source has been, and will continue to be the future! I think as cryptocurrency and peer-to-peer tech becomes more mainstream generally, more people are realizing that the underlying code isn’t necessarily the value of their businesses — it’s the network itself. Having your code be open source can actually be a competitive advantage in a lot of contexts.
Do you have any suggestions for someone trying to make their first contribution to an open source project?
Use open source programs yourself and look for rough edges! Some of the best features in open source projects come from users scratching their own itch, so finding a rough edge in a product you love then diving in to improve it & opening a PR is a great way to get started & become involved in the community.
Like what you saw here? Why not share it?
Or, better yet, share Console!
Also, don’t forget to subscribe to get a list of new open-source projects curated by an Amazon software engineer directly in your email every week.