Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

gently caress them posted:

This is going to be one of those drat weeks, I can feel it.

I have a webapi project and an asp.net forms template in the same solution.

Despite setting both to start at the same time and having the webapi project referenced in the website I can't actually call the controller from the webapi project.

I can however copy and paste the paths with port numbers and just get the json right into my browser.

I don't use WebAPI much, so I may be misunderstanding how it works, but why would you call the controller directly from the API? The controller calls the API, requests for something, and the API returns the data to whoever called it. The API should not know anything about the controllers.

Adbot
ADBOT LOVES YOU

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

gently caress them posted:

I wanted for some javascript (jquery datatables) on my page to be able to call /api/controllername and get json from it.

I meant to say the webapi project's controller object isn't something I can reference from my web page. The two separate projects didn't work. Trying to do it all in one project didn't work.

So you're call something like $.get('/api/controllername',...) on your webpage, and it won't hit the api, but if you directly put in "http://somethingbutts.jp/api/controller" in the browser, that works?

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

epalm posted:

It's a bit like why there's so much hate for javascript, because people see the C*/Java syntax and assume it works a certain way, and when it doesn't they get mad. If one takes the time to learn from scratch with no assumptions, most reasonable people would see it's a neat language.

I've been using NodeJS for a few apps and I love it. It's so powerful, and the fact it's all running on Javascript is kinda weird and really cool. But in terms of style it's very very different. It is really cool though seeing what it can do though.

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

Ithaqua posted:

Does anyone have any ideas about getting around SignalR's inability to have async event handlers? I'm working on something where I have my application's logic totally platform-agnostic and want to fire events when the internal state changes and needs to be pushed to clients, but SignalR can't handle async void methods.

Does it have to be Async Void, or can it return a Task?

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

ljw1004 posted:

Why do people use json for their sample data? Beats me.

I think Blend does that if you ask it to create sample data based on your entities.

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

A Tartan Tory posted:

Welp, I think my brain needs a rest at this point, because I didn't even see that.

Ignore the above stuff, I'll have a look when I'm at least marginally refreshed enough to see basic poo poo again.

You might want to throw your code up on to github or something as well, and then link to specific files instead of just pasting bits of it here. Unless this is something you can't make public, it's easier to process all together instead of just getting parts.

EDIT: Oh yeah, this might be a good place for this.

VLC needs more people for the VLC WinRT port. Right now there is really only one person working full time on it. The codebase, while not as bad as it was a few months ago when I first saw it, still needs to be refactored quite a bit.

I've been working on it off and on for a few months now. They are getting ready to release an updated 8.1 app, and it actually works pretty well (considering how poor the first version was, that's not saying much, but still :v:). If any of you are up for a challenge, and have worked on Windows Phone/Windows 8 apps before, it's a good way to get involved in a huge open source project.

Drastic Actions fucked around with this message at 21:57 on Aug 26, 2014

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

A Tartan Tory posted:

I've basically deleted everything I've made at this point, multiple times, when/if it gets to that stage again I'll box it all up I guess.


Would starting with winforms help me understand WPF?

Avoid Winforms. Unless you have a reason to use it, don't. Not at this point. I would say it would not help much at all from a WPF angle, because they are different.

And you don't have to have a fully working project to throw it on Github, or at the very least put it under local source control. Just put what you have and do commits when you make changes. That way you can mark what you're doing and go back if you need to.

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

Bognar posted:

I looked through the recent commits and read some of the code, but I was trying to find some low hanging fruit to go after that would actually be warranted. Is there a list of goals or bugs specifically for the WinRT version? I briefly browsed their bug tracker but the different milestones didn't seem terribly relevant.

Yeah, they have one, but don't really use it. Really, the best way to fix bugs is to get pull the branch down and run it. Because use it for a little bit, and you'll find a bug. But at this point for a release it's somewhat minor. The easiest thing to fix right now is getting rid of hard coded strings and putting them into the resources files. They originally did not have any and everything was hard coded into English in the XAML. I built the English and Japanese Resw files and started populating them and getting rid of the hardcodes, but when I left and came back, they kept putting them in raw. You don't have to translate them of course, but putting the strings into the English resw file would be grand. It'll also show you more of their code, and some of the... um... poor decisions they made along the way.

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

wwb posted:

You can say the same thing about ASP.NET Webforms or WCF but that don't mean you should start projects built around them.

