|
Which companies stand with their users, embracing transparency around government data requests? Which companies have resisted improper government demands by fighting for user privacy in the courts and on Capitol Hill? "Be thankful we're not getting all the government we're paying for."
|
|
|
|
|
Facebook came to the conclusion that MVC does not scale up for their needs and has decided to use a different pattern instead: Flux. Because MVC is sooooo 1980s
|
|
|
|
|
Facebook's consistency requirements and data are pretty atypical cases I'd imagine. Also having an almost unlimited pot of fairy dubloons means they couldn't care less about developer productivity.
All that said - quite an interesting article. The pity is that it will be used by those who know little as ammunition to reduce all formal process to "copy blocks from google and give it a try".
|
|
|
|
|
The view should never have direct access to the model. That's one of the things MVVM addresses. I like the simplified design of Flux they're talking about, but I'd still add a client-side VM layer on top of it for the extra layer of abstraction. Maybe something like FluxVM or FVM. Sounds nice.
Jeremy Falcon
|
|
|
|
|
Wait.... so they invented the Windows Message Queue.... but in a web server?
Old stuff == New stuff.
|
|
|
|
|
The irony of that is sweet. I recently co-wrote a kiosk application. It never really looked MVC. We had a "Metastore" (heh, notice the similarity in names) that contained all the data, and our dispatcher was a very cool state manager that I wrote. The views were WPF.
Now I have a name for that kind of architecture. Flux!
Marc
|
|
|
|
|
Marc Clifton wrote: and our dispatcher was a very cool state manager that I wrote.
Was it bidirectional? I'm putting together a design for a new site and right now I see the only way to pull it off is with the dispatcher / controller being bidirectional.
Jeremy Falcon
|
|
|
|
|
Jeremy Falcon wrote: Was it bidirectional?
Well, with WPF / MVC, things are a mess. The view can update the model because you want the property changed event to trigger, for example.
The clarity that we achieved is that view has its view-model and can do anything within that limited scope -- it owns it's own domain, if you will. However, anything that affects the model that the rest of the world sees goes through the dispatcher (which can be property change events but is usually a button click event or some external thing like a card swipe, bill acceptor read, or some device erroring out.)
That was the theory. In reality, it was simpler to allow the view to update the model and thus it was bidirectional. But that's because certain fields, like zipcode, seemed ridiculous to go through and action->dispatcher->store sequence to update something that was exclusively informational.
Marc
|
|
|
|
|
Marc Clifton wrote: The clarity that we achieved is that view has its view-model and can do anything within that limited scope -- it owns it's own domain, if you will. However, anything that affects the model that the rest of the world sees goes through the dispatcher (which can be property change events but is usually a button click event or some external thing like a card swipe, bill acceptor read, or some device erroring out.)
This is what I'm going with. At first I called it MVVMC, but now I'm not sure since it's a "controller" in MVC compared to a dispatcher, but whatever. I'm liking it this though, and I'm ok with having a VM update going requiring an action that filters through the dispatcher. Not sure what the hell to call it though, as I don't think "Flux" supports ViewModels.
Jeremy Falcon
|
|
|
|
|
Jeremy Falcon wrote: Not sure what the hell to call it though, as I don't think "Flux" supports ViewModels.
Yeah, I know, we had the same issue. One of the things that we learned in this process is, if you think you're architecture is doing ok, stick with it. There were a few times we almost tossed out the state manager, but we stuck with it and it has evolved into a very useful thing. We do a lot of async/await stuff (there's a layer of complexity -- it sounds so easy but it's not) so we ended up with features like the ability to defer state changes until the async stuff completed, and so forth. Works well with the "wizard-like" nature of a kiosk.
Marc
|
|
|
|
|
Marc Clifton wrote: We do a lot of async/await stuff
That's actually what I'll be doing too, it'll be required actually, since I'm making a full-fledged single-page application for the first time in my life, and I'll need to maintain a solid client state while the server is doing its thing.
Being the rebels we are, we should just remove the L and call it Fux .
Jeremy Falcon
|
|
|
|
|
Jeremy Falcon wrote: and I'll need to maintain a solid client state while the server is doing its thing.
Have fun with this: http://msdn.microsoft.com/en-us/magazine/jj991977.aspx[^]
When we started working with async/await, we were actually spitting out debug messages with the thread ID to see how it was behaving. One problem that took half a day to debug was that, on application startup, I was calling the "sign-in" webservice function to make sure the server was up and running, but I was doing so before WPF initialized, and so there was no magic context for the await, thus it returned on a non-UI thread. Oh the joys. Personally, both I and my cohort believe async/await made life a heck of a lot more complicated. Threading used to be easy!
Jeremy Falcon wrote: and call it Fux .
Two great minds, a single thought between them!
Marc
|
|
|
|
|
Marc Clifton wrote: I was calling the "sign-in" webservice function to make sure the server was up and running, but I was doing so before WPF initialized, and so there was no magic context for the await, thus it returned on a non-UI thread.
Oh, the joys of multi-threaded programming and asynchronous operations. Over the web, I at least did a two year stint in Silverlight (which is all async by default) so I should be good to go with the concepts at least. Except this time around it's gonna be more client-oriented and done in JavaScript, so I'm sure I'll run into some sorta IPC issue like this.
Marc Clifton wrote: Oh the joys. Personally, both I and my cohort believe async/await made life a heck of a lot more complicated.
But I'll be able to implement real-time pie charts. Think of the pie charts!!
Marc Clifton wrote: Two great minds, a single thought between them!
Aye.
Jeremy Falcon
|
|
|
|
|
Windows 8 is unquestionably Microsoft’s most secure version of Windows to date. After being regularly criticised for poor levels of security in past operating systems, Microsoft deserves credit for the wholesale changes made to their latest release. Malware authors usually target popular software
|
|
|
|
|
I actually like Windows 8.1. Time to break old molds "just because it was always that way". Otherwise, we're no different than the generation before us that never wanted to adapt to a new world. I still wouldn't want to be using punch cards. The philosophy behind no start menu and rather an area to lunch programs is nice, even if it's a metro UI, I'm glad to see real change instead of WinNT4 spit-shined and repackaged.
Jeremy Falcon
|
|
|
|
|
/shrug Yeah, I kind of like it as well. I'm irked when one of those metro modern store apps grabs a double click, but that only usually happens once before I uninstall them.
Jeremy Falcon wrote: an area to lunch programs You're right. It is that time of day (PDT anyway). Time to go lunch some programs.
TTFN - Kent
|
|
|
|
|
Kent Sharkey wrote: Time to go lunch some programs.
I just got back from lunch, go figure. Be glad, I had a helping of Acrobat 6, so it no longer exists.
Jeremy Falcon
|
|
|
|
|
Has no one told you to always check the expiry date on your programs?
Don't be surprised if you suffer from indigestion and associated malware.
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
Alan Kay.
|
|
|
|
|
makeuseof wrote: Secure Boot is a security standard developed by members of the PC industry to help make sure that your PC only boots an operating system that is trusted by your PC manufacturer How about an OS that I can trust? How does this make things more "secure"?
makeuseof wrote: A sub-component of Secure Boot, ELAM is designed to enable security vendors to validate non-Windows components that are loaded during start-up. "Security vendors"?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
To commemorate a quarter century of its Adobe Originals type program, a font free for all. Gosh. Thanks. You really shouldn't have.
It still doesn't make up for Acrobat.
|
|
|
|
|
I wouldn't be surprised if the font was buried somewhere in all the data and source code pilfered in the Adobe hack. 'Here, it's free!"
|
|
|
|
|
Kent Sharkey wrote: It still doesn't make up for Acrobat.
But wait, you can use your new font in it...
Jeremy Falcon
|
|
|
|
|
Over the past several years, we have seen Microsoft hit the reset button on several of its major platforms including Windows Phone, Windows and now Xbox. The first big reset came when the company decided to abandon Windows Mobile and push forward with Windows Phone. When in doubt, Ctrl-Alt-Del
|
|
|
|
|
Microsoft showed off new Office features at TechEd 2014, but some of them will never be available to customers who don't embrace the cloud version of the software suite, Office 365, and the company will take its time bringing others to market for Office Server users. It's a shame no one will use those features
|
|
|
|
|