Ask HN: What “missing” technical solution(s) do you wish existed?
This could be just about anything, from "project A but written in language B", "an API or library for real world activity C", "a unified solution for both D and E", all the way to "An open source version of proprietary solution Z", etc.
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!
218 comments
[ 2.8 ms ] story [ 206 ms ] threadIn 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.
Some shabby server in someone's basement could stream data to millions. CDNs would no longer be needed.
Isn't this how multicast IP television works anyways? With IGMP and PIM?
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.
If you just want cheap service, you can already get that with a full-fledged smartphone with data. I pay less than $20/month with Ting, and I'm sure you can get similar deals with other MVNOs. You can't constantly stream YouTube videos all month long for that price though; you get that kind of bill by not using your phone that much, and doing a lot of your talking over WiFi using VoIP apps.
And you can get "burner" flip-phones for next to nothing anyway which will do exactly what you want here. If people really wanted stripped-down phones that much, those flip-phones would be extremely popular, but they're just not. There's no "revolution" to be had here.
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!
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 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!
https://www.microsoft.com/en-us/windows/Continuum
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.
---
[1] https://www.microsoft.com/en/mobile/accessory/hd-500/
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 wonder if Nintendo will sell docks separately from the system for that purpose? I would hope so.
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.
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! :)
GitLab have it in the Community and Commercial Editions: https://about.gitlab.com/2015/11/23/announcing-git-lfs-suppo...
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.
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 :)
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.
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.
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?
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.
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.
Unfortunately, the best we can do is use stats, studies, and reports. Nothing that's truly free of bias and 100% accurate.
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.
* an issue tracker (like Bugzilla)
* a money tracker (like Gnucash)
* a Q&A thing (like StackOverflow)
* a meeting organizer (tracking agendas and minutes)
[0] https://apps.sandstorm.io/
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.
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.
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.
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
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.
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...