Exactly. If you're stuck working on a project that's using them already, that's one thing. Choosing to learn them first when you don't know either? Yeah, I would say don't bother.

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

ljw1004 posted:

DON'T USE RESW DIRECTLY!

You should have the single primary language in RESW, and then use XLF files (from the Multilingual App Toolkit) for all other languages. XLF+MAT is the only sane way to manage your translation workflow.

My PSN FoulPlay app use XLF, but they won't let me use it here. From what I recall you have to install the Multilingual Toolkit if it's being used, they did not want to have contributors have to install more extra tools just to compile the app (considering I'm the only one at this point who cares about localization).
Nevermind the fact that they don't really have any contributors, but whatever. I'm not sure if there was any other reasons not to. But yeah, XLF and the toolkit make it much easier to actually handle updating everything. I should start pushing for it again.

And also note, these are people who won't update the C++ VCLibs up to version 12, because it causes issues with the app validation and instead of trying to fix it just use the unsupported 11. I just roll with it at this point.

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

gently caress them posted:

Starting to not feel the linq right now.

I kept getting "don't do this For Each because the list doesn't have any elements."

Ok! I'll throw in a drat if statement to make sure the list has a count greater than zero.

So on the line where I go "If (items.Count > 0) Then"

"ArgumentException not handled by user code
Count must have a non-negative value."

I have no clue what is going on. I'm going to just wrap it in a try catch, but honestly, what the hell is going on?

You can use "items.Any()", which returns a bool if it contains any elements.
But it seems weird that it would throw an error on an empty foreach. Unless it was null, I would think that if it was empty it would just pass over it.

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

ljw1004 posted:

For WPF, it has a solid roadmap for the future.

That makes me happy that there is a some movement for WPF. I'm also really happy with the new features in VS2015. Lambdas in the debugger :woop:

*Plug*
Xamarin is also getting some major love today at Connect. Thanks to the community edition, you can now run our Visual Studio extension without paying for Professional. Also the starter edition is getting support in VS for the first time.

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

Martytoof posted:

Dang. I really wanted to develop for OSX but use C# without paying Xamarin any money.

Xamarin.Mac is free, but unsupported. Our mobile stuff requires a subscription.

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

Martytoof posted:

Huh. I haven't checked it out in a month or two but for some reason I had a hard time finding what I needed to get this done on your site :(

I'll have to check again tomorrow, thanks!

Scratch that a little bit, it's MonoMac that's included in Xamarin Studio, and it is unsupported. But it is free. Mixed up my terms there :).

Just download Xamarin Studio on OSX and you should see it in the projects list.

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

Rooster Brooster posted:

So with all the announcements and updates, I'm a little fuzzy on one Xamarin item: can I now develop Android apps via Xamarin in Visual Studio without, you know, paying them money? Their licenses are pretty pricey for a hobby/indie developer.

Before the VS Community edition was released, you had to have VS Professional or up in order to use Xamarin, because it was an extension. Now you don't have to. And becaues the community edition is free, the Starter edition of Xamarin now works on VS. We also made changes to the starter edition so that you can have "bigger" apps, but realistically it's more so you can see how it works and get a feel for making something, rather than releasing a full blown app with it.

