Ask HN: What “missing” technical solution(s) do you wish existed?
Go wild, dream big. You never know, someone might respond with a link to such a project that already exists... or decide to start one!
Go wild, dream big. You never know, someone might respond with a link to such a project that already exists... or decide to start one!
Facebook knows what movies I like and interests I have, Spotify knows what songs I listen to, Amazon knows what books I like to read. All of these pieces of data are currently silo'd and controlled by private corporations many of which can do whatever they like with that data.
I want a private encrypted datastore that does this instead. Peer to peer so nobody controls it or can kill it. And controlled by you so Government can't get access. You set up a node and contribute CPU power and disk space. Then you get a private address and key and can push small pieces of metadata to it. This data is mirrored and very redundant so it won't disappear if some nodes go offline.
Then any site can integrate with this store. People will build libraries to write to it with various languages and others will build websites which make it easy for the layman to store and get data from it. People could create online "metadata banks" so that less technical people don't have to run their own node. Integrating with this datastore will eventually be as easy as integrating with current oauth services.
Having one global system not controlled by anyone also means there's now a standardized way for any service to request access to your data. They don't have to specifically integrate with Facebook, Spotify, Bandcamp, Last.fm etc, they just have one integration point and you can choose what data you want to share with them.
And in theory it will live on forever so as future services grow and die your data doesn't die with it.
> In an Urbit world, your data is no longer trapped in a jumble of proprietary servers. Your urbit is a permanent, versioned, typed archive the size of your digital life. Even before you move your data from a Web service to a local Urbit app, your urbit can drive your account with an API or scraper.
As of now there is no automatic mirroring, because nodes only store the data they request, but in the future one will use filecoin (http://filecoin.io/) to incentivize mirroring.
Only the consumers of the data need to change their behavior. If there's easy to use libraries to access the data store and enough demand for it then more and more consumers will adopt it over time.
If you can export the meta data you want from Facebook et al then you should be able to find a way to share it in an encrypted peer-to-peer network.
Perhaps an audit system which compares data shown to the user on Facebook to what the system knows Facebook contributed?
Essentially, when it's in my hand it's in Phone Mode, when it's in the dock it's in Desktop PC mode.
We are getting there with tablets. You can do this with the Surface for example thanks to Display Link technology. I just want the device to be phone sized, around 5.5" or so with a good battery life when operating as a phone, a decent processor, a decent amount of Ram (8GB at least), and about 500GB of SSD storage.
With a Surface or equivalent tablet, you still need to carry around a bag with you to carry it in which is a pain. If that could be small enough to fit in your pocket that would be ideal!
To extend on what you have, I think it would be really cool to have a phone app that brings up a remotely-hosted triple monitor dev environment when it's docked. The actual dev server could be anywhere and all you would need to access it, both at home and at work, is the phone. Kind of like a visual tmux.
edited: removed "which is why the many attempts at making desktop docks for phones have failed". There are many reasons they have failed, but not catering to devs probably isn't one of them. :)
I'll admit, having a self contained setup would be nicer, but that's not going to happen until batteries get much denser or phones get a lot more efficient.
In fact, why the heck did Apple sell a display and an iMac? Why not insert a processor board (a blade) into the display to turn it into an iMac? Why was the Mac Pro anything more than a bunch of slots for blades?
I want to carry a small display, some storage, and computing power and be able to dock it with more storage, display, and computing power. I really think we need to examine the PC in the post-PC world. Given the prices, I'm fine with the cloud being my backup, not work environment.
Actually, the ram could be an issue. For example, say you're running a video editing program that's using 15gb of ram and you want to undock. You'd need some way of storing the state of the program and the ram its using when it's not docked. Either that or you'd be forced to shut it down completely.
There's some precedent in the design of the Transputer plus daughterboards. Borrowing from the latter to handle the heterogenous nature of phone/PC pairings.
Making it hot-swappable would, of course, be a challenge. Using physical mechanisms to hold the device means that boards/phones/whatevers could be ejected safely only once various conditions (state saving, rerouting of data, etc.) were met.
I am also saddened that it seems like Microsoft is leaving mobile so it's unlikely we'll see a next iteration of this.
---
https://www.kickstarter.com/projects/andromium/the-superbook...
I would be surprised if, with more competitive Intel chips or x86 on ARM emulation (the latter of this is in the works afaik), this didn't happen sooner or later.
I wonder if Nintendo will sell docks separately from the system for that purpose? I would hope so.
It sounds like it didn't perform that great but with the more modern phone hardware and possibly some hardware in the dock to help with coprocessing (graphics card, more RAM, etc), you could build something quite useful. With the advent of USB Type C, docking stations for phones could definitely work. Gigabyte has even showed off a Thunderbolt/Type C external graphics card. I can definitely see souped up docking stations coming out within the next year or so. I could also see laptop versions of this coming out soon too for users that want a more portable version.
I just like the idea that, if I am contracting in a couple of different places, have one of these setups in each one, rock up with my phone and boom!
2. An event sourcing database that's not a gargantuan Java EE thing, something like the Redis or SQLite of event sourcing. I just want to store a bunch of events and build indexes in the form of update functions. And then easily access the cached indexes and live event streams through HTTP.
3. Something like Emacs but built on a React-like screen update model and engineered to be fast on something like a Raspberry Pi. We have a common room computer in our collective house that we use as a chat, todo, clock, etc, and right now it runs Emacs in xterm which is pretty good but the programming model is somewhat antiquated. (I tried making a React app but Chromium on the Raspberry Pi 2 is laggy, and besides Emacs is much nicer as an interactive environment.)
4. A tiny laptop with no trackpad and an e-ink display.
5. A scriptable bank account and a common metadata format for bills and invoices.
6. A low cost global roaming SIM card and a flourishing web of minimal bandwidth text services.
7. An accurate ebook parser generating semantic markup and a nice variety of innovative reading interfaces, for example showing one paragraph at a time, some kind of interactive mind mapping reader, etc.
8. A collaborative text editor that works more like a chat than a word processor.
Such a format does exist: https://en.wikipedia.org/wiki/EDIFACT
It's just hardly anyone uses it. It's got some adoption with large companies such as auto manufacturers that mandate their suppliers to use it but it's far from wide-spread (and certainly not with SMBs or consumer-oriented offerings).
There also is MT940 (https://en.wikipedia.org/wiki/MT940 ) which in theory can be used for exchanging and scripting bank accounting data. The format is a terrible mess though with each bank implementing it slightly differently (if they do offer it at all).
Then there is the Incoterms ruleset (https://en.wikipedia.org/wiki/Incoterms ), which is commonly used in supply chain management.
Similar hardware switch would be useful for cameras and microphones in smartphones. You can never be sure, what your iOS, or Windows Phone, or some modified Android OS is actualy doing.
I'd even settle for a good case that just covers/muffles all of that.
Could you place a small magnet over the mic to essentially lock it in place? no movement == nothing to record.
This would be almost a regression back to mainframe days, but it could give everyone the power of a high-end workstation as well as save energy since most scenarios wont' have a 100% load factor. An office of 20 people probably never actually needs 20x (1CPU 1hdd, etc). You could buy one rack with 5 beefy workstations and have a much more efficient load factor. As long as you could keep the video link up, the users should never feel any lag.
edit: you'd also need a video-card multiplexer, so for the 20 worker scenario, you'd have one board with 5-10 gpus multiplexed to 20 fiber optic outputs (doesn't have to be fiber, but something high enough to give you 4k @ 60fps )
This could go either way: given the current state of American ISP's, it could be a disaster. But in a "perfect world", it would "just work" because as soon as your OS went down, the tech would be dispached to remote in and fix it, or drive out there and replace a blade in the server. In aggregate, this would drive up demand and evolve a highly reliable OS. In that case everyone should have a highly reliable service (albeit with privacy concerns), as long as the video could keep up.
While you may be right that overall availability would increase under such a design, I don't really think reliability is a problem for most people right now.
Maybe it would work in some special scenarios though? For example it may be a viable model to provide 'basic service' computing to individual homes within a low income / government supported housing environment, prisons, or hotels. (Fun fact: In mainland Chinese hotels, they often provide computers specifically so that people can watch porn.)
But having such a solution, that I could review to improve recall, or search if necessary, would be lovely. Something quick and unobtrusive.
Would you use it if you had to manually log it?
"dec 02 2016 Hung out with Alex and Sammy, talked about Star Wars and whether Darth Maul or Qui-Gon would win in a fistfight, Sammy was backing Darth Maul and won the argument"
I don't have any ideas to improve that in any way, I don't know if it CAN be improved without some element of literal mind-reading, I just know that typing out the above is inadequate, it's too clunky, time-consuming, and conspicuous.
Communication; the next best thing to reading minds!
What would you expect or be willing to time out instead?
There is a concept of IDaaS - Identity as a Service that covers the first part of your request (sign up / identity lifecycle, authentication / single sign on, user self-service for password resets, etc...).
This is one such offering, there's a good overview of the features here: http://www-03.ibm.com/security/cloud/cloud-identity-service/
Also, I recommend looking into the IBM BlueMix cloud platform: https://console.ng.bluemix.net/catalog/
I think things are heading towards what you're describing, but picture it more as a catalog of skeleton backend apps built on top of pieces like you called out, as a starting point for different types of projects.
Some shabby server in someone's basement could stream data to millions. CDNs would no longer be needed.
Now I don't have experience with Source-specific Multicast, which is supposed to resolve the cycle problem, but I think there remains a lot of fear of Multicast in the industry.
Can anyone else comment on cycle issues?
Also, in terms of scaling, Multicast requires of copy of the packet on the router to every port which is registered as a listener to a Multicast address, this will increase load on the larger routers.
That way regional SSM can still be useful and local islands (which whould hopefully grow over time) could be bridged by unicast links or - if they have overlap - by leapfrogging.
Even at the ISP level there would be still be use-cases for SSM.
Isn't this how multicast IP television works anyways? With IGMP and PIM?
Also the ability to get the entire system to work electronically offline.
So we'd need advancements in not just technology (tbh, the tech would be the easy bit), but laws and ideas/conceptions people have with banks/monitory systems in general.
I really dont understand how this shit is so hard.
Sadly it's never the technology, it's the laws that are the issue (and I can see why they are necessary too, so it's just in limbo)
Can you give an example of this?
However...your usage is generally changes and so should your plan. (for example, i personally have a lot of transactions happening in April/May) and then it generally drops to a few every month and to avoid paying those transaction charges I have to always hold around $5000 base balance.
While this might not be an issue for me (I have a comfortable income where the $5k does not affect me as much, and my spending habits are not excessive either), there are a lot of people for whom, 5k (or even the $1k/m min amount is a lot) and these people who need money the most, usually fare the worst. I find that unfair (similar to buying in bulk).
Get sick in the stomach? Put a sample of your food on small chips before you eat and now we know that Chinese restaurant you ate at had high levels of E coli.
Basically like Chromium a year ago? before they removed support for Hangouts and I had to switch to Chrome. Which crashes all the time, usually when using Hangouts.
I want a DNS replacement that allows you to "subscribe" to TLDs, each with their own policies and practices. Domains are identified by a tuple of a public key and the domain name, so that if someone wants to share a domain, the browser can let them select the host they want. It should have 3 (or more) distinct modes of operation: Gossip, where popular portions of the zone are continually shared between nodes; P2P, where queries traverse a graph of peers, rather than a tree; and a Classic mode, which functions as DNS does.
I want a standard way for ALL OSes (incl. Mobile) to share notifications. I can't even get my phone and smartwatch to share all the notifications I need, and they're from the same manufacturer!
I want a protocol and software to combine the paradigms of Syncthing and FTP, so you could download a folder's contents (or a subset thereof), or keep it up to date, all with syncthing's discovery and authentication framework.
I want a platform where every action is entirely scriptable in something that's not Javascript. Get an IRC message while I'm not there? Send the text to program A. New USB device inserted? Launch a virus scanner there. It would be exceedingly helpful if you could tie in to the browser and define scripting events on 3rd party pages.
Finally, I wish Plan 9 was a viable desktop OS because its protocols and paradigms line up very nicely with some of these. Plus, it's a really neat, simple OS.
Could you explain this syncthing desire more?
I developed SyncthingFUSE [0] for something that possibly sounds similar to your desire. I've let the project languish, but planning to pick it back up.
Want to know why people don't like / dismiss JS considering it's one of the easiest / quickest to pick and go furtherest with.
So...PHP? VBScript? Why specifically not JS?
There are a few abandoned projects like this, but they're all CLI-focused with view-only web at most. I want something better than just keeping a TODO file, not worse.
https://www.fossil-scm.org/index.html/doc/trunk/www/index.wi...
Energy from nuclear fusion.
Highly dense electrical energy source. I want to see electric planes, phones that last for months, drones that stay in the air for days, etc.
Some kind of magical security system so we could return to native code instead of putting VMs on top of VMs. No idea if this one is feasible or how it might be achieved.
Cheaper IC foundries. I think there might be a market for old processes if they were substantially less expensive.
For the other things I didn't necessarily have a battery in mind (doesn't change your point though).
http://www.alteraboards.com/products/ http://www.nallatech.com/solutions/fpga-cards/
Hopefully these cards will become more widespread.
- I can set up any number of "site groups" that sites go into by default - "www.google.com" and "www.gmail.com" are in the "google" group, and those sites open in their own pseudo-profiles with their own history and own cookies, etc. - For a given site, I can open new tabs in any group (or for sites in multiple groups, set the "current group" for the site. This way I can have a github account for personal stuff, github account for a different context, etc. - For sites not on any "siloed groups, everything operates in a "clear after closing" mode, where once all browser instances are closed, all data, cookies and history is cleared.
Right now I just accomplish this manually by using a locked-down version of Firefox for default browsing and different Chrome profiles for each "site group". It helps that I've forsaken more or less all web-apps, so I don't have to worry about accidentally clicking a link in Google Hangouts that will then open in the Google profile.
Edit: Just read the other half of your comment. There seems to also be a throwaway domain that you can use that is doesn't persist data after you close it.
[0] https://www.qubes-os.org [1] https://www.qubes-os.org/video-tours/
But to your point, even within a given browser/VM/whatever that I intend on using for a single task. I'd still eventually end up slipping up and going to a site that should have been in a different group or logging into something that I wanted in an ephemeral group.
There is a real problem currently with data sharing on the web, where it's pretty much all or nothing. That'll still be true under the scheme you mention, just the goalpost will be moved to within whatever grouping scheme you pick.
It seems there isn't a good way to allow sites to do useful things like ajax to lots of services not on the same domain, while preventing the site provider from sharing your data with people you don't want to have it.
Ad- and tracker- blockers alleviate some of this by preventing certain undesired code from running and thus sharing data. But, user tracking is still possible (and used to actually happen by) using server-side logging and shipping info to 3rd parties.
Ultimately, we are relying on the people or organization behind a site to not share our data.
And, yes the tools could get a bit better with grouping/profiles. But, the vast majority of users won't use these tools. And, even if you use them, you have to be diligent in only opening certain sites in certain "groups" and/or managing which group you are logging into your account in.
So, features like this always will be niche unless there is a revolutionary shift in users' technical ability and attitude towards data protection / privacy.
Currently there is way too much time and money is being spent on re-implementing this functionality on normal DBs.
PS: There is Datomic, but it's not free: http://www.datomic.com/
(Best friend is an ornithologist.)
A true cloud platform where I don't have to mess with admining and provisioning servers and containers. I want to just upload my code and pay for the cycles and bandwidth I use. Aws lambda for http basically.
I'd like to just implement what I need.
Also disqus works without ads. There ad system sucks badly anyway i was making 30 cents a day on a website that makes at least 30$ with adsense. Even thought disqus used up even more space.
I've had a not-specific-enough idea of what that language would be for a long time. As far as I'm aware, nobody has created it yet.
- Functions-as-a-service with a better UX than AWS Lambda
- Server-side-rendering-as-a-service for React-based SPAs. When a request comes in it renders the page, sends it up to the client, and automatically 'solves' hydration of data.
- A better scripting language than Bash.. maybe Ruby but with a simpler way of running shell commands / getting stdout+stderr. Should be really easy to test.
Ideally it would be possible to build all assets (maps, models, textures, binaries) in a game from source files to the format that's distributed to people.
Unfortunately due to the build times for certain things like maps it's not feasible to rebuild everything before every release. Combined with the fact that the files are relatively large means that we can't store everything in one git repository.
I'd be very grateful if anyone knows a solution to this.
We are. 2 man team and have our own hackeneyed way, some in house bunch of Python scripts to build our game assets. As we do this seriously as a hobby it works :). But now we are at a stage where the 2 games are coming along well and to go full hog, I would choose plastic.
It has integration with Unity and gutsync as well so migration is easy and with 7$ pm cloud plans for 5gb assets works for us.
Last when I had checked plastic it was out of reach out hobbyist / indie game devs. Hope this helps.
GitLab have it in the Community and Commercial Editions: https://about.gitlab.com/2015/11/23/announcing-git-lfs-suppo...
As for the git problem, why not use svn or perforce for the game assets? They handle binaries much better than git does.
Using svn for the game assets would work but to build them we would still need the shaders for example, which would live in the git repository alongside the rest of the code of the game. The resulting problem is that the asset git/svn should be triggered to rebuild when the code git changes. I'm looking for a tool that could help with that.
Thanks for the suggestion of perforce, I'll look at that.
Lucky you. :)
This isn't a simple problem and I don't know of any one size fits all solution for this. From what I could tell, every company comes up with its own asset pipeline that fits with their art, code, test and release processes.
I came up with a half assed solution myself back when I was still working in games. We had a separate build server just for assets. It ran a script every hour that pulled down both the code and art repos and watched for changes in certain folders. The shaders, 3d models and textures were linked via naming conventions. Through those naming conventions, the system always knew where to find all of the relevant pieces of any given individual 3d asset (in theory, anyway). It would then create the assets and check them into a separate SVN repo. This system worked ok, but it had a number of problems.
One problem was the naming conventions. The artists didn't much pay attention to file names, so any new asset they created would inevitably not get built because it didn't adhere to the conventions. We thought about replacing the naming conventions with a json file describing every 3d asset, where their shaders were, where their 3d models were, any special settings, where they should be saved, etc. but that would have required either a GUI application to help manage it all or a coder whose job was to manage the data files. The former would have taken time and the latter wasn't much better than what we were doing already. We still needed a coder whose job it was to fix asset build issues, which would pop up on a regular basis.
Another issue we had was build revisions. Game builds are complicated enough and we added the additional complexity of having to specify a branch name and version number for the assets used. It doesn't seem like it would be an issue, except when you have parallel art work going on in parallel branches along with parallel dev work going on in parallel branches things break. In retrospect, we should have put our foot down and said there is only one official asset branch and all dev builds will use the latest version of that branch, but we didn't.
Sorry for the essay, but I hope it was of some use to you. If you ever come up with a universal asset pipeline, sell that sucker! :)
More generically, I'd suggest you check out Mercurial with the Largefiles extension.
I think part of the problem is that there isn't a demand, and, if I may rant a little, the reason there isn't a demand is that most developers do not separate business logic and platform-specific stuff (rendering, I/O, etc.) in the first place, whether from lack of skill/experience (which everyone including me is guilty of early in their careers), or the fact that the framework/platform you're working in "discourages" it.
But even if all that worked smoothly, what if I want to move my logic to PHP as well? I know, now I'm getting crazy, but that's what the poster asked for :)
For now, there are so many unknowns in the equation, that users have no choice but to rely on vendor's authority, which means centralization.
Don't tell me it's theoretically impossible because it's possible in almost every other area.
We still don't have digital signing technology that is verifiable as easily as paper signature and works peer-to peer, without some big corp/govt involved.
Subtle bugs don't look like problems until someone figures out an exploit against them.
On the other hand, using some security product, you can't tell if it's secure or it's snake oil, even if source code is open.
With security software, the threat model is completely different.
In my house, I have multiple Airport Expresses for the sole purpose of connecting them to different channels on an amplifier to to stream different audio sources to different parts of the house. So 1 point exists for the speakers in the kitchen; 1 for the speakers in the dining room; 1 for the patio, etc...
So the wife could be prepping dinner in the kitchen, listening to 1 music stream and I can be on the patio prepping the brick pizza oven listening to another stream (we have vastly different music tastes)
So I've always wanted 1 device with x endpoints that I could configure each and connect to specific speakers.
Then again, with the routers being put on "hold" - this may be moot and I might have to switch to a Creston or something else.
i think Java actually comes closest to what I want here but unfortunately it's pretty hard to get past all the cruft the ecosystem has accrued over the years, plus it's java and marketing that as a company/developer sucks. also java is missing some expressiveness of haskells TS
Haskell's Yesod framework is pretty feature competitive with rails/django, but it doesn't have 1/10th of the community.
I'd love to see Haskell gain wide popularity, but I don't think it's realistically going to happen. People generally travel the path of least resistance, and learning Haskell requires a lot of time and effort before you can be competitively productive with it. Individuals will choose to make that investment, but the masses won't unless they are forced.
I think the closest thing to what we want right now is node with typescript.
A distributed application framework. You run software on your OWN machine, offloading computation and storage needs to other trusted nodes. Framework should have the trust system, a data store that automatically replicates, system to explicitly show what data is being shared with whom. Effectively, you can still log into your account from anywhere. The software and data will sync. Won't work for problems that need large scale data and also lowers its collective value. For instance, a social network but no advertising.
I know in the UK I made no special effort to do this. I had a mortgage, and each month I was supposed to pay £260. Instead I paid £800 and I completely paid off my flat many years earlier than expected, with a corresponding saving in the interest I would have otherwise paid.
Short answer (in the US): Nope.
Basically, by default extra money comes off of the payments at the end of the mortgage, not off the principal.
Now, that said, some mortgages do allow you to apply an over-payment towards the principal, but you usually have to specify it for each payment you send in, they won't make it the default for your account. Oh, and they will likely only recalculate the size of your payments annually.
One final note: Keep in mind that paying extra (regardless of how it is applied) won't count for anything if you hit a bad patch and start missing payments, so if you are going to dump extra funds into your mortgage instead of hanging on to it, first build up a healthy cushion (3-6 months of all expenses).
* database for system logs (JSON documents) that is not as brittle as ElasticSearch and not as big of a memory hog
* topic map engine usable from Perl or Python
I'm talking about just a good player with nice features (easy playlist manipulation, pre-buffering for next video, queuing up videos, etc.).
It is not always very clear on what plugin you should use for paging or sorting, column reordering. Then it become heavy to save a state using methods from different pluging.
So could be a lot simpler.
Still the best open source free js table on the market on my knowledge.
I would also like the protocol/standard to be iterated upon to include new features like bots, stickers, file transfers, etc.
I dont really see why swift.
I stopped doing android ads because i dont like Java enough to make more than a shitty app. So really with you on this
2 - A better linux distro : basically the polish, convience, drivers and apps support of windows/macos but running the linux kernel
* an issue tracker (like Bugzilla)
* a money tracker (like Gnucash)
* a Q&A thing (like StackOverflow)
* a meeting organizer (tracking agendas and minutes)
Unfortunately, the best we can do is use stats, studies, and reports. Nothing that's truly free of bias and 100% accurate.