Thread Rules 1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution. 2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20) 3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible. 4. Use [code] tags to format code blocks.
Yeah, that was some reason why I wanted ideas about what kinds of technology existed that did stuff, what structures exist that use the idea of every consumer is a view rather than every consumer is a complete client. I never thought about email actually, so that's a cool step.
My questions earlier about connecting to another computer is how to minimize Internet requests. What technologies exist that I can use in a client to synchronize data between multiple clients. If a laptop pulled down data and my phone is accessing the same data, does stuff exist that will let me grab the data from the laptop (like the laptop is a client-server?). If I make a "client-server", can I ping that in my house without hitting the Internet? What tools exist for this? Lots of technology questions here that I'm asking.
I don't think I have to choose between positives and negatives of each solution, because I don't see any downfalls to my proposition except for not really real things, possible development time, physical and virtual resources, and lag from including the client-server into the equation. I'm doing investigations on push notification timing versus long poll versus socketed connections for a paper actually and I would also love to know if there are any other methods of that "re-query".
I would say that this is solving the each device has the same display problem. I imagine that the device would have the most up-to-date tweets anyways, as well as every other device because they all get updated at the same time. Would the latency be noticeable? Mmmmm, it's a research idea after all...
Thinking about my way as well means that we can have extremely lightweight (CPU-wise) views. In terms of the Internet of Things, smartwatches don't process anything, they get information routed from the phone. So I guess that exists there. But if our client-server did everything, all we need the CPU to do is get direct "view" information and show it, then re-query if we need to update, or push a request if we want to actuate something. Do these things sound not crazy/realistic? Or do I sound whack?
Large quote, asking separately, I'm researching connections between server/clients. Is there anything else besides push notifications/long polling/sockets?
Thinking about my way as well means that we can have extremely lightweight (CPU-wise) views. In terms of the Internet of Things, smartwatches don't process anything, they get information routed from the phone. So I guess that exists there. But if our client-server did everything, all we need the CPU to do is get direct "view" information and show it, then re-query if we need to update, or push a request if we want to actuate something. Do these things sound not crazy/realistic? Or do I sound whack?
Cloud gaming actually is a good example of what you're describing. The basic idea is that a (remote) cloud platform run the game, encode the display in some video format and streams it to you. The client is a pure (local) viewer in that case, it only needs to read the video and react to user input (which is forwarded back to the server for processing by the game). The advantage is obviously to put back the burden of processing on the server, relieving the client (as in all cloud solutions). It is fundamentally different from how we traditionally approach video gaming, but is not very successful yet due to, well, latency, and the fact that it's not that much easier to decode streamed high bitrate high quality video than just run the damn game on your local device :D
Edit: Ideally, if you had efficient enough encoding/decoding methods, you could just make videos out of all user interfaces in all applications you can think of and stream those from a cloud server. That would be the ultimate, all-inclusive generic "pure client-side viewer" solution, but obviously it's not really realistic.
On August 31 2014 15:42 Blisse wrote: Yeah, that was some reason why I wanted ideas about what kinds of technology existed that did stuff, what structures exist that use the idea of every consumer is a view rather than every consumer is a complete client. I never thought about email actually, so that's a cool step.
My questions earlier about connecting to another computer is how to minimize Internet requests. What technologies exist that I can use in a client to synchronize data between multiple clients. If a laptop pulled down data and my phone is accessing the same data, does stuff exist that will let me grab the data from the laptop (like the laptop is a client-server?). If I make a "client-server", can I ping that in my house without hitting the Internet? What tools exist for this? Lots of technology questions here that I'm asking.
Yeah... That's Peer-to-peer. You pull from the server once, have it distribute between your clients.
Now welcome to the world of blocked ports and state troubles ;o)
On August 31 2014 15:42 Blisse wrote: Yeah, that was some reason why I wanted ideas about what kinds of technology existed that did stuff, what structures exist that use the idea of every consumer is a view rather than every consumer is a complete client. I never thought about email actually, so that's a cool step.
My questions earlier about connecting to another computer is how to minimize Internet requests. What technologies exist that I can use in a client to synchronize data between multiple clients. If a laptop pulled down data and my phone is accessing the same data, does stuff exist that will let me grab the data from the laptop (like the laptop is a client-server?). If I make a "client-server", can I ping that in my house without hitting the Internet? What tools exist for this? Lots of technology questions here that I'm asking.
I don't think I have to choose between positives and negatives of each solution, because I don't see any downfalls to my proposition except for not really real things, possible development time, physical and virtual resources, and lag from including the client-server into the equation. I'm doing investigations on push notification timing versus long poll versus socketed connections for a paper actually and I would also love to know if there are any other methods of that "re-query".
I would say that this is solving the each device has the same display problem. I imagine that the device would have the most up-to-date tweets anyways, as well as every other device because they all get updated at the same time. Would the latency be noticeable? Mmmmm, it's a research idea after all...
Thinking about my way as well means that we can have extremely lightweight (CPU-wise) views. In terms of the Internet of Things, smartwatches don't process anything, they get information routed from the phone. So I guess that exists there. But if our client-server did everything, all we need the CPU to do is get direct "view" information and show it, then re-query if we need to update, or push a request if we want to actuate something. Do these things sound not crazy/realistic? Or do I sound whack?
I don't think your whack, but I think you're using a lot of words to describe a browser. That's why a lot of people are pushing for HTML5 apps vs native applications. Developing native applications can get costly, so wouldn't it be great if we could develop the same application and run it everywhere? That's what the people who have been advocating for web have been saying for years.
The part about connecting to other devices kinds of confuses me a bit. I'm not sure why you think connecting to other devices would be easier than connecting to the server. The problem you are describing sounds like it's getting dangerously close to touching on CAP theorem...a game that I promise you don't want to play. As a primer, how do you know that your computer is more up to date than you are as a tablet? Now you have to try to resolve that versus assuming that the server is the truth. You are actually pushing more processing out to the clients in order to prevent network requests.
Also, I am definitely not an expert in networking, but I feel like you're missing some understandings. There isn't anything special about accessing "the internet"... except for the massive infrastructure that connects the devices together. For your computer to talk to your tablet, it has to be able to locate it. If they aren't on the same network, it's going out over the internet anyway. Yeah, it didn't hit the other server you were dealing with, but, its still on the internet. Only now, what protocol are you going to use? Are you going to make your device less secure by now allowing incoming traffic as well?
I think the reason people aren't talking about your idea more is because it feels, to me anyway, vastly more complicated.
So basically, you want a local cache for the internet that tries to minimize requests to offsite servers. The cache can be distributed, but would have a controller that determines whether the data is polled from offsite or the cache.
Well it's no fun thinking about stuff that I know that is possible and stuff I have a decent idea of how it works haha
I'll have to check up on browsers actually so that's neat. I don't think it solves the problem of synchronization and having each device as a lightweight view though, since each browser is basically a complete client.
I checked out the Wiki on the CAP Theorem and that sounds a bit discouraging. I'm trying to think if it applies though and I'm not convinced that it does. Views don't have to manage their state. They have no state. I have one state and I just need to keep my Views consistent which I'm pretty sure is solved (is it?). If a View sends a request to the client-server I keep proposing, and then the View disconnects, the client-server doesn't care.
Trying to figure out what you mean by "how do you know that your computer is more up to date than you are as a tablet". Tell me if I'm mistaken. My client-server talks to the server, my devices connect to the client server. If I just register the version of the device when it connects to the client-server then even if my devices have inconsistent versions, my client-server will only give back View data relevant for that version. Something like that? My clients are still pure Views.
I was looking at Wi-Fi Direct. It's supposed to be similar to Bluetooth but I couldn't get it to work when I tried. Probably not enough support on my hardware. Why shouldn't there exist methods to interact off the grid between devices? I'm envisioning an orb that floats behind you that's connected to the Internet, while your devices connect to the orb. Then I just have to figure out how my work laptop can attach to my orb when I'm standing at home (doesn't seem technologically possible atm but I don't know that's why I ask). I think I'm tackling multiple problems here with the glowing orb, but I need some way to represent what the client-server would be. Because obviously I can create another server and have each device access that and have an instance running per active user, but is that the only solution? Back to the floating client-server orb idea.
On September 01 2014 05:35 aksfjh wrote: So basically, you want a local cache for the internet that tries to minimize requests to offsite servers. The cache can be distributed, but would have a controller that determines whether the data is polled from offsite or the cache.
I think so yeah that sounds close to what I mean if distributed cache means what it means to me as it does to you. The wording doesn't work though in my devices as Views scenario because there needs to be some reinterpretation of data.
On August 31 2014 15:42 Blisse wrote: Yeah, that was some reason why I wanted ideas about what kinds of technology existed that did stuff, what structures exist that use the idea of every consumer is a view rather than every consumer is a complete client. I never thought about email actually, so that's a cool step.
My questions earlier about connecting to another computer is how to minimize Internet requests. What technologies exist that I can use in a client to synchronize data between multiple clients. If a laptop pulled down data and my phone is accessing the same data, does stuff exist that will let me grab the data from the laptop (like the laptop is a client-server?). If I make a "client-server", can I ping that in my house without hitting the Internet? What tools exist for this? Lots of technology questions here that I'm asking.
Yeah... That's Peer-to-peer. You pull from the server once, have it distribute between your clients.
Now welcome to the world of blocked ports and state troubles ;o)
Having every device do it seems a bit unnecessary, though it's a lot more practical than having another "thing" in the way. I feel like this wouldn't suffer from state inconsistency though? Or is that what everyone thinks.
Not sure if relevant but I'm currently in a NoSql database course and some of the things you are describing sound somewhat similar to how Riak handles consistency. I am not sure if this will be helpful but its interesting in any case.
On September 01 2014 11:55 xboi209 wrote: http://pastebin.com/Ua5HjPBR Based on the code from the link above, can anyone guess what the return type of IX86ExtraWork.dll would be?
My educated guess would be:
struct EXTRAWORK { WORD GameType; WORD Length; char OutBuffer[1024]; };
If you have the source dll, you can always disassemble it to check.
On September 01 2014 11:55 xboi209 wrote: http://pastebin.com/Ua5HjPBR Based on the code from the link above, can anyone guess what the return type of IX86ExtraWork.dll would be?
My educated guess would be:
struct EXTRAWORK { WORD GameType; WORD Length; char OutBuffer[1024]; };
If you have the source dll, you can always disassemble it to check.
I initially tried to return that struct but ran into a bunch of errors so I turned back because of my noob skills but I'll try again. I don't know ASM either to check
On September 01 2014 11:55 xboi209 wrote: http://pastebin.com/Ua5HjPBR Based on the code from the link above, can anyone guess what the return type of IX86ExtraWork.dll would be?
Not sure what the question is exactly - are you asking about the call
On September 01 2014 11:55 xboi209 wrote: http://pastebin.com/Ua5HjPBR Based on the code from the link above, can anyone guess what the return type of IX86ExtraWork.dll would be?
Not sure what the question is exactly - are you asking about the call
LoadLibrary returns a boolean to indicate success or failure of loading the DLL (IX86ExtraWork.dll).
GetProcAddress returns a function pointer to the ExtraWork function within that DLL, which looks to be declared as
bool ExtraWork(void *)
(which you can see from the
typedef bool (__fastcall ExtraWorkProc *)(void)
at the top of the file).
Then, the actual function ExtraWork returns a boolean based on whether or not it successfully filled in the void* passed to it with ExtraWork data.
Sorry I meant the return type of the ExtraWork function from IX86ExtraWork.dll. Thank you for your answer although I've already tried returning true but the program from the link above is giving me incorrect data so I know that I'm doing something wrong.
On September 01 2014 06:27 Azerbaijan wrote: Not sure if relevant but I'm currently in a NoSql database course and some of the things you are describing sound somewhat similar to how Riak handles consistency. I am not sure if this will be helpful but its interesting in any case. https://www.youtube.com/watch?v=AxG9DROsnqg
I don't think it's what I'm looking for but totally introduced some new concepts to me, so thanks, had some good things for me to know.
edit: should expand, cool thing they mentioned was that if you never update you don't have to worry about inconsistent state to an extent and you just have to worry about garbage collecting the invalid data (missing lots of parts).
for the software engineers, how do you deal with estimates? I wasnt taught about it in college (even though i majored in software engineering) but probably because its pretty dynamic? How do you give estimates that doesnt make you look bad (estimating a very huge time for a task)? If you give a pretty short deadline it would also doesnt give you any leeway. What factors should you consider in giving an estimate on a task(s)?
On September 02 2014 11:24 icystorage wrote: for the software engineers, how do you deal with estimates? I wasnt taught about it in college (even though i majored in software engineering) but probably because its pretty dynamic? How do you give estimates that doesnt make you look bad (estimating a very huge time for a task)? If you give a pretty short deadline it would also doesnt give you any leeway. What factors should you consider in giving an estimate on a task(s)?
Task estimates are dependent on the person.
Like if you're the type who always underestimates try to double your score each time. There's lots to do during the day that's work but doesn't include tasks.
Honestly they're very stressful and lead people too much towards competition with peers (I can finish this faster) which is not their intent. Just give estimates you think are accurate to make project manager jobs easier and imo don't worry too much about looking bad for overestimating or underestimating and needing too much time. Estimation accuracy comes from self reflection and trial and error.
In addition it's useful to clarify when you might have other duties. Like people rarely ever just sit in a cubicle and do 4 hours of work. They have meetings, luncheons, seminars, help others, ask for help from others, work on things that were marked completed long ago to make sure they still work, firefight, and still have responsibilities to their other teams, and teams they've officially moved away from. 4 hours straight work can even cause you to tunnel, so you need to take breaks.
Like if you're the type who always underestimates try to double your score each time.
doesnt this make you look bad? Time is very valuable to the clients and I believe we are billed by the hour, so therefore the more time the task takes then it'll discourage the client? (just pure speculation, i actually have no idea, I have <1 year worth of experience in my job, also first job)