But yeah, basically, you still have to pay us. VS support only comes with the business license and up too :(.

Edit:

quote:

The documentation is pretty good, though you can tell a great portion of it was written for iOS 6. I don't have much insight into the Android docs. So a lot of the documentation doesn't reflect the API updates from Apple, but also a lot of the basic stuff hasn't changed so you can still get a lot of useful information.

There is an effort going on to update it, or at least provide newer samples as new releases come up.

Drastic Actions fucked around with this message at 16:53 on Nov 14, 2014

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

Forgall posted:

Those two statements seem to contradict each other.

You can try out the VS extension with starter, but if you want to use it without those size restrictions, you have to pay, and when you do you have to use Business license or up.

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

mortarr posted:

I'm writing my first web api, and each controller has only get, put, post etc methods, which seems like it's going to result in a large number of controllers over time, because there are quite a few types of object to interact with, and different systems interact with the same object in different ways.

Is this the modern way to do things or am I missing the point?

Actually, just typing this out made me think I should reduce the number of controllers and have overloads on the verb methods, but even so I feel like I'm doing something wrong.

Based on what you wrote, I think you're doing this:

C# code:
public void Get(SomeObject awesomeObject)
        {
          // Something in here
        }
public void Post(SomeObject awesomeObject)
        {
          // Something in here
        }
Your methods can have attributes for what they accept, so you can have

C# code:
[HttpGet]
public void SomeKindOfGetRequest(SomeObject awesomeObject)
        {
		// Get Request
        }
[HttpPost]
public void SomeKindOfPostRequest(SomeObject awesomeObject)
        {
		// Post Request
        }
and so on. So your controllers can have multiple Get/Post/Delete/Put requests in them.

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost
So Xamarin switched to Slack from Hipchat. There's no official Windows Phone client yet (They are actually making one though, which shocked me) nor a Windows 8 version, so I figured I would start making one. If only as an excuse to play around with WebSockets.

I have the connection set up with MessageWebSocket and it's sending and receiving messages successfully. I have a timer set up so it can ping the server so it can maintain a connection, and close it when the view pages, or if there is a network issue. But I'm having an issue trying to figure out how to handle the messages I'm receiving. If you look at their API, it returns messages as JSON. That's great, but I like to deserialize json as objects with JSON.NET, and the objects it brings back can be different. For example

JavaScript code:
{
    "type": "message",
    "ts": "1358878749.000002",
    "user": "U023BECGF",
    "text": "Hello"
}
or

JavaScript code:
{
    "type":"user_typing",
    "channel":"C03C6CWAM",
     "user":"U03C6CW9T"
}
When I make API calls directly, I know exactly what I'm going to get back; The object I requested, or an error object. I don't think I can deserialize this directly though, so I can only parse it as a JObject, check the type field and go from there. Is there a good way to handle this, or am I just missing something obvious?

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost
I've been making some updates to Awful Forums Reader, and I got around to doing something I've wanted to do for awhile. Since the core of those projects is a PCL, I've been using it to screw around with some other side projects. Well, it was annoying bundling the core dll with each project, or referencing the entire project. So I decided to split it out of the Awful Forums Reader solution and turn it into a true PCL Library and threw it on Nuget.

It should work in any .NET 4+ project, including Xamarin (and excluding Windows Phone 8 and 8.1 Silverlight :v:), as long as it works with PCLStorage (which is used to store the forums cookie on the users machine). I can make docs if anyone is interested in using it for themselves. I'm also going to port over some old unit tests Ithaqua wrote for me awhile back, and the command line test project I wrote for showing off how it works and throw it all on Github soon.

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

Ithaqua posted:

Do you have an MSDN subscription? If you do, Microsoft gives you up to $150 per month of free Azure hosting, depending on subscription level (Pro/Premium/Ultimate). It goes a long way for a low-traffic site.

I have "Visual Studio Professional with MSDN" and get $50 in credits and I usually end up using $15 or so of that with the few sites I have up there.

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

Ithaqua posted:

VS MSDN licenses aren't cheap. Pro is $1,200 per year, and Ultimate is around $14k. It's mainly for enterprise users, although the MSDN benefits are pretty great.

Yeah, I got it through work. I need VS for ASP.NET work (No chance in hell I'm going to use Xamarin Studio for that :v:).

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost
So at work, I'm having a massive issue with Massive, and MySQL. Once every few days, the App Pool in our IIS server shits the bed. Looking at the event logs, I get:

quote:

Application: w3wp.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an internal error in the .NET Runtime at IP 000007FD8437F230 (000007FD83D50000) with exit code 80131506.

Ooof, that's bad. What's worse is I can't replicate it on our Staging server, nor on my dev machine. Elmah got nothing either, as well as any of the other logging stuff we have set up. Basically, it just crashes, and I don't know why. So, in a fit of desperation, I put the IIS Debugger tools on to get a Minidump... in Production. :(

So once I got a dump, I turned off the debugger and took a look.

quote:

Unhandled exception at 0x000007FD89AA7B8C (KERNELBASE.dll) in w3wp__DefaultAppPool__PID__3392__Date__02_18_2015__Time_04_05_37PM__13__First Chance Access Violation.dmp: 0xC0000005: Access violation reading location 0x0000000000000040.

And the call stack:



So MySqlConnection tries to get the server version (for some reason), then it blows up... but this does not happen all the time. The start of the call stack is a normal call requesting data to be shown, and as far as I can tell there is nothing special about it. It just... happens. I thought it might have been an updated MySQL driver causing it, but I rolled that back to the version we had before and the same thing happens (Although less often it seems, but that's probably just happenstance).

Any ideas? Anything else I should look at? Myself and another web dev looked at my previous commits trying to see if I introduced something that would cause it, but from what we can tell there is nothing obvious from the changes I made that would cause this to happen.

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

Gul Banana posted:

Your call stack explains the reason why it's trying to get the server version - New Relic is using it for analytics. You might have encountered a bug triggered by reentrancy, as i see that ServerVersion.get is ultimately being called within OpenConnection thanks to the analytic shim... does that require a connection to be already open? Does it open one itself? Either would be bad.

I'm going to end up getting rid of NewRelic for now and see if that helps. It should be using the same database connection from what I can tell, but maybe something else in it is opening up another one? And only some of the time? I'm going all :psyduck: over it, but I asked around and it does not seem to be very useful for us at the moment so I can just turn it off.

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

Ithaqua posted:

VS2015 CTP 6 came out earlier today, along with the first CTP of TFS 2015, with all the awesome new build stuff.

Xamarin is also an install option in the custom install now too. Making it just that little bit easier to go on and give it a try. :)

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost
Since we don't have a Windows Store specific thread, I'll guess I post this stuff here :shurg:. Microsoft talked a little bit about Windows 10 universal apps at MWC. Some of the Windows Phone APIs are going to be deprecated and made consistent with Windows itself. So DoSomethingAndContinue will be going away :woop:. It also seems like there will be more to have true cross-platform XAML support, with hopefully less conditional "#if WINDOWS_PHONE_APP" logic and more XAML solutions. They also showed off Xbox One Universal apps as well.

Gets me a bit amped for Build. Just months away from Awful Forums Reader on XB1 :getin:

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

Factor Mystic posted:

Is there a source what what WP APIs are dead?

Not yet, they just mentioned that the APIs are going to be folded together at MWC. So we'll find out more at build.

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

Mr Shiny Pants posted:

Quick WPF question:

If I have a view model that also holds my combobox items and I instantiate this in code:

code:
 this.datacontext = new ViewModel() 
How do reference this in my datatemplate?

Is it ok if I do:

(Code above)


You set it in code, so you don't need to set it again. For example, this crappy app I just built.

code:
namespace TestWpfApp.ViewModel
{
    public class TestViewModel
    {
        public string TestString { get; set; } = "LOOK MAH! I'M SET IN CODE!";
    }
}
code:
<Window x:Class="TestWpfApp.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:TestWpfApp"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <TextBlock 
            VerticalAlignment="Center" 
            HorizontalAlignment="Center" 
            FontSize="30" Text="{Binding TestString}"/>
    </Grid>
</Window>
[code/]

[code]
namespace TestWpfApp
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            this.DataContext = new TestViewModel();
        }
    }
}


