With the quarantine being placed in effect in a lot of cities across the world, we all likely have a little bit more time to focus on personal projects or learning something new from the comfort of our homes. What are you guys up to these days?
I’m working on a tool that allows developers to record and playback interactive, guided walkthroughs of a codebase, directly from their editor. It’s called CodeTour, and it’s currently available as a VS Code extension: https://aka.ms/codetour.
I built it because I frequently find myself looking to onboard (or “reboard”) to a project, and not knowing exactly where to start. After speaking to a bunch of other developers, I didn’t seem to be alone, so it felt like this problem was deserving of some attention.
While documentation can help mitigate this problem, I wanted to explore ways that the codebase itself could become more explainable, without requiring unnecessary context switches. Almost like if every repo had a table of contents. To make it easier to produce these “code tours” I built a tour recorder, that tries to be as simple, and dare I say, fun to use as possible.
I’ve since found that this experience has value in a number of other use cases (e.g. simplifying PR reviews, doing feature hand offs, facilitating team brown bags, etc.), and I’m excited to keep getting feedback from folks as they try it out. It’s also fully OSS, so I’d love any and all contributions: https://github.com/vsls-contrib/codetour.
It takes time to derive the high-level from the codebase. I guess, your walk-throughs would be similar to how I'd explore it myself - without the mistakes.
EDIT it's documentation, so can get stale/out of sync as the codebase evolves (not a problem for PRs). Though high-level architecture/APIs rarely change.
BTW In github, I keep expecting the text next to files/dir to be a comment explaining the high-level (instead of the most recent commit message).
Trying to codify the “tour” that a developer would have to otherwise discover themselves, is exactly what I’m trying to help with. This just seems like such an important phase of learning, that is currently way too manual.
Regarding the comment about tours becoming stale: when you record the tour, you can choose to associate it with a specific commit/tag/branch. That way, when someone plays it back, it will continue to make sense, even in the midst of minor code changes/refactorings.
I’ve also been working on making the tour editing experience as simple as possible, so that as you need to revise the tour over time, it’s not too difficult to do.
That said, any artifact that’s a derivative/compliment of code (e.g. documentation, tests), represents an additional “burden” to maintain. So I’m focused on trying to keep the tours “stable” enough to support learning, and reduce the cost to editing them, to hopefully support the continued investment.
I’m semi-hopeful that there’s a nice balance here, that provides an enjoyable enough DX, coupled with the team’s motivation/benefits to retain and transfer such important knowledge. We’ll see how it goes!
I’d love to hear more about your thoughts on draft tours! Currently, you can record as many tours as you want per codebase, and so you could record one that was scoped to just key API calls, and have n-number of other ones with more detail, alternate flows.
Would that satisfy what you’re thinking? Or were you thinking about being able to record a tour, and mark certain steps as being more important than others? Any feedback here is unbelievably valuable!
I meant a way to make up-to-date drafts: base it on an automatic execution trace, like from a debugger running the code.
You get this 100% up-to-date trace for free. It's crazy verbose, so apply filtering (e.g. to only key apis) to make it manageable. Then edit that draft manually. Like an annotated, abbreviated, step-into debugger.
My thinking is that this makes it easier to get an initial draft. But maybe that basic trace is easy and natural to do manually?
Also, I'm not sure how similar this "execution trace" would be to a tour based on explaining it... I suppose you could find out, by examining your best tours to see how closely they actually follow execution order (if at all).
When I try to understand a codebase, I do trace calls manually, so there's probably some similarity.
Ah OK cool, apologies for misunderstanding you. Now that I’ve got the core record/playback experience, I’m keen to explore ways to simplify the authoring and maintenance experience even further. Enabling a “code profiler” for recording/updating tours could definitely be really useful. Thanks for the feedback!
No worries, think your interpretation of just api calls is a good one, a bit like "tests as documentation". Could then have another tour for each module (api implementation). This approach would tend to confine the effect of changes (as in Parnas' On the Criteria To Be Used in Decomposing Systems into Moduleshttps://www.win.tue.nl/~wstomv/edu/2ip30/references/criteria...)
Awesome. Please create it for Jetbrains IntelliJ platform. Software tools are trending, you can charge money for it. I'd like to use VSCode but Webstorm is just so much more ahead. Most people and companies (who use them) already pay for Jetbrain tools.
Thanks for the feedback! In addition to CodeTour, I’m in the process of building out a couple of other tools (see below) to support better team collaboration, onboarding and knowledge retention. So I’m focusing on VS Code first, and iterating on feedback, before tackling other editors. That said, any thoughts on the usefulness of these solutions is extremely helpful, as I prioritize my backlog.
Note: Other side-projects on my journey to improve the holistic developer experience:
1. GistPad - Developer library for managing code snippets, documentation and interactive CodePen-like playgrounds. All built on top of GitHub Gists (https://aka.ms/gistpad)
2. Live Share Spaces - A virtual team room for connecting with other developers, and being able to seek and provide in-editor assistance in real-time (https://aka.ms/vsls-spaces)
Thanks! If you get a chance to check it out, please don’t hesitate to send any feedback my way. I need all the help I can get in order to ensure this experience is awesome :)
Going to second the request to bring this to IntelliJ. Everyone I know at my current and previous jobs would use the hell out of this, but so much of JVM development is on IntelliJ now.
Thanks! Out of curiosity: in the interim of having an IntelliJ client, do you think your team would use a browser-based client and/or integration that was built into GitHub? I’m working on this right now, and I just wanted to check with you on the applicability of that for your specific team.
For my work it's PHP support is far behind intellijs and I say that as a massive fan and user of both vscode and intellij (in fact I use both in the same codebase because vscode does typescript better as well as I prefer it's git support and plugins).
Also intellijs support for databases and symfony is vastly far out ahead.
The only limitation is that it's VS Code only. But, the JSON output means I could easily write a script to produce HTML that could be hosted for other devs to view.
Thanks! I’m keen to explore integration with GitHub in the near future (https://github.com/vsls-contrib/codetour/issues/10), in order to provide a browser-based “player”. That way, the knowledge in the tour isn’t limited to any one editor.
That said, I wanted to record the tours in a simple JSON file, specifically to enable interop with other tools. I’d love to hear any feedback you have on the experience and/or the format!
Thanks! I took inspiration from the way I’ve seen some devs “document” their PRs: submit the PR, add a description, and then seed the PR with a handful of comments that call out the most relevant “markers” for reviewers to look at.
I’ve always liked that approach, and thought it could be cool if you could do the same thing for any body of code (not just PRs!), and also enable the comments to be ordered, so that the “tour” itself is entirely guided.
So awesome! Actually, working on something somewhat similar called Codeflow (https://usecodeflow.com/). Right now, we have a web app where people can create these walkthroughs/tours but wanted to ultimately create an IDE extension. Love what you've done thus far.
Oh cool! Yeah, we are definitely kindred spirits :) I wanted to start with VS Code (in order to scratch my own itch), but I’m now working on a browser “player” and looking into GitHub integration (https://github.com/vsls-contrib/codetour/issues/10).
I love seeing other folks investing in this space. Thanks for sharing!
Love the idea! Maybe a suggestion with the "bit rot" problem (getting out of sync with code). Code tours will likely cover the most important parts of the codebase, which should be well tested in large projects (and large projects are the ones that need the tours). You could link the comments to those tests, and if any of those tests are changed, you will be advised to take a look at the tour comment. These tests can be also discovered automatically, as there exist code coverage tools.
Ah I really like this idea! Currently, a tour can be associated with a specific commit or tag, to enable it to be resilient to code changes over time (e.g. minor refactorings that don’t fundamentally change the value of the tour).
That said, there isn’t a way to automatically know when a tour should be updated, after a significant enough code has changed. Being able to bind a tour to one or more tests is a really interesting idea, and something that I’ll try to explore this upcoming week. Thanks so much for the feedback here!
Great question! I’m not currently sure :) I’ve been fairly deliberate about building CodeTour in a language agnostic way, in order to ensure it could be applied to any file type within a codebase. This is partly why I haven’t based the tour definition experience on code comments: https://github.com/vsls-contrib/codetour/issues/38.
That said, I’m trying to keep an open-mind when it comes to increasing tour resiliency, since it may require language/platform-specific solutions. I’m not sure. If you had any thoughts, I’d love to hear them!
Another potential solution is to have a CI task, that could check to see how far the code has deviated from the original commit that the tour was recorded on, and notify you when the deviation crosses some threshold. Maybe that’s a terrible idea, but something like that would have the benefit of being language-agnostic.
I’d love to hear more about “engineering team rescue” :) Are you referring to being suddenly dropped into a project that needs help (e.g. because it’s behind s schedule), and having to quickly ramp up?
The analogy of a museum tour was exactly what inspired the name! When you want to really learn about something, it’s hard to beat the value of a guided walkthrough, that can provide you with just enough focus, while still allowing you to explore ideas on your own.
That’s my hope! I read a lot of OSS code, and so I constantly struggle with understanding how to get started. Assuming folks find something like CodeTour helpful, I’d love to get support for advocating it and bootstrapping the ecosystem with tours for popular OSS projects.
Me too! I started this discussion with Nat Friedman (GitHub CEO), and I’m excited to see what can be done here. Any feedback/interest from the community might help make this a reality :)
I'm working on a morse code iOS app that can optionally use Force (3D) Touch. My dad had a stroke recently and is quarantined in a care facility. He can't talk but remembers morse code like a boss. He can't lift his finger off the screen to "tap" and there were no other morse apps out there for people with physical impairment. With this he's able to communicate... I've been coding for 15 years but this was life changing when it worked!
Congrats on the awesome project. In case you haven’t come across it ACAT [1] might be of interest, especially if word rate becomes a limiting factor in communication for you dad, or if he’s interested in using a computer. ACAT is highly flexible around how it accepts inputs. To that end, you might be able to take what you’ve done and open it up to a broader audience by writing an extension that turns the iPhone with force touch into an input sensor, with or without the use of Morse.
Hi, so many cool ideas in this thread but this one really caught my attention. As it happens I've been investigating solutions like this under an open source basis. Unfortunately I didn't pay enough attention to "marketing" so I was forced to quit due to lack of funding. Now my hands are sort of tied by a greedy copyright clause in my contract so I'm not sure how much I personally can do as I really want my work to be in the hands of the public.
One of my ideas is exactly using morse but more as a means to demonstrate a way to make a new input method learnable via a HUD.
Apart from that I'd think you might be interested in Dasher and that you should check out the solution that Stephen Hawking is using which happens to be open source.
I've put in quite a lot of thought into this and would love to discuss this with you.
If you are interested please use contact form in link below or let me know how I can contact you.
This is fascinating. Dasher looks incredible. I was wondering where this thing was going to go (if anywhere) after this initial "use case". I will definitely look into this.
Really interesting use of force touch, not sure if the repo is meant to be public already, would suggest you add a README with a short description of the project, installation instructions and so on. Best of luck!
What a wonderful thing to read on another day in covid isolation. Very sorry to hear about your father. He must be beyond delighted with what you've made.
The 'ham' in ham radio seems like it should be an acronym or something, but it's actually just short for 'ham-fisted' and doesn't need any special treatment. :)
I'm making a new tool for writers. With it, you'll be able to write your essays on "layers"
The problem? Tweets are easier to read than long-form essays, as they require less time commitment. If the content is not good on a long-form article, you'll find out way too late. With this tool I'm developing:
Layer 1 is the shortest version of your essay, the 1 min read — like a tweet. The idea boiled down to the shortest version
Layer 2 is the same text from layer 1, but with extras added here and there. What's already read by you is in black ink. What's new is in blue ink. This is the 2 min read version
Layer 3 shows everything from Layer 1 and 2 in black ink, but what's new is now in blue ink. and you keep doing that until you get to the full version.
I can post some screenshots here of my mockups, as I'm a designer. PM me if you find this intriguing!
The first thing that you see is the first layer (1 min version). Go right for 3 and 5 min version!
——
Edit 2: since I'm seeing the upvotes and the emails, I quickly made this sign-up form for the people who want to be updated when the product is done: https://layered-ink.webflow.io/
I would put up the https://layered.ink link but the ___domain hasn't been propagated yet.
@Admins — please do let me know if this is not permitted so I can take it down. Apologies if so.
Can anyone vertically scan 5 paragraphs of a long-form article in a 1-2 seconds and ambiently detect keywords that signal relevance? By ambient, I mean in your peripheral vision, without even knowing which word you're looking for or actively reading anything.
I acquired this "skill" about a year ago and now I use it when I suspect there may be filler text or introductions to concepts I already understand. I know it works because I uncannily land on interesting but otherwise nondescript passages. When I scroll back up I find that I did indeed skip the filler. Of course, this isn't voodoo or unprecedented. It's just funny that I've read so much that my brain basically has a regression model for various semantic characteristics that signal novelty by subject area. I suspect I also switch into different modes of scanning based on the writing style detected.
Because of all that, I actually prefer no layering at all. Reuters articles are Layer 1 compressed and I find them annoyingly curt.
Maybe, but I never did this before I tripled my reading volume while attending grad school. I thought skimming entailed some degree of horizontal scanning and actively reading clusters of words. In contrast, I don't even read clusters of 2 words when I do this and I don't aim to comprehend the skipped passages. I just automatically detect that they're irrelevant with basically zero reading.
Experiences may vary, but I've always thought of skimming as something that could be done to various degrees. Some examples:
1. going through pages looking for interesting textual structure, for example dialog, numbers, capitalized words, etc.
2. scanning vertically or in a zig-zag fashion, using peripheral vision to look for interesting words
3. reading the first few words of a paragraph before deciding if it's interesting or not.
I normally use 2, then try 3 on a paragraph that passes 2's test. Only when a paragraph passes test 2 and 3, do I decide to read it with my (temporary) full attention. 1's more for when I'm searching for something in particular or when what I'm reading follows a specific format and I'm interested in a particular section with distinctive structure.
Wow. That is next-level stuff. This makes me think of how varied the human experience is, even for the most routine activities. I've heard the word "skimming" hundreds or maybe thousands of times before, but clearly it is an inaccurate abstraction of the range of things someone can mean when they say "skimming."
Here is a dictionary definition: "The action of reading something quickly so as to note only the important points." If you showed me that definition before I started skimming effectively, I would have never extrapolated the behavior you described from that word. I didn't even know people did that.
-----------Idea ----------
I could see value in an open source "Verbose Dictionary" where people from all ages and walks of life would be able to add their own definition of a word. There would be two general rules when someone makes an entry:
1. They would need to write their definition in a verbose manner. I'm thinking at least three sentences, usually more, but also not as long as a Wikipedia entry.
2. They would need to be as open and honest as possible, so that there's minimal translation loss between what they're communicating and what we take away from it. Importantly, the word needs to be described with both intellectual and emotional cues. The author would also be able to let the reader know basic facts about themselves, and there would be some mitigations against trolling or fakers.
Over time, we would converge on a more universal language to maximize our mutual understanding of what each of us truly feel and think about words, concepts, current events, people, etc.... There would also be optional tags and slider scales (i.e. 1-10) that can attach to each definition so that you can correctly communicate the breadth, depth, and magnitude of your thoughts and feelings on the word. Critically, the goal would not be to achieve groupthink and converge on the same definition. That would be contrary to the premise of the Verbose Dictionary.
Not only would I find such a dictionary highly captivating, but I also think that it can serve as a useful tool for conceptual mapping or things like artificial neural networks. What are your thoughts? Would you use the Verbose Dictionary?
It would have a different aim than Wikipedia. Wikipedia, is, above all, a source of knowledge. That's where I go when I want to chain-read about the German Revolution of 1918. It doesn’t have the emotional and sociological theme I’m describing.
VD on the other hand would be a real-time, K-clustered map of the human experience. If you go to the entry for Love, you’d see people from all over the world sharing what loves mean to them, anecdotes and all. Crowdsourced feedback would surface the best entries to the top. Political topics would solicit good-faithed micro-blogs with the specific aim of humanizing each other and learning why we believe in what we do. You'd be able to go back in time to see where people's minds and hearts were at on a certain day. Algorithms and strict moderation would ensure that diverse viewpoints are shared and treated in good faith. Maybe I’m wrong, but I think if there’s a dictionary for swearwords, there’s certainly room for a dictionary of the human experience.
Check out the below study published in Nature in 2019. It makes the claim that cultural values of openness are what give rise to democracy, rather than the other way around. We need more of that openness right now. https://www.nature.com/articles/s41562-019-0769-1
The purpose of a dictionary is to define words. A word with a thousand definitions is not defined. It is the opposite of defined. If a word has several diverging meanings, perhaps it's time to create more words.
Super valid point, especially if you're doing what keenmaster does (wish I could tag him). Frankly, I've got FOMO when reading long stuff that interests me
Fun. Quick user experience report: expanded "atoms"; the effort to find the boundaries of the insert was a thing ("where does it start? ah, next sentence.", "oh, I read this bit already, so I'm past the end"); with an unmoved mouse, I tried clicking "atoms" again to toggle the insert away (didn't). Perhaps color the insert?
Thanks for the feedback, there should be a fade-in when the text expands, and there's an option to click again to close, but IIRC it's not enabled on the demo. I think it's unnecessary, but it bothers some people to not be able to close them back up.
Fantastic Stavros, I love it. Really close concepts we've got here. I thought of exactly what you've made a few weeks ago as... some words may or may not be jargon on a certain "layer" of my essay format. So what I barely-envisioned was what you put into code here. Will bookmark it!
Yep! I was thinking of your layers idea while making this, but I wanted something that would allow people to drill down in a more targeted way (rather than generally). You're right that it usually ends up being used to define terms, but you can also use it well for elaboration.
I think the ideal solution will be some sort of middle ground, where much of the drilling down will be done by clicking on specific words or sentences, but a slider would allow you to generally expand more text in the article, for things that aren't exactly related to other sentences.
It does take a bit of doing, and drilling down to another layer should also be able to delete text, so the wording flows better.
If you want to talk about this more, feel free to send me an email, I find this problem very interesting.
I would love if it was possible to further drill down into topics (expand further in already expanded parts, up to many levels deep). I long ago hoped to one day try and write an explanation of Shor's algorithm in such a format, with many layers of drill-down available, to cater to readers of different level of knowledge. And also with possibility to collapse back the areas, and bookmark a specific expanded state of the text.
Is collapsing back also allowed, as I asked above? :) didn't see any clear UX indication to that effect :( Not 100% essential (I guess could try adding it as a contribution if the others were there), but how about the bookmarking aspect I also mentioned?
Neat. This layered approach reminds me of the Youtube series where they explain concepts such as Quantum Physics at 5 different levels of difficulty (children, highschool/uni students, phds, field experts).
- Maybe limit the layers to 2 or 3. The example you've got in Invision has eight layers which gives me decision paralysis. Do I want the "7 minute read" or the "9 minute read"?
- Consider an onramp from Twitter. People have big audiences there, and linking out to Layered Ink might work better than those 50 tweet "tweet streams".
1. Hmm, the concept is: the more layers, the better. This way, you can easily "pick your pace" — if you're short on time and you want easily-consumable content, you'd skim through 1-min versions. Ideally if at a certain point you say "holy shit, I love this", you'd jump to the full version. The same way you don't just skim your favourite author's new article — you just go to the full version because he's proven time and time again that his style fits you
2. Oh? Tell me more? Did I get you right: showing it to ppl who bypass the 280-char-limit by having tweet storms/threads?
P.S: I love Dynasty's logo!!!
Regarding (1), I think the parent still has a point. Too many choices can be stressful to the user.
How do you expect users to interact or choose between "7 minute version" and "9 minute version"? Are they expected to keep going up the layers one-by-one until the full version is reached? Are they expected to intuitively know which one to pick right away?
Too many possible choices also delegates the responsibility of picking the number of layers to the writer, which can be an additional stress.
If possible, I'd try to figure out the most common use cases. The interactions and thought processes of users should be intuitive and dead simple to describe. Other than, loving the idea! Keep it up. :)
So you think people would open another website and then go through the "expand" rather than just do it on the website they are currently on? I don't think so to be honest.
What you propose as the system for writing makes sense and probably reflects what many people already do.
However, I am curious to know what the tool does. In other words, someone can write a “thesis statement”, and the bullet points and an outline and so on in any editor. What does the tool do?
For what it's worth, a lot of good software doesn't actually "do" many new things, other than support a specific use case with a better UX than existed previously :)
It'll be a writing tool. A text editor. There are two ways to approach it:
1. Let people brain dump — write everything they've got on their mind. Click "new layer". Cut down on words. Click "new layer". Cut down on words. Repeat ad nauseam.
Every time you write a new layer, you're "editing" your article so as to make it shorter. In other words, you're purifying the idea
2. Let people write the shortest version, then write a bit more, then more.
I'm doing way #1 because I feel like road #2 prevents people from having a brain dump... I'd lose all my ideas if I'd start with the short verison
Mine as well. And the process is often lossy, so I'll keep old variants easily at hand. Eg, "this old variant had nice property X, or dealt with Y well, or suggests a direction worth exploring".
Brainstorming, well, "everything is a graph", but perhaps picture versions as columns, with each column showing all three levels, with transclusional editing between them. So you do a pass in whichever direction, create a new column, and easily grab material from previous variants, and repeat.
Very np, sorry... I was picturing a screen divided into columns. Each column is a stack of the various distillation levels, say most brief on top, then less brief, and so on.
Within a column, editing text in any level, updates that text in any other level it appears in. That's the transclusion. Since all levels are said to have a copy of the most-brief text, if you edit that text at any level, it's updated at all levels of that column.
When you start on your next column/version, you can easily grab text from previous version(s). And you might do that in different styles. If you copy the entire column, then the old column serves as a checkpoint, and the new for continued editing. Or copy just the most-distilled level, and then work downward, to "reconstitute in a more crystalline form". Or copy just the least-distilled level, and work upward, attempting a new distillation.[1] Or do these from a previous column instead of the most recent one. And the old columns/versions are easily accessible, to browse for inspiration, or to grab stuff from.
[1] Hmm... I guess copying just the least-distilled text "forgets" what the embedded more-distilled text regions of it were previously? So one can try playing with the "brain dump" text again, without the distraction of the previous distillation choices. Then when things settle down again, one can highlight "this region is now distillation level n".
For UI, perhaps highlight-drag-n-drop to more distilled levels? And if each level say had an "X" - delete and forget this level, then the different styles of column copying unify as "fully copy a column, and then X-away the levels/region-choices you want to discard"?
So... All levels simultaneously visible, and easily edited together. And multiple versions of them easily accessible, in support of doing multiple exploratory passes, with each pass able to easily draw from past attempts. And working in either direction: towards distillation, or building out from a more distilled seed.
That was the brainstormy vision anyway. I've no idea if it would work out. And for whom - I work in both directions (back and forth), and like a visual record as external memory (so I don't have to remember things or take notes), and like to just see it all (without view switching). Someone who doesn't want those, might find multiple columns to be distracting clutter.
Thanks. The bottom-up journaling style of use [1] looks tempting, even as someone who generally prefer graphs to trees.
PayWhatYouWant[2], but it seems a pity one can't easily play with it non-persistently, without giving them an email? I wonder if that's the right choice, funnel wise, for something with a "I can't imagine using it... oh, that's neat" dynamic.
This sounds fantastic and is something I've broadly thought about for a little while. A little while back someone else linked a concept of what they had done with the idea -- initially a paragraph was visible, and some of the words had a coloured box around them which could be clicked to expand on that term, all the while maintaining a flowing prose. So, I think a slightly different goal to what you describe (it was technical writing I think?), but similar enough. Unfortunately I didn't save it and have previously (frustratingly) spent at least an hour looking for it to no avail, so I'm curious to see what you come up with!
If you ever find it again, send it my way please! Indeed it would be very useful for complex concepts explanations. Definitely not do tabloids or anything like that — though it might... help?
It's essentially the reverse way of what writers do when they write the "tweet version" of their essay — plus all the steps in-between.
@ your last sentence: Check out the InVision link I've added to the OP!
Reminds of https://getcoleman.com/ and this other portfolio site where each word could be expanded until it became a large essay, can’t remember its name.
Actually, I think news articles don't have clear-cut layers, but actually gradually dive deeper.
The original motivation were layout considerations for printed newspapers with limited space. With all articles pre-written like that, an editor could arrange them on the final layout and cut off at the end at discretion while keeping the most relevant information given the remaining space.
That being said, I don't think this is too relevant for your idea, just an interesting anecdote.
I didn't but I just checked it out now. Interesting I'd say. They have the short-version and the max-version. The tool I'd like to make would allow you to do all the in-between versions
I like this idea! I'm building something similar at www.sivv.io. This is a community for knowledge sharing where users share / discover summaries of useful knowledge, ideas or advice that are structured into sections (e.g. background, key point, examples) that can be hidden or revealed depending on the preferences of the reader. The idea is that this forces authors to remove any 'padding' and allows readers to consume the key points as quickly as possible, in theory learning more while reading less. We are currently focusing on the topics of business, behavioural science, personal development, professional development, science & technology and wellbeing. You can sign-up to the beta version at www.sivv.io - any feedback would be much appreciated!
I actually prototyped something similar a long time ago. It allowed for authoring sections that could be composed into a number of views. The only difference is that I wanted to capture the different "facets" of an article as well - so you could have a tab that was just the code, or statistics, etc.
Example: a short, by words, explanation for a mathematical problem. Then, the possibility to expand to a more rigorous proof and so on. This would enforce a top/down type of writing that could benefits audience and creators. I believe it would easely apply to the great part of knowledge sharing.
This would be really good for scientific articles. They are usually filled with (important but noisy) details that make skimming them for the important ideas difficult.
This is how pretty much all writing online should work IMO, even if the 'deeper' version is just a citation or link to respected expert work. Some combo of this tool for writers and community-annotations a la Genius.
I've never heard of it but I looked it up for the last minutes and indeed, Layered Ink would be one of the ways to respect the pyramid principle! Thanks for pointing it out. Where have you heard about it?
Sounds really cool and reminds me of Jason Fried's writing class idea[1]. I think many people still view Twitter's brevity as stifling nuance instead of forcing users to really refine their ideas.
Wow. I love JF and, obviously, this idea as it's pretty much on the same basis. I'd love to send it to him as soon as it's done — if anyone can help me with this, I'd be more than grateful
Indeed, there are problems with Twitter, people take stuff out of context and like to be polarized. But just as you say, the first time I interacted with Twitter I loved the fact that I had to "distill" my idea.
Kinda like Vodka — you keep distilling alcohol until you purify it (or close to it). What you're saying about "refining the idea" made me think about this.
I had this exact same idea and built a very simple tool that lets me input three values: link, difficulty/rating and addendum. The uniqueness is based on url and I do keep a count of if I have been there before. I update the timestamp to last visited. I built a simple UI for that as well though looking at your project it seems much more exciting to have the full visiting history as well.
Vaguely -- being better at 'information processing'.
If you think about a typical person's browser bookmarks -- it's a mess with no hope of ever catching up, prioritizing and sorting. My project could help with that :)
I've just finished off (within the last hour) my version of Asteroids, which I started with enthusiasm two or three years back, then did very little after getting the basics of the game working:
Now I've finally added all the stuff I wanted to (black holes, satellites, power-ups) so it's time to pick up another project I started a long time ago and haven't really done much on: my very own version of Space Invaders:
(WARNING: this one is barely functional - e.g., no levels, no shield damage, no scoring, invader firing pattern is all kinds of wrong, invader movement isn't quite right, etc.)
The graphics, music, and fluid motion are awesome.
But, I cannot stand the controls. I play games like this laying down in bed at night, which automatically disqualifies this, due to its use of my phone’s orientation. Also, the modal disconnect between throttle and direction controls (one orientation and the other button press) is too much to tie to muscle memory.
If you added an “old fashioned mode” with a dynamic joy stick (appears where ever I put my thumb within one bottom quarter of the screen) for direction and throttle (touch to engage and drag a small amount in any direction to turn and go that way), that’d fix the issue. NOVA 3 for iPhone got this 100% right. Then, a small section on the other bottom corner could house a few small buttons to engage hyperspace, etc. Just let the user pick right or left handed.
Thanks, that's a great suggestion. I had tried pure touch controls before but it was a complete disaster. Never even occurred to me to anchor against a dynamic touchpoint. That'a a really interesting idea. I'll have to check out how it works in NOVA 3.
Tbh, I've never been satisfied by the tilt controls: they work OK if you're stood or sat still, but if you need to move at all whilst playing it can end up going sideways. I probably haven't yet put in enough effort to get them to feel right whatever the ambient orientation of the phone.
I think you're right though: I need to offer an alternative control scheme that's touch only.
I'd love to take credit but sadly not my idea. Very similar ships featured in Asteroids Deluxe back in the day: https://www.youtube.com/watch?v=GGODay8YUio. I thought it was a great idea so decided to add them to my version just because they add a bit of variety.
I licensed that from PremiumBeat. In the early 2000s a friend introduced me to Cowboy Bebop, which I've been a massive fan of since (along with its excellent soundtrack), so I wanted some music with the slightly whimsical, slightly melancholy feel some of the tracks in the show had for Game Over.
It's all Canvas 2D at the moment. There's no WebGL because when I started this project, three or four years back, it simply wasn't ubiquitous enough. Now I might be able to get away with WebGL (using something like Pixi.js) but the last couple of weeks I really just wanted to finish what I started rather than do a relatively substantial rewrite.
Another quirk is that I'm not using (think Phaser.js, or whatever), because the two main motivations for starting this project were that:
1. I wanted to get better at JavaScript, which I'd always been weak at.
2. I guess 2015/16 was a time when the front-end world felt like it was really going nuts with new frameworks coming out all the time, so I wanted to become familiar with and see what I could do using only APIs built directly into the browser.
Getting back to the point, in terms of effects I've implemented services to keep track of and render lists of particles and "clouds" of vapour. The latter are the translucent circles you see used to render rocket exhaust, and some of the explosion effects.
In fact I just use one service for both and swap in a different renderer for particles or vapours in each service instance, since both behave substantially the same.
Since we're throwing around hundreds or thousands of particles/vapours at a time, and, well, a lot of particles throughout the duration of a single game, and we want to avoid much garbage collection to keep the frame rate steady[1], I implemented an object pool so we're not constantly creating loads of garbage.
Particle types are defined declaratively: colour stops (including transparency), duration, expansion rate for vapours. Instances of particles also have properties like position and velocity.
Explosions are also defined declaratively with an arbitrary number of stops/events at timed intervals which define number and type of particles spawned, angular range through which they should be spawned, initial spread, velocity spread, any sound effect(s) to be played at each stop.
There's a service that manages explosions that you tell call with something like:
This will create an explosion of type "playerExplosion" at the player's position and apply the player's velocity as a drift to all particles and vapours created.
So once I've defined my explosion types it's easy to use them in a variety of different scenarios throughout the game without cluttering the logic too much. The services take care of rendering and particle management so these days I don't have to worry about it too much.
Hopefully that goes some way to answering your question but if you'd like to know anything else, please shout.
[1] GC screwing the frame rate is a genuine issue I ran into with this, particularly on mobile devices.
I can never get into games but within 2 seconds I was super into this game. I used to play asteroids as a kid, the version that came with Windows, but yours is way more intense.
That's great to hear - thanks. I've not played the Windows version but if this is it - https://www.youtube.com/watch?v=ym7dohuXRd8 - I think it's meant to be a pretty faithful port of the 1979 original.
Meta: This thread is fun to read, it's cool to skim through such a large variety of ideas and projects. I wouldn't mind seeing it as a monthly thing like the "Who is hiring?" posts. There'd probably be some overlap with Show HN, but I personally wouldn't mind if it's just once a month.
I was going to write a snarky comment like: "This is what, Show HN is for..."
But then I realised this thread is different. This is for projects that are In Development, and people are more likely to post things that aren't finished, so I think that's a great idea!
lobste.rs does “What are you doing this week[end]?” posts every week or weekend, which are nice for that smaller community. I think once a month would be perfect for a community the size of HN.
I am developing a modern wikipedia interface - a Vuejs powered modern, single page, progressive, offline capable web application for Wikipedia. I have been working on this for last several months and have working version available at https://wikipedia.thottingal.in
It is a fully client side PWA application using wikipedia web apis, installable in desktops and mobiles and use like a native application. It has offline support - With the help of service workers, the application even works when there is no internet, provided, the content is previously viewed. It is a single page application - page does not reload when exploing wiki articles, presenting an immersed reading experience. uIt ses modern UI framwork Vuetify. Adapts to all kind of screen sizes. It presents an optimized reading experience with good typography and optimum page layout. Multilingual by default - All language editions are in single app. Using language selector user can select the language edition.
I wanted to make this as a p2p capable application. Currently it runs on dat protocol as well: dat://25689f3a757853a511474d38f0a6d6be2cd2b0cb161686d75fda5c1619137921(need beaker browser) or wikipedia.hashbase.io
This looks pretty clean! The enhanced readability reminds me of Wikiwand.
If you're looking for a bit of feedback, the search doesn't seem to handle fast typing well. I tried searching for "Frank Chu" and it seems that if I type it really fast, I get either no results or Franks that aren't Frank Chu. If I type slower, Frank Chu shows up.
Log storage and search system for structured logging data in Rust.
i.e a database optimised for logs and log-like data and nothing else.
Existing solutions are too inefficient for the use case of logs (TB+/day), suffer under high field cardinality, are based on costly and unnecessary full-text-search systems that aren't well optimised for logs data or just plain and simply can't handle structured data and degrade to simply storing lines.
Design goals are super efficient/fast, extremely fast distributed regex matching backed by trigram bitmap indices, columnar storage for compression and cardinality reasons.
I have a prototype of the indexer and lowest levels of the query engine and regex syntax to trigram query optimiser. Will be adding the ingress and query frontends hopefully have something to show soon.
I don't know if I am going to go OSS or not but definitely designed to be run on-premise though I could easily run it as a multi-tenant service if people are interested.
I founded my own startup in the past and have been putting off actually doing a real side-project for the last couple of years but could never get away from the itch so this is going to be my swing I think.
If this is something you find interesting hit me up, or if you are just frustrated with ELK for some reason or another let me know what you think sucks and I'll try build something that sucks less at that.
The idea is to shard the data by logical ___domain and by time segment, so that queries only apply to relatively small and efficiently-read data, and to exploit the embarrassingly-parallel nature of the problem.
I'm implementing the segmenting based on time + a sharding key to group together records of the same ___domain on the same shard. By sharing the shard with other domains it prevents having an overly large number of segments per time interval allowing them to be bigger and get better index density.
Which is in important factor in my indexer design which amortizes the cost of the indices over large number of rows.
Storing logs in sqlite is definitely a neat way to go for smaller scale stuff, hope you make something cool out of it.
For me though I have faced this logs problem at very large scale numerous times in my career and have tried all manner of commercial and OSS solutions and have yet to be satisfied so my project is definitely geared to solving the sort of problems you have when everything else just either stops working or costs more to run than your actual app.
Not saying it won't scale down very well. I think my software on a single machine should easily handle atleast 20k+ logs/second (prototype is much faster atm but lots of features need to be added) and be able to serve queries concurrently with that on just a few cores and ~8-16gb/ram for say at 200-400GB dataset.
I think the 3 deployment sizes I will optimize for are single node for demo and benchmark purposes, 3 node for realistic small deployment and 6-10 nodes for high volume logging environments like my $DAY_JOB.
Linear search approaches fall down when you have a lot of data and you only want to select a very small portion of it.
A linear based approach can get you to about 1GB/s or so per core with Rust.
A medium-ish size startup probably logs around 200GB/day of logs if they aren't very tight on their log volume. If you only want to search the last 24 hours that is maybe ok, you can search that in ~10-20 seconds on a single machine.
However this quickly breaks down when a) your log volume is a multiple of this and/or you want to search more than just a few hours.
In which case you need some sort of index.
There are different approaching to indexing logs. The most common is full text search indexing using an engine like Lucene. Elasticsearch (from the ELK stack) and Solr explicitly use Lucene. Splunk uses their own indexing format but I'm pretty sure it's in a similar vein. Papertrail uses Clickhouse which probably means they are using some sort of data skipping indices and lots of linear searching.
Of these approaches Clickhouse is probably the best way to go. It combines fast linear search with distributed storage and data skipping indices that reduce the amount of data you need to scan. (especially if you filter by PRE WHERE clauses).
So why not go with Clickhouse? Clickhouse requires a schema. You can do various things like flatten your nested structured data into KV (not a problem if you are already using a flat system) and have a single column for all keys and the other column for values. This works but doesn't get great compression, makes filtering ineffective for the most part and you now have to operate a distributed database that requires Zookeeper for coordination.
The reason I am choosing to build my own is that logs require unique indexing characteristics. First and foremost the storage system needs to be fully schemaless.
Secondly you need to retain none word characters. The standard Lucene tokenizers in Elastic strip important punctuation that you might want to match on when searching log data.
Field dimensionality can be very high so you need a system that won't buckle with metadata overhead when there are crazy numbers of unique fields, same goes for cardinality.
TLDR: For big users you must have indices in order not to search 20TB of logs for a month. Current indices suck for logs. I write custom index that is hella fast for regex.
I considered that but it's harder than it sounds. Clickhouse s very strongly coupled to the idea of a schema and it also is very coupled to only using indices for data skipping.
If I was to make the changes I want to Clickhouse, i.e schemaless and full indexes per/segment then it wouldn't be Clickhouse anymore.
Honeycomb seems to be more of a general events database, ala Druid.
This is a more specialised system that makes stronger tradeoffs to achieve really high efficiency for logs data. Stuff like indexing a reduced alphabet and not optimising for pivots and other views that are important for generic event databases.
Additionally Honeycomb is a hosted service.
I definitely intend for this to run in your own environment, on your k8s cluster, VMs, bare metal - whatever makes sense for you. If I do run it as a hosted service it will come secondary to the primary on-premise distribution.
Humio looks interesting but it appears to be a linear search approach. This is fine as I commented elsewhere and their numbers match what I was able to achieve with my linear based prototypes.
The reason I rejected this approach is it gets very expensive for large data volumes if you want your queries to remain responsive.
Say you want to search a 100 TB dataset (not as large as it sounds when it comes to log data...). You can do about 1GB/s/core assuming you have the data on local disks that can scan fast enough and each of your machines have 16 cores that is 16GB/s/machine. Lets say your query target time is 60s (pretty slow tbh, incredibly generous I would say).
The math then plays out like this. You can scan 60*16GB for each node in your cluster, i.e 960GB. You need to have that ~TB of data on disks that can read at 16GB/s which means you need it evenly spread across 8-16 very high end SSDs.
On top of that you need 100 of these machines to complete this query in 60 seconds.
Now Humio goes on to say you can store all your persistent data in a cloud bucket. Which is a good strategy and something I am employing too but if you have no indices you actually need to scan it all which means you are limited by how fast you can reasonably fetch the objects across your cluster and hence the speed of your network interfaces.
Say if you are on GCP which has a relatively fast network that seems capable of around 25Gbit to GCS most of the time and you actually get peak performance all the time (pretty unrealistic but ok). Then to fully scan 100TB in 60s you would need over 500 machines. If you are able to use Humios tags to reduce this somewhat say by only searching for errors and that gets you down to 10% of your total logs that would represent a 90% speedup. Humio sort of has quasi indexing in this way similar to Prometheus however they don't help you when what you are looking for isn't tagged to stand out.
This is why indices. Yes - indices are hard, yes they can have bad worst cases if you aren't super careful. However lets consider indices for this query.
Say your logs are syslog + some extra structured data. You have things like application_name, facility, level, etc.
You have 100TB of logs to search, you are looking for logs by your main application which is say 60% of your total log volume, you are looking for DNS resolutions errors that contain a specific string "error resolving".
With my prototype my indices are approximately 5% the size of the ingested data. The raw ingested data is also compressed really highly, lets assume equal to Humio (it's probably higher due to file format but not important).
So the thing that jumps out here is we now only need 5TB of indices on our machines to reasonably find needles in our 100TB of data. Additionally our indices are split by field so if we know we are searching the message field we only need to load those. Indices for columns with low cardinality are extremely small, those for high cardinality much larger but capped due to various log specific optimisations I am able to use. So lets assume the message field makes up the majority of our index, say 80%. That brings us to 4TB of data we need to scan.
Now usually 60s would be super slow for a query for a system with indices like this, usually you would try make sure that 4TB is in RAM and simply blow through it in <1s across a few machines. However for comparisons sake lets say 60s is still our query budget and we don't have completely stupid amounts of RAM.
So we need to be able to scan 4TB/60s ~= 66GB/s which given our previous machine calcs with local storage puts us at ~5 machines.
However we could likely do this with even less CPU assuming our storage is fast enough as unlike an unindexed system like Humio we aren't applying expensive search algorithms to every row, we are simply crunching a ton of bitset operations in this case a metric ton of bitwise AND.
Anyway this is a long rant. The reason why is that many people always say "Can't you just do this fast enough with linear search" and I always have to reply "it depends on how big the haystack is". This quantifies what is too big of a haystack in a reasonable way.
What do you envision by filter pipelines and searches?
The query syntax I was thinking of focuses mostly filtering on and selecting data with regular expressions or equality matching on text and equality and range queries on numbers.
Or something more SQL like, haven't really settled on a query language yet mostly just been working on the indexing and the lower level parts of the query machinery that work with the index.
It's similar in some ways except Loki went all out in abandoning indexing of the log lines themselves, a quote from the homepage:
> It does not index the contents of the logs, but rather a set of labels for each log stream.
This system is different because not only does it index the contents of your log messages it accelerates regex queries which are great for structured messages produced by machines.
Similar to Loki though it does index data by "labels", though not quite in the same way. Instead every field of a log is treated the same (except for time, it's special). Nested structures are flattened by path, i.e '{"message: "a", "structure": {"nest1": "b"}' is flattened to "message" and "structure.nest1". Under the hood it also stores column per type so if you later send a number at the same field you previously sent text it doesn't coerce like Elasticsearch. Instead depending on your query it will either search "structure.nest1"(text) or "structure.nest1"(number), i.e if you use a regex it will infer you are searching the textual version, if you attempt a range query it will infer number as the type.
Loki is definitely an interesting system and looks like it could handle great ingest volume but I don't think it could match my targets for sub-second queries on ~10TB of logs.
Please don't be a jerk in response to someone sharing what they're working on. If people can't share that without being jumped on, this quickly becomes a shitty place for conversation. Probably you didn't mean it that way, but it's difficult to gauge intent on the internet, so the burden is on the commenter to dismabiguate it.
I have used all of the existing solutions that can scale to the workloads I require. None of them are adequate, all have deficiencies either in cost, scalability, ergonomics or operability.
If you read the rest of my comments here it should be clear this is something I have thought about for some time and have a well reasoned architecture and completely different take on how this problem should be approached.
This is not about features, this is about fundamentally changing the storage architecture from layout of the log data itself, to the indices to the query engine, even the distributed system model.
Most of the ideas are stolen from battle tested systems like Druid which I have worked with extensively and other systems I respect like Pilosa, Ok Log (which was a project in a similar vein).
Have a little optimism, things can be better if we just sit down and make them so.
I bought an old trench coat from a thrift store and outfitted it with 350 programmable LEDs , an Arduino to control them, and a 24 AA battery bank for a music festival last year, it was a hit. I'm currently working on adding another 150 LEDs, fixing the power system (I burnt out the Arduino after a couple hours), and looking into adding a microphone and learning some sound programming to make the suit change colours to the beat for this year. I always wanted a living technicoloured dreamcoat.
Nice! FYI, you can use those USB phone-charging battery bricks for a nice compact 5V output in those sorts of projects. I think TSA-approved ones run up to 100Wh, and they're easy to recharge.
Most of them will cut power after
a minute of so if you don't draw more than like 100mA of current, but that shouldn't be a problem with 350 LEDs. It'll save your Arduino's voltage regulator some grief, too :)
Ah that's a great idea for the Arduino itself! My board burnt out because my independant battery source for the board didn't work out so I wired it in parallel with my batteries (3x8 AA batteries in series put through a voltage adjuster). I'll be buying one!
Working on simeville, a little 2D Canvas demo that builds a town. You can try it yourself here: https://simonsarris.github.io/simeville/ (pardon the graphics, they're stand-ins right now)
Click to make buildings (above the tree line only right now) and click and drag the sun down to go to night. Drag the moon to return to day.
The point is to replace the background town that's currently on https://simonsarris.com (which is animated purely by CSS right now, including the birds) with a much more interactive and playful one. (the current site background gives you an idea of what will be built and why it currently only works behind the tree line). The time consuming part right now is making pretty graphics. I had begun with buildings made from Canvas drawing code, with procedural params and all that, but I'm switching to images because it will be much prettier in the long run.
Looking good: I should have read your comment in full before I tried it because I was sitting here wondering why I could only create buildings in the sky. Neat idea though, and it'll be awesome when it looks as good as the picture you have on your website at the moment.
Cool, would like to check it out, but doesn't seem to work on neither Firefox nor Safari:
"TypeError: document.getElementById(...) is null" on line 58 in main.js
It's been out for about 1.2 years now and we're really starting to nail some important features.
JUST about to post a new release now.
COVID19 is having us pivot a bit in that we're going to experiment with collaborative group reading in the hopes that students can work more efficiently with their colleagues without having to leave home.
The core idea is to have a fully-integrated reading platform sort of like an integrated development environment but for non-fiction material (textbooks, research papers, documentation, plus web content).
Right now we support PDF and web content but are actively working on EPUB and improved reading of web content.
The key functionality is built around annotating your documents and taking notes and building flashcards so you can maintain a personal knowledge repository.
It's also Open Source and supports cloud sync. We have a mobile webapp now and working on porting it over to Android soon.
Love the github-style activity tracker. It seems like such a small thing, but it's been a huge help in keeping myself in the habit of making regular progress.
It's a useful tool for DBA to identify issues in SQL queries automatically.
Only 50 rules for now, but more than 1000 described in backlog :)
Funny, but initially this tool aimed at developers' needs.
I've made a lot of microservices, which only started the database queries. I came up with the idea of making a tool that would automatically generate all the microservices based on SQL queries. The MVP of such a tool was implemented, which reduced the developer workload by at least a quarter. In this tool, it was required to write queries in a certain way that did not make it universal and did not give a connection with the database structure.
The next step was to create a system that relies on the text description of the database schema in SQL format (DDL) and automatically understands the types that will return the SQL query. Such a tool can automatically inform the developer about possible errors on the interface between the application and database when changing the structure or the SQL queries themselves.
It can also be built into the CI to provide the automatic code review at the version control system level and prevent the erroneous code from entering the repository.
But the developers did not appreciate all the advantages, as most projects are developed using ORM :(
But at the same time, DBAs expressed interest in implementing a system of the automatic search for bad requests already on the production database.
That looks really cool. Any chance you can share the code? Or share more about what you did? Like what does those micro services look like and what do they do?
Also what you say about type errors makes me think about static typing. Does it relate to that concept?
I too have been diving into writing raw SQL some while ago and I liked it.
Look at this, I've returned the ability to export types :)
In beta now available renderers for flow and ts.
You can see alive how the export results change when you add columns or change constraints.
If there are no foreign keys using JOINs, fields can become nullable, etc.
I made a simple example:
https://holistic.dev/en/playground/5596577a-ad0e-40e6-a05b-e...
Remove -- before ALTER and see how the result of the type export will change.
Thank you for the feedback!
The service will be put into commercial operation as saas in the coming months.
I do not plan to open the source code, unfortunately.
The idea is that the tool will only work with the sources of SQL queries, and I had to work hard to implement it.
The work consists of several steps
1) get the AST (Abstract Syntax Tree) database schema (DDL).
At this stage, only Postgresql up to version 10 is supported. Soon I will deal with the parser from Postgresql 13. This is not a trivial task. I have to build everything from the source code of Postgresql :)
2) Building a database model.
We parse all DDL-commands one by one and apply changes. For example, apply all ALTER TABLE to the table described above, add user-defined functions to the list of built-in functions, and so on.
It is necessary to have a complete overview of all types of tables, indexes, and each table described in a DDL script.
3) get an AST query (DML) and build a model of the result.
This is the most complex and interesting part :)
The task is to get a list of field names and their types, which will be returned after the query execution.
You need to consider CTE and the list of tables specified in FROM. You need to understand what function will be called and what result will be output. For example, function ROUND is described in three variants, from different arguments and with varying types of result, function ABS - in six variants. I.e., it is required to understand the types of arguments before selecting a suitable one :) In the process, implicit type casting is considered if necessary.
The same is valid for operators. An operator in Postgresql is a separate entity that you can create yourself. Postgresql 11, for example, describes 788 operators.
Various types of syntax are taken into account, for example - SELECT , t1., id, public.t2.name, t3.* FROM t1, t2, myschema.t3 - will be parsed correctly.
But even this is not the most challenging thing :) The most exciting thing is to be able to understand two things:
A. whether each of the fields can be NULL or not. It depends on many factors, such as - how the JOIN of the table with the source column is made, whether there is a FOREIGN KEY, what type of JOIN is used, what conditions are described in the ON section, what is written in the WHERE conditions.
B. How many records will return the query described in the NONE, ONE, ONE OR NONE, MANY, MANY OR NONE categories. Again, this is affected by the conditions described in JOIN and WHERE, whether there are aggregation functions, whether there is GROUP BY, whether there are functions that return multiple records.
This function, by the way, is also used in the first step - to get types for VIEW.
This was a brief description of the first part of the service ;).
It can already be a service in itself. It is possible to generate types and all code of microservices, including JSON-schema and tests, based on DLL and DML set.
But as I wrote above, most people prefer to use an ORM such as Django or RoR. :(
For this reason, I've removed this functionality from a playground and will take it to a separate project when I get my hands on it. It will also include various tools, such as - information about all possible exceptions that may be thrown by request, automatic creation of migrations to CI if your DDL files are in the repository, whether there are unused indexes or fields and many other exciting things :)
And the second part of the service that I plan to promote in the first place is a tool to search for bugs, architectural, and performance problems automatically. The target audience here is DBA, who have to deal with forgeries RoR-developers and their colleagues :)
This part is entirely based on all information obtained in the previous stages.
Part of the errors can be understood by AST (linter principle), but the most interesting rules are based on knowledge about types, understanding of NULL/ IS NOT NULL, and the number of returned records.
There are more than a thousand such rules, but I suppose there will be about 5000 of them in the next couple of years :)
Also described are about 200 rules that can lead to runtime errors, but they are not needed by DBA, because their job is to find problems in valid queries :) There will be more than 1000 such rules as well since Postgresql describes more than 1700 runtime errors.
And yes, this is all about Postgresql.
After I start commercially using Postgresql, I plan to do the same for Mysql and then perhaps for Clickhouse if there are no special offers of cooperation :)
This is actually something I thought of doing, but you actually did it. It would be amazing if you can find a way to open-source at least part of it.
But my application was to be able to use raw SQL queries instead of an ORM in an application. By statically analyzing the SQL queries, then you can, in a statically typed language, automatically type-check the parameters to and results of the queries.
Combining that and an IDE like the Jetbrains ones, which provide intelligent SQL autocompletion/refactoring, then tbh., I think it would beat an ORM in terms of ergonomics. Some people like LINQ or various Haskell/Scala ORMs because they are type-safe. This would be totally natural to those who know SQL without the downsides of being totally unanalyzed and type-checked.
It would be like the clojure library called hugs, but with static type-checking.
Look at this, I've returned the ability to export types :)
In beta now available renderers for flow and ts.
You can see alive how the export results change when you add columns or change constraints.
If there are no foreign keys using JOINs, fields can become nullable, etc.
I made a simple example:
https://holistic.dev/en/playground/5596577a-ad0e-40e6-a05b-e...
Remove -- before ALTER and see how the result of the type export will change.
But custdev showed that companies do not care about it.
They are ready to take Django/RoR/Laravel developers who know only ORM. Such developers are cheaper, they are easier to hire.
Some people also think that it's faster to develop this way :)
They prefer to start dealing with problems after they get on production DB.
They shift developer problems to DBA. There is research saying that the price of fixing a bug in production is on average 400 times the price of fixing it at the development stage.
Ok, the boss call the shots :) I had to make a pivot to DBA needs.
It was a bit upsetting at first, but then I realized that it was even simpler. You need to do a lot more tools for developers to make them feel comfortable.
A few words about open source.
At first, I used this AST parser for PostgreSQL
https://github.com/lfittl/libpg_query
But it's frozen on Postgresql 10. And we don't know if there'll be any updates.
No official AST parser for MySQL.
There's a hard way to get a bison/ANTLR grammar parser.
The only problem is that the grammar for these parsers was written by hand and is not related to the official MySQL repository.
For example, the vitess parser does not support the syntax of MySQL 8.0, and MySQL 5.7 does not support more than 40%.
There is also such a tool https://www.jooq.org/.
It supports some of its own generalized SQL syntax, which does not take into account the specifics of different databases.
Anyway, all hard work starts after you have the right AST parser in your hands. And if you don't spend all your time on it, it will be difficult for you to do something really interesting :(
PS: I removed the types exporting tool from the site a few days ago, along with texts explaining all the advantages of this tool to the developers :)
In a couple of weeks, I will transfer it to a separate ___domain, as a separate project.
Thank you for the write-up that was super interesting. If you don’t mind I have a question about the microservices. What is theit goal? Serving the data from the database? If not, then there is business logic you can’t Possibly generate, so what exactly do you generate?
Does your roadmap include directly detecting against pg_stat_statements? Most of these tools go against the stats tables in the database directly ('SQL Doctor' from Idera comes to mind, that product is very solid)
Yes, absolutely. You can check requests from pg_stat_statements, slow query log, and any other source as you wish. If the SQL repository stores query in separate files, you can check these queries (e.g., before they are merged into the master).
It is crucial that you add the actual database schema (DDL) before checking.
This functionality will appear soon (client cabinet, API).
Please note that analysis is performed using static methods only! No connection to the database is required.
In particular, statistics and other environmental parameters that may affect the query performance are not taken into the analysis. I would like to be able to enrich the data obtained by static methods with data from the database production, but at the moment, this is a very far-reaching plan.
The tool will make recommendations that are necessary, but not enough.
The actual database parameters affect the real query plan. There are a lot of such settings, and the impact changes over time.
Keeping an eye on these parameters and adjust them - there is a significant layer of work that is not a priority at this stage. Excellent tools have already been made for this purpose, such as postgres.ai.
DBA work is divided into two parts - to monitor the quality of queries and database schema and configure the parameters of production servers.
My tool covers the needs of the first part and does not cover the second part.
I talked to product owners of companies producing products or services related to the second part, and they agreed to integrate our products when I come ready.
Bookmarked. I like your Tkinter code, a lot cleaner than my typical mess. One suggestion: Add a PDF of your schematic for those of us who don't have the full tools installed.
Thank you! This is the first time I've written a GUI. It was clear to me from reading a lot of examples online that you can get lost in the weeds really quickly if you don't have some sort of system for organizing everything. There are just so many variables needed, and the program flow is so much less linear than what I'm used to.
Yeah, I've been meaning to add a PDF sch for a while. Just gotten swamped setting up a home office in the last week. I'll try and post one up today!
Working on a major refactor of my elixir FFI interface for the Zig programming language. Lets you write zig inline in elixir, and takes care of all of the fiddly bits around setting up a nif correctly, in such a way that you can't mess it up.
By the end of the refactor, an additional setting will be included that makes the beam vm "garbage collect" your zig for you, that is, you can lazily allocate memory in your nif, and it will be cleaned up for you afterwards. This is a major first step in making "safe nifs" which are OTP-supervised OS threads with, at least, memory resource recovery performed by a BEAM process if the thread happens to crash.
Also, why use zig over rust? because zig is aggresively unopinionated about its memory allocation, so Zigler makes it easy to use the internal BEAM allocator, which 1) lets the BEAM be aware of allocations that are happening for observability and telemetry purposes, 2) lets your memory allocations play nice with the BEAM's fragmentation preferences and 3) leads to potentiallly better performance as you can make fewer trips to the kernel for allocations.
-Healthcare (shelter in place info, testing like Verily Baseline, etc)
This info is currently scattered across the Internet and we're aggregating it in one place. It's hosted on Github using markdown so anyone with spare time can be a massive help (https://github.com/coronawhatnow/coronawhatnow.com).
I wrote an automated tool to check TP inventory on Walmart.com and alert when inventory become available, I've been thinking on building an app for that but would need some help.
https://host.io - an API to get ___domain name metadata (scraped web content, backlinks, redirects, dns data, ranking information and more). See https://host.io/google.com for an example.
We've been building out the infrastructure for a while (scrape all domains monthly, resolve all domains, progress the data etc), but have only recently launched the API (see htttps://host.io/docs).
We'll soon be releasing a Top 10M Ranked Domain list, like the Alexa top 1M, but 10M, and based on our own ranking signals, instead of traffic data like Alexa.
If you've got any interesting use cases for our data or any feedback I'd love to hear it! [email protected]
> There are 68,258 domains hosted on 216.58.217.36 (AS15169 Google LLC) including google.com. Here's a sample: [...]
You wrote:
> scrape all domains monthly, resolve all domains
what does "all domains" mean? All domains worldwide? Or some sub set?
As mentioned, I think your project sounds interesting — still I'm wondering, how did you verify there's an interest for what you're building? (I'd think/guess there is, just wondering if/how you verified this, or knew beforehand)
Currently the API is priced at $0.01 per call, with $10 of free credit when you signup.
We'll likely add monthly subscriptions in the future perhaps with a recurring monthly free tier, but we don't have them yet.
If you do run out of the free $10 credit and want more time to see if the API is going to be useful for you shoot me an email and I'll be happy to issue more credit.
We're doing the scraping ourselves. Just a single page per ___domain currently (so it's just links on the homepage), but we'll expand to a few pages per ___domain in the future.
We're also doing the ranking ourselves. We bootstrapped it by doing a regression against Alexa and other top 1m lists using a bunch of our own features (like number of backlinks, some content features, some IP address related features etc). We'll be sharing more details around this soon.
Over a thousand comments? My project is gonna be lost in the conversation! But here goes anyway ...
I've been recoding my HTML5 <canvas> library from scratch[1]. Most of the work is done - I'm now onto the fun documentation bit[2].
Something I'm particularly proud of achieving in the recode? Dynamically responsive bendy images in the web browser - with added animation capability![3]
Can scrawl-canvas run in a Web Worker and render to an Offscreen Canvas? You'd lose integration with DOM events for interactivity, but you'd be able to perform image processing in a background thread and not block the main renderer thread so that UI elements are responsive.
The majority of the code runs in the main thread; filters use a web worker. OffscreenCanvas currently has less than 70% support (caniuse says), so most of the work is done in regular canvas elements which are created but not added to the DOM, then copied over to the DOM canvas once per RequestAnimationFrame tick
Very research-y, but I am working on a pet idea of mine called "compact models" in Machine Learning. Essentially you take a model - say a decision tree of depth 20 - and "compact" it to a decision tree of size 10, without losing accuracy. The motivation is "interpretability": models are interpretable by humans if they are small. Another application would be low memory footprint models - but frankly, I haven't thought of this use case much. I have had some success with producing a model agnostic algorithm [1] (i.e. works for any model with some notion of size e.g. decision trees with size being the depth, linear models with size being the number of non-zero terms) - now I am exploring options to speed up the compaction process. The quarantine has given me some time to think about this.
You might be interested in pruning neural networks. Some networks can be reduced in size by over 90% without performance loss. The lottery ticket hypothesis paper is good place to start, if you don’t already know about it of course.
I am! And the lottery ticket (LT) hypothesis is something I have thought about quite a bit. I believe the LT hypothesis and our work are related in a subtle way: in the former we build out the larger structure first and then prune, while in our approach we conservatively construct the "winning lottery" so to speak.
Another difference with the LT hypothesis is that the pruning there is very specific to neural networks.
Pruning in general is about trimming larger structures down. This is nice for using a network, but indeed doesn’t help with training it.
Lottery tickets on the other hand are configurations of weights that rival the full network in performance when both are trained from scratch, with the ticket having far fewer parameters to optimize. Pruning is only the method to find the tickets for now, but the ideal would be to have a weight init strategy that can create winning tickets in one-shot. There is work being done on this front, and also to see if winning tickets for one image classification task generalize to image classification as a whole. This would do a lot to reduce the size of networks from the start, and so far results are promising.
But yes, this is all very specific to neural networks. Do you have a blog or other place where you post about some of the things you’re working on? It would be nice to read about.
I haven't had time to write a blog post about this. The paper linked to in the first comment - which is [1] - present the first cut of our ideas. We have made two additional extensions beyond that, we will be submitting them to journals soon.
I am yet to release code publicly but that would take a couple of months, given the papers are my priority now - downsides of working on a PhD while having a day job :-|
To be clear I am not claiming that compact models are related to the LT hypothesis, just that I think they are and this, of course, needs to be rigorously established. For a while I would be spending time on the compact model arc (my primary interest), till I can get to investigating its connections with the LT hypothesis. In fact [1] doesn't talk about the LT hypothesis at all, instead focusing solely on compacting models in a model-agnostic manner.
I wrote this tool (started on Thursday) called Doodle that is designed to give kids a quick drawing canvas. It's a super simple app that I made for my son who kept drawing over all of my Apple notes. You can draw, then press the button in the top right to quickly erase your drawing (Like an Etch A Sketch).
Someone nerd-sniped me and I added in the ability to record a video as well. Technically, you could use it to do quick 5-10 minute drawing/narrated lessons and export them for educational purposes.
Unfortunalty, the only reason I was able to make this work in a day is that it uses two proprietary Apple libraries.
PencilKit — which provides all of the UI for drawing and selecting drawing tools.
ReplayKit - which is designed for games but, I'm using it to just record the whole screen.
There is really not that much code outside of just calling into those frameworks which is what allowed me to make this in such a short time. If these types of libraries exist on Android, I could probably create something, but I'm not super familiar with Android's library ecosystem.
There is a child/lock mode, need to triple click home button (you may need to enable it), however the problem remains if the app has extra buttons that little ones love pressing.
Yeah — That is called guided access mode. I use an Apple API that requires you to double gesture to bring up any menus or leave the app. This has actually proved sufficient for keeping my kid kid in bounds. You can always 4-finger pinch and leave my app though.
I'm building a new twin ad-hoc encoding format to replace JSON and friends [1].
It has native support for all commonly used data types, so you don't need to artificially specify custom encodings just to get your data across.
It's a twin text / binary format, where the text format can be transparently converted to the binary format, and vice versa. This means that you can use the binary format for storage and communication, and only convert to/from the text format when humans get involved.
I'm currently building a reference implementation in go [2], which is now running faster than the JSON codec in my experimental branch [3].
I got a really old and broken inflatable dinghy off Craigslist about 2 months ago for $30, and am rebuilding/restoring it. Right now, I'm about 16 individual Hypalon patches and 2/3 a quart of internal sealant in, with one tube finally sealed and the other most of the way. Once that's done (in an garage test, anyway), I'll bring it to a local stream to if it floats. If it does, moving on to building a floor out of plywood and putting together an electric trolling motor setup.
I'm dubious it'll ever be actually seaworthy, but I'm picking up all sorts of little skills and experiences along the way, like troubleshooting a Halkey-Roberts valve this morning that only partially sealed.
That's really exciting! Marine projects can be a lot of fun. The feeling of being out on the water on a craft that you built/repaired yourself is really great, and makes all the hard work worth it.
What size/model is the boat? Depending on your interests, you could even explore a more powerful electric motor and try to get it up on plane. There are lots of people out there building powerful DIY electric drivetrains (eg. https://efoil.builders/ for e-foils). Have fun!
I believe it's an ~8' ft. long RIS/Sportnautik from Croatia (have had some trouble finding any more specific information than that, at least through site pages I can use Google Translate on). That's really neat about the e-foil site- I'll definitely have to look more into that, I'm sure it could be a really interesting addition if/when I get this up and running! I know trying to put together a corrosion-resistant drivetrain assembly would be a fun challenge.
Ah, cool. Most of the people on that site are doing sealed underwater pod motors (much like a trolling motor) and even though those projects are all hydrofoils, a lot of the same advice for waterproofing brushless motors applies for a conventional boat.
I've been building a browser extension called Curb Your Consumerism that detects when you're on a checkout page for a website and redirects you to a screen that shows you how long you had to work to earn the purchase you're about to make. The idea is to get people to more consciously consume and in general reduce their consumption.
It's currently working, but I've stalled a bit because I'm not sure of the best way to promote it. ProductHunt is probably a good first step, but other suggestions welcome.
I want to thank you for making a Firefox extension. As a fellow WebExtension developer, I'm shocked to see how many extension "product" teams just skip adding a version for Firefox, when most of the code is the same (due to the shared standard.)
I'm building what I hope is an educational and entertainment project for when my son is older. It's a cross between Dynamicland[1] and Osmo[2], that combines a projector, camera, and computer vision to hopefully bring programming and creativity out of the monitor and into a semi-real world. I'm just designing the system now and I posted on reddit[3] to ask the machine learning community for advice. I'm also reaching out to computer vision engineers to offer to pay them for a few hours of their time via Zoom to get advice. Some examples of similar systems are [4] and [5].
The last few weeks have been spent on a pretty obscure project, that's finally kinda sorta ready to show to the world.
We were making silly games in Visual Basic 6, because that struck us as a cool thing to do. However, it's hard to show them to your friends, when they all use macOS or Linux. Plus, we didn't want them to miss out on the nostalgic feeling of booting up Windows 98. So, after a lot of blood/sweat/tears and a physical copy of the MS Windows 95 Resource Kit book, we finally can ±roughly automatically install a Windows 98SE machine in QEMU, load it with our games and some settings, and then upload it to S3 to be "played" with copy.sh's v86 engine.
I'm using ImTui [0] which is a small ncurses + Dear ImGui wrapper that I wrote recently. The project in the video [1] is an attempt to showcase the capabilities of the library + I find it useful for creating various WTF dashboards [2].
I love everything about this. Now TBH I don’t think I’ll ever use it as I’m heading towards web UIs so my wife can use washy I’m creating. But it’s super cool!
A Minecraft server in Rust [1]. The hope is to make it obscenely parallel with actor-like design (Minecraft chunks are nearly perfect for this). The real challenge so far has been the complete and utter mess that is the MC protocol; there's two different forms of UTF8 in the damn thing and there's NBT and JSON (which achieve the same thing). NBT itself has 2 ways to encode i32 and i64 arrays. So I haven't reached the bit where I play with parallelism yet.
Pretty nice and rewarding once you can first join your own server :-) Can confirm that the protocol is a mess. Also expect it to change massively between major versions, including new data types or shuffled packet ids. I've created a parser for Python and is was too much work to continue supporting beyond 1.8. Code is at https://github.com/dividuum/fastmc
I would guess one part where parallelism might help is interleaving of packet parsing and (de)compression if they exceed the compression threshold.
I'm working on https://topstonks.com - We're covering the speculative culture of investing coming from Reddit's WallstreetBets and 4chan.
I'm also considering buying a sewing machine and making masks for my local community. Shoot me a message if you'd be interested in branded (cloth) masks for your startup. This would help subsidize the cost. Still feeling the idea out.
I'm working on bot implementation for my latest game[1]. I only ever made bots for my first game[2] but it was a breeze then. Now I needed to setup waypoints, pathfinding algorithms and some funky chasing logic but frankly I'm loving it. It's amazing how fruitful javascript community is! Libraries like rbush[3] (and really just a lot of different things by mourner) and ngraph.path[4] make things so much easier.
I am working on a Firefox extension for search aggregation. It currently works with DuckDuckGo, Wikipedia, Stack Overflow, Reddit, and others. The idea is that for 80% of my searches I can find the answer on Wikipedia or Stack Overflow, removing the need for a general search engine such as DuckDuckGo or Google, and thus hopefully avoiding blogspam and tracking to some extent. Extraction works through XPath, and I am trying to make it easier to add new engines without looking at the HTML.
Unfortunately, it currently looks terrible, and so far has received one 1-star review, which is not doing much to help my motivation.
Fitness. The prospect of spending months at home with all the gyms closed has made me think now's the time to actually take fitness seriously and train hard at home with bodyweight exercises and calisthenics. Also writing songs too.
One of my many projects is taking the motor from an old battery-powered mower a neighbor gave away using it as a generator and hooking it to the exercise bike and some batteries (actually the batteries from the mower, since they turned out to be fine). Want to watch TV, play a game, etc? Better get pedaling. :)
That's what I've started doing with a few little changes. It's a killer but I'm hoping it'll pay off. It seems to hit the right spots. I've also found the Minus The Gym guy on Youtube useful - I got a dip station a few days ago based on his video showing 15 exercises you can use it for [1].
Wound up running across (har) the FitOn[0] app/website, which is a fitness site with a lot of good videos. They're free to watch, paying for "premium" gets you better music and diet plans.
Not affiliated with them, just very happy with their videos.
* The Reddit bodyweight fitness Recommended Routine (RR) [1]
* Minus the Gym [2]
* Tao Physique [3]
They're all quite similar (which is good). Watching the second made me replace the RR's pulling progression with exercises using a dip station (cost £35 on Amazon), and the third shows a progression for handstand pressups and glutes.
Also, I switched the order of the RR exercises to be more like supersets based on the advice of the second link, so instead of doing pairs of exercises with rests in between each, I now do 8 types of exercise with a rest at the end before doing another 3 sets (so 4 sets in total). That seems a better use of time. This is the order of progressions I'll try in my next workout:
1. Press ups
2. Squats
3. Rows
4. Core
5. Dips
6. Glutes
7. Handstand pressups
8. Pull ups
Anyway the Reddit crowd know way more than I do so I'd definitely check that out.
There’s a video from athlean x “the perfect home workout” [0], which I tried a couple of times now. I didn’t expect me to be that sore even after months of regular gym.
That's been slated on Reddit [1] (for whatever that's worth). From my research on strength training, for muscle gain you need to be doing 6-12 reps for a muscle group then letting it rest before doing another few sets. The Athleanx workout seems more like circuit training. I'd imagine it's better for cardio (but I'm certainly no expert).
FitnessFaq (very good form and structure)
Calisthenicmovement (same as above. Only downside is that their 'beginner` routines are more like intermediate)
If you are looking to mobility I would recommend Tom Merric
I am still working on my business which was started during the GFC back in 2008.
My business isn't important, but what is important is what you do over the next coming months.
During the GFC, I was a contract programmer and was let go in November. In Australia I figured nobody was going to hire in December, January is basically a write off, and could possibly find work in February.
Now I had 3 months up my sleeve. I could either lay down the foundations to my side project, or slack off, play video games, and watch videos all day.
So I worked hard on my side project which was making no money, and eventually it grew legs a year later when I was in a position to work on it full time, and have been ever since.
Now, what are you going to do with your current spare time?
Nothing you do will make money instantly, but you could be planting those seeds, and maybe your tree might grow into something big.
Man, I should be working on something I can actually put somewhere, but I just don't have the energy for it after work these days.
Instead, I assembled a modest new desktop and put Arch Linux on it. It's been _years_ since I used Linux (even more since I assembled a computer instead of just buying one from Apple) and it's really been a lot of fun. I've gone totally all-in-crazy with it to. I use this obscure tiling window manager called Sway, and built the whole machine into a tiny little small-form-factor case. It's been a LOT of fun and I've learned a hell of a lot.
My only issue is cooling this little bugger. I've got a fan in there now that _just_ fits, but it creates a crazy amount of turbulence noise if I put the side panel on. I've given up on air cooling and ordered a water all-in-one cooler instead. We'll see how that goes. But either way, it's a blast to try all this stuff out.
Once I get everything perfect with this new rig... I'll go back to trying to get comfortable with Rust. :D
It's a pay-for-what-you-use service (no monthly fees) and I'd like to focus on open source and indie games. It features a live web-based server console, web-based ftp access, and real-time progress indicators as the server starts up.
It's been in development for the last 5+ years but I've used the last couple of weeks to finally get it to a point where people can start using it.
At this point I'm just looking for a few interested people to try out what I've built and get some feedback.
The infrastructure used to be entirely on Linode but I migrated everything over to AWS last year, and it's been a huge benefit. It greatly simplified everything and I got rid of huge swaths of code, which is immensely satisfying. :D
The game servers are run in Docker containers with a Node.js based api server for communication with the website.
I'm currently working on adding some more games to the library and learning about marketing.
I'm preparing a synchronous queue for the browsers. It's a queue that allows to send byte arrays between threads (workers) and it is based on SharedArrayBuffer and Atomics (subject to availability, currently works fine in Chrome, Firefox needs some reconfiguration). Early experiments show that it gives a 3-4x speedup comparing to using postMessage/onmessage. It also allows to synchronize some inherently asynchronous APIs, which is at times useful, especially when compiling C code to WebAssembly, as it often would have expectations of synchronous syscalls or other APIs.
There are still a few issues there I'd like to address before I publish it. Feel free to follow me on twitter (@yrashk) if you're interested, I'll announce it there.
I'm working on a self-hosted app to track family history and stories. I've got photos going back to the 20s and my dad seems to have so many stories I want to capture around them. I also had an uncle pass recently and finding photos of him for the services was so manual. I'd love to have some photo-tagging of sorts. Perhaps allow family to upload their stash of photos.
It's also giving me a fun chance to dive deeper into ASP.NET Core/React/TypeScript, something I work with professionally, but just haven't had the time to fiddle.
Oh, that's pretty cool! I remember trying to hack Path/Pure path to support compressed files (at least to some extent), but got stuck because of some closed slots.
I'm working on PhotoStructure. After 20 years of taking photos and videos, and suffering through numerous cloud-based photo startups that end up folding in a year or two, multiple crashed servers, and having my smartphone camera feed the adtech beast, I decided I needed something that:
* ran on hardware that I owned (or rented in the cloud)
* had robust de-duplication [1]
* didn't require expensive or proprietary hardware
* ran cross-platform, so libraries can be created, updated, and used on different computers [2]
* uses a web-based UI, so I can see and share my library from any mobile or desktop browser
I'm giving access to the beta in exchange for feedback. I will release another batch of invites when the next release goes live. I've been releasing about every month, but this last version got a case of featuritis[3] and has taken a while to stabilize. If you signed up recently, expect an email next week; sorry for the delay!
One of my main side interests is hobbyist game engine programming. I do enjoy playing games, but I don't work on programming engines because I'm trying to publish one. Instead, I find that engine development is a supremely fertile ground for learning about many, many different programming domains (with the benefit of being very close to the hardware). Just a few examples -- concurrency/multithreading/async, including streaming file IO; human-machine interaction (controllers/keyboards but also GUI); audio programming; optimization; graph algorithms (pathfinding and more); AI; data-driven programming; computational geometry (collision detection and more); linear algebra (often via rendering but other areas as well); networking; I could really keep going but I won't. If you're at all interested in low-level, algorithmic heavy software dev, hacking on a game engine is a great way to play with it.
I'm switching gears now to working on a roguelike engine, as the term is supposed to be used. Meaning, games like Rogue itself, but also Nethack, ADOM, Angband, etc, rather than games like Spelunky. I'm excited about this because roguelikes make up for their extremely simple graphics by tending to have extraordinarily complicated systems. Of particular interest to me are procedural map generation (tons of interesting algorithmic possibilities here) and monster AI.
Besides, building a 3D renderer is not something that particularly interests me currently, so skipping that and just using sprite sheets made to look like ASCII chars is perfect.
How do you manage to test your engine? I have an interest and working on emulation and for me it is to just run the existing firmware etc and improve.
Do you create complex scenes or demos to test your engines to the limit? Don't you actually have to create a game to test your engine? For this do you port an existing open source game to your engine?
The idea that we throw away a lot of the signal we generate while doing things online and this can be put to good use for ourselves.
As it is right now, Histre aids the casual online research we all do (ie the explore -> filter -> decide loop). For example, it removes friction in taking notes on links you're looking at, with free-form tags that you don't have to create first and other such niceties that add up. And it easy to group notes into notebooks and share with teams. In short, when you have to look at a bunch of links for something (decide on AirBnB, people to hire, material for your next blog post, etc) Histre makes your life easier. But this is just the starting point for what Histre intends to do.
IMHO the biggest problem with apps like Evernote, Notion, Pocket etc is that it becomes digital hoarding, and not a knowledge base. And the knowledge base focused apps out there involve a lot of manual upkeep, which almost never happens, especially at work. Things start out okay and quickly fall into disrepair. I'm differentiating from the other note taking apps by automatically putting together a knowledge base (grouped by topic etc). Automatic Upkeep (WIP): Histre detects links/notes related to your existing notebooks and offers to update those notebooks with the new links and notes. This is similar to how Google Photos suggests new photos for your existing albums. This solves the upkeep problem. Currently people create knowledge bases with good intentions and it becomes stale and useless quite fast.
Exports: I'm working on org-mode exports, as I'm an Emacs user myself. Other export formats coming soon.
There is Hacker News integration that you may want to try. It lets you import and optionally share the stories you upvote.
I'm putting some more time into PortableApps.com. I know it'll help people use their laptops for both work and personal stuff while keeping them separate. And I built a portable package of Folding@home which they're reviewing for release to hopefully get more folks helping attack COVID-19.
Made a collaborative "corona stock" spreadsheet[1].
Now feel like a great opportunity to buy some "cheaper" stocks that could make great returns in the future. Also helps to have better perspective of my "limited" vision of the market.
Also, seeing people add and edit each other's comments and insights in this doc gave me an idea for a fintech app: basically a social app that would let people put forward their personal cases for why you should buy or sell a particular stock at any given point.
Working on a simple journaling app (web & mobile) that I initially made for myself. Super minimal but it works and it fills my own need.
I was thinking I'd start charging for it when it has more features (hashtags, search, pictures) but right now you can sign up for free to try it out (ignore the current copy).
[EDIT] since people seem to be visiting the half baked landing page, here's a screenshot of what it looks like inside: https://i.imgur.com/ZkWtgi5.png (sorry this is my actual journal lol)
AGI research. Just now re-reading Minsky's Society of Mind, and reading Goertzel's Engineering General Intelligence - Volume 1, and trying to integrate a lot of their ideas with stuff I've been doodling on for some time.
In addition to that, I'm working on some BPM stuff, looking into ways to more tightly integrate AI/ML services with automated BPM processes.
I also need to build a couple of new bookcases for my living room, so I can take all of these books that are stacked on every flat surface in sight, and put them away properly.
Sure, I have a whole pile (literally, see comment above about bookcases) of books on this topic that I have read, or will be reading. I'll compile a list and post it when I'm finished building this bookcase.
OK, here ya go. This list is, for now, just a raw dump of titles and authors. When I have some more time, I'll turn this into a proper blog post with more commentary, sorting / grouping of the titles, links to complementary resources
etc.
One bit of warning... the first half of this list includes everything "AI" related I've read (or am currently reading) for about the past two years. I say "AI" and not "AGI" because I haven't always bothered to make the distinction. So some of this stuff may not be relevant to you.
FYI, this list (especially the first half) is a heterogeneous lot that varies considerably along the "pop sci" to "academic" axis, as well as the "applied" to "theoretical" axis.
I'm also leaving off (for now anyway) most the "related, but not specifically about AI" stuff, like books on Probability, Bayesian Statistics, Graph Theory, etc., and books that are more about contemporary "Machine Learning" and "Deep Learning" topics. I do believe that there is a connection though, and that DL may play a role in building a truly intelligent system, so when I write the expanded blog post, I'll include more of that stuff.
OK, With no further ado, the "AI stuff I've read recently" list.
0. Blackboard Systems - Robert Engelmore & Tony Morgan
1. The Age of Spiritual Machines - Ray Kurzweil
2. The Emotion Machine - Marvin Minsky
3. The Society of Mind - Marvin Minsky
4. Possible Minds: 25 Ways of Looking at AI - John Brockman (ed)
5. AI Super-Powers: China, Silicon Valley and the New World Order - Kai-Fu Lee (more meta than actually about AI per-se)
6. Artificial Intelligence In Practice - Bernard Marr
7. Architects of Intelligence - Martin Ford
8. Gödel, Escher, Bach - Douglas Hofstadter
9. Superintelligence - Nick Bostrom
10. The Master Algorithm - Pedro Domingos
11. On Intelligence - Jeff Hawkins
12. Unified Theories of Cognition - Alan Newell
13. The AGI Revolution - Ben Goertzel
14. How To Create A Mind - Ray Kurzweil
15. Case-Based Reasoning: A Textbook - Michael M. Richter & Rosina O. Weber
16. The Age of Intelligent Machines - Ray Kurzweil
17. The Singularity is Near - Ray Kurzweil
18. An Introduction to MultiAgent Systems - Michael J. Wooldridge
19. Engineering General Intelligence - Volume 1 - Ben Goertzel
20. Artificial Intelligence: A Modern Approach - Peter Norvig & Stuart Russell
----
Below here is the stuff that is in the "to read" queue. This part tends to run more to textbooks and more academic material and less of the "pop sci" stuff. The choices on this list were inspired by other reading and research I've done, which led me to believe this group of titles includes material that will be useful. YMMV.
21. Cause Effect Pairs in Machine Learning - Isabelle Guyon, Alexander Statnikov, & Berna Bakir Batu (eds)
22. Propositional, Probabilistic, and Evidential Reasoning: Integrating Numerical and Symbolic Approaches - Weiru Liu
23. Human Compatible - Stuart Russell
23. Rebooting AI - Gary Marcus & Ernest Davis
24. Artificial Intelligence - Melanie Mitchell
25. Protocol Analysis - K. Anders Ericsson & Herbert A. Simon
26. The Robot's Dilemma: The Frame Problem in Artificial Intelligence - Zenon W. Pylyshyn
27. Image and Mind - Stephen Michael Kosslyn
28. Elements of Episodic Memory - Endel Tulving
29. Things and Places: How The Mind Connects With The World - Zenon W. Pylyshyn
30. Information Algebras: Generic Structures for Inference - Jurg Kohlas
31. Probabilistic Logics and Probabilistic Networks - Rolf Haenni, Jan-Willem Romeijn, Gregory Wheeler & Jon Williamson
32. Knowledge-Based Systems in Artificial Intelligence - Randall Davis & Douglas B. Lenat
33. Building Large Knowledge-Based Systems - Douglas B. Lenat & R.V. Guha
34. Elements of Information Theory - Thomas M. Cover & Joy A. Thomas
35. The Bayesian Choice - Christian P. Robert
35. Machine Learning for Commonsense Reasoning Processes - Xenia Naidenova
36. Reinforcement Learning and Optimal Control - Dimitri P. Bertsekas
37. An Introduction to Kolmogorov Complexity and Its Applications - Ming Li & Paul Vitanyi
38. The Mechanical Mind: A Philosophical Introduction to Minds, Machines, and Mental Representation - Tim Crane
39. Constraining Cognitive Theories - Zenon W. Pylyshyn
40. Neuro-Dynamic Programming - Dimitri P. Bertsekas & John Tsitsiklis
41. The Language Instinct - Steven Pinker
42. How The Mind Works - Steven Pinker
43. Images and Words - Steven Pinker
44. Words and Rules - Steven Pinker
45. The Blank Slate - Steven Pinker
46. Consciousness Explained - Daniel Dennett
47. How to Build a Brain: A Neural Architecture for Biological Cognition - Chris Eliasmith
68. Scripts, Goals, and Planning - Roger C. Schank & Robert P. Abelson
69. Reasoning About Plans - James F. Allen, Henry A. Kautz, Richard N. Pelavin, & Josh D. Tenenberg
70. Generating Abstraction Hierarchies: An Automated Approach to Reducing Search in Planning - Craig A. Knoblock
71. Representations of Commonsense Knowledge - Ernest Davis
72. Approaches to Knowledge Representation - G.A. Ringland & D.A. Duce
73. Knowledge Representation - John F. Sowa
74. Conceptual Structures: Information Processing in Mind and Machine - John F. Sowa
75. Inside Computer Understanding - Roger C. Schank & Christopher K. Riesbeck
76. Integrating Rules and Connectionism for Robust Commonsense Reasoning - Ron Sun
77. Probabilistic Logic Networks - Ben Goertzel, et al.
78. The Subtlety of Sameness: A Theory and Computer Model of Analogy Making - Robert M. French
79. Analogy Making as Perception - Melanie Mitchell
80. Real World Reasoning - Ben Goertzel, et al.
81. Artificial General Intelligence - Ben Goertzel & Cassio Pennachin
82. The Hidden Pattern: A Patternist Philosophy of Mind - Ben Goertzel
83. Engineering General Intelligence - Volume 2 - Ben Goertzel, Cassio Pennachin, & Nil Geisweiller
84. Computation and Cognition - Zenon W. Pylyshyn
85. Universal Artificial Intelligence - Marcus Hutter
86. The Cambridge Handbook of Computational Psychology - Ron Sun
87. Handbook of Neuroevolution Through Erlang - Gene I. Sher
88. Readings in Cognitive Science: A Perspective from Psychology and Artificial Intelligence - Allan Collins & Edward E. Smith -- this one contains a LOT of seminal papers in the field, including one of the earliest papers on Semantic Networks by Ross Quillian. I actually put this on the wrong part of the list, as I'm about halfway through reading this one, but just remembered it and didn't want to renumber everything. Heh.
Eh, that's a pretty good chunk of the stuff I've got lying around here, waiting to be read. There's a handful of others, but my fingers are getting numb.
I'm working on RISC-V based SoC on a Lattice ECP5 FPGA. The end project is a low cost combination signal generator / oscilloscope for aligning antique radios that I eventually want to sell. But the firmware will be RISC-V based and I think this will be a great example design for others to use for their own projects. I show one way to make an SoC purely in Verilog (no external system-builder tools needed).
Right now the FPGA boots the PicoRV32 SoC example code out of the configuration SPI-flash memory of Lattice's ECP5 evaluation board (I started with the firmware in block-RAM, but now it runs right out of the SPI-flash). I also have interrupts working, and have the gcc header file macros for enabling/disabling interrupts and controlling the PicoRV32 timer. I will soon have much more (SDRAM controller, cache, many other peripherals..).
After noticing that the growing number of people at my day job seemed to be using our internal jargon differently, I decided to write a team glossary using confluence. The experience left me wanting. No crosslinking of terms, no enforcement of structure/format. Ugly/outdated styling.
I thought there had to be a better way, but I couldn't find one so I built Jargonaut (https://www.jargonaut.net). It helps you build a nice, crosslinked list of terms/definitions, and provides simple slack integrations to allow you to pull in a definition into slack.
I have lots of ideas to add more value, but I want to get a feeling from others on whether you would use such a specialized tool instead of your bog standard wiki. Would you consider parting with money for it for your team?
I think it'd be a hard sell to smaller teams, but _maybe_ to organisations that are a bit older or larger and have accumulated a lot of internal cruft. I definitely think it would have been valuable at some of my previous workplaces: at one we had an event log with 12+ different types of transactions and no one in the office could tell me what all 12 meant. I found this out because I was tasked with telling a 3rd party what they meant =/
On a different note - have you consisdered doing some content marketing by making a public jargonaut for common development terms? My little brother is learning to code and he just asked me what the difference between .NET and C# was. I think learning programming is like this x10000 times. I've been daydreaming about making a public Wikipedia-style tech glossary site for at least a year or so. I think it'd be very useful but haven't gotten around to it (in a year so what does that tell you).
Yes, I suspect you are correct, which is my biggest misgiving about pursuing this product too much further. Unfortunately for me, new/small growing teams are my preferred niche!
> maybe_ to organizations that are a bit older or larger and have accumulated a lot of internal cruft
That's an interesting thought. That segment is a harder one to break into for a "solopreneur".
> On a different note - have you considered doing some content marketing by making a public jargonaut for common development terms?
Yes, I have actually. When trying to determine what other "glossary" solutions exists I found that there are quite a number glossaries that people appear to have put together as part of their content marketing play. One of the niches I could see Jargonaut fill is the place to go to publish a public glossary, although I am not sure the monetization angle there (apart from adverts).
One of the companies I interned at had an internal application that lived in the macOS menu bar where you could type in a company or org specific acronym/term and it would give you the human understandable definition. It was neat, but always incomplete.
Thanks for the kind words. The system is still fairly MVP, but works well. I'm putting it out there early to determine appetite for a tool like this as I want to avoid going too deep before getting market validation.
I am building an end-to-end text-to-video product that converts text/blog news into TV-like news using multiple AI techs including GANs, Transformers, variational autoencoders, motion graphics, kubernetes, among other techs.
It has taken me some months, but I have CI/CD in place, some traction in twitter, and subscribed users on our home page.
I have bootstrapped the product so far. I'm the solo dev, designer, and creator.
In Germany there's currently a govt-sponsored hackathon going on, with lots of ideas to help with the Corona crisis https://wirvsvirushackathon.org/ (German only).
It's massive (42k volunteers signed up) and keeps crashing slack, but it's also lots of fun.
I'm working on a PoC that helps with triaging cases and tracks them in an ITSM tool.
It gave me quite some room to work on a new website I've been working on: https://space-search.io
I call it a search engine for space objects. It's a personal initiative with the aim to do something meaningful around space situational awareness and space debris.
The tool aggregates datasets around objects tracked in space and then makes it searchable and visualised with webgl / react overlays.
It's a good learning experience to work on (relatively) high performance web apps with high fps requirements for the webgl interactions while using webworkers for all the heavy lifting around filtering data and interpolating orbit trajectories.
Have you considered rendering the WebGL scene to an Offscreen Canvas in a Web Worker? You lose the ability to process PointerEvents (since Web Workers can't access the DOM), but you can serialize PointerEvent data and send it to the Web Worker via postMessage. That does introduce a bit of latency (~0.5 ms) that might cause some jank since PointerEvents are emitted ~8ms. It's something I'm playing around with.
Wasn’t aware of FreeFlyer yet, most extensive set of visualisations I have seen so far. Some of these I was dreaming about already implementing cool bit scary to see a team who has done so already :)
I am using multiple webworkers for data handling aspects and orbit propagation. haven’t looked into rendering the webgl scene in a webworker yet, what would you say the main advantage is?
I just completed an online adventure game engine that's a little different than what most people are used to. It's more like playing a live escape room than an old point and click game.
I made it so I can create a website of online adventures for people to play from their phone, tablet, or computer. I used to run an escape room business and I'm in the process of converting my closed rooms into online games. I'll be mixing up stories, puzzles, and answers a bit so they don't seem familiar to past players tho.
Thanks for asking, but not really. I have the back-end system done, so now the real work begins, creating the games from the escape room documents I have. I have a tutorial game done, but really want a playable game available before I launch.
I'm finally trying to scratch my own itch and develop something I want (need). I run an auto detailing shop and am desperate for a web app to manage scheduling, quoting, and more. Initially the project was going to be a price comparer for detailing supplies but I decided to pivot. And I know there's other scheduling apps out there but none fit exactly what I needed.
With the whole pandemic going on my business has died off but on the bright side I get more development time.
I'm building an Elixir app called Chimera. What is it? Heck if I know. It's just a bunch of stuff mashed together, hence the name. I just wanna keep busy. If you're fighting your inner perfectionist about creating the perfect side project, you don't need to! Make something beautifully hideous just for you :)
Chimera is currently an HTTPS client, an HTTPS server, and a tool that downloads pricing data from AWS for no particular reason. Why? Because I can!
I'm still in the super early stages of working on a collaborative sketch/whiteboarding web app. The idea is to have a site wherein users can sketch a diagram/write out some notes, with other users able to view in real-time or save and view later a la Google Docs.
Had the idea a few weeks ago, but with most universities converting to online lectures and many businesses working from home it seems like there's a definite niche in the market for it. Most professors (especially non-STEM) are totally oblivious to anything other than death-by-PowerPoint when it comes to online lectures, and most businesses either snap a pic of a messy whiteboard for posterity or re-draw diagrams through software after they've proven to be worth preserving.
I play bluegrass mandolin and I'm working on https://fretboard.cool to better understand scale and chords patterns across the neck. Guitar and ukulele are also supported. Very few chord and scale types are supported right now, but I plan to add more when I figure out how to integrate them without complicating the interface too much.
This is great! Music theory is something I’ve wanted to learn, but have had a hard time finding the time/ resources that work with my brain. And I’ve been working on guitar, ukulele, and mandolin over this time of housebound-ness. I’ve learned a ton in just the last ten minutes playing with this. Like, honestly, barre chords have never made sense to me, and they just clicked with this. Still lots of practicing to do on my end, but this is great.
I play mandolin, but come from playing the cello: so chords are less familiar to me than scale based melodies. This looks really useful, thanks for sharing!
This is awesome! I play dobro, checking out the open D / open G guitar section. G6 / A6 / D6 tuning would be nice to have as well.
I am planning on learning pedal steel and also play 8 string dobro. I think this would be a huge asset for doing that. How hard is it to add a new "neck" and generate scales on it? I assume given a string tuning you just walk up the neck creating the next note for the scale as you go, right?
I also write software during the day, so let me know if I can help out :D
Also, the open G is not as I would expect, but I think the DGDGBD tuning is what people expect on guitar. Dobro uses GBDGBD tuning for open G, DADF#AD open D, 8 string dobro is GBDEGBDE. Would love to see those as well! Sorting out scales on an 8-string dobro is a brain melter, even worse for a pedal steel...
Thanks! I'll look up those other guitar tunings and add them. It's pretty trivial to add new ones--like you guessed, I walk up each string and find the notes of the scale or chord. I forgot to mention this in the original post, but the project is actually open-source [1] (it's on the about page but probably should have noted it). Feel free to submit pull requests or file issues. The code is pretty much create-react-app + typescript.
>Also, the open G is not as I would expect, but I think the DGDGBD tuning is what people expect on guitar.
You mean it's not what you'd expect for dobro, right? I haven't really played guitar in years, but I think that's right for guitar. I'll add a dobro section now, I just need to find the actual octaves for the notes in the tunings you list. Adding new tunings is just a simple-change [2] (though I may need to adjust mobile layout for more than six strings). I can add pedal steel, too. I wanted to add banjo, as well, but need to figure out that fifth string.
Yeah, I just meant "not what I expect" because I play primarily dobro now which uses GBDGBD. The tuning on the website is the correct open G tuning for guitar.
Awesome, i'll check out the github repo and add a PR if I think of something to add! Thanks for adding those! I'll keep an eye on the site.
For dobro open G, an octave is four strings up or down. IE, if i'm play an A on the 1st (highest tuned) string at the 7th fret, another A can be found at the 7th fret of the 4th string.
Between strings, the steps between the strings varies so it's harder to have a single rule there.
Cool, just added six-string dobro open D and open G (right now calling it "standard" because that's most common in bluegrass and I seem to have a bug that every instrument right now needs a tuning called "standard" but can't find it).
Nice! I was shooting for something that works better on a phone, but I really like how you tie chords to the scale. I'd like to do something like that, too, but in bluegrass, out-of-key chords like II and bVII are really important, too, and not sure how to make that work.
I also decided to show all the chord notes across the fretboard, rather than specific playable chord shapes. Both approaches are useful for different goals, but I wanted something that's more about leaning the fretboard than individual chords.
I'm on a self-imposed sabbatical i.e. graduate school so I'm able to do quick context switching between the following things (no specific orders):
1. FINALLY, reading, chewing and digesting LISP. I can see the 'magical' prowess in it- but still not fully there.
2. Formalizing and standardizing an algorithm for one-shot learning using 'old-school' machine learning techniques that is freaking light-weight. Performs well on my problem set i.e. recognizing users from their mouse patterns (with as little as 10 secs of activity). But standardizing it to test it and benchmarking and then hopefully releasing it. Publication implementing the algorithm got rejected though :(
3. Growing highest quality and fresh produce indoors. Covid-19 has impacted some of my personal financial capacity but still doing my best. hexafarms.com
4. Writing essays.
5. A DSL for API testing (with things like API chaining, replay attacks, etc.)- the idea is to stack features slowly and then put a UI on top of it. Something like BurpSuite for those in the cysec space, but for programmers and pointy-haired bosses alike.
Not specific to the quarantine, though I have been spending more time on it due to it: https://inko-lang.org/. It's a programming language I've been working on for the past few years.
In recent months I have been specifically working on making the compiler self-hosting. This has so far taken up more time than anticipated, as I had to rethink a lot of parts of the compiler (e.g. parts of the type system), and I didn't want to rush it.
With that said, progress is slowly improving as I'm making my way through implementing all the type checking rules. Hopefully in a few months the entire compiler is self-hosting.
Investigating what an assembly language would look like for a CPU with unlimited cores. Basically if there was a way to provide a "Cloud Assembly" that would be like an assembly language running on Lambda. Not quite the same thing that fastly is doing with WASM, where WASM runs in the function, but rather something that defines the function. Doubt it goes anywhere.
I'm working on my long-time side project, a general-purpose programming language called Kythera. Inspirations include the compact grammar of Go and the type system of ReasonML. Uniquely, types are first-class and can be treated like any other value - passed as parameters, returned from functions, etc. Besides maybe flexibility, there's no intended practical reason for this, it began as a "what if" when I first began the project and I just kept running with it to challenge myself.
I'd like to target the JVM, so I'm currently in the midst of translating the original JS implementation into Java. This does unfortunately mean that there's not a whole lot to show (the code doesn't even build yet), but if you're curious you're welcome to look through the code [0] or drop a comment if you want to talk about it further!
Works with most of FLIR's camera cores (eg Lepton, Boson and Tau).
I'm also working on a system for detecting animals in aerial images in real time (on drones). I've spent a lot of time trying to automate as much of the hardware setup as possible using a mixture of Ansible and Docker. Currently private pending publication, but the whole platform will be open source (including ML pipeline, camera gimbal models, PCBs etc).
I'm building https://remoteleaf.com so that it helps people land remote jobs during this COVID-19 crisis.
Remote Leaf[1] hand-picks thousands of remote jobs from 40+ remote job boards, 1200+ company career pages, Linkedin, Reddit, Facebook, Hacker News Hiring and only sends the ones that apply to you.
One super minor thing you may want to change that may help clarify things for both companies and employees (mostly companies) :
> Jobs are tailored to your ___location and skills
I live near a metro area and have been asked dozens of times if I'd be cool 'coming in 1-2 days a week' even though the job listing says 'remote'.
I think, for a 100% remote job board, you may consider revising it to something less specific, but specific enough for taxes/residency/cost of living purposes.
> Jobs are tailored to your country and skills
If nothing else it's a pain point for job sites that I rarely see talked about so hopefully you find my reply somewhat useful
I'm working on BentoML, a python framework for ML model serving.
It makes it easy for data scientists to ship their trained machine learning models into prediction services for production use.
Key Features:
- Model packaging and dependency management
- Distribute your model as a docker image, CLI tool, PyPI package
- Adaptive Micro-batching in online API model server - this gives you an average 10-20x increase in throughput/overall performance compared to a regular flask API server implementation
- Model Management for teams
- Automated model deployment to AWS Lambda, AWS SageMaker and more
It is very different than sagemaker SDK - BentoML is a flexible and all-in-one solution for model serving. You package the model once and can easily test it, do batch/offline serving and online API serving. And even if you just package your model with BentoML and deploy it to Sagemaker, you get a 10-20x performance improvement out-of-the-box comparing to doing it with the sagemaker sdk.
I am working on a browser extension called Toxnic that can block out trolling content on Facebook, Twitter, and Youtube. I have been wanting to develop this for quite some time in order to have a troll-free browsing experience when using social media. The extension uses deep learning to filter content that is considered extremely toxic or insulting. The model was trained on a standard toxic content data set by Google (Jigsaw).
https://faizanahmad.tech/toxnic/
The extension code has also been made open source.
I'm creating a Rails/Django equivalent in TypeScript called Huncwot [1]. The project draws inspiration from Self [2] and aims to combine a framework, an editor and infrastructure into a unified programming environment.
In other words, I'm on a quest for the Holy Grail of Programming. ;)
Brilliant concept. I'm not sure the VSCode integration will entice a lot of people (vendor lock-in), but the whole structure and little helpers (like "Data-driven Handler Abstractions") are pretty awesome.
For the last 10+ years, I've been collecting a list of any movie mentioned on reddit or HN as being good or excellent. I also will add the Netflix top 100 DVDs each month (yes, I'm still a DVD Netflix subscriber!). I'll also add all of the academy award nominated movies (although most of those already show up in the Netflix 100).
That list has grown to about 650 movies now (fun fact, Netflix will only let your queue be 500 movies per profile).
They are all stored in my Netflix queue, so I can't share the list.
My first task is figuring out a better way to maintain the list outside of Netflix, and a way to export the Netflix list to the new method, as well as having it auto-import some top films lists automatically.
If anyone has any suggestions on what to use to keep track of the list or any easily importable "top movies" lists, I'd love to hear them!
A book to help programmers move forward in their career by understanding and leveraging at a greater level of mastery how humans and computers interact. I'm about 300 pages in on the first draft, easily past the half-way point, and now all I need to do is push hard to get the initial content on paper. Then comes the hard work of editing/sourcing. (It's all hard work, actually. I have no idea why people go to the trouble to write books. It is an singularly difficult and thankless job for most authors, more of a calling than an occupation.)
I'm doing it in three passes. Stage 1 is writing the book with an emphasis on rigor, sourcing, and having something interesting, unique and valuable to share that people can't find elsewhere. I'm mostly through with that. Stage 2 is making sure people can understand it, that I've explained myself well. Stage 3 will be tone, accessibility, and fun.
So I am starting with very little anecdotal/personal experience, relying on science and industry stuff, then adding more of a personal touch as I go, enough to make it enjoyable.
Hit me up if you'd like to read the first chapter or two, tell me how far along I am on these goals. My email is in my username at hotmail.com
I ordered an infrared temperature sensor. My idea is to build a prototype of a low cost device that a merchant can use to show to customers that their staff is healthy, or at least does not have a fever. The idea is that when a staff member handles something, they quickly get their temperature taken, which prints out a sticker with their id, the time, and the temperature, and then they affix that to whatever they were handling. So, when the customer is handed their package, there is some evidence that the staff is not sick.
An added feature could be a back end that alerts if a staff member begins to show signs of a fever.
Currently, there seems to be a shortage of low cost infrared temperature sensors. I'd also love to find a very small and low cost printer that supports this. So far, I have found some label makers that could work.
I like the ingenuity but this has a host of problems:
1. You can’t actually get an accurate read. Unless you are shining the IR beam into their rectum, surface temp means nothing. If you’ve ever had cold hands while the rest of you is warm you will know that you can’t read surface temps. This is why medical professionals only trust two temperatures: oral and rectal.
2. Even if you managed to do this, fever is a pretty late symptom. People are contagious far sooner than fever sets in when it comes to COVID-19.
3. This dehumanizes service workers. I would see this as a huge negative and would never patronize a business that required its workers to use a device like that.
Again, I admire the ingenuity, but I think this is a dead end project at best and will lead to lowering quality of life and service at worst.
I actually got this idea watching what they are doing in China, it looks like a very widespread practice. In fact, it looks like there are cities that are also taking the temperature of patrons going into store, getting on buses, etc...
So, in response to your points:
1. I see many devices in use that take a temp very quickly. I'll see how my sensors works, though.
2. While it is true that not everyone who is sick has a fever, pretty much, whoever has a fever is sick.
3. I am thinking about a different world than we have today, one where patrons will not shop in stores if they do not have some reassurances that the owners are taking care of the staff, and doing what they can to ensure that they are not a vector for spreading whatever virus is currently worrying everyone.
To be clear, I am not designing for a world that goes back to the pre-coronavirus status quo, and I am also not designing a system meant to stop the spread of a pandemic virus.
Again, thanks for your feedback. I'll see how the prototype goes, and I will keep you posted. Let me know if you have any more thoughts.
In the process of decoupling from the Apple ecosystem after 20+ years knee deep in it.
Kicked off the project by installing and configuring Arch+Wayland+Sway on an old MacBook Air precisely to my needs/desires to be used as a daily driver.
Germany is running the biggest hackathon ever to fight corona. Challenges span everything, from tracking, organising material, designing tools for home office, mental health, reaching out to elderly, kids, parents, teachers ...
Given the challenges list https://airtable.com/shrs71ccUVKyvLlUA/tbl6Br4W3IyPGk1jt/viw... , google translate regrettably doesn't (only the frame). Bing translate just dies. :/ The CSV request has a short and signed expiration, so that wasn't a workaround.
I am working on an online service that helps foreigners to learn Japanese by reading native material.
I have been frustrated while learning this language because the Kanjis makes smooth reading almost impossible, and for me it has always been the fastest way to fluency in a language.
I am building a browser extension that will help anyone to read and browse the Japanese internet.
Here in Tokyo we are not quarantined, but most events have been canceled and I have been remote working for almost one month now. So I made a good progress.
Thank you. I did not know readlang, but my project is different because I want to customize the help given depending on the user.
Also, I plan to focus on the challenges inherent to Japanese rather than extending my tool to other languages.
The Japanese grammar being simple and regular, I am quite optimistic that I can show help about it without relying on raw translations.
One challenge of Japanese is that a raw translation does not help to learn the readings/pronunciation and Kanjis, so it is in my experience almost completely useless for learning.
I also do not want to provide contents. I want the user to choose whatever he likes on internet (but I may recommend external interesting pages).
I do not have a website yet, but I will ping you as soon as I have one (I also want to have a newsletter before release).
I am not sure how suited my tool will be for a beginner at first. It will probably be more useful for someone who already know the basics of the grammar (JLPT N3~N4 maybe). But I'd definitely love to make it useful for beginners too!
Our company just switched to WFH when we previously didn't have any tools. I guess this is a project on its own: moving the company operations from all on-premise and physically present to all remote.
Some tools we've adopted and I'm learning about as we go: Grasshopper (for VoIP call forwarding), MS Teams (we dabbled with Slack, but ended up using Teams because of our VS subscription), Zoom (for demos), and Stripe/PayPal (to accept one-time payments online from our clients).
We also went fully remote, but since our operations are entirely cloud-based already, it was just a matter of setting up WireGuard for a few folks to access sensitive resources securely from home. That was a fun project, but not as much work as trying to get a virtual Catan or Cards Against Humanity game organized :)
We were partially cloud based with our source code and some of our internal support docs, and I’ve been going in to migrate the rest over. Our employees have been using RDP in the meantime to access our internal tools and docs. Not the greatest, but it’ll do until I can get a more permanent solution.
How did you get a virtual game set up? In the past I’ve used FaceTime, the Notes app, and the honor system that the people with the physical game wouldn’t look at the virtual person’s cards.
I wish we had a more decentralized solution but basically we just looked up online versions of the games and played those while chatting on Google Meet. Janky but effective
>Are you using Grasshopper for communicating internally within your team, or as an open line to communicate with potential customers, or both?
We’re using Grasshopper for the latter. Our (pre-WFH) situation was that we had 9 landline phone numbers + fax, and had one phone number we publicly gave out as our business line with forwarding. Our support reps would just pick up whatever line was ringing.
The pandemic presented us the perfect opportunity to make a change. At first we were thinking of using Google Voice to forward to our team’s cell phones, but realized there were too many limitations using Google Voice. I hastily found Grasshopper and it came with the features we’ve been needing for in a call center, like greetings, extensions, and individual voicemails.
Our reps have reported receiving spam calls and robodialers on our landlines, but not enough for it to be too much of an issue.
Would it be helpful to you have your server automatically notify (call or text) an on call team member when events/error happen? Something like, "An H12 error just ocurred in XYZ server", or "Github is experiencing issues"?/Is that something you'd pay for? Not sure how much of that PagerDuty already has.
Are there any other pain points/missing things for you with your current setup?
- Setting up a small webservice that creates PDF files with sample data for workflow development. I need this for work as it's easier than working with real customer data. Hopefully others find it useful, too. Will make a ShowHN once it's finished.
- Remade a small landingpage for tshirt-designs with motives for my hometown/area. Used a software called "Bootstrap Studio" for that. I think I found it through HN. Really like it for static one-pagers. Looking into doing more with that.
- Rebuilding an old commercial espresso machine. The electronics were fried, you can't get them as spare parts, so I'm doing a full rebuild. New casing, new electronics but the old mechanical parts. Waiting for the last exchange parts, then I will finish the mechanical work and can look into the electronics.
- Learning French via Duolingo. Been keeping it up for almost 30 days now, Homeoffice made some time for two or three more "lessons" a day. I like it so far.
- Maybe I should start meditating, but I'm not sure where/how to start. I looked into some apps but I find them rather distracting. Maybe I just need to sit in my bed for 10 minutes with closed eyes and everything and just focus on my breath every morning. Any recommendations on how to get this started?
Really recommend the book, "Why Buddhism is true" by Robert Wright. He discusses the "atheist" take on buddhism, and how it predates an awful lot of what we now understand through modern psychology.
It's not really a tutorial on meditation, but I've learned more than enough to get started, and it's really interesting to see where I've gotten since starting.
I would have to google Sam Harris, so I think I got no problem here. But the app is with in-app purchases, too. Are there no good meditation apps without that?
Sam spent like 10 years in meditation studies before ever returning to college, but also dabbles in political debates (mostly to the left) so there ya go.
In-app purchases? Mmm I thought you subscribed monthly and then it's all unlocked. I can share a free month to anyone so e-mail me (see my bio / description.) Worth the try.
Turning a Ender 3 3D printer into a belt printer was put on the back burner pending TaxAmmend.com
TaxAmmend.com was put on the back burner pending AmIAccessible.com
AmIAccessible.com was placed on the back burner pending my AWS Certifications.
My AWS Certifications were put on the back burner pending a Computer Forensics research paper into Consumer Grade Forensics.
My research paper is almost completed pending some Forensic Wipe testing using Roadkil's Diskwipe (don't use it, it just failed).
I am now rebuilding my Open Media Vault machine (as it has had a critical software failure), and rebuilding my small 1U penetration testing server, and creating a new forensics portable machine, and publishing a Computer Networks paper that I had kicking around since 2019.
I seem to have Coronavirus (UK are not really testing) so can't do too much before getting tired.
Project one: Our company has moved as many people as possible to work from home. I have spent most of the week on MS Teams and Teamviewer getting people ready, installing softphones, showing them how to use VPNs etc.
For myself we have had some OK weather, so I have been playing with my bonsai trees. Mostly I have been taking trees that were supposed to be growing on, and instead losing patience and cutting bits off them. I'm finding it a very peaceful diversion.
If the weather turns bad I think I might make some model planes (plastic kits). Somehow I don't have the patience for computers in my free time atm.
I'm making an algebraic filter that looks a lot like grep. Doing it in c++.
the python one lets you go through a log file and filter the lines out based on statements like...
You can currently use it to say "give me all lines that contain "substrA" and "substrB" but not "substrC" or "substrD"."
This current python implementation can only do AND for requirements, and OR for negative requirements.
But, I realized that I wanted to do a filter that could handle things like "give me all the lines that contain ...
("substrA" or "substrB") AND ("substrC" or "substrD")"
and that was when I realized that it needs to be an algebraic system.
Every time I launch a new idea, I hate wasting my time on writing some basic customer facing admin/console where customers can see their invoices, change payment method, access support tickets, make some configuration change.
I am creating something more generic where I can just plug in firebase, zendesk, stripe, Braintree etc api Keys and all the base functionality is there. Easily extendable through react plugins.
Thanks (especially for name dropping Quandl)! Using the data for investing was actually a major source of inspiration for the idea and I'll look into it, although packaging it nicely might be an issue.
I am building a platform to enable anyone choose a real star in the universe and have it named it after them forever, it all started when I dreamt of having a ceremony to name a star after me, I got a big bang out of that dream and promised myself to have the coolest star named after me and have it stick forever. My intention is to somehow make it into kind of a galactic social network where you can explore stars and their owners and socialize. I have now data of about 500 million stars (sourced from ESA's GAIA space data) to start with, and more will be added later, I am hoping to be less busy in order to finish and launch it.
I'm building GridBeams (http://www.gridbeam.com/) in my garage. I've wanted to play with them for years.
Seemed like a good time and I needed something to get me off the computer and away from constantly looking at all of the news.
The first few I made were a little ugly and off. Now they are getting nicer and I'm faster. I've got 4 8 footers done. I'll start cutting them up and building some small things today.
I'm going to use some with my daughter to prototype the inside of van she's converting to travel and live in.
I'm also hoping to use raw photos of the sky as weather data: after building a large training dataset of labelled photos, I think an ML classifier could begin to identify weather features in outdoor photos
I once took a look at traffic coming from my (Android) phone and IIRC the pressure was being sent to some Google server at a regular interval. I wonder if they use it for weather forecasting.
The official line is that they use it mostly for improving elevation estimates for Maps. But that info is _old_ - maybe they're using it for more than that now! Some researchers (Cliff Mass?) attempted to get Google (and Apple) interested in barometers in phones for weather forecasting years ago, to no avail.
Hopefully they're trying something out with forecasting!
Say I have a spare Android phone sitting around. Could I just plug it into a charger, aim it at the sky through a window, and let your software snap a pic whenever it feels the urge?
Interesting question! Not yet as that feature is a UI button with no automation, but I will certainly consider adding something like that. Fascinating. Cheers!
I am working on an application by which reader can read books as messages on their favourite messaging application such as Facebook Messenger, Whatsapp. Now a time people are spending a lot of their time on mobile phone and of which they spend 80 percent of their time on social media or messaging platform. They wanna read books but not able to get time for reading. So, we are creating a platform where users can select a book from our collection or upload a book and we will split the book into small twitter sized messages and then user can schedule the messages according to their availability ( no. of messages user wants to receive, In how many days they wanna complete the book ) and based on their schedule and our algorithm we will send them the text snippets.
For Authors :- 1. It is very difficult for authors to do marketing for their book and as every year around 1 Lakh books publishes all over the world and of fiction books consist of a big section of this number. So, we are creating a platform where book authors by taking a little bit theme plot of their upcoming book and creates a small and interactive Facebook messenger based story which they can easily used for marketing and It will increase the sale of their upcoming book.
2. Now a days, people are more interested in interactive books where they can be also a part of the book and there are sounds, images but for authors creating a book on top of messaging application is not possible due to technical issues. So, To tackle this problem we are creating a Saas application where book authors can easily create an interactive book which going much into the technology.
More details about the application can be found here :
I am working full-time on a new end-to-end identity platform Axioms. Authentication, Authorisation and Assurance - all in one platform . Ready for beta in a week. Unfortunately, I have been slow to get this out early due to health issues but I am glad I prioritised my well-being.
Just got back on my college senior project: code-explainer.
It's a tool that you can paste any JavaScript code in there and it'll parse it and tell you what each keyword means (It's more of a learning tool for beginners).
I was only able to get a handful of keywords done and had to dropped it when I got out of college. Now I'm jumping back in to finish it and add more features.
I am working on a recycling bin/garbage bin ___location website. It's purpose is to find the nearest bin for you to throw away trash that you may have in your hand.
It currently has 700,000+ bins from OSM data and users can add as well.I want to add some features like getting walking directions to the nearest bins and probably having to create am account to add a bin to handle the case of slamming.
Here is the site https://recyclair.eu.org
Please do this for Japan. It's a bit disconcerting as visitor to have to carry the wrappers for everything you buy around until you can find a trash can. And everything is so highly packaged there.
The mistake you have made is leaving the bin at the store before you had consumed the product you bought at the store! At least, that seems to be how they do it. I would buy takeaway coffee and end up holding onto an empty cup for hours as I wandered.
Eventually I just put my rubbish in my bag until I got home. But there is an obscene amount of plastic packaging. I believe they burn or recycle it as least.
Hi!This website already has bins all over the world,including Japan.Since i can not travel all around the world to add bins, i have added the option for people to add bins clicking the top right button "Add bin".Maybe if more users use it they will add bins through out Japan!
Best regards
Mostly https://webhookrelay.com/, adding serverless webhook modification feature (currently to store config, secrets, execution logs for debugging) so lots of Go, Rust (For wasm) and Lua :)
This is mostly fuelled now by feature requests where people are integrating forms and other services to report covid cases. Trying to help them for free and ensure they don’t have to pay for service as they are non profits. Partner not happy about these late nights:)
I'm working a lot on https://www.tickgit.com, which is a glorified TODO comment finder for developers, to help us do simple project management in code.
It identifies code markers such as TODO, FIXME, HACK, XXX, etc (soon to be customizable) and surfaces them as cards in a web UI. There's a free and open-source CLI as well.
The web app is free for public repos and $3/month for private ones. I'm looking to add organization/team-based pricing soon too.
A feature that I'm hoping will have an impact will be a "TODO reminder" email that will email you within a configurable amount of time after a TODO is added to a codebase.
Right now it's just me working on it outside of the day job, I'm hoping I can turn it into a useful tool for developers!
The premise is simple - define arbitrary conditions on transactions or balances, and get webhooks or emails when those conditions fire on any of your bank accounts.
I have >10 bank accounts and was having trouble monitoring them. I use this to alert me of any activity, on any of my accounts, that is unexpected. I no longer need to log into banks. I also use it to alert me if my balance gets too low or too high in any account.
I've also deployed Lambda functions to e.g. post my utilities bill to Splitwise to automatically split with my roommates, or pipe all transactions into a Google sheet so I can analyze my spending over time.
It started out as a simple hobby project but has grown into an immensely useful tool in my day-to-day life.
Very interesting. But is it possible to charge without a company created? I lack the /about and other essential information which will make me trust you more.
It uses plaid under the hood, so I get read-only access to bank data. You can validate by inspecting network reqs - it just grabs a public token from plaid and sends it to my backend - I never see the bank creds. Whether you trust plaid is up to you.
IEEE VR starts tomorrow (Sunday-Thursday). Entirely online. Registration is waitlisted, until they see how their infrastructure holds up. But they also plan live streaming video of all presentation sessions (papers, panels, workshops, and keynotes) on Twitch, open to anyone.
Also working on a video-rich[1] tweet thread "Atoms are {little, balls, sticky, jiggly, bouncy, stacking, etc}", as motivation while working towards an exemplar of transformatively improved science education content, which I hope will speed conversations about that. Anyone have any favorite media of atoms?
Also on desktop panning using head tracking. Also on using RealSense t265 tracking cameras with Google Mediapipe's TF hand tracking.[2] Also on a next rev of DIY 3D shutter glasses. Also on... sigh.
Much XR effort is commercial/industrial rather than consumer. FAGM's bets are long-term. Smaller OEMs seem to focus on industry and/or CN/SK/JA. Consumer XR software effort, but for games, is on phones/tablets. US consumer game VR, well, depression and a supply-chain-troubled Xmas, versus more time at home through next winter... shrug? My very fuzzy impression is people were already expecting merely-steady growth there.
I'm plugging away at my Dwarf Fortress like game in Rust. I stream here fairly regularly: https://www.twitch.tv/urouroniwa Of course, like everyone, I've mostly been writing a game engine and not a game :-) I actually started streaming in September and I've found that it's been an incredible stress reliever. Especially since I'm a remote programmer in rural Japan working for a company in the travel industry, I'm incredibly worried about how long I'll have a paying job. Working on this and chatting to the amazing people who show up to my stream has done wonders for keeping me up beat and forward looking.
I like to think about software that helps you think. Knowledge management, wikis, outliners, task managers, mind-mapping tools, and so on. There's a piece of software called TheBrain (https://thebrain.com/) which I really like; it does a great job of letting you make connections between different topics that are connected in your mind.
However, I prefer the usability of an outliner. So I'm making a web app that is basically TheBrain but visualized as an outliner instead of a mind-map.
There's a prototype available here if the concept sounds interesting to anyone else: https://thinktool.io/
Working on a rules light alternative to the Lancer RPG. I love the art and lore, but in between hearing about it and its release, I got more into OSR sorts of games and now Lancer feels almost overwhelming with its rules. I'm merely hacking Into the Odd for now, but adding mech combat and some other tables to help along gameplay. No idea what I'm going to do about art though. I don't have enough money set aside right now to hire an artist.
I'm also learning Flutter so I can make a desktop and tablet app to assist Game Masters in adding audio to their games- sound fx, ambiance, and music. Now that the quarantine is here I might see if I can make it compatible with Discord or Roll20.
I haven't heard of most of those, but if you want to avoid crunch, Heavy Gear is the wrong direction. I played a one shot a year or two ago and I was overwhelmed by all of the player stats/skills/attributes I had to keep track of.
Thanks for the tip. I think I bought it mostly for the archetypal resonance anyway, so to speak. :) In addition to playing these I'm looking at ways to deploy more mech-style thinking IRL.
Not quite yet. There’s also The Mechs Hack which I’m reading right now which has a similar roll-under system as Into the Odd. If it turns out that scratches the itch I may do a bunch of Gamma World playbooks for PBtA.
I've been working from home for so long this virus won't change anything in regards to my daily routine.
I've been working on setting up a CouchDB 3.0 server on a DO vps. The CouchDB team has been busy as possible working with devs on reported issues so I'll be waiting for a .1 release before putting the new version into use but I love what they've done so far.
Next week I'll probably be digging into using Python to handle cgi routines needed for the apps I'm working on. I couldn't get CGI.pm to install on the Ubunbu 18.04 server I spun up, or find any Perl package at all that would install to handle CGI stuff.
Feeling a bit long in the tooth after that experience.
First, you intentionally add a website (e.g. https://facebook.com) to the list. Once you open that site in a new tab, a countdown begins. Unless you stop the countdown, the tab is closed once the countdown reaches 0.
I've been using this extension myself for a few days now. Up until now it seems ok.
I've been using something similar, it's a chrome extension made to stop you from getting distracted called Motion (https://inmotion.app). You list websites you find distracting, whenever you open one motion asks you how much time you need and closes the tab after the time's up.
Three projects that I'm prototyping/developing in a spare time:
- 3d visualization of the mental model of the code, based on static analysys, with a goal of drastically improving code navigation and comprehension, especially of large codebases. Currently for Go only, because Go OOP design unsurprisingly lacks ambiguities between language constructs and mental model blocks. I had WebGL-based prototype (written using GopherJS), but I see the future of this project only in VR/AR, so I'm exploring this space, trying to figure out what/how to do the next iteration in this emerging zoo of VR/AR frameworks. The logic behind this project and initial demo are in the blog post "Rethinking visual programming in Go", but it's a long read. https://divan.dev/posts/visual_programming_go/
- prototyping (docs and initial simulation) new messaging solution that is peer-to-peer first and is transport agnostic (i.e. will work over SDR in case of internet apocalypsis), and is aimed for the future stacks(IPv6/StarLink everywhere, NAT is in the computer archeology textbooks only). Plus configurable tradeoffs – instant delivery and offline storage (via federated server you own) vs non-instant but aggressive resilience to network disruption (should work over mesh networks), dark routing (for zero-trust hostile networks) vs fully exposing transport layer details (if you talk to your kid over your home wifi router, why would you care about hiding IP address or send your message to the datacenter across the globe).
I spent some time in the messaging, and clearly see how many of the tradeoffs just push people to use centralized servers, and that makes sense and works fine, until it doesn't (think Telegram and Rostelecom IP addresses block). It'll probably have worse performance than current messengers, but it'll work when everything else is not.
No links to share yet, sorry.
- txqr – I did an animated QR data transfer app in Go and Gomobile (https://github.com/divan/txqr), which uses fountain codes, but that was just for fun. Now, after working for a year or so with Flutter, I want to make a mobile/desktop/web app out of it (Flutter works with Gomobile) that people actually can use and/or embed into their apps, and that's on my backlog for side projects.
I'm working on a multiplayer Legend of Zelda A Link To The Past (Zelda 3) ROM hack plus a fork of bsnes that allows for scripting enhancement, specifically the netplay aspect.
Right now I have two players able to see one another when they're in the same world/dungeon/room but they do not interact at all yet.
Next step is to synchronize some basic game state like pendants and crystals collected to allow some basic shared game progression. Maybe even sync up open/closed/bombed doors state per room.
I’m working on a better SRS-based flash card app. I know there’s Anki and some solutions online, but I have not been able to find a good app-based solution (I.e. make your own cards, with no service subscription). Most of the flash card apps out there have awful UI. I’m trying to make mine the most easy to use and powerful flash card app.
I built a website that makes it easy for people to find ways to support their favorite NYC restaurants. Restaurants and their staff are having a hell of a time right now and it's not obvious to most people how they can help.
Save restaurants makes it easy to search restaurants by neighborhood and see if they offer takeout, sell gift cards or are accepting donations (with direct links).
I built it in 2 days using Zeit next+now and Firebase for the db. It's crazy how easy it is to spin up simple projects using that stack.
I am currently building a workbench in my garage, so that I can build a radio controlled plane from my own design. I'm planning on welding the frame from aluminum tube and using riveted aluminum sheet for the skin.
Launched a COVID solutions accelerator called COVID Accelerator. In 7 days 500+ devs, designers, and doctors signed up. Projects to help feed doctors, support small business, and build diy ventilators.
I do--it slows down the work because of the effort of finding big blocks of time to record, but when I'm recording I know I'm on the clock to hit my goal.
Basically I know I need to have a worthwhile video title, so I can't fiddle for more than a minute or two!
Im working on building a way to capture peer acknowledgements or 'shoutouts' for developers in pull requests. The problem was that any recognition by my peer or manager on my code was not captured or tracked for performance reviews and I wanted an easy way to capture recognition by others as well as a way to track my own progress.
It is meant to be a native Github app. Feedback greatly appreciated
https://giveshoutout.com/
(Landing page still in work)
I am working on a project in medical diplomacy: Israeli and Palestinian doctors working to provide care for patients across the region, irrespective of their faith, ethnicity, or ability to pay.
SSD Nodes is a bootstrapped cloud hosting provider I've been working on since 2011. Our servers are 90% lower cost than DigitalOcean, Vultr, and Linode when you commit to 1 or 3 years in advance.
We recently launched a Performance line of servers leveraging NVMe technology that boasts millions of IOPS and up to 6,400MB/s disk throughput, while still being 75% lower cost than what you would pay with at competitors.
I’m four instructions away from implementing the compressed extensions, and probably next week I’ll tackle the control and status registers. It uses an open source tool chain and is formally verified using riscv-formal. My hope is to eventually be able to compile some rust and get an fpga to blink an led :)
I'm working on making Lunar ( https://lunar.fyi ) work with as many monitor setups as possible.
Lunar is a macOS app that can change your external monitor brightness and contrast based on your Macbook built-in display brightness (which already reacts to ambient lighting).
It can also change the brightness based on the sun position or can just add some hotkeys for you to change the brightness manually in case you are using a MacBook in clamshell mode, or a device without a built-in display like a Mac Mini
Lunar doesn't use dark software overlays, it actually changes the hardware monitor brightness/contrast using the standard DDC protocol that's been implemented in monitors for the last 20 years.
In the latest update, it also adds hotkeys for changing the monitor’s volume which was a very requested feature.
Right now I’m trying to make it work with all the esoteric setups that users have. As you can imagine, there are a lot of ways you can connect monitors to your device: hubs, docks, adapters, AirPlay, cables with missing wires etc.
While DDC works most of the time, I still have to implement all kinds of workarounds because the system doesn’t play well with those setups.
The code is a spaghetti mess of Swift because I didn’t know reactive frameworks for Swift existed at the time: https://github.com/alin23/Lunar
DDC being standard, I just need to implement the protocol communication properly. Monitor vendors have to implement DDC because it's the only protocol supported by every device. So Lunar should work with all of the compliant monitors by default.
Problems arise when the connection between the device and the monitor(s) is not something you would expect, like Thunderbolt USB docks that multiplex the video connection but don't properly forward the DDC messages. That's where I'm constantly trying to find workarounds, mostly with the help of users that have the said setups.
I'm still looking for a better remote-debug tool to streamline this developer- user testing process. Right now I'm just asking users what doesn't work, trying to guess what's the problem, fixing that in code, compiling a beta version, sending the beta version to those users, get feedback, start over.
By the way, most of the Objective-C implementation of the DDC protocol was done by https://github.com/kfix . I just improved it a little for multi monitor and multi GPU setups.
I had a need for an API middleman, recording and replaying API messages between an application and provider APIs, without setting up a local proxy. So I decided to built something myself instead of another product. As with many side projects, I'm using it to learn new skills and brush up old ones.
With working from home and schools closed, I don't have much extra time, but the restructured day does mean I have pockets of time where I'd usually be out and about but can now be used at home.
Did you end up building it? I would be interested to see your solution. Also "Api Middleman" would be a great name!
I asked this [1] a few months ago and have wanted to this for a long time now. I was thinking of it kind of like a caching proxy layer for 3rd party API's, to mainly get around rate-limiting.
Rate-limiting is a real problem for it, and one reason it might not be feasible as a product as some APIs still rate-limit based on IP, so for those there would have to be some randomisation of IPs used.
I'm hesitant to share it as I know it's quite buggy and a bit too simple at the moment. I've not tested it with enough variety of APIs and use cases. Plus the whole UI needs deleting and starting all over again, but built properly! With all those caveats, it's https://apiarchive.com/
Well, I am a connoisseur of command-line weather apps. In fact, I've written three:
1. wu -- written in Go some years ago, and actually pretty successful (as these things go). Picked up by a couple of distros, etc. It used the Weather Underground API, which was truly fantastic. But alas, they closed off free access to the API, and I had to shut down the project.
2. dsw -- wrote this one in C++. Uses the Dark Sky Weather API. The API is great -- maybe even better that WU -- but not quite as feature-rich as Weather Underground. Then I discovered that they don't want you to distribute your program and ask people to get an API key. So I shuttered that one too.
3. wwo -- another, fairly recent C++ effort that uses WeatherAPI.com. I like the way I designed this one, and the API itself is easy to work with, but honestly? The data just sucks. It's often wrong, too far behind, not enough of it, etc. So . . .
I am now working on a yet-to-be-named thing written in straight C that uses the NOAA API. I've stayed away from this API, but honestly, it's the one to use. JSON linked data all over the place, sort of cumbersome in some ways, but the data is awesome, and barring government shutdowns, the API is pretty much always on. Not sure what to call it. Sort of afraid to cloud the namespace with "noaa" (noah is also taken). But as you can see, I am a Serious Expert on cli weather apps, so maybe I'll just take one of those.
And that is what I am doing with my quarantine. Thanks for listening!
Ironic that you are working on an app mostly useful for going outside while stuck indoors?
Also I actually never thought of this UI for a weather app. Dark Sky has been kinda my go to. Some name suggestions: nowa (noaa weather app), nwa (noaa weather app), wir (will it rain?), wli or rli (weather/rain line interface), OutdoorTemperatureAndHumidityDisplayManagerFactoryInterface (is you write it in Java).
We are working on a pfsense/opnsense firewall traffic visualization tool based on ELK stack. It is a highly customizable solution that let’s you have extensive insight into your network traffic.
Key points:
* pfsense/opnsense support
* openvpn event parsing
* suricata/snort dashboards with interactive Maps support (MaxMind GeoIp fields, src -> dest locations, heatmap, etc.)
A turn based multiplayer game, like a simpler (and shorter) Risk. Based off kdice, which was based off dicewars.
I made it to learn Elm and fell in love with the language. Lots of lessons learned, not only on the code side but also in terms of process, getting feedback, product design and such.
The last couple of months, I have been working on Paysly (https://paysly.io) to make it easier to accept payments online.
At its core, Paysly allows developers to create payment flows using Stripe Elements - all from the fronted. During development, I though it would also be cool if it supported the creation of dynamic Stripe Checkout flows from the frontend as well, and also provided a way to verify both kinds of payments using JWTs.
I think the tutorials are the easiest way to understand how Paysly works, and I have created examples for one-time and recurring payments using both Checkout or Elements in the docs (https://docs.paysly.io).
By signing up and linking a Stripe account, Paysly will generate both a live key (for regular payments), and a test key you can use to set up and test integrations.
I think that Paysly makes the (awesome) Stripe developer tool set even more simple to use, but I have been struggling to figure out how to find interested users(...).
--
The last bit is what I am working on now. Trying to figure out where to post/advertised to help devs writing payments integrations.
A toolchain for writing Nim apps for Android (.apk) without need for Android Studio (or JRE). Assembling minimal .dex files from scratch based on openly published spec of the file format, then implementing actual app logic in Nim via JNI. A sample WIP hello-world demo project is at:
I'm building a lightweight timeseries database/log abstraction called Remits. Remits stands for "Remote Iterator Server".
The concept is that you can push Messages to an append only log, but can only query them back out via Iterators. An Iterator is a map, filter, or reduce function that iterates over either a Log or another Iterator.
Iterators can be composed and optionally persisted. So the data can be transformed at query time, or persisted and just read from disk. Iterators allow you to start at an arbitrary message, so it can be used as a persisted message queue or similar.
I'm only a few commits in, and there isn't much to see yet. I'm really excited by the power and simplicity of the idea, and to have a lightweight Kafka alternative. Feel free to follow along if interested: https://github.com/badtuple/remits . If you feel like working on something in Rust, feel free to reach out on Github issues or email. It's always fun working with other people.
I’m building a platform to try to support better, privacy-focused email marketing.
I see two challenges to current email marketing:
1) It’s tricky for senders to build an audience in a very crowded space - mind-share is coming at a premium.
2) Recipients are having to deal with more and more noise in their inboxes.
My solution is a topic-based email platform that lets recipients choose areas of interest which senders can then pay to broadcast to.
I am trying to make this possible in a totally private way - so senders will never see recipients’ email addresses or any demographic data; they will only be able to target groups of people (think FB ads).
On top of this, I see an opportunity to pass the financial gains onto recipients, so every message you read earns you money.
And to take it one step further, I want to promote ethical business by donating proceeds to the Golden Lion Tamarin fund to help preserve some of the world’s most endangered species and forests.
If any of this is appeals, I would love it if you’d sign up to the waitlist. I’m trying to gauge interest before I invest too much into it:
The way I understand you could use phaser and matter.js together, matter being the physics engine for phaser. Out of the box matter.js already has a renderer so I simply didn't want to learn 2 frameworks at the same time. Once I reach a point where matter is not enough I'll consider a bigger more feature rich framework like phaser or pixi.
we're (re-)building a platform for virtual art fairs in the wake of coronavirus — most fairs and galleries are cancelling or postponing events that will work super well online. We're building a novel experience from the ground up, not relying on VR or skeuomorphic interactions
I'm helping a friend sell their farm's ancient grain production online since they have a mill on their farm. They grow and sell spelt, emmer, einkorn, and other types of grain. Our family farm is considering planting and producing those grains, too.
Also building an outsourced, full-time, subscription-based digital marketer staffing / agency hybrid at GruntWorkers.com.
My current pet project is Vaulty. It’s a service that allows you to send email attachments to your cloud storage account. At the moment, I’m considering pivoting this slightly into an email archiving service, but haven’t yet decided.
I ended up learning quite a bit about how email works and how to setup an email server from scratch. The email backend is written in Rust and hooks into a Postfix server as a filter. Since I am not storing any mail, I’d like to eventually migrate to either an LMTP server or a custom SMTP server.
I also used this as a chance to learn Ansible. I’ve been pretty impressed with how much easier server provisioning becomes, especially when compared to a more manual approach.
Currently, the mail backend is fully working for Dropbox. Right now, I am setting up a landing page to gauge interest. After that, most of the work will be on the web app side.
I'm writing a supervisor / init system in Rust, called Horust (from Horus "the one from the above" + Rust). It's inspired by supervisord, you define a service in toml with a bunch of properties (like start delay, restart strategies, start after another service and so on) and then you just let horust manage the system.
I've designed it with the use case of running multiple processes in a single container in mind. I know this is not a nice thing to do, but still people do it. I've not tried using it as an init system (yet) but it should be possible with the current features.
It's not released yet (https://federicoponzi.github.io/Horust/) but I hope to release it this week (MIT license). If anyone with some knowledge in Rust / Linux want to join the fun, feel free to hit me with a message @federico_ponzi.
I've got a great use case for horust, or at least a container init process capable of running multiple child processes (kubernetes nodes inside containers).
Consider me interested. Contact me via the email listed in my profile.
Remember when we/our parents would save newspapers and magazines of significant events? We lost that now that so many publications have gone 100% digital.
This site is an exploration of that idea.
It makes recurring screenshots of different/ popular/niched news sites and magazines from around the world.
It builds on the simple screenshot site, a separate open-souce screenshot-as-a-service project.
I should mention the Newseum's "Todays Front Pages"[1] site had the same idea long before I did. This exists in the context of a proper Mesuem with dedicated resources and curators. Their front pages are really nice, high fidelity PDFs of the dailies. They also offer mobile applications. Check them out!
Mick Tagger – a macOS app making it easier to organize your Spotify and iTunes Music playlists – https://bit.ly/micktagger
I'm currently working on an "evergreen playlist" feature, where the app would automatically remove tracks you skip often in those playlists. Thus keeping your playlists fresh / evergreen.
I'm going to start with something simple (e.g. removing based on some rules I decide initially - percentage played over multiple listens), but I'm planning on adding an ML algorithm that can figure out when to remove a song based on multiple criteria (e.g. stuff like how often you skipped songs that day, what genre they were etc.)
It's not currently open source but The web version is free to use, There's a desktop version that we sell to support development ( https://studio.diagram.codes )
I needed to do this lately and my process was like: Make a window/screen capture with quicktime. Convert the capture to an animated gif with the ffmpeg command line utility. Find an easy image host to save the generate gif somewhere. This was all very cumbersome.
Your process even allows me to screengrab a single browser tab. Thank you so much!!!
It appears that everything is done clientside, but looking through the github code it's hard to imagine that it's done with so little code and no cloud/server side processing!
Incredible, I had no idea a website could screen capture all my monitors or other Chrome tabs... seems like a security vulnerability, but this is amazing still!
I'm writing a computer game called The Eldritch Zookeeper (https://store.steampowered.com/app/654960/The_Eldritch_Zooke...), it's a spooky management/tycoon game where you're a cursed zookeeper and have to run a zoo full of monsters. Very much inspired by old Bullfrog games. Lots of fun to dream up weird creatures and program a very data/systems-driven simulation that still uses lots of physics!
Indie game dev is my full time job, so this isn't so much a personal project as my regular job that I thankfully get to continue in my small home office. Getting to paint and animate and design monsters, as well as write code, or do the marketing parts - it's all interesting and engaging in different ways.
Theme Park World is a big influence. Remember the advisor character, kind of looked like an ant? My game also has an advisor (not an ant, though) that is also voiced by a Scottish accent. I hadn't even meant to make that same choice, but the effect of that game runs deep!
I'm working on https://AFLO.io -- we're a marketplace for marketing strategies. We connect entrepreneurs to expert marketers at affordable prices, and we send you actionable marketing and sales strategies specifically designed for entrepreneurs.
Right now I am trying to make an archlinux IPFS mirror. There are existing projects like this but I wanted to save more history to avoid the issue where you get a 404 when installing a dependency if you haven't synced in a while. https://gitlab.com/kevincox/archlinux-ipfs-mirror/-/blob/mas...
A city street generator. It's a long project because it's maybe too ambitious. I'm struggling to spread "lots" alongside street while considering road intersections. I'm not using L-systems or other things.
I've already written a generator that makes 2D blueprints of buildings, with thick walls, openings, etc. Going 3D might be a little tricky but it should be fine.
When this will be finished I'll move on writing a good enough character controller with bullet-physics. I'm worried because I decided to use opengl since I have found no good alternative to ogre3D (I'm radically against bloated engines like unreal and unity, I need something very light and thin that does only one specialized thing, in this case 3D rendering), but since low-poly is trending it will be just as good, and this will probably allow me to have larger scenes.
I still have to make a finished terrain generator, but I already implemented many things like octaved perlin noise (with shaders so that I can regenerate and make quick edits), poisson discs with perlin noise. I also implemented a midpoint displacement+successive blur to make mountain erosion.
I'm planning to use some brush editor to manually create terrain zone layers at a very macro level, for things like biomes, elevation, seas, etc, so that the terrain generator can do the rest, and then put cities manually. I've seen some pretty impressive terrain generators, but I'd rather focus on cities that look almost real, with building interiors.
The goal is to have a very large quantity of explorable land, without needing level designers and level artists, while not sacrificing quality too much.
I’m making a real time visualizer for the VeChain blockchain. Every time data is written to the ledger, a bubble appears with size and color corresponding to the amount of gas paid for the transaction. I have the MVP at https://seevechain.com.
TimeyTim - a web-based CRON, Dead Man's Switch and Monitoring service - https://timeytim.com
---
I've worked on a number of projects that needed some scheduling capabilities, like "Archive this object in 4 weeks", or "Make sure this process runs every 2 days."
Rather than rebuilding this logic, and for those who hate dealing with CRON syntax, I wanted to create a scheduling API.
My goals are to 1) make it useful, 2) make it easy for developers, and 3) keep it low-cost (using DynamoDB and Lambda).
You can set up schedules via the website, or programmatically using the API.
Feel free to poke around - it's close to launching but the back end is currently disabled.
If this service sounds useful, please add your email to be notified when it launches - https://timeytim.com.
Under the hood, it’s a software modular synthesizer with certain limitations—for example, the modules can’t be connected in a cycle. The modules are connected with code in a simple language that checks units, so you write “500ms” instead of “0.5” if you need a 500ms delay. If you write 500Hz instead, that’s an error. This part already works.
On the surface, I’m figuring out how to expose the parameters with simple sliders and knobs in a web page. The idea is that you click a button like “explosion” and then tweak the knobs to get the explosion sound that you want. This is how SFXR (and as3fxr, BFXR, JFXR, etc) work, but they have a fairly limited set of sounds.
Sounds cool. If you haven't already, you might want to check out the Fractal Bits iOS app. It doesn't let you manually adjust parameters, only randomly generate sounds, but it makes some nice ones. It sounds probably FM-based to me.
I've been working on https://yakondi.com which helps people around the globe get more out of their travel experience. Noone really want to travel right now - so COVID19 means we are focusing less on marketing and more on development and clearing our feature backlog. The technology stack is pretty simple (MySQL, Java REST & Angular) but I've also been experimenting with Jupyter and Dataiku for analytics of usage behavior. If you are not already familiar with our service, yakondi.com is a free network of locals and experienced travelers who will help you organize your next trip. It already connects 1000s of travelers across the globe and provides users with unique and tailored travel advice.
Working on integrating a high end offline 3D renderer into Adobe AfterEffects as a plug-in.
Did that before, company tanked briefly before being profitable six years ago. Customers are still asking to bring the product back.
I though I give it a shot. We were five at the time for two such products. I figured I can do a single product with less
features myself.
API changed on both sides (host app & renderer). Old codebase was C++ and I have limited rights to it.
I am writing the new product from scratch in Rust. I am probably the first person to write an AfterEffects plug-in in Rust. Luckily that app is now so old that the API is pure C99, great for Rust bindings.
That's actually the most fun part of this. Rust is pure bliss. Particularly now that the community has moved to Discord feedback seems to be more instant than on IRC before.
I'm working on basketball manager game with fully fledged game simulation engine, similar to Football Manager. I'm developing it in Kotlin, with TornadoFX.
I've spent a lot of time on optimizing the engine. Fortunately with correct techniques JVM is surprisingly efficient, so it is able to simulate single game (30 frames per second, around 110k frames in total, each with collisions, path finding & decision making) in ~900ms on single 2,4GHz core.
GPS Disciplined 100Mhz clock source. I've got the QRP Labs "fake" temperature controlled synthesizer, an Icebreaker FPGA board, and an Adafruit ultimate GPS with 1PPS output.
Reminder/message board which is two parts, a server that monitors a file for messages and puts the top 8 on an LED sign in my office/lab. A set of transponders that generate messages for the file. And a 'grooming' process that looks at the available messages and prioritizes them for the sign.
Moving my iBitsy LED clock over to a nice 64 x 64 LED panel. This is mostly 3D printing a case, and updating software on the ESP2866 controller using Micro/Circuit Python.
Building a NAND driver for an embedded system that is currently booting off internal flash. The NAND option lets you encrypt the firmware which is a handy feature and you can have larger boot images.
Debating ideas for future Pandemic prep with friends over zoom.
Working out aspects of DSP that I have code that implements but I don't feel I really understand as completely as I should. The goal here is just learning, especially about polyphase channelizers.
Building kits that I've bought but haven't assembled. (The "big" one is the replica IMSAI 8080)
Noodling on design ideas for 3D printing custom spacers so that I can stack test equipment without have to rack it. Vendors design their gear so when you have multiple instruments from them you can stack them on your bench, but when you mix vendors that falls apart. My thought is that you can 3D print pieces that adapt from one vendor to another.
Drilling down a rabbit hole while making a 3.3V -> 5V push-pull driver with 100mA sink and source current, at 50MHz. Ideally I'll end up with a design and layout that I can replicate 'n' times on a board to create an 'n' wide driver board. For bonus points I'd like to figure out if I could make it bi-directional so I've been looking at the circuit diagrams of FPGA and SoC pin circuits to get ideas of how they do that.
Polyphase DSP is some fun stuff. I helped a coworker implement a polyphase lowpass filter in Verilog a few years ago. Would like to get back to learning about it one of these days. (Hopefully an impending layoff doesn't give me the time I need to do that!)
Why'd you choose 50MHz for push/pull capability? What does application does that high of a drive frequency unlock?
Re: the 50MHz, it lets me drive a number of LED panels directly with fairly long ribbon cable runs. The goal is to run displays at 161 Hz refresh rate (23 * 7 which are both prime factors that aren't in 60 or 50 so the refresh rate won't "beat" with local illumination).
This frequency determines how many panels I can run from a single "port" which ultimately determines the maximum resolution I can use for a display.
I'm working on a "Maintenance Solution" (MainTech) for the mostly the fast-food & restaurant industry. Places running it already in some parts of the world includes KFC, Pizza-Hut, Paul Bakery etc.. This is helping them to manage, track, assign any maintenance issue they might have as well as well as a big push for "Preventative Maintenance (daily, weekly) for their shops and store assets". Think of it as JIRA for the restaurant industry.
You guys knows what is funny... The NUMBER ONE item on the list that is broken across multiple brands and over 90 stores.. is "LED LIGHTS". I find it funny since LED LIGHTS are always toted as having such a long life span.
I did some work for Wendy's corporate a while back, and it's absolutely crazy how quickly maintenance/repair issues scale in costs. This sounds like a great niche!
I'm working on iOS app that lets you TRANSLATE WITH YOUR FINGER ;) It works for printed text: you just point at the word with your finger (yes, right in the book), point your phone camera and see the translation.
I'm slowly hacking on [jupiter](https://github.com/horia141/jupiter) (and [announcement](https://dev.to/horia141/jupiter-dev-log-0-intro-1ni9)) which is my tool for life planning, goals management, habit building, metrics tracking, etc. It's pretty hacky and tailored to my _way_. But it is fun to code (especially since $dayJob doesn't involve that anymore), fun to blog about, and definitely something I'm using daily.
My roommate and I despise LinkedIn, and all the soul draining "thought leadership" that comes along with it. We also found that it's absurdly easy, and absurdly funny, to poke fun at the mish-mash of content marketing, thought leadership, and broetry that makes up 90% of our LinkedIn feeds.
So we've been working on a "satirical social network," part fake LinkedIn, part The Onion, part something else, and right now we're calling it...ShlinkedIn.
It's been a ton of fun to work on, and we'd love any / all suggestions as we build it out!
I'm working on https://www.fastorslow.com/ - provides website performance from 13 locations globally through browser simulation.
Soft launched this week. Already getting some exciting results. Working through an issue with the South African based server this weekend because we think the ISP we're using has a crappy network and may have underspecced their servers severely which is causing results to drift way out of the mean. But could also be an overloaded internet over there. We'll probably take ZA offline until Monday. Everything else working great!
Learning Svelte and using it to build a site that allows you to read public ___domain works, take notes on the words by selecting them, and then automatically make flashcards (Leitner method) to help you remember them.
For example, read the classics in Japanese, take notes on the words you don't know, get them automatically translated, and then automatically generate flashcards to help you remember those words.
I've always wanted to read Kokoro from Natsume Soseki (perhaps the greatest Japanese novelist ever) in the original and this is helping me to get past the words I don't know.
If anyone is interested in playing with it I would love a to share: [email protected].
I am currently learning on how to emulate a CPU and have picked the MSP430. I am trying to emulate it in Qemu and also thinking how I can also do it in Gem5.
I have selected MSP430 considering it has just 27 instructions and I love the architecture.
It is pretty complex with both Qemu and Gem5. If you have experience in Embedded then it should be ok but still a lot to learn. Currently it is just an exploration for me but I would want to use that knowledge to complement my work i.e. develop a emulated board with all the peripherals and bring up the kernel before a board is fabricated.
Resources would be Computer and CPU Architecture books.
I'm working a tool to track and report git commits across multiple repositories in an organisation. I am also adding more features to validate commit messages and branch names to help maintain a standard across the repositories.
My goal is to provide qualitative analysis on Git usage throughout the team and identify users who may require additional Git training. It is such a powerful tool but I see so many dev's still writing commit messages like "changes", "updates", "fix" multiple times per pull request.
A Full featured managed radio calls ingest platform. Every call on every captured radio system is available live and archived. I'm currently doing some of the final beta development work before I make onboarding call ingestors available to the general public. We have 18 systems being sent to the platform at this time.
As a former firefighter who still tries to feel somewhat connected to the public safety world, I absolutely love Broadcastify. I use it all the time to listen in to fire/ems dispatch in either my current county (Orange, NC), or back home where I grew up (Brunswick, NC). It's also great to occasionally put up some other more "exotic" ___location and see what's going on.
I am working on a card game based on braid theory (in the braid group B_4).
I am also working on a private journaling app, with a mild mental-health focus, aimed at teenagers; the idea is that if your parents want to have access to your phone and keep track of what you do, maybe they'll at least be OK with privacy in the form of an app that doesn't have sharing or messaging, doesn't allow for images or video, but just let you write text or record audio messages that are guaranteed private by 256-bit symmetric-key cryptography. No more worrying that your mom might flip through your diary while cleaning your room!
Also working through Penetration Testing with Kali Linux (PWK) course toward the Offensive Security Certified Professional (OSCP) certification, and trying to write and record more music, and work out more at home.
This is a super cool idea. I find that too often I have a bajillion applications open and get lost. Currently I try and partition by desktop but everything blends together after a while.
Will this be free / will there be an unlimited length demo version?
I've been building a web api fuzzer for the last couple of months, and this weekend has been a good opportunity to make some progress.
I built it because I'd been participating in a couple of bug bounty program and felt like I was just trying random mutations to see what broke things.
There are other web fuzzers out there, but they're super limited. They test each piece of API functionality in isolation, whereas my fuzzer can test sequences of calls that depend on each other.
I'm also trying to improve my drawing skills. It's a bit of a struggle, as it takes a lot more patience than most things I do on a daily basis.
I'm looking into Xamarin for the first time. I've looked at the Xamarin 101 tutorial and seen the bare-bones note taking app they walk you through developing, and I'm hoping to improve it significantly. I've already added the feature to edit notes and set a title for a note, but there's still a few more ideas I want.
I think taking an existing project and improving upon it, as opposed to starting a fresh new project, has helped me somewhat. I have to think less about how to get it started and whether the framework or style is right, because some of the code is already there.
I’m working on ProgrammerBackpack. It’s my blog, started it 2 months ago and I write about Machine Learning and programming stuff, mostly tutorials.
Recently I started doing a thing where I approach every subject in 2 parts, I call them “mini-series of 2”: one where I write about the theory, the math or the intuition behind a model and one where we play with implementation on a small dataset.
It’s fun and I love writing and I try my best to write as much as I can.
Re: resources, really Google was my biggest resource as I was learning stuff. One book I really loved was "Signals, Sound, and Sensation" by William Hartmann which connected signal processing to human auditory processing -- I learned a ton from that book. For music notation, "Behind Bars" by Elaine Gould, which was super useful while building VexFlow.
I am working on a way to better track and gain transparency into your Firebase costs. The goal is prevent you from getting a surprise bill at the end of the month. I’ve started out with a daily and month end reports of your usage and costs. I’ve even been able to give cost metrics that aren’t in the Firebase console. Eventually will have a dashboard so you can dive into your historical costs and setup custom alert that are more fine grained than what google allows.
I'm building a no-code web app development platform. There are numerous existing tools in this space, but I don't think anyone has really hit the sweet spot of having the same composability/reusability/conditional benefits of code in a WYSIWYG interface that drastically increases development speed.
Also happen to be looking for a cofounder as well. I'm a developer myself but I'd love to partner with another product-minded dev or a product person with significant industry experience. Let me know if you're interested.
I am working on implementing the raytracer in a weekend but in a month. Of course the timeline has been disrupted because of the Covid-19 and me being bummed out as I had to cancel my trip home.
The catch in this one is I am using it to learn Julia, and I keep reworking stuff as I learn more. I want to be able to look back on the logs and see how I evolved. Here is a link if anyone is interested
An open-source website for creators that allows them to follow and interact with each other's personal sites. The theory being that it can be useful to build tools that allow people to create their own ad-hoc social "networks" instead of building yet another central platform.
I envision it like this: You log into your own ___domain to post content, this is shared with your followers (and available to anonymous visitors), then from your site's dashboard you can see and interact with the latest posts on your peer's websites. The hopeful result being distributed networks of creators. Instead of policies coming from one company in one country, creator's sites would be governed by their host in their preferred locale.
I've been thinking about this for a while and just started working in earnest this weekend. I've been spitballing it among my artist-friend circles with positive feedback. It does require commitment to invest the time and money to setup their own website, though I suppose it's possible for different services to exist that automate and federate hosting for them. Personally I've maintained my own gallery for years and I practice POSSE[1] but there's always that nagging reminder that the "elsewhere" has different motivations than just sharing my content.
I am teaching my daughters to code. (10y and 7y) They are taking classes remotely and all the extracurricular activities are cancelled. I am also working from home. This is a unique opportunity that I may never have with them again.
Yesterday my oldest started to use the Roblox editor. I am researching Roblox training courses (would love some suggestions). An hour ago I showed her Zork and introduced her to Inform. (http://inform7.com/)
I started off making it for maps. Now I am trying to make a more generalized version. This is for learning biology with parts of a cell: https://qquiz.com/cell.html
With that I am mostly working on a geojson editor for creating and updating quizzes.
The maps are coming from mapbox. I set up a map style without labels.
For the cell image, I cut the image into map tile layers by scripting imagemagick. These tiles are served from my server.
For the overlaid areas I use geojson data, which I create and update with a geojson editor I am working on. For actual maps I have https://qquiz.com/makegeo/e.html . An example of non-map images, https://qquiz.com/boat1/e.html . The editor lacks instructions still, but is pretty easy to use.
A friend and I are home from college right now because of the virus. We just started working on HighlightKit (https://highlightkit.com/), which makes it incredibly easy to add Medium-esque text highlights to your own website/personal blog. Users can save their highlights, view top highlights from other users, and share highlights on Twitter. We're open to feedback and are looking for pilot users!
I'm working on a very limited feature CRM for my wife who has started her own business last year and is now struggling with Excel to keep up with following up on client contacts.
The datamodel is the most challenging. It's the first time I really feel its absolute influence on the UI (or the related level of code complexity), so I really need to think carefully about it. I'm in the prototype stage but once I start using real data I'm kind of stuck with whatever I've decided upon.
I've looked around a little bit but didn't find anything that serves as real inspiration. I'm really trying to build something uniquely for her and her colleague and then I'll see whether someone else finds value in it.
Thanks! I did check Pipedrive before but didn't think of Airtable. What I'm building is far less ambitious, but thanks to your comment I realized I should have a closer look if only to get some ideas on how to do the things I'm planning to do.
Further development of the framework and value proposition for learners and educators. I am also workong to develop/document examples is my current plan.
Working on a Lambda Calculus Interpreter variant in Ruby called Lispish that currently parses and evaluates named expressions only.
Why?
Because many lambda calculus interpreter variants "cheat" by using the lambda already built into the programming language being used.
So you don't really get to learn how the alpha-conversion, beta-reduction, and eta-conversion work, and so on, magic happens.
I have a hard time picturing things functionally and can't readily read Haskell or Coq or Idris or any of those so the many many lambda calculus toy interpreters out there are opaque to me. I can read procedural/imperative/object-oriented code so I thought I'd build it in Ruby, and put it on a website with documentation.
Currently struggling to get nameless representations working.
One nice design feature is that I've used Parslet which is a “A small Ruby library for constructing parsers in the PEG (Parsing Expression Grammar) fashion.”
Another feature is that I've built a suite a lambda expression test cases (about 60 in total) which believe it or not is unique afaict. You' be surprised at the corner cases.
Want to be able to switch between different evaluation strategies and language flavours. Want to add nice abstract syntax tree diagramming using D3.
Finally, once that base is finished I want to have a a crack at adding types :)
I’ve been using a lot of online web tools while at work or at home to prettify json, convert unix epoch timestamp or convert ipv4 address to integer, but always surprised that online tools out there are quite slow for what they’re doing because they post what I enter in the form and do the processing on the server side.
So I started writing a react.js single page web app (not single file any more tho) which does all the processing on the client browser without any server interaction (also there’s an exception) so you can see the result in real time as you type with no server round trip involved. Also thanks to the client side processing, you don’t need to worry about data privacy cause it’s all happening in your browser. Included tools are just quite random (pi approximation for example) cause I was adding anything that looks interesting to me at the monent.
Beware that some of the tools are buggy and might not be well supported, but I’ve had so much fun along the way and experienced a lot of client side web tech like react.js, service worker and an awesome tool like zeit.co now which I don’t get to play with that much as a back end dev.
I was frequently annoyed at the lack of middle ground between easy purpose-built image captioning tools (as opposed to general image editors like Gimp), and full blown video editors just to make animated memes.
I intend to use some of the extra home time to improve the UI and maybe start adding social features and content import from external urls/clipboard. The user experience is pretty rough now.
Not sure I want to host user generated content and deal with DMCA for a hobby project.
It's not open sourced (yet), but the fun facts are that it's Clojure/Clojurescript w/ Rum as a react wrapper for the frontend.
Have to say - Clojure(script)'s immutable data model is a dream for handling undo/redo in content editing. It also makes the path to a multi-user editor a'la Google Docs pretty simple.
I'm working on an RPG Card generator. It allows you to design a set of cards in a wysiwyg way and then print them out to do good old Dungeons&Dragons or whatever tickles your fancy. It's not usable yet but if this is interesting for you, you can track its progress here: https://github.com/nkoehring/rpg-cards-ng/
"Getting a bit RESTless in your apartment? To help fight the boredom, ReadMe is launching WAPI—an ephemeral live radio station that will air for only 24 hours. Tune in to talk about building developer experiences people love. We'll have a live chat, dozens of awesome guests joining us and a few surprises!"
I usually don't mention products I haven't completed yet, but considering this case in which we are all quarantined and getting more time to work on our projects, it has been a great excuse to work on it, and so, I'll tell you about it.
The concept behind it is: I've seen demo websites where people show off different things about their website or plugins or things they have made to potential customers or clients. They have their visitors go in and "try before you buy". Those visitors might make changes to the site and you have to go in and undo their changes. Or maybe manually run a restore feature or cron job to do it. Didn't find anything in the mainstream that does it. The web app + wordpress plugin will automatically do all of this for you so you don't have to worry about having to do it manually.
I'm almost finished with the WordPress plugin. The sign up feature works so you can at least create yourself an account. Can't do much more than that though, but for anyone interested, feel free to sign up and stay up to date on the latest progress. I do hope to be done with it by mid-April.
I want to evolve it to a quiet social network where the incentive is to nurture relationships with closed ones, not optimize for number of people seeing your posts.
Have been working on an algorithmic trading product. We are building a product to help traders get their trading strategies to live algorithms without worrying about the infra.
If you have used TradingView, MT4 or Zerodha based bots, you would have definitely faced automation and execution related problems that you can relate to.
Currently building the system, EAs and bots to help assist traders.
I'm working on Warhol [1], which performe tests on web design based on pattern libraries right inside your dev tools. Think reverse DOM diffing on the CSSOM. Sounds way WAY easier than it is, but that's sort of true for web development in general I suppose :) Currently working on rolling out tests for interactive styles (hover and friends).
I'm working on a Dokku-like tool for Docker Swarm mode, where you can describe your entire application (stack) in a docker-compose.yml file and simply git push to deploy your stack on a self-hosted server cluster with automatic load-balancing and SSL using Traefik and Let's Encrypt.
The main idea is to develop locally instead of spending hours on server configuration.
I'm including some nice metrics and examples like Swarmpit, Swarmprom, Grafana, Gitlab CE + Gitlab Runner and documentation using Docusaurus.
It works with any amount of server nodes so it's easy to start with a single test server and expand as you go.
I'm planning to open-source it ASAP, but things take time.. Hopefully next week v0.1 is done.
Mostly it's been a learning experience, finally getting more fluent with bash and learning about distributed systems and networking. I've used Dokku for years but I wanted more flexibility and experience. I've noticed that I learn better when I write about something, so I'm putting extra effort in writing documentation.
It's funny that this question comes up, I just thought about it today. We should have #madeinquarantine badges for our repo's!
I'm working on a simplified Ghost hosting service.
To give you some background, I've been running multiple Ghost blogging platforms for quite sometime and have successfully automated a lot of the heavy lifting involved in hosting. I realised a lot of people around me are now using Ghost for their blogs too and they might not need the expensive hosting out there. So I'm working to provide an option to address this niche.
I've been working on a little set of charts to plot coronavirus growth globally, based on data from John Hopkins. Rather than putting them on a map I find it more useful to have graphs per country/region.
The data is based on the nightly time series from John Hopkins, based in turn on collated data from WHO and governments, which they have plotted here on a world map:
I'd quite like to do a bar chart of cumulative deaths/cases per country as well. Unfortunately deaths is probably the most reliable measure when looking at growth. There are a few irregularities in the data I'd like to fix too - for example the UK has no regional breakdown.
There's a game called Hnefatafl, also known as Nordic chess. I've created a platform similar to lichess to play this game with others online: https://litafl.web.app/ There are still some rough edges but please check it out and let me know what you think. - P.S. Anonymous games / ratings do not work at the moment.
Wanted to take some time off to write a book on fullstack development, so I have to build a book writing and publishing platform first. Obviously.
Working on https://papiary.com - I’m starting off with a reader, putting a few public ___domain books on it, free to read without login. Hoping to get some buzz by asking people to tweet me about which books they want on next. Will add a paid Pro Reader plan that lets you choose better fonts (very high quality expensive ones) adjust the typesetting and theme, sync across devices, PDF downloads etc.
For the authors, I’ll write the first few booklets on it and then open it out to others, but so far I’m thinking direct payments and subscriptions into your Gumroad / Stripe / Paddle account, no commission. Manage all your readers as a list of email addresses, so easy export to Mailchimp or import off external sales. Will also handle demand curve pricing if you want. Can write in simple Markdown or the gold standard AsciiDoc. Will charge money making authors based on headcount, maybe $5 per 100 paying readers.
I've built the website quarantaenehelden.org with some friends. It's a platform to connect people from risk groups or those who are under quarantine with those who want to help out.
It's been a pretty wild ride and we've grown a lot since our launch 7 days ago, but building our infra with react + firebase made it pretty smooth in terms of scaling.
Come check it out at github.com/kenodressel/quarantine-hero
Project is aimed to build ui-components and build an abstraction around frameworks. It is a UI developer tool that is web based built on modern stack - ReactJS, Webpack and supported by public npm modules and most importantly babel-core.
UI-editor is also aimed to generate code cross frameworks and it currently can generate code for ReactJS and storybook out of the shelf.
Web development has been misguided a lot by mix of paradigm yet the problem remains the same.
Link to project : https://github.com/imvetri/ui-editor
Demo to project : https://imvetri.github.io/ui-editor.
Just realized that sec (simple event correlator) is exactly what I need for home automation - and now creating / gathering logs from all devices (TVs, 433Mhz sensors, camera motions etc), shipping to central log, and setting / fine tuning different alerts. E.g. sending images from cameras while my mobile device is not on WiFi, similar auto on/off for home alarm etc
I'm working on a character manager for Pathfinder 2e. PF is a board game in the same realm add Dungeon and Dragons but it's rules, which allow more customisation, are more complex, sand there isn't much for tools - except for Pathbuilder 2e for Android. I'm learning a bunch of stuff as I go, since I'm mainly a data scientist and not a software engineer.
I am making Grafolean, easy to use monitoring system: https://github.com/grafolean/grafolean (generic, but network monitoring is first niche being served).
Currently there is support for protocol-agnostic agents (just send whatever values you have via REST API and observe the dashboards in UI), or you can use existing agents for SNMP, ICMP, NetFlow.
If you give it a spin, I would be happy to hear from you, good or bad (via GitHub issues or [email protected]).
It is not FOSS, license is Commons Clause + Apache. Not 100% sure about it, but it seems fair - the goal is to allow anyone to use fully featured version for free, with source available and sharing allowed (basically "Right to Repair"), but with a restriction on selling to 3rd parties, which allows me (or potential other future maintainers) to sell convenience - hosted service, support and similar. This is not set in stone though, so I would appreciate (constructive) feedback.
I am working on a file archive tool, written in go, to add random file access to .tar.gz of arbitrary size while maintaining compatibility as a valid .tar.gz.
The idea is to embed in gzip metadata the tar file index, and compress the gzip using small chunks of 1MB, whose offsets are also indexed in the metadata.
Since the indexes are written in metadata fields, it is invisible for normal linear decompression.
Thanks! I did not know squashfs, but yes it seems the same idea...
Thank you for your input, I think it might be of greater value if I could index enough data to provide a FUSE filesystem instead of a simple archive utility. That's a great idea, I'll look into it.
A couple of days ago, I launched a major feature for my website monitoring service (https://tryhexadecimal.com), and that is status pages. I have been meaning to do it for a long time since some customers were asking for it, and it will help to differentiate from competition in a major way. I had to migrate my Rails app from Heroku to EC2 to accommodate this change (I need to obtain both a wildcard TLS certificate for my ___domain and certificates on behalf of my customers).
Over the next few weeks, I will be polishing it and expanding the feature set, but that's not where most of my brain cycles will go, though.
I am still looking for marketing channels that will consistently bring right people to my website every month. A few things I am considering:
* Double down on writing. I do have a behind-the-scenes journal-y thing ... with 2 articles on it. It certainly needs more love. What I want to do:
1. every N days publish a "behind-the-scenes" story about running a one-person business
2. share it on relevant communities, get on some newsletters, and perhaps get some backlinks
3. build an email list
4. get organic traffic from search engines every month
* Double down on SEO. I have picked most of the low-hanging fruit already (technical & on-page SEO). I do have a single webpage that accounts for most of the organic search traffic (pretty low in absolute numbers), however, I feel like I'm missing on several adjacent keywords. Ungood!
* Start writing in-depth technical guides. You know, the ones that would rank for a whole slew of keywords, and bring in targeted traffic to the website. That's what DigitalOceans and Linodes of the world are doing, and I'm sure it does wonders for them.
Currently rely on statuspage.io and it’s critical for me. I’m struggling to parse if there’s any unique offerings compared to statuspage.io. Is there anything I’m missing?
I’m especially focused on the UI for the posting of a status page update. As our business offers multiple services and some can go down while others stay up. It can be cumbersome to deal with multiple data centers and services.
> I’m struggling to parse if there’s any unique offerings compared to statuspage.io. Is there anything I’m missing?
statuspage.io relies on third-party services for monitoring, while Hexadecimal provides monitoring in-house. That way you don't have to juggle between two services.
> I’m especially focused on the UI for the posting of a status page update
Status updates (both automatic and manual) is a feature I'll be shipping next. With manual updates, you'll be able to post them either via a Web UI or a Slack bot.
I'm working on an IoT rotating light (think like a real police light) that turns on with the sound of your choice whenever you receive a notification of your choice. It can be set up via Zapier/IFTTT or an API. New sale on your Shopify website? New star on a GitHub project? Website down? New mention from a specific person/word on Twitter? New subscriber on YouTube? Someone ringing your doorbell? Your fav sport team just scored? You get the idea. It just makes notifications a lot more fun and "real". I like to think it will help capture the same excitement as in Ghostbusters #1 when they get their very first client and set off the alarm.
Rewriting the NodeMCU-based chicken coop door in MicroPython (currently written in Lua). Also gotta rebuild/clean my anemometer and rewire the temp sensor for my homebrew weather station. Oh, and replacing the IRF510 on my Bitx40, since I blew it up.
Aside from that, I'm getting a lot of non-technical work done around the house, from painting to gardening.
Still working on my multiplayer LAN spaceship bridge simulator game called Space Nerds in Space[1], possibly the worst genre of game to be working on with coronavirus on the loose, since it involves inviting people over to touch your keyboards.
I'm working on a tool to make web apps without writing any code, so basically a WYSIWYG that's like Airtable + Squarespace in one. If you have a need for any internal apps for your company I'd love to hear about it! https://www.fabrica.dev/
A language study application (focused on Japanese and perhaps Chinese in the future) which learns and adapts to your skill level as you use it, to make time spend studying easier and more effective. In the app store soon?
The idea is to enter terms as you come across them. This could be from classroom materials such as a textbook, or from sources encountered in your daily life such as an article, book, or conversation. The terms entered become part of your repertoire. More frequently encountered terms are prioritized during study sessions. One of the difficult parts about learning Japanese and Chinese is the number of characters that must be learned. The app helps here too, by prioritizing the most commonly encountered characters as well.
Studying is done typical flash cards and a built-in writing journal. The flash cards are pretty simple to begin with but I imagine them getting more capable over time if the app catches on.
Saw this post kind of late, but I'm working on an event system for Unity 2020 that can handle multiple serialized parameters and use reflection to figure out the parameter types to use for each event. The idea being to slot in an event in the inspector and have the editor script update the fields to only show valid types.
I'm working on Tree-Buf: a serializer for data that is more efficient than the leading binary protocols, while still being self-describing like JSON or XML.
Working on an extendible hashing based database. 10 years ago I've built a storage product with the extendible hashtable functionality. Seeing haveibeenpwned recently I realized there's a need for this kind of db so I decided to redo it as a standalone program. I'll do it in Rust instead of C++ this time.
Working on https://contextualise.dev/. Contextualise is a simple and flexible tool particularly suited for organising information-heavy projects and activities consisting of unstructured and widely diverse data and information resources.
I'm studying reactor-netty[1], micronaut[2] and armeria[3] - to learn how to write production-grade servers with Netty from the pros. I have a couple of protocol ideas I know will be useful for some use-cases.
Also working on adding Java 14 support to zerocell[4] for mapping Excel rows to Java Records, efficiently!
Film restoration, though it doesn't technically fall under "restoration".
I run a site [0] that has a lot of old and indie films. Some of these are really great, but terrible quality, because they are very old with very few copies in existence.
Proper restoration is a crazy time consuming process, and often requires you have access to some of the analog sources, and the machines to read them.
But... What if instead of a full restoration, you focus instead on just making it watchable? Allow some quality loss to trick the human eye into seeing what is important?
The best result so far is on The Great Train Robbery [1], and I have a brief breakdown of the process over here [2]. (I also put together a soundtrack for it, using a MIDI synth).
However... Currently the process is _slow_.
Restoring a full-length feature film, like I'm trying with the Blancheville Monster, will take months, despite it running in parallel to cover as many frames as the CPU/RAM combo can handle. (The Great Train Robbery took about 2 weeks).
Anything I can do to speed up the process is helpful. Unfortunately, the most time-consuming step (up to 20 seconds a frame, but usually around 1-2sec), is also the most important and I don't think I can optimise it. (The simplify step that uses k-means clustering).
The process is also not perfect yet. There is still too much quality loss. It's watchable, easily, but could still be better.
I have a side project called Bukubrow. It's a WebExtension that plugs into Buku, a CLI bookmark manager.
I'm currently rewriting it in PureScript. It's hard to get pure functional programming's foot in the door at work - understandably, the business case against it is reasonable given our employee demographics (i.e. mostly Java devs) - so this is the next best way to learn.
I'm working on a service that generates a static version from any site in one click, then keeps them updated when content changes [1]. It's currently used in production for a few sites, and I plan to launch the beta soon.
Working on my slides for an intro-to-UART talk aimed at fledgling hardware hackers. I've been meaning to do this for a while, but now it's focused on tools a lot of people might already have laying around at home.
Building a DC UPS for some of my infrastructure. I had been postponing this as long as my RIPE ATLAS probe was rockin' a 6-month-plus uptime, but a corrupted flash drive ended that. Soooo, time for a whole pile of Schottky diodes! :)
Tending to my pepper and tomato seedlings. It's too cold to put them outside yet, so they're in my kitchen oriel window alongside my GPS/GNSS monitoring receiver.
Learning systemd unit files so I can have better startup and log-rotate and stuff for said monitoring receiver.
Tinkering with Docker and TheLounge so I have a better handle on my always-online IRC client, and maybe other stuff that might end up running on that box.
I'm trying to visualize Czech political Twitter, as cached under https://www.hlidacstatu.cz/data/Index/vyjadreni-politiku (10000 latest tweets from a selection of prominent politicians accounts, and no Twitter account needed to access them). As an example, http://www.mangrove.cz/vitrinet/sankey.html shows the premier retweeting/pestering the minister of health as the biggest flow, which looks correct, but hardly an insight...
A question I'd be interested in is discriminating organic, personal accounts from PR operations, but I didn't even formulate how to approach that yet...
I have a Figma plugin that shows different display sizes with their respective market share. It helps designers to test their mockups for different devices and make decisions based on that.
I'm currently working on a BE that would enable you to bring your own product data for a small fee. But as a designer, it takes far too much time. If there would be anyone who would like to join, let me know.
I wrote a small article about the stack behind it:
The problem: spam calls. Most current solutions use blacklisting, which doesn't work well. CallStop uses whitelisting, and allows you to accept whitelist requests, pause filtering, or let groups use secret PIN "extensions" to reach you. You can revoke or edit these PINs at any time.
You can use CallStop to filter out 100% of spam on both cell phone numbers and landlines. CallStop has a free trial (30 days) and after that it's $6.99 per month. Right now, I have a paying user base and am working on scaling it.
I'm working on an open source project - OctoSQL[1] - which allows you to query and join data from different datasources using SQL.
Be it MySQL, PostgreSQL, JSON, CSV or Excel.
It's now also being my Bachelor thesis.
Recently we've been working hard on getting event time supporting exactly-once streaming into OctoSQL. Which means we currently (on the streaming branch) support Kafka as a datasource. Run using on-disk state (which allows grouping big datasets and is still blazingly fast thanks to Badger which we use as our underlying storage).
Obviously with streaming SQL extensions, which allow you to view partial results even with standard datasources. We use a dataflow-like retraction model for that.
We should have a big release out soon, so stay tuned!
Current project is "how to entertain the kids after days at home without leaving the house or playing with the neighbors' kids.
Other than that, I've been trying to shore up some long standing bugs with a side project (hostedapachesolr.com) that I've been meaning to get around to for 3+ years.
I have been working on a calculator tool that aims to clearly show you how much your equity is worth (including information like taxes on exercising and selling, which recruiters typically do not focus on) and show how you can optimize your profit.
Currently, the main way the tool shows you how to optimize your profit is to show how much money you can make from exercising early. We also help you exercise the options with no personal recourse to you if the company goes under (we take a % of the profit during liquidation).
This is a problem I have faced with my equity and my hope is that a tool like this can help others from making similar mistakes with their equity.
Check out the product at https://equifi.io/ and please let me know if you have any questions!
I’m building an open source accounting system with rpc endpoints being the primary method for inputting data and a SQL database that can be queried easily.
For the most part that backend of the system is working how I want. I now need to build more front end ways to communicate to it.
One of the front end methods I’m working on is programmable journal entries. So you write your journal entries in a JavaScript file which gets executed in the context of the accounting system so you will have full access to the account balances. However this is still early stages:
I’m building an online math community for middle schoolers, by middle schoolers, of middle schoolers. Front end was written by a 7 year old so it looks quite funky. I want to keep it fun and quirky, no adult influences :)
I'm putting even more hours into my day job. I build software for small government entities, and their transition to remote governance means we're picking up the pace and pivoting to features that will help them continue to govern our cities and schools during this crisis.
Mostly just a toy to learn some AWS/Serverless and security stuff, but a tool similar to burp collaborator for dns / http canaries tied into a slack bot. Essentially request a new canary url, you get back a unique endpoint such as 123456789abcd.detect.___domain.com, and any time there is a DNS request or http request of any kind to that canary url it sends a message to a slack bot with relevant info, and includes some geoip data and a static map image of IP locations (via mapbox static image api). Considering doing my own plugin for mitmproxy (similar to burp collaborator everywhere) that can be useful in looking for ssrf vulnerabilities. A couple tools out there that do this, kind of just wanted to build one myself for the learning experience.
I'm working on an app/website called GroceryFriends.
GroceryFriends allows people in need to create a shopping list and post it so that other people who are feeling generous and/or have surplus can find people in their area in need of certain groceries and provide it for them.
I've noticed a lot of at-risk people are putting their lives on the line (and potentially spreading the virus) just to go shopping at stores that are sold out. Also, a lot of people are out of work and are completely screwed by this, struggling to provide for their families. It's absurd, and there should be an easier way to help for those willing.
Trying to figure out how to host an online hackathon now that all universities are closed. Requires a lot less logistical work and _way_ less funds but hard to drive engagement. Hopefully people will be bored enough in a few months and we can still get great prizes from sponsors
Couple of projects with a friend (pairing on stuff is way more fun for me than working alone) Built a free Chrome extension with a friend that shows a UX Design Principle with every new browser tab, and a remote UX jobs bot which generates a site and posts the jobs to twitter. The latter is written in Python and runs off a Raspberry Pi under my desk - so I don't need to pay for an EC2 for an experiment.
Newsy is my current project. I have quite a few un-used idle domains, which I have been meaning to develop for quite some time but never had time for.
I wanted to quickly create a site that worked well, runs on its own, content-driven and few other features that I wanted in it (e.g. membership, automated newsletters, ability to sell ___domain or get leads) - imagine a Reddit-like content aggregator site. So I created Newsy.
Still early phases, so keeping it Android only for now, but I have been using Flutter so looking forward to expanding to iOS once I have the design flow and enough parity with the website.
I'm working on a Hacker News client that I've named HackiNews [1]. It's inspired by HckrNews [2]. I've made it simply to scratch my own itch but with others in mind.
I wanted more granularity in the score that I filtered out. I also wanted night mode (automatically switches with system chosen theme) especially in the comments section.
I have the code available here on GitHub [3] but it's not documented for use as I've only spent a couple days on it.
I'm working on a web application to help kids in the Netherlands learn basic math: https://elkedagrekenen.nl/
I'm working together with my son's teacher, who is also working at a local school. It's for kids that might not have the privilege of getting private lessons. I'm a backend developer, but I fell in love with Elm and built the site entirely with it. I host it on GCP.
I'd like to build a template system to support multiple languages, but I'm not sure the so-called calculation strategies kids in the Netherlands learn are the same for kids in other countries.
If you have kids in primary school: please give it a try and let me know what you think?
I'm working on a small tool to reconcile resource associations that may be lost when exporting data out of one service and importing into another.
For example, if you want to transfer your stuff from Evernote into StandardNotes, you can export your note content as ENEX and use a conversion tool for it. https://dashboard.standardnotes.org/tools
Unfortunately neither export file nor the provided import tool handle Notebook info (StandardNotes doesn't have notebooks but it can approximated with tags).
So this tool creates some of that missing metadata that is extracted from the export service and is converted into a format that can understood by the import service.
Resident physician in NYC, not yet called as backup on the front lines. From comfort of home at this point refreshing my knowledge of ventilator settings. Also in spare moments have been considering similarities and differences between operating scheduling algorithms like multilevel feedback queues etc and heuristics used in crisis management, especially when there are both technical tasks like patient emergencies and managerial tasks like organizing staff and equipment going on at once. In a similar vein, comparing which process loads cause failures of scheduling algorithms, and which set of process loads would cause failure in various processing units of the hospital, some of which may be more obvious than others.
I’m a programmer in NYC and my spouse is an MD/surgeon/fellow here. I’m also fascinated by the idea of applying queuing theory and Little’s Law to medical capacity issues, especially in times of capacity strain.
I've been chipping away at a New York Public Library python client. They don't have an api so it's just scraping. Their website is just painfully slow to login and check the status of books so I'm building this for fun.
https://github.com/RayBB/nypl-patron/pull/1/files
Imagine google forms/wufoo/survey monkey with a few things that all those other apps don't, like;
-dynamically calculated values
-conditional validation for inputs
-hide/show options
-more that is still under construction
It could be used to take user input, but it also be a UI calculator tool that could be put up on the web very quickly, (not unlike howmuchtoiletpaper.com), allowing non-technical individuals to build dynamic user interfaces.
It still needs work, still trying to decide if it a SaaS app or a tool to build dynamic forms for people. It's inspired by the "configurator" part of a Configure Price Quote (CPQ) app. I'm hoping to release it by the end of spring 2020.
I am working on my website that represents my view on how to learn a language (here Japanese) in a fun way by reading a ton of comprehensible input from day 1.
We are working on a "no code" editor - sketch to react
Our goal is improve 10x productivity for frontend engineer to write web and app UI code by using the editor.
Our first version is target on the most popular design tools "sketch" and most popular FE framework "React"
The idea is developer just import the sketch and can generate the UI code with some editor adjustment
A fully local, tag-based system for annotating/searching a number of different "data sources" (i.e. browser bookmarks, local files, twitter bookmarks) that all get unified under one interface.
You set it up to monitor some data source and then it keeps track of when items are added/removed to/from it.
The items from all data sources can be tagged, have notes attached to them, etc.—then quickly re-discovered through the search interface.
Still early, but it's functional for Chrome bookmarks atm (should get local files handled in the next day or so): https://github.com/westoncb/mymex (scroll down for screenshots)
Pretty cool! I've done lots of work to unify data from different web/local/phone sources as well, you might find my post useful: https://beepb00p.xyz/hpi.html
That's awesome. I think what we want through these systems is very similar—I completely agree with your philosophy as you describe it.
I think my emphasis is a little different since my primary interest is annotating/finding pieces of research. So I don't need to do any data analysis; instead having an efficient UI for tagging/adding notes to things and searching are the key features.
That said, it would still probably be better for me to use your lib to sync with the couple data sources I have in mind rather than rolling my own thing :)
One data source I didn't notice was for file system locations(but I may have just missed it)—this is a major one for me: I want to point it to a folder and have it keep the recursive contents synced. That's how I'll deal with local collections of e.g. PDFs.
A website builder that is 10x easier to use than the competition.
Why? There are too many small businesses without a website. The upfront cost is too high to see if a website benefits their business. Wix and Squarespace and such are way too complex to use for an average small business owner(or say their kid). Most customers of these websites hire a 3rd party to develop their website. That costs more and takes longer.
Solution: if you can build a website without any training using an intuitive interface 10x quicker than what you thought it would take, most likely you build a website for your business yourself.
I have the MVP ready, and some customers. Currently I'm trying to scale to meet the demand. There is still a long journey ahead.
I have been obsessing on creating kubernetes clusters on existing virtual machines. As part of learning how to create them, I ended up writing two projects -
A golang SDK to provision a cluster on premise. This basically abstracts kubeadm.
https://debarshibasak.github.io/go-kubeadmclient/
Working on aggregated product search for peer-to-peer and resale marketplaces (OfferUp, eBay, Poshmark, StockX, etc): https://www.meetsuperset.com
Resale is the fastest-growing category in online retail.
1 in 3 Gen Z shoppers are on it, 60% of women consider it. On top of that, there's the Marie Kondo effect and the current macro situation. I wanted to build something that lets you search in multiple places at once, so it's faster and you don't miss out on deals. No ads, no fake reviews.
I'm hungry for feedback! This project is also a winner on https://pioneer.app :)
A comparison shopping app for (legal) digital movies, so I can just go to the app to find the best prices rather than the one app and six web pages that I go to now.
Between being laid off then having to go on disability for a year just after that (2019 was fun), I need some additional skills in the current job market. It just so happens that this project covers all the bases: new language (Go, which I really like), cloud computing, cloud-native architecture (containers and much more), and mobile app development. I really hope I get a job before I'm finished but this is something I'm motivated to work on and will give me some experience that the next job may or may not.
This is what I replied with last time this was asked. I had big plans for April to August, including going to trade shows, and ramping up pop up shop locations. Obviously things changed quite a bit, but it comes to show just how out of control ones business can be at times:
Skincare for men (https://www.mendskin.co). I commented in a similar thread 6 months or so ago, and it’s been solid. First started as D2C, but that proved to be a terrible decision. D2C is effectively dead. Now working with online retailers and my own online store. Wasn’t profitable last year, but so far this year looks good because of our partners.
My partner works in the make-up and skin care industry. She thinks the majority of men simply don't care about their skin, because wrinkles and Crow's feet are sexy on men (her words). I wish you the best of luck.
I’m working on an IT job platform which aims to improve on a range of aspects that generally suck about recruiting and getting hired.
We focus on actual understanding and clear communication of tech expectations, personality and team fit, culture and meaningful benefits.
There’s too much bullshit going on.
I’m currently in the phase of doing demos for customers, it will soon be available at https://moonka.space.
Meanwhile, whether you’re a developer looking for a job in the midst of this turmoil or an entrepreneur looking for people, join us on Telegram, https://t.me/moonkaspace
It detects faces, objects, tags, extracts metadata and provides search interface and API. So you can for example find image with "cat and dog near river with some person"
I want to build enterprise level image search :)
Google Images, for example, uses in most cases alt text and surrounding content.
Google Photos is limited to personal collections.
I have finished prototype and now trying to convert it to startup
Backstory: When scheduling my interview, I realized that the scheduler API didn't require auth while snooping around the console. Figured that most people looking for interview times would be tired of logging in several times a day just to find openings so I built this app a few weeks ago. Long term goal is to have it notify you when a slot + ___location you're interested in opens up but it's open source so anyone can have at it!
Building a 3d-printer filament dryer and storage box.
I mostly print nylons and PC and with the humidity here in HI it's a big pain to keep it dry enough. Even drying the spools in the oven doesn't really work because it takes days for the inner parts to dry out. So instead I'm building a heated and dehumidified box that will hold 8 spools and can feed the filament directly into the printer. The box itself is foam and fiberglass, the heater I'm reusing an old 3d printer bed heater, and the dehumidifier a thermoelectric element from a broken wine refrigerator.
Yeah I've seen what people have made but they mostly appear to be modestly heated enclosures with desiccants. Desiccants get saturated very quickly here unless the box is super sealed (that's what I've been using for storage so far) so it's a drag. I also want to be able to heat this to maybe 80-85C to really dry out the nylon continuously in situ, so it has to be pretty well insulated or you'll use a ton of energy.
Interesting, we have the "cheap" Markforged printer - $15k hah - which seems to be stupidly reliable (never had a failed print). Their drybox isn't heated at all by the way, so it's not clear how much it makes a difference, but then we're not in a particularly humid area (North England) and the lab has air con.
Working on a marketplace that shows you all kinds of subscription services/tools with free trials in one place, combining it with automatic reminders so you can hop through hundreds of trials for free without forgetting to cancel.
Also made a Chrome Extension that automatically detects trials on websites and makes adding reminders pretty much just one click.
My brother and I are working on a site where users can create fanfiction comics to post and share online. It's basically Webtoons, except, all the content is fanfiction in art/comics form
We just started the actual website this week after planning.
I work at a University, where face-2-face lectures have stopped and the premises are closed for students, but teaching will continue to go online.
I teach programming courses, but I have always organized them around projects with real f2f communication and intensive critique of the work that is being done. This will have a heavy impact now, as none of the online tools (commercial such as Zoom, Webex, Kaldura, and open source Jitsi, BigBlueButton) can really help.
Most such technology is designed for online meetings of "disconnected" collaborators, and not as a real substitute for close collaborators where the whole body language takes part in the communication.
Getting back in the daily live streaming routine and dogfooding my platform. I’ve been homeless for 2 years after burning out in tech and recklessly draining my savings to build a POSSE streaming video system. I felt the calling. Continuing to work on it from the back seat of my car. Marketing is my shortcoming.
I recently decided to find 10 people who want to create interactive video projects or vlogs. Email me if you want one. I’m about 5/24 hours into a hackathon, streaming on Twitch and YouTube as ispoogedaily (iSpooge Daily) and email is in my profile. I’ve been dogfooding for 2 years and have gotten great feedback in 2 big hackathons.
1. A company playbook writing tool that helps you document team and company processes. It gives you a nice online browseable playbook, along with .epub and .mobi download.
2. Adding more advanced features to my https://yuml.me UML tool, including text formatting, UML packages, and a more succinct DSL.
3. A contract e-signing tool that doesn't suck on mobile. For some reason, every digital signature tool I use feels yucky.
4. A tool that lets you write out user stories and converts them into example mobile wireframes by parsing the text. You can also do point estimations for relative sizing.
I'm working on a simple site for running polls using alternative election methods like Instant Runoff Voting, the Condorcet Method, and Borda Counts: https://poller.io
When I looked for sites to run polls with ranked voting, I was surprised that nothing really fit my group's needs, so I figured I'd make one. The site is working (in MVP form), and I'll iterate on it more in the coming months. I'm hoping it can spread awareness about different voting schemes in addition to being a useful/simple tool for decision making.
I am not a trained fabricator nor a certified welder but I’m starting a turbo manifold for a non-turbo car and I’m trying to avoid learned mistakes from other DIYers. We’ll see how it goes, luckily I get to work from home this week.
This started as a way for me to learn RoR and angular a long while back but it ended up becoming my passion project... https://www.climbcation.com is basically a wiki style site that lets you filter through world-class climbing destinations. A lot of climbing destination catalogs don't have much structured data so Climbcation gives people a chance to filter through with parameters which are useful for planning trips.
It's not exactly the most useful site given the pandemic but hopefully people will derive some value out of it when this is all over.
The quarantine did not change much for me. I am still mostly working on EasyClangCompelete [1] - an easy to use (at least that's the goal) auto-compeltion of c++ code in Sublime Text. The goal is to make it work out of the box for as many systems as possible. I've been working on it for a couple of years now.
Otherwise, I did find out that now I have the time to learn some things I wanted to for a long time (like OpenGL) or play guitar again, so that takes the remaining time.
Working on Dipla, I mini social network for local communities, you can post things and comment anonymously, posts stays the area for some days.
We believe this could be used to warn about things around, or say some critics for shy people ...
I am leading several efforts helping multiple state HIEs (health information exchanges) and hospital associations gather COVID-related data which they can't obtain any other way due to the US's terribly disjointed healthcare system. The data we are providing to the various states is pretty depressing.
We are also getting close to standing up a solution that allows Washington State and NY state and others to search for patients that took COVID tests but for whom they only have partial demographics. The solution will allow the states to find hospital visit history and full addresses.
Are you saying you might be interested to help? Huh, that is interesting - it hadn't occurred to me that other's would be interesting in assisting. I don't think we'd be able to work out the regulatory issues since we are dealing with PHI, which requires a bunch of red tape.
We are about 2 months from having a full enterprise-level SaaS product ready for production. ONC (HHS) funded it, so we will be publishing an open source version as well.
We have always thought there would be very little interest in anyone else wanting to use the open-source version, but it's possible that there would be far more interest now with the current crisis. We were trying to be ready for the upcoming hurricane season and Covid-19 took us off-guard.
I will post the open source repository on HN when it's available.
I'm working on a site where creative people can find others to collaborate and work together on creative projects. For creative I mean visual artists, musicians, developers, moviemakers, writers, designers, etc, etc... Example of projects I foresee: game developers searching for artists, moviemakers searching musicians for a film score, writers looking for designers, etc, etc: https://collabomate.org - Right now the site is very simple but my plan is to take the quarantine as an opportunity to add more collaboration features.
Currently building a web drawing program that can create custom data visualizations. Think “no code D3”.
It has required some pretty cool tech. I’ve essentially built a reactive expression evaluator in typescript. This allows me to do things like “rectangle.height = foo + bar”. It’ll then setup “foo” and “bar” as dependencies of “rectangle.height”, watch them for changes, re-evaluate the expression, and update the rectangles height.
I actually started with Svelte, partly because I wanted to learn it. I couldn't figure out a good way to tie its reactivity to my needs so I ended up dropping it in favor of Vue.js.
As for things to show, it's still quite early as I want to nail down the rendering engine. I've yet to create drawing tools which will allow me to more easily create complex visualizations.
Here's something I pretty quickly rigged up though which I think is fairly mesmerizing: https://imgur.com/a/ELhwWo5
I am developing an algorithm to trade cryptocurrencies and the platform to test in real time the performance of potential strategies. I am using Node.js/AutoML for the algo and Vue for the platform. You can check it out at https://bitcoinvsaltcoins.com This platform is open and free to everybody to add their strategies for real time PnL tracking. The goal of this project is to provide an easier way to trade cryptocurrencies by simply allowing you to follow the trades from the best auto trading bots/strategies.
An email sandboxing and testing application called MailSpons: https://mailspons.com/
Primarily, it allows developers to set up fake inboxes for their local development environments.
The only thing you have to do is change the SMTP settings of your local environment and then all mails will be caught by MailSpons.
The next step is to automate end-to-end testing of applications by reading the sent emails via the API. I am currently writing the documentation for that.
Please don't be put off by the homepage. I, a developer, "designed" it ;)
I’m working on a problem I have myself as a developer-founder: how to prioritize my dev and product time and focus on one project. Happened so that this is not only my issue. It is pretty common that it was a topic of one of the y combinator startup schools lectures. Here’s a link to the early version built on firebase and react: https://www.priorittime.com/
Still have to figure out how to make it smooth and intuitive. But using it now myself: dogfood.
So if anyone has suggestions, pls comment. Thanks.
I'm working on a password manager desktop app called JSON Password Manager. JSON Password Manager fixes a few problems that I've found in other password managers (e.g. LastPass or Dashlane) in the past, namely:
- security -- while most popular password managers use "military-grade" encryption, everything is still stored in the cloud, and the user does not have direct access to where the data is actually stored
- customizability -- I want the freedom to design how passwords and encrypted data in whatever way I wish, not having to conform to a particular online UI or mobile app
JSON Password Manager is based on JSON, meaning all of your encrypted passwords and account data can be completely edited as plain JavaScript-like objects. You can store key value pairs for your username, password, and email of an account, and include an array of objects for your security questions, for example.
Every piece of data and JSON stored in JSON Password Manager is encrypted with AES-256 bit ("military-grade" encryption) and stored as hex in a singular file. The encryption key is derived (with pbkdf2) from the users chosen master password.
The desktop app allows users to download the encrypted data file with all their passwords and transfer/use it as they wish, which means users have complete control of their encrypted data.
When they want to view the data, they can just upload the file to the desktop app on their given device, enter the master password, and they can use the encrypted "vault" on that device.
JSON Password Manager is all completely open source (MIT License) on Github: https://github.com/xtrp/JSON-Password-Manager, which is great because any potential bugs, security problems, and feature updates can be done quickly and effectively.
I've currently built out the entire password manager (although not fully tested yet), and am just working on expanding the desktop app to include new features like a strong password generator, a settings tab, etc.
I'd love suggestions, so feel free to respond to this comment or email me at [email protected].
Working on my chess AI sandbox game ChessCraft on Google Play. Version 1.7 will have pieces that cannot be captured (iron pieces), and choosing your language to override my crappy translations, optionally. Popular request ;)
I’ve been diving deeper into Crystal (which I think is amazing and elegant and really fun to code in) and learning Svelte, which is also awesome and powerful.
I released a super early alpha preview do-not-use-this-in-production version of a mini-framework to builds web apps with Svelte as a drop-in for the view layer and Crystal on the back end:
An extensible node-based system for designing visual novels and other kinds of narrative games, with a visual editor that tries to encode as much plot information as possible, so it can provide useful visualizations.
Yes, I am working on some stuff. Mainly, I am working on TeXnicard (fossil repository at [0]; if anyone is interested in it, I would like to have some help, please), although I might also set up a telnet service (possibly with some card games).
Some other things I might do (but currently am not because I am working on TeXnicard) include Free Hero Mesh (a puzzle game engine), and a media-independent poll/survey program I am writing.
I'm making a touch-based audio/video performance tool. The elevator pitch is that it fuses dj'ing and vj'ing together in an attempt to allow for more interesting audience experiences, but that's semi-misleading as touch surfaces aren't good for what's traditionally considered Dj'ing.
Hence, I instead prefer to think of it as an audio/video tool somewhere between production and performance. Some out of date info can be found here: http://www.planmixplay.com
We (wife and I) decided 2 weeks ago to go into producing learning materials, paper based and computer based, for several topics. Me appreciate making money, but have a better feeling when trying to make the world better by educating people. We will produce several smaller projects in 3 languages: German, Persian, English. We do not plan to "take over the world" with what we do, we just want to do something useful.
Next week we will have the first release of an exercise book for grammar (parts of it were written some time ago, but never refined).
I'm working on a task and field management tool for non-desktop workforce.
We were supposed to launch it to the market next month but because of the situation we are in we are adding a few more features that will make it even better to ensure proper communication in hectic environments and with a better overview of geo-fenced task lists and we are not going to charge until we are out on the other side of this.
Mostly working on the same thing I’ve been working on: a YA SF comic. “Parallax” is about culture clash, adults acting in the cold interests of what they think is the greater good, growing into adults facing those same kinds of hard decisions, and lots of cute cartoon animals. I draw it, my SO writes it.
It’s free online at http://egypt.urnash.com/parallax/, if you have piles of money from your software job and you like what we’re doing then there’s a Patreon.
Not a personal project, but I've recently decided to start contributing to the Vala compiler. If you're bored and have any interest in compilers, I recommend it. It has a relatively low barrier to entry and the code organization is decent by the standards of 90000 line projects. The barrier to entry is I think a little lower than with rustc, although to be fair I only know a little about rustc.
Other than that—not a coding project, but I have been messing with a novel cement composition. It's stalled due to coronavirus making it hard to get equipment.
I'm building a covid-19 visualization app, and today I've been working on an interactive comparison tool that allows you to set the base time for graphs, eg, "cases after confirmed case number 100".
First feedback has been great. It's in Spanish and although I intend to translate it to English, I want to prioritize other features like a table, and enriching my data with demographic and healthcare stats like hospital beds per thousand.
I'm currently on a post-university gap year and making a couple of iOS apps, having been doing so for the past few years.
The first app [1] is pretty niche but a technically interesting challenge nonetheless; it's a fast auto-checkout bot to be used on Supreme [2]. There's other apps just like it but they all seemed to cost upwards of $50, so mine's available for around $10.
I grew up playing tower defense games on Kongregate and Warcraft 3. I loved building an intricate maze of towers, optimizing it's structure to get the maximum efficiency, and building on my mastery of the game. Even more than that, I loved how players could collaborate and build these mazes together to form an even better structure. I've been working on an indie tower defense game that I hope captures this essence of strategy and multiplayer. I'll be releasing this game on Android within the next week and iOS shortly after!
I, with a friend of mine, worked on creating a static website - https://learn-from-home.herokuapp.com/ to learn from home during the lockdown. It has a list of many of the free resources available right now.
While going through the comments, I was inspired/amazed by https://grocy.info/ and I'm thinking of building something similar. It is really helpful.
Im working on this: https://tryoldster.com/
If you know any devs seeking remote work with. 10+ years of experience please send me your contact / info. If you are a company seeking experienced developers / engineers / technology experts please send me your job listings. I needed content for the landing page so i grabbed it from the monthly HN thread. I suspect there will be a LOT more remote job / work from home opportunities coming.
I'm working on an album that represents my shift away from synths to sampled instruments. Synths are fine, but my computer is old and a whole orchestra runs on the same amount of CPU as one synth.
I'm building a side project around launch SaaS products as quickly as possible on a JVM stack right now. As a dev who cut their teeth at a bank then a FAANG, I found it really tough to move from working on a small complex part of a big thing to working on broad problems where I felt like I was implementing the same things (password reset, user management etc) over and over.
I know that Laravel for PHP and Rails in Ruby land have this kind of thing locked down, but I would have loved to have something like Laravel Spark on a standard JVM tech stack.
Development mainly. Spring boot is great and I'm building on top. It doesn't come with a bunch of stuff out the box though:
* Meaningful production Auth flows (emails etc)
* Various admin functionalities (e.g. user management)
* A way to get paid (e.g. Stripe integration)
* Etc.
If there's a flavour of spring boot that comes with this out if the box then I'd be interested in using it.
I just finished the 32-bit parts of a RISC-V emulator, and I have been doing performance optimizations. Just hit a wall and can't make it any faster, but I'm happy with the speeds now so it's all good.
Now I have this really stupid idea to replace my Lua scripts in a game engine with RISC-V binaries. So, if it's stupid and it works... I've already measured it to be wildly faster than Lua, but Lua has a convenient interface.
The emulator can be serialized to memory and restored elsewhere / later, but I have no idea what good that will do.
I am giving Portable-VirtualBox some love. It is an open source software tool that lets you run any operating system from a USB stick without separate installation. A lot of issues with Windows 10 is unresolved: https://github.com/vboxme/Portable-VirtualBox/issues (Any help would be greatly appreciated).
It's nothing yet, but I'm trying to hack on ProseMirror(1) and make an easy way to make quizzes (think EdX, or something - cloze, multiple choice, drop-down, etc) that can then be embedded in a page (e.g. export HTML, paste in Ghost CMS).
It needs to be usable by regular people like my teacher.
Learned about ProseMirror here in the thread on Edtr.io. It's very 'lego-y' and I think it'll work well, but the complexity is off-putting.
I set out to build my own contenteditable based editor and after a couple weeks of banging my head on it, I do appreciate Prosemirror's very rigorous approach. I suspect it might be the best choice for me as well.
I find the documentation lacking. Reading some issues, the author admitted that the magic global variables/functions could be confusing (I could be mistaken on the exact wording).
I've found myself reading the source code to figure out how to use it, after reading through the docs a couple times. I like the idea of not mutating but returning a new state object (and this idea is throughout).
Started reading his "Eloquent JavaScript"; I his code, and feel like I'm learning stuff. Just need to wrap my head around my requirements and data, then it'll be simpler.
- Writing a lot of music, both for practice and for an indie rhythm game some friends and I are developing.
- Spending a lot of time with my kid now that she’s home from school and I’m working from home without my commute sucking up time. We’ve been playing games together, building with LEGO, and just enjoying some carefree kid time.
- Cooking all meals at home. My spouse and I are both decent cooks but this is a good chance to get more practice in and try some new recipes.
- “Socializing” with friends online via Slack and online games.
I am working on bringing my Honda Rebel 250 back to tip top shape. I have been riding a bigger bike for just about a year but want to get the Rebel working properly so I can sell it to the next new rider to get them into one of TK favorite hobbies.
Never underestimate the power of working with your hands. It has a wonderful effect on the mind. And when you are able to, get your motorcycle license. It’s the original social distancing machine, gets you into fresh air and the Rebel gets 65-70 mpg which will be great in the apocalypse.
I am working on building a student accelerator. The first version is available here https://horizontech.dev
Everything is completely remote. Meetings through zoom. Messages through WhatsApp and Slack. Project Management using
trello. Code in github and gitlab. Video with the help of loom
Working on a way to take the output of Event Storming and translate it into serverless applications.
hashtag DDD, CQRS, etc. etc.
I really don't know much about either (learning a lot), and when I tell people about it their eyes glaze over but whatever I still wanna do it.
https://github.com/stochastic repo is still private but I'm willing to add anyone interested. I just don't want to be judged on how bad a programmer I am before I have time to clean it up a bit.
Hey everybody! I am together with my brother working on a DSL for building full-stack web apps. It is a pretty big task but we are trying to go step by step.
Working on a Twilio auto-responder. It is pretty simple, but also building a front end so people can manage the keywords. I have all of that working, my next step is to put an actual password on it. I'm looking at Okta, but I'm not sure if that isn't total overkill. It is going to never get used by more than 10 people and mostly just by 1 or 2.
For the moment I just have the least secure setup possible using some JavaScript to hide the HTML until you add a password. Anyone who can inspect the page can bypass it.
I'm working on Superwet Fantastic.it's very tongue and cheek for now. But i'm making progress. Spent 3 months amassing a 30gb chord/tab data collection. Most of my time being cleaning the human uploaded mess. It's showing good potential now and I have a todo list hours long that hopefull will result in the model being powerful enough for commercial applications.
This is a cool idea! If it supported both MathJax and rendering SVGs from code it would be a strong contender for writing interactive explanations (like https://explorabl.es/).
I am working on a low-code volunteer management system for crowd tasking volunteers. It will use Whatsapp, Google sheets, and Google forms for registering volunteers and notifying them about volunteer tasks.
I like to tinker with my fit to dial things in, but there are so many potential dimensions to tweak that it's easy to "get lost."
Long-term I envision it as version control for bike fit where you can make a change, test it, add some notes, and then decide whether or not to commit the change to your new baseline fit.
At this point, though, I've only implemented the input forms and a historical record.
Super easy slack app to send weekly check-ins to your distributed team and get back insights from them. Some of our early beta customers are using this to figure out who's disengaged, is everyone on same page for the project and who needs more 1:1 time with the manager etc
Excited to help grow the remote ecosystem. We just closed our first annual customer and super excited to keep heads down execute
I'm working on a native programmable tooltip that can be used with any Mac OS app.
You can select a text on any app and hit the configured shortcut to activate tooltip.
I program this tooltip to speed up several of my workflows like opening a JIRA ticket , opening a file in IntelliJ from a stacktrace, and show humand-readable time from seconds from epoch.
The tooltip has been very helpful to me, and it might be useful to you.
A lot of my friends are electronic music producers and DJs, and many of them have now lost all or most of their income from live events. I made a super hacky site to host a "TV Guide" for all the online streams these artists are hosting. It's been a mix of tutorials, production sessions, and DJs sets so far.
The hack: It's a Google Calendar embedded into the README of a default Github Pages theme. Open to PRs lol.
I'm not a professional coder so it's mostly a toy project to get me programming and learn new things but I also use it for a couple of my blogs and add features as I want them.
It's CGI/fastCGI based with SQLite3 for storage. It integrates well with lighttpd because of its fastCGI process manager.
I was playing Minecraft with my son, and besides clicking on things, it also has some commands that you can type in to change blocks. For example you can fill rectangular areas with the same block. I got curious about whether you could compress images by reducing them into a bunch of rectangles. Due to some limitations it wouldn't really work for images, but I got it working for QR codes: http://craftqr.com/
Working on a SQL query builder with vim-like keyboard interface to explore data.
Often times, for any real-life data, there are exceptions to the data over different periods of time. Building complex queries that handles these exceptions while not having to hold these in my head gets to be challenging. I want to build these queries iteratively with contextual help and autocomplete. I wanted something that makes me feel like I'm touching the data directly.
If this is something you find yourself wanting, let me know.
A few color palette based PWAs:
https://colorpalette.app/ is a tool I'm building to quickly generate color palettes and https://accessiblecolors.app/ is the second stage of the process that systematically ensures color palettes follow an accessibility standard loosely based upon tailwindcss default colors.
Completely irrelevant to the world, but I'm finally breaking free of my ISP. I've been going to all sorts of accounts and pointing them to an e-mail address that isn't locked to an ISP. Then I will move my little personal web page, and transfer my home phone number to a prepaid cell phone.
This was triggered by realizing that with the whole family working from home (2x work, 1x college, 1x high school), our old slow ISP was going to be overwhelmed, so we signed up for new service.
Needed one for several of my sites, so decided to build it.
Started it earlier this year as a side project and meant to focus on it now as I don't have a real client. But honestly finding it hard to be very focused on anything at the moment.
I built a workout app for Android/iOS in React Native! It's called Workout Warrior (https://workoutwarrior.app).
It allows you to create your own workout from scratch and tracks your progress. I built it to give users users complete freedom over their workout; you control the sets/reps, the rest-time, and even notifications (or lack thereof).
The project is still in its infancy and I am adding new features as we speak (:
I'm working on http://trymaniac.com which is a set of tools to make documenting code easier and faster.
The basic idea is having the code itself drive the documentation. This means:
- Autocomplete that's powered by the codebase/previous docs.
- Code tracking so documentation doesn't go stale.
- Automatic updates when the changes are simple/minimal.
Would love to hear everyone's thoughts/feedback. Anything I'm missing?
I’m working on amna. It’s a better way to manage everything we do. We’re constantly switching between different tasks and use various pieces of information to help us (docs, websites, emails, chats) to help us get those things done. Consider this across all your head spaces, maybe you’re planning a trip at home, and coordinating with volunteers at work. A better to way to keep up with all that is what I’m building.
If it’s interesting, drop me a msg. Planning to open source it (getamna.com)
https://repocounters.com
This is a tool to track download history for Github releases over time. I'm working on adding support for Github packages. And Docker is next on the list as well.
The other project is Stilton. Not available yet. It is a centralized certificate issuance server for ACME protocol, primarily targeted for organizations running large number of domains and need TLS certs for them.
I'm working on my meme making app, Meta Meme https://metameme.app/. It's a meme maker i've had out for a couple years, started as a side project, now generates mid four figures in revenue monthly, recurring. Also just released Token, a new dating app, match making for misfits. https://tokendating.app
At its core it’s an elixir server which listens to Postgres’s built-in replication functionality, converts the byte stream to JSON, then blasts it out over websockets.
It’s working in production at a few companies now. My next goal is to build connectors to other systems like Kafka, SQS etc
FWIW, the README.md says "the Phoenix server listens to PostgreSQL's replication functionality (streaming WAL)" - that makes it sound like you're actually parsing the WAL itself. But you seem to be looking at the already decoded data (using postgres' logical decoding). That's the right thing to do, please don't get me wrong. Just suggesting to clarify.
I'm working on my scheme/lisp interpreter in JavaScript, it's getting closer to real Scheme. Right now I'm reading R5RS spec and adding new functions. It have pretty nice interop with JavaScript and work in browser and Node.js.
I created https://projectconnect.us a few nights ago as a central ___location for small businesses that are still open in our area to promote that they are so. The service allows for businesses in other locations as well.
It had a lot of traction the first day, but kind of lost traction. As long as people are able to reliably find the resources they need, then I’m OK with mine not being their first choice.
I'm working a piece of generative art, a rendering of the milky way galaxy.
I enjoy doing interactive art on the side. e.g. https://nicholasbardy.com/, but I've always hacked it out on my own. I've recently been studying some of the state of the art techniques(Signed Distance Functions) and I'm excited to make something running on the GPU.
I've been working on a personal knowledge base called mmap.it. It's like spotlight for all of your workflows and code snippets.
Basically combines a markdown editor with full text search and all functionality is made accessible through global shortcuts so you can look up information without context switching.
It's free with plans to be open sourced in the next day or so. You can check it out here (https://mmap.it)
I built something similar at my last job to keep me sane. It was incredibly beneficial. I'm rebuilding a different version now and wondering what you're using for search?
Do you have any additional metadata fields like "tags" or "categories" that can also be searched?
"A Beautiful Remind" - HTML renderer for Dianne Skoll's "Remind" program. This is a side project of mine to learn the Rust programming language while under lockdown.
While that's cool and all. I didn't really like how it turned out so I started rewriting it. Right now I have an api, separate scrapers, and a discord bot. It all works independently so if one of them dies the rest keeps chugging along.
Now it's time to rewrite the twitter bot and I'm all good :-).
I'm making music to escape the screen, so I don't just sit at my terminal for 16 hours a day I'm taking a few hours at least every day to try and make something other than software/hardware.
The washing machines in my building are often on the fritz or steal money. I was going to make a simple web app where you can see which ones have been recently confirmed working or broken. It would rely on user input. I think I'll try to do this with AWS s3, lambda, and athena. I want to have operating costs below a couple dollars a month, since I will likely make no money on this. I've also considered trying to use Google Sheets as a backend.
I am working on a key-value decentralized datastore on blockchain called Kevacoin. Some people are using the datastore to record the events and news related to COVID-19.
I've been working on a lite PHP library acting as an agnostic query engine to aggregate content from different (files, API, SQL, document oriented, ...) kind of datastore and ease the usage of some aggregations : terms, facets, ranges, min, max, average, ...
I’m creating a QR Code Generator web application! I’m a CS student, but haven’t really done a lot of personal projects, so I saw this as a unique opportunity. I’m using it as a way to learn more about TS/JS, Firebase, the math behind error correcting codes, and the web in general.
I’m really excited about this even though I feel it’s a bit beyond my current abilities and may take awhile to complete. Seeing myself make small amounts of progress is exhilarating! :)
Researching and learning more about fuel cells, hydrogen, and the "hydrogen economy". Planning to start a company in this industry sometime in the next few years. I am trying to gain a better understanding of the market and current technology + limitations so that I can start working on solving the fundamental barriers to bringing my ideas to market.
Coming from a software background it is really fun to learn about something completely different and new!
I'm continuing to build PerfBeacon - https://PerfBeacon.com - an automated alternative to manually running Google Lighthouse tests.
Background: I couldn't find a service that could tell me if the latest deploy of my web app would make it slower, so I decided to build it. Since getting started I've become aware of several competitors, but I enjoy solving problems in this space.
I’m working on a platform (Distill) to learn people learn more effectively (one place to gather blog posts, articles, podcasts, webinars etc), and share learnings with your team. If Reddit, Genius and Pocket had a baby, this would be it.
Revising materials for already out and incoming booklets at https://www.tenproblems.com : the pandemic made about 1/3 of my references obsolete. Also starting with the SaaS skeleton of my Materials Informatics consultancy for http://www.cudmit.com ... all in all, busier now than one month ago.
As the virus spreads, remote working gaining its well-deserved attention. From remote jobs listings to digital collaboration tools, profiles and admin panels both for candidates and employers, creating them a space for communication, following, shortlisting and starting a healthy hiring process.
I'm working on a CLI to download and index from any API like Spotify, Gmail, etc. It puts all of your data in a single database that you can query. There currently aren't many integrations but it's really easy to make plugins to share new data sources, queries, etc. Feel free to make a PR!
What do you have in your food forest so far? When my dad lived with us he always kept a veggie garden, I'm thinking of trying to bring something like that back.
I'm working on a DiC library[1] for TypeScript that supports autowiring interfaces, array of types and generics without decorators by leveraging typescript's compiler API.
To be more exact, it visits the entire project's AST and generates mapping code (creates an AST that is outputed by the compiler to valid ts/js).
I have been working on https://SEOTesting.com and released it on Friday. It’s a tool to help run SEO Tests to see whether your page and site changes are improving your rankings in Google. I’ve decided to make it free for the next 3(+) months while Corona Virus is going on as it’s one of the ways I can help so many people and businesses struggling with the impact.
I'm working on a Javascript SaaS Starter Kit. Every time I start a new SaaS app, there's mountains of boilerplate I have to write, and I always skip out on some of it to get to the business logic and regret it later.
I figured, if I'm doing that for myself every time, I can do it once more and do it RIGHT, and then sell that to others in the same boat.
Working on https://www.yuzumetrix.com a platform for Content Creators and Brands and Agencies. Agencies can create campaigns and invite Creators. Once the Creators finished the work they can create a Campaign Report which includes each social media posts and Campaign metrics, RoI, etc.
It’s in Beta right now but planning on launching V1 in about a month.
(1) Careteam & services coordination platform for elderly living in full care homes, assisted living homes or in 'virtual' care at home.
(2) Exploratory platform looking into 'cross silo' team coordination workflows and data sharing for healthcare workers and social services based on HL7 FHIR for preventive healthcare and post-intervention at home recovery care.
Both of these initiatives started long before COVID-19 was in the dictionary.
I’m working on a tool that allows you to build newsletters from external sources like static blog posts (Gatsby, Hugo, Jekyll), Shopify products, Airtable data, and more.
Basically providing you with a browsable “gallery” of data items from which you can filter, select and customize in order to assemble your newsletter avoiding repetitive copy/paste and styling.
You configure the integration in Postbear’s dashboard and this way we pull your products and make them available to drag and drop them onto your newsletter, go ahead and give it a try!
It's helped me personally avoid a lot of overwork issues during the pandemic, and so far the feedback on it has been pretty good...I still have lots of new modules to publish as well.
I run an online collaborative songwriting platform (https://songcraft.io). With the quarantine, I'm going to be pushing to launch a matchmaking system for songwriters looking for collaborators. I've already heard from a bunch of people who are looking for new ways to collaborate on music.
I am building https://mockadillo.com. So many times I have had to write mock servers and have to have friction with colleagues when they're lagging behind (or when I am lagging behind) on development of dependent features. It's now a 5 second thing to bring up a mock of the response and keep working decoupled from annoyances.
2. Table component for vue.js that actually deliver solutions for common use cases I had in my projects lately but had to customize existing solutions to achieve what I needed.
3. Live tile pure js library (like from Windows phone OS) - just for fun
4. Form generator based on provided json structure for vue.js projects.
5. I occasionally write random tech articles on my website and also run weekly lifelog/devlog since the beginning of this year.
I'm working on a bulletin board for people to post and manage speed running bounties. Right now speed runners and fans post and publicise bounties, to explore bugs or beat times, ad-hoc on a variety of platforms. Hopefully people will find a central place to store and talk about these bounties useful. Its still in the prototyping stage but hope to roll it out during my current 2 week self-isolation!
I'm working on a python script that downloads web serials as ebooks. It's set up to check if a new chapter has been posted, and if there's a new chapter that finishes a book, it outputs the book as an epub so I can read offline.
To add a new story, I just write a function that takes a webpage and returns the next link and chapter content. It's low enough overhead that I can easily add new stories.
Converting a simple issue tracker written in Go to run completely in the frontend [1], so that it’s easier and faster to iterate on its development at the cost of initial page load.
https://abot.app/ . I've noticed an increased number of sign-ups as more companies are going remote. I've also decided to give it away for free for educational purposes. Already a couple of university teachers are using it to facilitate and encourage asking of "stupid" questions during online classes.
I’m working on HeadlessTesting.com - launched last month.
It is a grid of browsers; currently Chrome, Firefox and Edge, which can be used to run Puppeteer and Playwright scripts.
Your existing Puppeteer and Playwright scripts can be easily configured to connect to our grid. The advantage for the user is scalability, no maintenance and setup of infrastructure and support.
Usecases include generating PDFs and screenshot and headless browser testing.
I am working on my password manager's android app. Implementing Android's autofill capability. Alot of fighting with flutter, android, kotlin, ...
The password manager is Psono (https://psono.com) if someone wants to know. I built it myself because a couple of years ago when I started good alternatives did not exist.
I'm building a community for knowledge sharing (www.sivv.io). People use this to share and discover short summaries of useful ideas, knowledge or advice that they come across in the books, articles, podcasts etc that they consume. This allows members to learn more while actually reading less. You can sign-up to the beta version at www.sivv.io - any feedback would be very much appreciated!
I've been working for a while now to get my PC to play the game Robotron directly on the xbox360. Tried multiple reinforcement techniques (DQN, DDQN, Etc) and I haven't had any luck. Converting it over to work with Rainbow now. Lets hope. https://github.com/stridera/robotron
Figuring out how to wire a raspberry pi to solar with battery and a Arduino to power it off at night and on in the morning. Just figuring out how to use a relay to control power to the pi. Figured out how to program the Arduino that was fun having it toggle an led on and off. Keep burning myself with the soldering iron and maybe next I should learn about breadboards... electronics are fun
The main idea was to make it super simple to survey random people about anything. Right now you ask a question along with submitting two images and the app posts a survey to 50 random users on MTurk.
Would like to expand features down the line to expand number of survey respondents and adding filtering etc.
I have a similar thing going on. My Saab blew a coolant hose yesterday, which I temp fixed with gaffer tape and a coolant top-up. I've now ordered a complete kit of after market hoses and clamps, since the existing hoses are all 10 years old so it's only a matter of time before others go. Basically I've watched enough ChrisFix recently to feel confident enough that I can do this myself without screwing it up.
I am working on enhancing my pet project called bootman. It basically uses Redhat byteman to inject code at run-time in a Springboot application and exposed via swagger endpoint, taking care of differences due to java version specific quirks.
https://github.com/rajasenapati/bootman
I've been working on an ad-free social network and group chat app that puts the focus back on the people who matter most to us -- family and close friends. It combines a lot of features I personally want to see in a social app - messaging, photo sharing, event planning, and more.
I'm working on customers' projects mostly. One personal project I'm excited about - I'm writing a childrens book about space. I plan for it to teach very young kids concepts like "space isn't just about going high, it's about going _fast_", and possibly why many rockets have two stages. Would love to hear some other concepts it should teach!
I am building Freecount (https://github.com/ssimono/freecount) a little progressive web app to track expenses in a common pool (like a trip, a shared housing etc). It is meant to be entirely free and open source, without server to deploy, app to install nor account to create
Car rear dashcam, based rpi zero w with camera and gps. Device is going to detect idiots on highway driving too close (hanging on bumper in urge to overtake), save video and upload it automatically (not decided yet where) when parked in home wifi range. Distance between cars can be estimated from distance between lights. GPS for ignoring traffic jam (speed), and video overlay.
I'm working on a little vocabulary helper app. As I'm reading books I run into words that I don't really understand so I want to keep track of them easily. I have a screen that allows me to enter a word and it looks up definitions automatically and allows me to add them to a list for now. When I get a bit more time I will add a review stage, a bit like anki.
Working on an app that enhances communication and collaboration within a building, among its tenants, or within a neighborhood. Beside the obvious "project planning" for the chores around the building it also boosts "good behavior" among the neighborhood. Finishing the mobile part in the next few days, then dealing for a while with the server setup...
Having worked on a designer to create and share templates for Würfelmosaik, which is a physical game for kindergarten kids where they have to lay patterns with wooden cubes that have different colors and patterns on each side.
Currently only available in German, but it should be pretty much self-explanatory.
I am working on social media marketing and trying to get user feedback for my IOS App. Keyword plus, which is an alternative to Google Trend and SEMRush but for Iphone.
When a good part of the US population lives paycheck to paycheck, a single parking ticket can impact their finances. This summer, we will offer a kind of insurance for parking tickets (crowd sourced). Pay a small monthly fee, and we pay for your all tickets.
We are still working on the final rules, but we came up with a couple things:
1 - for now the first two tickets are free, then you pay an increasing percentage of the ticket.
2 - rather then encourage people to get tickets, we use gamification to involve users in the community. We have programs and incentives to help people better drive and avoid tickets in the first place.
My intent is to stream development of both the libraries I develop/contribute to (graphql_flutter, built_graphql, gql), as well as complete examples that I will deploy and release
Working on applying machine learning to source code to increase code maintainability.
It started with a semantic search engine for Javascript codebases: https://codecue.com/ and now working on the accompanying code analysis tool that would guarantee efficient searchability of the code
Interesting! How are you doing this? I'm guessing you're generating an embedding vector from the search query and then doing some sort of similarity comparison with pre-generated embeddings from the codebase.
I'm working on a JS lib that makes zones in an overlay to any HTML element.
With two modes (edit and view) you'll be able to draw and store polygons without coding and then use them somewhere else. Like in your home automation's floorplan where you want to handle actions by just clicking to your night stand light, or zoom into a room, etc.
Although I haven't touched it for a few weeks I was working on reverse engineering our smart home heating system so that I can integrate it into Home Assistant. Managed to get the auth with their remote systems done and building out the web socket based event bus.
Not sure if I'll ever be able to share it since it feels like this lives in the grey zone legally.
I'm working on a data-centric site that tracks COVID-19 cases across the world. You won't find any ads, loading screens or slow maps and it's easy to navigate on mobile: https://coronanumbers.com
Next step is adding more data (testing rate, state/county specific numbers, etc.)
I have been building learnawesome.org for past few months as an open-source, hobby project. The idea is to organize high-quality, multi-media learning resources across topics and formats, so that searches like this become possible:
Show me videos about machine learning which are no more than 30 minutes long, are entertaining and are recommended by academics.
Nothing super innovative, just working on some forum software to power a ring of forums I'm building around my love of roller coasters and theme parks. If by some chance you're interested, the first site in the ring is up (minus forum) at https://norcalthrills.com
I'm working on a modern and friendly cron/job scheduler with centralized execution/logging/monitoring.
It is combination of a web app which controls cron agents in other servers.
It is somewhat between your OS's job scheduling system (*nix cron/Windows Task Scheduler) and the very sophisticated workflow systems like Apache Airflow or Netflix Conductor.
I’ve been building an email newsletter with stock market indicators like futures, premarket data and historical performance going from one day up to ten years of all the major indexes like S&P 500, Nasdaq and Dow Jones.
The idea is to send an email every morning before the markets open so I can plan my day and decide if it’s time to buy, sell or hunker down.
I'm working on https://mathlore.org (previously called mathpendium). A site for creating a community driven collection mathematical theorems, definitions, axioms, and conjectures to allow people to share new and existing discoveries and explore what has been discovered.
Alonside with my colleagues we're working on a collaborative visual storytelling project. We plan to sell the works and donate money to NGOs that fight coronavirus these days in our city.
I'm working on building a service that provides on-demand customer support for your SaaS app, e-commerce store, or anything else you can think of. It uses your existing documentation and will forward you things you need to see, like bug reports.
Quarantine or not, I'm working exactly the same as before on [3geonames.org](https://3geonames.org) a 3d ___location encoding scheme and [geocode.xyz](https://geocode.xyz) a geoparser / geocoder.
I'm working on an NFT Issuance and marketplace platform. Right now we've getting a steady traction from Twitter Crypto Art community. If you always wanted to have a blockchain collectible i encourage you to create and sell your first one at http://rarible.com
I am currently developing an application for the smart bike trainer; similar to Zwift you can do workouts, aimed on power, cadence or heart rate.
You can also create and share workouts made out of segments with friends. It will also have a Chrome plugin that enables you to lay your live statistics on top of let's say Youtube or Netflix.
Things I'm aiming to achieve during this downtime include setting up some onboarding emails, thinking about team functionality and figuring out the best way to upgrade the power users!
Oh, and I might start looking into allowing users to use custom domains. I recently made the switch from SendGrid to Mailgun for the email ingress. Mailgun seems to have a more programmatic means of adding domains/DNS via API then SendGrid.
It really bothers me that current password managers will never be used by the ones we love, who probably need them just as much if not more.
I'm building "a password manager for everyone." In hopes that I can get my dad, wife and everyone else I love to be safe online.
It's still a WIP. But I hope to release it in the next few weeks.
Not building anything exciting, just a basic app for tracking my kata reps[1]. It's a tool I've wanted for a while and it's giving me a chance to play around with Cordova and Android.
I am building a platform to prepare tabular data for machine learning. It's a python library that has options for automated numerical encoding, and can also serve as a platform for feature engineering. It's pretty cool you should check it out.
Working on a sort of universal dock for usb mass storage devices. It's a little linux box wallwart, udev rule, fstab, systemd unit config generator that runs scripts when the device is plugged in.
I've used this pattern for automating stuff with my Point and Shoot Camera and Kindle. Attempting to make it simple and accessible to non techies
I'm writing about helping cats run a farm by building a website. The goal is to teach kids and whimsical adults some basic web development skills using Ruby on Rails. I hope to compile and expand the blog posts into a book. https://rubycat.farm/
A book recommendation website (side project) where I compile verified book recommendations from the leaders in their fields. The product was #1 on Product Hunt a few days ago. Focusing on this really helps me stay sane with this quarantine thing.
I'm building an web app that presents information of your pc, like temperature, memory and power usage and so on.
The app will run in a raspberry, with a small screen attach to it, inside the pc cabinet.
Right now the proccess to make it run is a little confusing, so i'm trying to make as simple as possible to run it.
I made http://PodHound.co to help us find better podcasts. It's currently transcribing about 3000 individual podcasts and will match podcasts based on semantic analysis. Any advice on the best services to use is welcome. I'm currently just using AWS.
Working on some creative coding projects that I've been putting off for the last few years. Latest one I've released is https://coronation.xyz/ - a visualization of the spread of coronavirus around the world, which I built with threejs
I have been working on a fork of jitsi video conference web client, aka meet, to add features dedicated to Agile teams.
So far added Poker Planning and post-its.
Do you often feel in need of a fun and impactful idea for a side project? As a student I do need ideas+guidance. I was thinking about making a platform to connect organizations/open source with developers (esp. junior) and provide them with meaningful projects or challenges. This could be a win-win, what do you think?
Making a generative strength to weight optimizer for 3D printed objects. It's been something I've wanted to try for a while and has been an excellent experience in learning about FEM and mesh generation.
There's been some work on it in the past, but mostly papers or paid apps. I wanted to make something open source and free.
With all the "we care about you" emails being flung around because the current happenings, it's motivated me to work on implementing "single click" blocking of burner addresses for my mail forwarding service - https://kopi.cloud
I'm working a simple online faxing service[0] that doesn't ask for your email, and sends faxing quickly. Not free, but 0.20/page. Still working on converting the in memory db to sqlite. Feedback would be great.
A second child (due May 25) and adding “sheets of labels” support to Label LIVE (www.label.live). Basically, rendering dynamic text and barcodes to a PDF in the format of Avery, ULINE, etc. The epitome of Microsoft Office mail merge / template hell. Label LIVE is an Electron app I created almost two years ago.
i'm working on an auth tool for developers. it's a crowded space. i'm differentiating my tool by focusing very very strongly on convention over configuration. it won't be nearly as configurable as services like auth0 but it should be much more approachable for early-in-their-careers developers.
I’m working on a reader app for newsletters (kind of like what Google Reader was). The idea is to remove these things from the mail box and keep it organized in the app.
I’m also planning to add email address obfuscation, similar to what sign-in with Apple provides. That should make it easy to forever unsubscribe from newsletters.
You start a 'crew' of friends, everyone pitches in $x amount each month to a communal fund, and you donate it together. You can also organize volunteer events.
I'm rebuilding my Acid Machine web based synth + drum machine app using Vue instead of jQuery and handlebars as it is now. Adding some new features whilst i'm there and making it work on tablets.
I have also been working on a more feature complete web based daw type system but that's been on and off for years.
https://tryelevator.com - a platform where people get paid for companies to connect with them. Currently open in Australia, looking for US-based partners to push it there.
In the current market situation we’re getting a good few people coming on board.
Pathi (https://www.pathiapp.org/), which is a free app that connects people who really need someone to talk to with volunteer listeners who want to help.
We are recruiting listeners, and looking for someone to help build an Android version!
Very cool. Used to volunteer on crisis hotlines (doubling up as part of the network of suicide hotlines in the US if you called from an adjacent area). Great to see ideas like this!
I'm working on a webapp that enables people to include non-smart (i.e. pdf or paper based) data about their carbon footprint into https://north-app.com/.
The alpha version is available here: outsmart.superservice-international.com/
Working on https://excalidraw.com/ a whiteboarding tool with hand-drawn like feel. We just added live collaboration support recently to help with architecture brainstorm and interviews while everyone is working remotely.
With all the uncertainty and risk to our personal finances, it seems fitting to work on a project that will (worst case) help me buckle down and improve my spending habits.
hah, cool to see this idea. I built something similar in 2010 to track my debit card purchases because I always pressed the 'credit' button (in the US) and the transactions didn't appear on my balance sheet for a couple days. So I sent a text just like your site describes and kept a ledger. Nothing like the tags or trends in yours though. Cool idea! The Monzo app in the UK has some really inspiring ideas.
I and a friend are validating an idea: A product to track your (and competitor) Shopify app ranking and reviews. If you'd like to help, please fill this survey. It will only take 2 minutes. Thanks in advance!
I'm working on a website for founders and VC's to meet through games. The website is https://www.matchbox.vc and so far it has had some moderate success. Turns out lots of founders and VC's really like Fortnite.
I'm building a iOS app that lets you build native iOS apps and test without compiling. Exports to Swift code. Works pretty well so far. https://testflight.apple.com/join/zElad2Q2
I'm working on https://lazysurfer.app - it's an app that helps surfers dial in the exact conditions they prefer at their breaks. It's been a great way to learn some react native and also explore meterology.
I’m working on building monitoring and analytics for machine learning (visualizing patterns of data around the data pipeline and model itself).
You’d be able to track long term and short term data distribution changes so you have an idea of when your model could be underperforming and will require retraining.
I am working on an open source project management system. Something to replace Asana or Jira. A tool that can be installed quickly and runs in almost any environment.
Building https://dopebrands.fyi - highlighting great new dtc ecommerce brands, and initially focusing on the smaller end of the market to help encourage shoppers to discover them and try them out. Launching next week!
I'm working on website that's like Last.fm or Trakt.tv but for podcasts. I'm building it together with a friend as we both wanted to play around with Rails, so far it's going pretty well and we hope to be mostly ready to ship a first version in the next 2 months.
I'm spending some more time on https://en.howtruthful.com/ which is for creating trees of arguments and evidence. I've also been thinking about using deno for multiplayer text adventures.
Businesses are seeing insane volatility right now and we provide real-time alerts and reports for everything from revenue spikes to page speed lag to conversion rate drops from certain browsers.
If you have a Google Analytics tag on your site, you can set up the platform in a few clicks.
Small notes/link manager that will be a standalone page and, hopefully, a browser extension. Sometimes I find myself hoping I could have a list of the links/documents I’m working on at the moment on my New Tab page, so I’m making one. It’s mostly a reason to learn Elm.
Working on https://mybrandnewlogo.com — an automatic logo generator. Going great at the moment, and lots of areas to grow. Keeps it interesting from a design & development perspective as well.
I'm working on PgTyped, a code generator that makes it possible to use inline SQL in TypeScript code with guaranteed type-safety.
https://github.com/adelsz/pgtyped
For me it's mostly fitness (as all the gyms are now closed in Austria, I've to become creative) and working on ImageMonkey - a public open source image dataset. (https://imagemonkey.io)
building a collaborative product management tool, called co-op-os. the core idea is to standardize and codify a lot of the ceremonies teams run to build alignment around problems, decide on solutions, and actually ship features that benefit customers. the most effective teams i've worked on didn't have one person building out a master sprint plan, but had a bunch of individual contributors coming up with ideas for optimizing a goal, getting another smart person to sign off, then building it. this is an attempt to standardize that more distributed planning/operating model in a scalable way.
I'm finalizing script engine for attaching network shares during windows session user log on. MS SysAdmins will love it: https://github.com/NoenDex/Hikari
earlier this year I was working on a project called emojirama.io for building interactive stories with emoji. I started it as a way to learn and practice lots of different things: Vuex patterns, PWA, Quasar Framework, Django Rest Framework, Social Authentication, path-finding algorithms, web sockets with Django channels and other random things. I took a break from working on this recently but hopefully will revisit it soon.
I am writing macros in Elixir to describe schemas mapping to IANA Considerations as objects and enumerations with accompanying references. My hope is to get it to where I can describe data and APIs that I can confidently map to IETF and other specifications.
A simple expense tracker (https://pocketpatch.io). I built it for personal use when my spreadsheet just wasn't cutting it anymore. I am now trying to turn it into a small product.
I've been working on a lowish code development platform that provides a standards based approach, and doesn't preclude the inclusion of third party systems or self developed applications.
It seems to be going well, I should be able to release a first version soon.
Small potatoes, but last week I started working through Project Euler problems as a soothing distraction. A good number of #1-50 are solvable as nice Python one-liners.
I’m getting bored of prime number puzzles though, so next up is dabbling in generative art and music.
Working on a simple newsletters library https://tuepe.com
So far collected more than 50.000 newsletters. Just adding the feature for competitors newsletter marketing activity tracking.
Working on creating a SaaS app to help and facilitate customer demos. It's not impressive but I have never shipped an actual app or tried monetizing something, so I'll start with this.
Along with creating the app, I'm learning how to design it with figma.
I am working on REST API prototyping tool (https://fake.rest)
The goal is to make a quick REST API prototypes for web, IoT, and mobile applications for the testing of ideas.
I've been working on a chat web app for the past few months. Its defining feature is that it reimagines the way in which conversations flow, allowing them to be really nonlinear.
It's almost ready for a ShowHN. I just have to get the websockets working!
also helping mom set herself up for continuing to teach Russian remotely via Zoom video, audio, screen-share + bi-directional android tablet control (via ADB debugging & https://github.com/Genymobile/scrcpy)
I'm working on chess analytics! Lots of interesting tools for statistical analysis of openings and other potentially useful things for tournament prep. Writing it as a Clojure library but it includes its own engine just for kicks.
Working on FastComments and TDWorld. Links in my profile if you're really interested. Three months in and have some customers and revenue passes operating costs now. Mostly working on them on Sundays and an hour or so at night.
I’ve started to teach myself Swift and iOS development to prepare for a potential career change if unemployment happens. I need, however, an idea for an app. Any takers? The standard Apple app tutorial ideas are pretty horrendous.
Working on an open source light for photography and videography. Working mainly on the firmware now but the board layout still needs a bit of work and my school's shut down so all the resources I had got stripped from me. RIP
What EDA software are you using for the board, and what sort of work does it need? I've recently fallen in love with KiCad and I'd love to take a look at what you've got so far.
One of the problems I've noticed with AR games is that they don't interact with the real world meaningfully. I'm working on an API that can create levels for AR games that incorporate the environment into gameplay.
I am working on a web tool to track numbers and count them. For example: smoken cigarettes, or eaten callories etc. The idea is to make it extremely easy to use. So that people can track progress of various things they are up to
I'm rewriting a web crawler that I created a decade ago. Part of it is to see how much my development has changed. Another part is to create a general purpose crawler infrastructure that I can easily reuse for new projects.
I happen to own couple of medium sized amateur telescopes and relatively cloudless and dark skies. I have started to convert them into remote observatories so other people can watch stars remotely. It is on early stage though.
I’m working on a sub irrigation planter (SIP) for succulents and small houseplants to reduce the need to water and problem of overwatering. Currently working on the case mold and working plaster mold for ceramic batch casting!
Reflecting on all my Go project I am trying to come up with a scalable and easy to maintain application structure that is not too much OOP (no hexagonal stuff) and easy to grasp. Lots of drawing and thinking ten steps ahead.
I am building an Application Performance Monitoring (APM) tool which is going to be Open Source. It is very early stage now, just started yesterday so can not provide any link. I hope I can make a alpha release soon!
I already worked remotely, so it’s business as usual for me.
Edit: to expand, that means mostly client work, currently preparing/debugging/fixing for launch of their (client) second+third site using the same code base.
I'm working on ComputerEngineeringForBabies.com. Basically it's a baby book with two buttons and an LED that shows how basic logic gates work. I'm hoping to ship it in the next few months!
So my brother works in the pawn business but he has a side hustle that does asset management stuff. I’ve passively watched some of the stuff he does and what a bunch of these small businesses do. Wild live auctions on Facebook live, lots of wholesale stuff through various channels, etc. anyway the margins are pretty slim in this industry so pretty much all of the existing services are out of the question. So I’m thinking being somewhere between Shopify and eBay, but make the pricing model competitive enough that these types of businesses will actually use a service tailored to serve these markets. The current market I think this could work in is Gold/Silver businesses that operate as more of a side hustle/hobby than a full blown broker.
Building some wooden trays out of plywood with sloping sides. Turns out it's pretty complicated trigonometry, and very hard to adjust correctly with a cheap table saw with a floppy miter gauge.
Building a mobile analytics platform for tracking daily / monthly active / new users, etc. similar to Fabric (thankfully they extended the shutdown). Not a big fan of the Firebase console.
All I've done these past few weeks is build cloud-based call centers on Amazon Connect for customers who need to move their workforce to WFH due to COVID. It's been pretty surreal.
Working on a new semi-anonymous social network. You can share your thoughts with friends without being afraid of getting “cancelled”. In case any front end devs are interested please say hi
I'm currently working on a Wayland Flutter embedder for Linux (the existing GLFW embedder is using X11 so desktop Flutter apps are running through XWayland in Wayland environments).
I recently joined a bunch of volunteers to build a web app allowing hyper-localized communities to fulfill requests using a volunteer ticketing system during the COVID-19 crisis.
I'm building a community for knowledge sharing (www.sivv.io). The idea is that people use this to share and discover short, structured summaries of useful ideas, knowledge or advice that they come across in the books, articles, podcasts etc that they consume. This allows people to learn more while actually reading less and is currently focused on the following topics:
- Business
- Personal Development
- Professional Development
- Behavioural Science
- Science & Technology
- Wellbeing
You can sign-up to the beta version at www.sivv.io - we are publishing new summaries daily. Any feedback would be very much appreciated - feel free to message me at [email protected]. Many thanks!
I am building a Vehicle to Home (V2H) charger to use the batteries from my Nissan Leaf to use only off-peak energy (cheaper and greener). Also allows to run the car as backup.
A ThreeJS clone on go to learn more OpenGL and Vulkan and Go, plus and Ordnance Survey map viewer with MapboxGL JS, also teaching the kids some more python ...
Any-time heuristic search algorithm library in Rust. Going to build some other projects on top of it for research purposes and maybe even to sell a product
Suggestions (if that's possible):
- Buttons to quickly change the replay speed to 0.75 and 0.5
- Loop functionality
I'd also love if there was a timestamp-based "editing", where I could send someone a video with just the good parts, skipping over intros, ads and fluff.
None of these are better than the other. They are all great and powerful languages for different reasons, and a lot depends on the needs of the application.
Moderate brain dump (sorry). I'm writing some DSLs, including a DSL to implement config DSLs. I'm also pining over a new OS/shell environment, featuring a terminal where perhaps things like vertical line height isn't always fixed. And also a shell that grants permissions to invoked programs, enforced with vms or chroots or selinux idk. Probably starting with Qubes. Maybe fancy terminal output integration like TempleOS (links and programs; maybe graphics, maybe font awesome idk). Definitely want helper panes based on context of the shell/OS/running program. I've also been wanting a trackpad driver w/ OS integration that's closer to gestures-with-visual-feedback, but I guess Apple stole the thunder on that one with iPadOS. I still want it in the ISE tho, I think it's important for the UX to be discoverable. It'll probably have keyboard shortcuts too I just don't want to commit to a paradigm for that yet. I'm probably too slumped to have any of this built anytime soon; but that's what I'm working on for myself. Here's my twitter https://twitter.com/nomsolence, mostly about covid right now but I keep it to random terminal screenshots normally.
edit: Project will be called MajOS; the ethos is a witch's cabin in the woods.
A self-hosted analytics tool with heatmaps and session recordings that was a side-project for the last 7 years, turning it now in a full-time project after the company I was working for went bankrupt: https://www.usertrack.net (landing page has to be updated though).
Space Engineers - I want to mod it. It's been released for 7 years now - Keen Software has been keeping it intact and adding features (VRage). I think of it as Minecraft but with a near-true physics engine.
There is terrain deformation according to the force exerted by the object crashing into it. Ships colliding will either destroy or crush blocks according to that force. A "grid" is considered a powered assimilation of blocks, which could function as static "station" or moving vehicle. Thrust is measured in Newtons, block locations are measured in Cartesian coordinates. Everything has precise mass (kilogram) and this effects collision damage. Someone made a mod where there are aerodynamics (atmospheric force on fast traveling bodies, though this is computationally expensive). There is already a large workshop of mods that other players have made.
I say "near-true" physics because gravity of planets only stretches out a few kilometers above the planet. After that there is "zero" gravity and you can turn engines off and stay in that spot forever. Ship speeds are capped at 100 m/s. These limitations are required for now because computers cannot keep up with that many calculations especially if grids are interacting and causing terrain deformation or casting functions often.
There are sim speed drops during large scale events, and that is a challenge that draws me in. Keen uses rendering tricks for view distance draw and object visibility according to user settings (reflecting the power of their PC), eventually I'd like to standardize things so that players could interact planet-side without trees disappearing and nullifying camouflage attempts.
The vanilla game requires you to find and extract ore (iron, magnesium, nickel, platinum, cobalt, silver, gold, uranium, more could be added if you wish). These elements can produce things that somewhat reflect their utility IRL, then they are refined using energy (solar, wind, battery, nuclear, hydrogen). Then produced into components that you weld into the block for its completion.
When you join an official server right now, you are confined to a max speed, as this is a safety measure to prevent the game from crashing. A server sets up conditions for players to build in their secret remote spot away from everyone else, though sometimes they will group into factions. There is seldom any interaction and NPC ships are randomly spawned in near the player, flying in a straight line - they have no deeper function and they are meant to be your salvage.
My big picture is that there should be no speed limit, but players locations give off visual signatures if they want to go fast all the time. Space implies distance, and distance implies travel, which implies a set amount of time. Controlling this time would be key to bringing players together much more often, and we will remove risk of their creations being destroyed (automated respawn, at some sort of liquidity cost, which players will be ultimately competing for by chasing objectives that the game already allows - mining and transporting mass).
I want there to be a real functioning economy, where dumping a load of ore on the market has real repercussions, like EVE Online. If you see the price of iron go down fast, you'll know this has happened. So a player gets a huge cash payout, even though they are selling far below market rates because they wants to "get rid" of bulk iron (which costs them energy and time, of either him or his bots). Because of this event, you as a market participant can buy that up and the reduced price, and have a cheaper source of iron that takes you less time (transport). AI agents will also respond to these events in varying degrees of effectiveness, in order to create competition that economically active players must consider. We want the higher level players to have production assets and ownership in the economy, whereas newcomers can choose to pirate, pillage, or mercenary contracts which rewards them with liquidity if they succeed, which results in them being able to buy equipment quickly and return to combat, but other players may be funding this behavior by selling the ships and weapons produced with ore and energy.
I said big picture because all of these things would come in time only after some sort of standardized transport system was put into place, which the game needs now (it currently uses a simple jump drive which makes you suddenly appear in a new spot) - if we allow extremely fast travel speeds there cannot be collisions otherwise the SIM speed will drop.
Since there are so many physics elements, this game feels like a canvas and I'd eventually want to implement concepts to suggest new technologies that actually may be up and coming in real life. Think of it as a sort of education platform in that regard, but when you don't want to learn, you can just go and realistically blow up space ships and compete on a leaderboard.
With the gradual accumulation of parallel projects, I've recently adopted a constantly-jump-around approach to development to keep everything braincached. About four projects in flight that I can talk about at the moment:
1) Neural approximation of surface light scattering (learned BSDF approximations, in other words). Historically, real time BSDFs used in games have been statistical models that make quite a few simplifying assumptions. GGX and other modern BRDFs do an admirable job and get about 90% of the way there, but creating new surface models is very time consuming. You need a mostly-unique model for retroreflective cloth, another for faraway swaying grass, another for plastics, another for skin, and so on. It's doable (and much has been done), but the process is far from easy.
So, an attempt at a workaround: trace trillions of statistically modeled paths and use the resulting distributions to train a small network that can be baked into an efficient ALU-only shader representation. Results are promising so far: https://twitter.com/RossNordby/status/1241224996518838272
Added bonus: as a part of this process, you get a PDF/importance sampling network for ~free.
2) ML applied to physically simulated character animation. Lots of neat work in this field already- the recent motion matching -> RL balancing paper seems like a very promising path for reducing the size of RL's responsibility: https://montreal.ubisoft.com/en/drecon-data-driven-responsiv...
My own work is still in 'side project' territory and I haven't exactly caught up to SOTA (https://www.youtube.com/watch?v=Haz9o3lbJJQ), but there are a bunch of things I'm looking forward to trying. Different heuristics (muscular control delay, effort minimization, etc.), some variants of off policy learning, different exploration approaches, some low level architecture tweaks, and so on.
3) Gradually resurrecting and modernizing a bitrotted renderer from a few years ago (https://www.youtube.com/watch?v=mIax_ProQ8c) and expanding its functionality. Beyond just fixing the massive problems it has accumulated, I'd like to flesh out a full surface space rendering pipeline. All shading would be computed on the surfaces of objects (and, where appropriate, in volumes) rather than in screenspace, so temporal reprojection is made far easier and there's no geometric blurring. Final rasterization is extremely cheap (~1 texture sample read) and can be decoupled from shading, so with 144hz+ geometric rendering in combination with late latched camera input, you can get application contribution to display latency below 10ms pretty easily.
The surface space caches and decoupling also give you a path towards tons of other interesting approaches- surface space shadow maps, low resolution directional occlusion and global illumination caches, conetraceable prefiltered surface representations, and all sorts of cool stuff.
4) Continuing to improve the physics engine (https://github.com/bepu/bepuphysics2). It exited beta last year, but there is always more to do. Next target is the tree structure used by meshes and the broad phase. While it is more than an order of magnitude faster than v1's, it should be possible to extract more parallelism, eliminate the need for a separate cache optimizer step, and cut down the aggressiveness of the static tree refinement. Simulations with hundreds of thousands of sleeping or static objects could see some significant gains, among other things.
Was also considering training a network to compress in-memory solver data since, on manycore AVX2 capable systems, the solver is always memory bandwidth bound, but down that path may lie madness... maybe not everything needs to have DL thrown at it. Maybe.
I'm working on tennis software. The idea started 2 years ago, when I started to play a tennis. In my local club all reservations where written down on the sheet of paper and people were have to come personally to book court. I started working on idea just to prove myself that I can do it. First version were pretty basic, but with complex logic for court reservations.
They liked the idea, so we were live, and they threw paper bookings away. 100+ users in a few weeks. It was little bit of pressure to get things right, but after fixing bugs, I was pretty satisfied with first alpha version, which was basically MVP and POC (proof of concept).
Then another club joined and there was around 150 users very fast.
I expand app so players can have their own ratings when they store their results. It was pretty fun to watch how everything suddenly changes. Players started to have conversions about their rankings, and they started to play more tennis. They have all history now for their matches, so no more 'I beat you that time, how can you not remember that :)"
I wrote some cool stuff too, like module for leagues and tournaments, which we organised under our Sliceer brand. We have pretty successful league and tournament with over 150 players.
We expand reservations to more clubs outside my hometown, and we are trying to reach even more.
I have some income from app too, but it's very basic, mostly from Premium users who can see little bit more advanced features like 'one sign in', i.e. non Premium users have to login every two hours, etc.
Now, I'm improving registration page which has to be very simple and fun. So I wrote some 'onbording' process to make it even simpler for users to sign in. There is little bit more data then just email, so it has to be fun. Here is a short video https://imgur.com/B6g0YwX
This year we will be in more clubs, and with bigger tournament under our belt (waiting for corona shit to be over).
I like what I'm doing so far, and I'm enjoying building software that other people are using, which is in fact solving real problem. I see a lot of things that I can improve, but for now, I'm sticking to booking module to be the best it can be, so people will be forced to use it. I want to be that good.
For now, I have little less than 600 registered users, of which - in tennis season - 100 and more are using app every day, and there is around 1000 active users per month (this numbers of active users are from last year, still waiting new season to start). We have one guy who recently passed 100 matches!
For now, we are operating only in Croatia, and app is only translated in Croatian, but I'm looking forward to translate it to other languages so other people can use it.
And, yes, booking module (what I have so far) is free for all clubs. Advanced features like statistics and some custom logic for clubs is payed separately - already have on club with custom logic (payed).
If you have any questions I would love to answer them.
I'm working on a static site generator (Raise) that's taking a bunch of lessons from one of my previous projects, a testing library called Distilled[0].
The development philosophy with Distilled was to have a very, very small but flexible API, and to basically try to get out of your way. Distilled takes the view that some parts of testing are a lot easier than people think, so it explicitly doesn't do those things. It doesn't give you a test harness out of the box, it doesn't give you a `beforeEach`, stuff like that. It gives you a very solid, very predictable base that you can very quickly morph in different directions. I've been using Distilled for ~2 years at this point, and it's been a mild revolution in how I approach testing.
So the philosophy with Raise is very similar. With Raise, there are no built-in transpilers or templating engines, there is no CLI. I expect you to do whatever text transformation you need yourself, either manually or through a 3rd-party library. What Raise does do is make it very easy to recursively pipe directories through transform functions, and very easy to build complicated transforms.
So if you want to compile a bunch of markdown files:
And you can also do fun things like recursively return transforms, which makes Raise really easy to extend and adapt to different projects. So for example, if your sitemap was being managed by a CSV file or something:
There are a few other cool tricks you can pull with it, but they're hard to explain in small code samples. But you're not getting any transforms for free, and I'm not trying to intuit anything about the structure of your site. There's no magical behavior. But what you get in return for that is an API that is extremely consistent, extremely predictable, very easy to learn, and very easy to adapt to novel situations.
Still a work in progress, but I should be done with the last few chores for the alpha within the next few days, at which point I'm going to start testing it out by converting some of my own sites to use this as the builder.
A "application browser" based on p2p technologies like bittorrent.
Its based on a (heavily modified) Chrome codebase, and the application sdk its in Swift and later also one for C++.
Apart from the application process use to remote render the UI, i have a "instance" process that run for the "apps" that works for handling the RPC messages (which is in gRPC).
The instance process, will expose the RPC interfaces as in a background service, where the RPC is designed by the app developer accordingly to its needs. (For instance it can even control when to launch the app window).
The RPC can be exposed to the outside or only internal, and im using the bittorrent DHT as an update service with a constant address that the app developer can share so others can install and update the apps.
The application is container like, where you can have key-value databases and files already there. So when you launch the instance process (aka. the service process) it can use this persistent layer as its state. Files, databases, assets, applications and the shared module to be loaded by the instance process will be all there already (as in zip, git or docker).
On top of that there will be the common window, the same as browsers, only that its shared by installed applications that was synced through torrent.
The cool thing is that giving theres a instance/daemon process for each app, they can run and handle RPC' s or network in the background and notify you about events, where you can optionally launch the app UI to see them.
(Eg. a messenger can receive messages via RPC, handle them in the instance process, and persist them without any UI, than let you know about it through the common window, where you can launch the new UI)
(Im also planning to let install in "standalone mode" where
it will install and be exposed as a ordinary app in the native OS)
The SDK will have direct access to the web layer, and it will be easy to develop a web browser for instance. The rendering layer is the same used by chrome and blink.
The biggest motivations to this, was not only something i've always wanted to have, but also political, as in civil rigts, giving it will give us more control of our digital lives.
Imagine a search index like Google only being able to index your contents if you allow them, and only what you want. Or the capacity to have your personal list of friends and the social networks will have access to the list if you want and not own them like they do now.
Im about to launch it in about a month, but giving i was already in a bad financial shape (because i have dived all the way for this project), now with the pandemic, i dont know if i can launch something really stable and finale, be it for health or the world economy nosediving (i hope it wont affect me that much and i can do at least this).
Last Sunday I was messing around with Godot engine[0] doodling and I made
a kind of "physics toy" (calling it a game would be too much, although
it's a lot of fun.) I loaded a simple space ship model from a free game
assets site,[1] turned off gravity, and added some simple controls. I
found a cool background[2], also free, and put in some asteroids and a
little star.
And that's pretty much it.
All you can do is fly around and bounce off of things. I didn't implement
any collision logic, so everything is indestructable, but you can chase
and attempt to herd asteroids, or bounce off the sun! The physics of the ship mimic the real world: turning doesn't affect your velocity (no swooping.) But conservation of angular momentum was such a PITA that I made it so the ship automatically damps it. I also made a "magic" brake that just slows you down relative to the frame of the sun.
Godot is really tight. It has a
few weird glitches here and there but overall it's a joy to work with.
(As an aside, I was trying to make some meshes and things in Blender and
O how I hate that UI. I have a total love/hate thing with Blender. One
the one hand it's so good and powerful and has such a compelling life
story, on the other hand it literally gives me a headache when I use it.)
You should be able to load it into Godot 3.2 and run it or edit it. It's
a little messy, I apologize. It's only a week old and I haven't spent a
lot of time on it, but I'm learning techniques and adding little things
here and there.
There are soooo many possibilities... I didn't plan to make this, but I
imagine I'll keep messing with it. Scratching an itch. (In a world that
contains e.g. Kerbal Space Program and EVE Online do I really want to
spend a lot of time on this?) One thing I want to try is connecting to a Prolog server via websocket
and using it as the ship's computer.
BTW, the thought occurred to me the other day that, since Godot has HTML
as an export target, it's a valid front-end authoring tool, especially
if VR|AR takes off, eh?
I'm building a real-time telemetry platform for makers. The project lowers the barrier of entry for data collection on hardware projects: You can very quickly wire up a hardware system to a server/UI and collect, analyze, and act on data from multiple data sources. This lets the maker focus on building better, more intelligent systems.
Out of the box with minimal configuration, my telemetry platform has:
- Support for many common telemetry protocols, for example: (NMEA 0183, Mavlink, CAN-bus, VE.Direct, Key-Length-value strings)
- Realtime data streaming, play/pause/replay, time scrubbing
- Dashboard editor and component library (charts, gauges, text displays, instrument panels, etc)
- Data syncing in realtime between servers and the cloud; dashboards can be shared and viewed anywhere
My background in this is from my work at the University of Rochester leading a manned electric boat racing team. A need we saw across teams at our competitions was the ability to integrate realtime data from many embedded devices into a single data stream, plot data live on dashboards during races, store data for later analysis, and easily share that data among team members. Building out the infrastructure to do this gave our team a great advantage as we were able to back up high-level decisions with quantitative data we received from our system.
For example, where other teams would guess based on sparse data the ideal propeller pitch for a desired event, we had exact data on the RPM/torque from our drivetrain and current draw on the motor, and were able to quantitatively compare our propeller selection in different events to optimize for speed, efficiency, etc.
The professional ecosystem in this area is huge:
- ROS is the dominant telemetry platform across hardware systems
- The Mavlink protocol is used for drone communication
- CAN-bus and other hardware standards are used in the vehicle industry
- Matlab is commonly used for data collection & analysis among researchers
Across all these systems there is a common problem for beginners: There is a huge amount of ___domain knowledge and setup required before you can effectively build complex systems. Across almost every amateur project that does hardware data collection, people are repeating the same steps: Set up a custom protocol for streaming from an MCU over serial, write a program to receive/store that data, use an external tool to load, process and chart the data, etc.
On some level, that experience is really valuable, and I'm building the platform not to force you into a certain method: Using one piece of the system does not require buying into every feature. For example, you could just use the server for data collection, and read data points directly from the server into your own UI. conversely, you could use the server/UI to point at a ROS instance and just use the UI as a UI layer for dashboards.
Overall, I'm really excited because I think that building a ready-to-use server and a powerful UI into a single package represents a real step forwards. There's a real need for this type of system that I've seen time and time again in the field from makers, researchers, and anyone else building hardware systems.
TLDR - I'm teaching my local community to code. My vision is to show tech companies that you don't need to spend money to find good engineers. You can invest in your local community instead and you will find really talented engineers.
My 10 year journey:
Ever since college, I had been teaching. Teaching and helping others keeps me humble, develops my patience, and makes me a better developer. I am constantly forced to follow best practices so I don't teach the wrong things.
2010 - I started coding as a junior in college. I was objectively the worst coder having started so late so I convinced my best friend at the time to learn how to code while he was pursuing an econ degree. This way, I know somebody worse than me at coding. It helped boost my confidence.
2012 - After graduation, I got a job! Shortly after, my best friend got a job too despite having only an econ degree and no coding background. This inspired my ex-girlfriend at the time (who had a stats degree) to learn how to code. She got a job shortly after.
2014 - I started thinking... could anyone get a coding job without a degree? I reached out to a high school friend who was working as an uber driver. His college degree didn't work out for him, so I invited him to stay in my home while he learned to code. I eventually hired him onto my team and we worked together for awhile.
2016 - I wanted a definitive answer to the question "could anyone get a coding job without a degree?". My hypothesis was a yes and to verify that and I needed more students. I made a public post offering a free coding bootcamp with no interviews. First 12 students got to join for free.
2018 - Teaching those students turned out to be really difficult because they all came from all different backgrounds. I had to change my curriculum many times to not only train them to become good software engineers, but also prepare them for interviews. Eventually, all the original students (2 of whom I hired myself) got a job as a software engineer. I invited new students and started drafting up a formal curriculum.
2019 - Wrapped up a first draft of our formal curriculum. Started a free coding group at our local library: https://www.meetup.com/San-Jose-C0D3
I show up before work every day (M-F at 8am) to help students who are learning how to code.
2020 - Throughout my journey, I worked as a software engineer. Our curriculum has proven to be pretty effective and I'm currently in the process of hiring some students who started coding at our library into my engineering team. My goal this year is to launch our curriculum to the world for free as open source.
Due to the current pandemic, we have paused all in person meetup groups and we interact online. If you want to beta test our product, start here: https://c0d3.com/book
apart from those two serialization projects, I'm also building a side project in stylegan to generate art, and a self reporting pandemic tracker, relevant to C19.
Current project: Quarantining myself in my camper van for another week to see if I or my family members are ill before living together.
I have a Mac Mini with upgrades and a 4K monitor waiting.
Also, working on a boro water cooled virtualization/workstation dual EPYC that I've been piecing together before AMD made the press rounds. I'm supposed to have a dual CPU & VRM waterblock but the seller has been deflecting, dodging and dicking around for 4 months... they only mailed half of it.
I'm developing a low power wi-fi edge node that does low power beam forming and speech verification. really pushing the limits of this Cortex M4. Did i mention low power? Trying to get 10hrs of battery life on a few 2032s is not easy with 802.11b.
I built it because I frequently find myself looking to onboard (or “reboard”) to a project, and not knowing exactly where to start. After speaking to a bunch of other developers, I didn’t seem to be alone, so it felt like this problem was deserving of some attention.
While documentation can help mitigate this problem, I wanted to explore ways that the codebase itself could become more explainable, without requiring unnecessary context switches. Almost like if every repo had a table of contents. To make it easier to produce these “code tours” I built a tour recorder, that tries to be as simple, and dare I say, fun to use as possible.
I’ve since found that this experience has value in a number of other use cases (e.g. simplifying PR reviews, doing feature hand offs, facilitating team brown bags, etc.), and I’m excited to keep getting feedback from folks as they try it out. It’s also fully OSS, so I’d love any and all contributions: https://github.com/vsls-contrib/codetour.