The Data Context is set on the window, so the textbox on the grid can be binded to it.

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

GrumpyDoctor posted:

If I'm understanding the question and remembering my WPF right, the question is about DataTemplates, which can get annoying to find DataContexts for. Unfortunately, I don't have anything in front of me I can refer to for anything concrete.

Yeah, you're right. I did not read the question correctly. It's early :(

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost
So I was tasked with updating MonkeyWrench (A mono based build server) with support for Google Oauth2. Currently it uses OpenID, and since Google is getting rid of support for it (and because we auth with Google for our business accounts) they want to switch.

Now, here are the problems with doing that. If you look through their source code, you can see that this:

  • Is a Webforms project. :cry:
  • Contains forked versions of ServiceStack and Json.NET. (The fork of ServiceStack only has the OpenID parts.)
  • Is based on .NET 4.0.
  • Is a goddamn mess.

We can't use the built in user account system, because it stores passwords in plain text. So we need to add something. We plan on leaving MonkeyWrench, so they don't want an "elegant" solution, Just something to use as a stopgap we can get off of it. But I'm not sure where to start, and no one else seems to have any ideas. If I want, I can retarget the app to a higher version of .Net, and I can use Nuget. But then I need to make sure I don't break any other part of the app in the process. :suicide:.

I'm tempted to just add a salt/hash to the password field and call it a day. Anyone have any ideas?

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

epalm posted:

As least they're aware of their own silliness.

It also tells you when you're making an account that the passwords are stored in plain text. But it's not that hard to put basic encryption in there, and the fact it's been like this for years... :(

EDIT:

Ithaqua posted:

Abandon ship. You're already planning on leaving it... don't even try to enhance it. Your time would be better served getting a new build environment running and migrating off of that shitheap.

Now if you can convince Miguel de Icaza of this, that would be awesome. It has been a few days of banging my head against a wall of all the issues I have to overcome to somehow hack Oauth2 into something that won't support it without breaking everything else. I got a meeting with my boss tomorrow, so I'm gonna have to say I just can't do it. Not in any sane way. They got a month to get their poo poo over to another build system (I think they're going with Jenkins), so they'll live with plain text passwords.

Drastic Actions fucked around with this message at 22:02 on Mar 12, 2015

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

Boz0r posted:

I think it's going to be C#.

What are you doing with it though? Web development? WinForms? WPF? WinRT?

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost
Xamarin announced a bunch of things at dotnetConf, including a preview verison of Xamarin.Forms for WinRT, and updates for Android Wear/Apple Watchkit/Microsoft Band.

Also if you're in an OSS project, you can now apply to get a free Xamarin license to port your stuff over. It's about time, seeing that there would be little incentive for most people to buy a license to port their free OSS project over. Note that I have no idea of what will actually get accepted. All I know is that it needs to be "established", meaning you can't just throw something up on Github and apply. Also note that I did not come up with that web form. I don't know who made it, but man is it ugly :v:.

Drastic Actions fucked around with this message at 18:30 on Mar 19, 2015

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

Mr Shiny Pants posted:

That looks cool. Has anyone used the VS plugin for Xamarin? I am actually pretty interested in it, but you need an subscription. I just wanted to test it out and create an Windows Store app.

For iOS it can be a pain, but gets better with each new release. At the very least, it's more reliable for me so I don't have to keep reconnecting the build tool. Also having Resharper in VS helps tons too (and it's also compatible with Xamarin, including Forms XAML support). Android support has always been fine for me.

You can try it out for 30 days, but the VS plugin only works on Business accounts and up. And that's a lot of money. For the indie license you can usually haggle the sales team and get a discount, but you only get to use Xamarin Studio. Which is not bad (especially after you turn on all the code complete/folding options) but... yeah, despite what my coworkers say, it's no Visual Studio.

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost
I downloaded the Windows 10 SDK and started screwing around with it.





And that's basically all I have. It does work on phones... kinda, but I'm having issues with my PCL storage library so I can't log in at the moment with the emulators. But it should have nearly the same interface across the two devices. They are getting rid of the split projects and instead are pushing more adaptable ux controls.

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost
More Windows 10 SDK stuff:









Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost
A Prerelease of Sqlite for Windows 10 UAP apps is now out

:woop:

Now I can actually use all the nice database stuff I wrote in my Windows 10 apps without massive hacks.

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost
If any of you are going to Build, be sure to check out the Xamarin talk on Friday. I did most of the web infrastructure for our demo (If we manage to finish it. It should be done tomorrow, but building it at all was a split second decision and we started the project three weeks ago :v:), so you may be able to see it explode in real time! Or if it works live, see some pretty cool Azure and Xamarin app interaction. At least that's the hope. We'll see!

Except for me, I couldn't go :cry:.

Drastic Actions fucked around with this message at 04:39 on Apr 29, 2015

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost
So I updated my Windows 10 build to the newest one available, and got VS 2015 RC and the newest SDK drop. Now when I compile pages, I'm getting this error:

quote:

Error CS0535 'UserProfilePage' does not implement interface member 'IComponentConnector2.Connect(int, object, object)' AwfulForumsReader C:\Users\Butts\Documents\Other-Apps\Awful-Forums-Reader\AwfulForumsReader-UAP\AwfulForumsReader\obj\x64\Debug\Pages\UserProfilePage.g.cs 16

This is in generated code. I can implement the interface, but it's just going to get overwritten at some point. Any ideas of what's going on?

EDIT: Actually I think it's an SDK issue. :psyduck:

Drastic Actions fucked around with this message at 17:37 on May 1, 2015

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

AuxPriest posted:

You have a class that I derived from an interface that is not implementing a method from the interface.

Why that's happening in generated code is quite honestly.. Baffling. Are there and Windows 10 specific SDK changes?

I figured it out, it was just a SDK screw up. I uninstalled the old version and reinstalled the new one. It works again.

Adbot
ADBOT LOVES YOU

Drastic Actions
Apr 7, 2009

FUCK YOU!
GET PUMPED!
Nap Ghost

aBagorn posted:

Go on... :allears:

Well, the good news is that you can watch it here! Here's some fun facts about the demo. A little inside info:

  • The client development did start two weeks ago. I got started three weeks ago for the server stuff.

  • The app was always going to be a messaging app, but the original theme was... let's say a bit larger. We had to change it to "Kinder Chat" because someone (either Microsoft or us) got cold feet. That change came about last week. But we never changed our namespaces, so if you look at the VS project on screen, you can see what we were going for :).

  • The actual original idea was something Miguel thought of before I got to the company. It was a joke he's been kicking around. Seeing that he had everything well thought out, I asked if he went the extra step of actually making a spec for it. And sure enough, he did. We started talking about the fesability of it and were planning on actually doing this outside of Xamarin, but then it was decided to bring it in house and use our resources. That's how I got involved.

  • The Azure crash they talked about was real. Originally the messaging server was on my own Azure account, and I totally forgot about it when we moved it to a Xamarin project. I was not there when they decided to send a blast email to everyone in the company to get it tested, so when we had all those people on it, it blew through the credits. I moved it to our own accounts, scaled it, and all was well.

  • The encrypted messaging stuff they talked about is real. Basically, here's how it works. The user creates a new account and after they enter in their confirm token, the device they are on gets added to their user as a new device, with a public and private key. Technically, this device is actually a hacked together ASP.NET Identity, because I didn't have time nor energy to roll my own solution, nor did I really want to (seriously, three weeks). I generate a username and password on the server, which the client then sends back to get an Auth token. They then use this auth token to make requests, so now I know they are, in fact, a verified user. The client generates a public/private key. The private key is stored on the device and never leaves it. The public key gets saved with the device on the server. When you send a message, it gets encrypted with the other users public key, so that when they receive it, it gets decrypted. That is live and (magically) worked great on stage.

  • The achievement system as shown was fake. There is a real system on the server that's handling them, but we didn't have time to add it into the app.

  • The link to parent feature is fake, but the original app didn't call for it being there at all. Originally, when you made a new user, a "hidden device" was added so every message you made would be sent to another entity without your knowledge. That's actually still there, so all the messages they were sending on stage were being sent to my account in Boston. And of course, it all worked :).

  • As is somewhat typical of Miguel, he had way way way more ideas for the app. On top of ideas I flat out said I wouldn't do (He wanted encrypted video. Three days before BUILD. Ha ha ha no.), we had to scale down the more ambitious elements of the app.

  • For avatars, there is a static default animal set that is pulled from the server on initial load, and have a "AvatarType" enum so if we want to add more static avatars that we can sort by type, we can. User uploaded avatars are added to the same table with a "User" value.

  • The Xamarin Inspector is legit cool and does work. There is network support in it, and originally there were going to show it off, but didn't have time. The big issue though is that it does not work over HTTPS very well. So for the demo, it's all being run over the wire with no encryption. So the "Encrypted" messaging app is not being run with SSL. The messages are encrypted on the client though, so even if you did see it, you could not read it.

  • They mentioned that we used Twillo for SMS and SendGrid for emails. We never implemented Twillo, but we did talk to them and get credits for it. Just not enough time to demo it. SendGrid was implemented, but the only reason I used it was because I didn't want this demo to touch our actual production mail client. So I figured implementing SendGrid was a good compromise.

  • They didn't show the "ServerClient" project in VS, but I wrote that. I kept documenting the API for the server, but no one had time to integrate it into the clients, so I did it for them, since I already knew what the server needed (since I wrote it :v:). So if they DID open it, you would see similar patterns to what my apps usually have, except the code is a poo poo load better, with much more and better error handling and interfaces actually being implemented. It's also integrated with Insights.

There are plans to open source the client portion of the app at some point. I don't really want to open up the server part, because the code is pretty jank (Again, three weeks, and I don't know of a net benefit anyone would have using it since it has nothing to do with Xamarin) but the client portion is really well done.. But if anyone is interested I can talk about it.

Drastic Actions fucked around with this message at 15:09 on May 2, 2015

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply