• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Programming |OT| C is better than C++! No, C++ is better than C

Granadier

Is currently on Stage 1: Denial regarding the service game future
I have a technical interview next week for an internship. I've seen some advice here and I've got quite a few blogs covering interviews to look through, but for an internship what should I focus on studying? I'm just refreshing my knowledge on what I've learned in school so far.

My best guess from the research I've done to prepare for future internships, is that it will depend on what sort of company your interview is for. Is it one of the big ones?

The general idea that I've gotten is to focus on data structures and algorithms and how to implement them in your primary language, or the language the company uses.

There's a good book called Cracking the Coding Interview that you can probably find online to skim through before next week.

Steve Yegge also wrote a good blog a while ago that was centered on interviewing at Google, but could be applied to all sorts of companies.

Good luck!
 

roddur

Member
I'm having an issue with Process.GetProcessesByName and hoping to get some explanation. The code i'm using is
Code:
proc = Process.GetProcessesByName("MyProg")
If proc.Length = 2 Then
  MessageBox.Show("2 Processes are running")
  Throw New Exception
Else proc.Length = 1 Then
  MessageBox.Show("1 Process is running")
end if

As you see if there are 2 of the same processes running there will be an alert and then an exception is thrown.

But what's odd is in couple of machines when i run the program for the first time somehow it's finding 2 copies of the program, completely bypasses the messagebox code and goes straight to Throw.

What's more odd any messagebox before the condition is also getting bypassed.

As it's happening to couple of machines I'm not sure what is the reason. Any help will be appreciated. Thanks.
 
I have a technical interview next week for an internship. I've seen some advice here and I've got quite a few blogs covering interviews to look through, but for an internship what should I focus on studying? I'm just refreshing my knowledge on what I've learned in school so far.
Granadier's correct, but I think the only large company I've seen firsthand that really doubles down on ALGORITHMS is Google. And Google gives a heads up with many instructions and reference sources that they will be asking you questions on that material.

It does depend on the company. Even in big ones like Apple and Oracle, I've seen interviews trend more towards questions that have to do with building applications or specific things in [insert programming environment/language here]. Contract firms definitely do this, too. Some interviews poke around to see what excites you, some just double down on practical problems building applications and knowledge of language features. If you're not told what they'll be asking about, expect the interviews to trend towards personal experiences and practical solutions.

It also depends on the team and what they think is worthwhile to ask questions for. Generally the logic problems and algorithms come up only when they don't have more specific bits to quiz you on given your anticipated level of experience, but you should know about stack/queue/map/dynamic array (vector) and sometimes unordered set.
 
Out of curiosity, is there be a difference in the UTF character specs between V8 and SpiderMonkey?
The ECMAScript standard requires that they expose all strings as UCS-2, which is similar to UTF-16. Mostly a product of the times then.

Java* and Windows use UTF-16 for string encoding because they tried to solve the Unicode problem in the late 90s before most of its limitations were very, very clear. UTF-8 is sane, is 100% backwards compatible with all of 7-bit ASCII, and you should use it. Source 1, Source 2, Source 3.

* - It's actually quite a bit more complicated that that. UTF-16 was grafted on top of the original UCS-2 formatted strings for the Java 5 release. For a more informal but infintely more readable discussion, this SO question explains some of the why behind what they did.
 
So, I am bash scripting and want to take the Kernel work and run a bash script for it.
I am new to Linux so I want to look at extracting information from d-mesg and locating things in the proc-directory. Does anyone know of a good resource?
 

Ambitious

Member
I've got a Maven project with two submodules in Eclipse. I just pulled and merged the newest version, which includes three more submodules. But Eclipse doesn't automatically recognize them as Java projects; they're displayed as normal folders. How can I fix this?

Simply re-importing the project using the parent project's pom.xml works fine, but surely there must be a different way? Maven -> Update Project doesn't help either.

edit: Well, I simply imported the new submodules using Import -> Maven -> Existing Maven Projects.
 
Code:
bool isEmpty() {
  if (empty_ == true) {
    return true;
  } else {
    return false;
  }
}

I love those. We had a guy on our team litter our application with a bunch of expressions of the form

Code:
return someBooleanExpression ? true : false;

To the reader who might not be accustomed to a conditional (or ternary) operator, this is 194% redundant and repetitive and redundant.
 

MrCuddle

Member
I love those. We had a guy on our team litter our application with a bunch of expressions of the form

Code:
return someBooleanExpression ? true : false;

To the reader who might not be accustomed to a conditional (or ternary) operator, this is 194% redundant and repetitive and redundant.

As a soon to be compsci graduate, the thought of this showing up in a professional environment makes me shiver.
 
As a soon to be compsci graduate, the thought of this showing up in a professional environment makes me shiver.

You don't even want to know, because really, that snippet is minor compared to the list of atrocities in my present application. Here's another minor atrocity (C#):

Code:
long id = Convert.ToInt64(null);

First time I saw that, I literally thought the code was unreachable because it would otherwise blow up. Actually, no, it's reachable and it works. The result is 0. And, yes, that is literally (sans the variable name) the code in the application, and it is everywhere.

In this instance, I saw it because a different coworker had checked it in, and I asked him why he checked in such a convoluted way of assigning 0 to a variable, and his exact words were "I just copied it from somewhere else" (which is what prompted me to find the other occurrences of it in the application).

There's another lesson for the kids: don't copy and paste code.
 

injurai

Banned
Yup. If you copy and paste code you will regret it later. Either because you have to deal with it or you'll find enemies.

The laborious task of hand laying down everything should be the impetus to write good extensible projects. That way you can properly write things once.
 
I love those. We had a guy on our team litter our application with a bunch of expressions of the form

Code:
return someBooleanExpression ? true : false;

To the reader who might not be accustomed to a conditional (or ternary) operator, this is 194% redundant and repetitive and redundant.
Because it's this?
Code:
bool isEmpty() {
    return (value == empty_condition);
}

EDIT: Ah, because they're repeated everywhere. Never mind.
 

Kalnos

Banned
I dunno, while that shit is bad at least it's easy to fix. Much better than (also in C#) finding someone's ridiculously complicated LINQ query and trying to figure out what the fuck it's actually supposed to do.
 

survivor

Banned
Buffered reading doesn't lock up normally. I'm not sure whether you can read unbuffered in nodejs. My remarks weren't specific to reading files in nodejs.

Generally, nodejs callbacks should also not lock up your program, although there surely are cases where you can break that. (Fork bombs maybe.)

You'll probably do buffered reading with a callback, so I don't see a reason for a lockup. Even I/O errors will just lead to the error callback firing, as I understand it.

I tried to articulate some common file reading traps. So my remarks really were of a general nature. It would be good practice to check all file reading caveats with nodejs regardless. If you're just trying to get things done, don't bother though. I think you'll be fine with just reading the files early.
Ah alright, thanks.

Code:
bool isEmpty() {
  if (empty_ == true) {
    return true;
  } else {
    return false;
  }
}
I had something similar when working with callbacks in Node.js where I would do this
Code:
if (err) {
    callback(err)
} else {
    callback(null)
}
Then one day I realized, I can really just just do callback(err) and get it over with without the redundant if statement.
 
Are these people with actual degrees?

Yes.

Though I cannot vouch for the original source -- our application was initially written offshore, and they did a very horrendous job of it. But it has been handled in house for 6-7 years, and the (relatively minor in the grand scheme of this application) atrocities I posted were either added or replicated by people that should know better.
 
Because it's this?
Code:
bool isEmpty() {
    return (value == empty_condition);
}

EDIT: Ah, because they're repeated everywhere. Never mind.

Basically, you had it right the first time. The boolean expression is enough, turning it into a conditional just repeats what you already know and adds no value.

Code:
return someBooleanExpression;
 
OK, so one more relatively minor atrocity in the grand scheme of things, then I'll move on. The same guy that littered the code with those redundant conditionals also liked to provide the most useless comments ever.

Code:
// if value is 3
//
if (value == 3)
{

Like, we all agree this is useless, right? People have varying opinions on comments, but one thing for sure is that comments shouldn't tell you what the code already tells you plain as day. Here's the awesome thing. Sometimes.... oh yes, sometimes... you find this

Code:
// if value is 3 
//
if (value != 3)
{

Good times.
 
Enterprise code is a bit of a self-reinforcing catastrophe. Even programmers with potential get sucked into the vortex of "well, I guess this is how we do it here", and it death spirals from there.
 

injurai

Banned
Enterprise code is a bit of a self-reinforcing catastrophe. Even programmers with potential get sucked into the vortex of "well, I guess this is how we do it here", and it death spirals from there.

That's the benefit of changing jobs every few years. Other than climbing the pay tiers you can seek out environments or projects that can actually be properly maintained.
 

Granadier

Is currently on Stage 1: Denial regarding the service game future
*please have job prospects outside of enterprise*
*please have job prospects outside of enterprise*
*please have job prospects outside of enterprise*
 

Saprol

Member
Enterprise code is a bit of a self-reinforcing catastrophe. Even programmers with potential get sucked into the vortex of "well, I guess this is how we do it here", and it death spirals from there.
That sounds... fun. Hope I can transition into a developer role later on to see it first-hand.
 

0xCA2

Member
Just did my first in-person interview for a software job today. I feel most of it went great, but I can't help but replay the most awkward moments in my mind over and over. In hindsight I don't feel I sold myself as well as I should've, either.

I still hope I got it. It's a web development job for a research institute connected with my school. If I landed this, then (I was told by the manager) I could just work there the rest of my college career and graduate with extensive hands on experience. Also, there doesn't seem to be a technical interview because they plan on training people. I'd be sooo fuckin happy if I got this.
 
I love those. We had a guy on our team litter our application with a bunch of expressions of the form

Code:
return someBooleanExpression ? true : false;

To the reader who might not be accustomed to a conditional (or ternary) operator, this is 194% redundant and repetitive and redundant.

Sometimes people do this if `someBooleanExpression` isn't actually of type bool but is of type int or something like that and they want to avoid the implicit cast warning. But it's usually because they don't know you can !!someBooleanExpression. (FWIW, the first time I saw !!someBooleanExpression I thought it was the stupidest thing I'd ever seen, until I learned that it has an actual valid use).
 
Sometimes people do this if `someBooleanExpression` isn't actually of type bool but is of type int or something like that and they want to avoid the implicit cast warning. But it's usually because they don't know you can !!someBooleanExpression. (FWIW, the first time I saw !!someBooleanExpression I thought it was the stupidest thing I'd ever seen, until I learned that it has an actual valid use).

It's important to note that this is in C#, where it is actually a boolean expression, not something that a different language might let you get away if (such as "if (1)").

It will be something like someBooleanVariable, SomeBooleanMethod(), or x > 3, etc.
 

Antagon

Member
Enterprise code is a bit of a self-reinforcing catastrophe. Even programmers with potential get sucked into the vortex of "well, I guess this is how we do it here", and it death spirals from there.

It's interesting. We write enterprise software here and I've definitely seen this problem here, but over the years I've been working here I've also seen huge improvements made in quality and professionalism. One of the great things about staying at one company for a longer time (6 years now).

A tip for the Java developers here: Look into Spock as a unit testing framework. It's written in Groovy, but it's amazingly well crafted. Partially because it's written in Groovy (and you have to write the tests in Groovy as well) tests are far shorter and the unit test does a really good job of forcing best practices. After working with JUnit it really is a relieve.

How beautiful is this?

Code:
def "events are published to all subscribers"() {
  given:
  def subscriber1 = Mock(Subscriber)
  def subscriber2 = Mock(Subscriber)
  def publisher = new Publisher()
  publisher.add(subscriber1)
  publisher.add(subscriber2)
  
  when:
  publisher.fire("event")
  
  then: 
  1 * subscriber1.receive("event")
  1 * subscriber2.receive("event")
}
 
EDIT: Saw some other people ask about VBA so I think I should be safe..

This shit is maybe way too complicated for what i'm trying but here goes..

I have a spreadsheet set up where a user inputs a time into Column E, and column D outputs their username

in column D i have a formula that is (using D14 as an example)

Code:
=IF(ISBLANK(E14),"-",Username())

There is a module to get the username

I then have a module that copy+pastes column D back into itself and Pastes the values of the cell as well

Code:
Range("D:D").Select
    ActiveWindow.SmallScroll Down:=-48
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

what I am wanting to do however is if Column D has the - instead of the Username value, it skips the value paste

basically if the cell has a username, it pastes the value. if not, then it ignores it.

I had it with a blank at first but thought maybe the hyphen would help


If this is too much, let me know and i'll keep working it out on my own

The goal is to allow me to work on half the sheet, save it, then when someone else opens it later in the day my username value is saved but the empty cells are still able to use the formula

If a cell could save its value once an input is made (go from formula to text) that would work in this scenario as well(and might be easier but I dont know). Column D should not be changed once the formula is fulfilled
ie. I complete a task at 5:15. I input this into cell E5, and Cell D5 fills in based on the formula and pulls my username
D5 would then have my username as a value vs a formula, but D6 is still the formula

the way it works now I have a button set that upon click it runs the earlier "copy the entire column macro and paste the value" which works for a single person in a single task log but breaks if it needs to be used for multiple people
 

Granadier

Is currently on Stage 1: Denial regarding the service game future
Just did my first in-person interview for a software job today. I feel most of it went great, but I can't help but replay the most awkward moments in my mind over and over. In hindsight I don't feel I sold myself as well as I should've, either.

I still hope I got it. It's a web development job for a research institute connected with my school. If I landed this, then (I was told by the manager) I could just work there the rest of my college career and graduate with extensive hands on experience. Also, there doesn't seem to be a technical interview because they plan on training people. I'd be sooo fuckin happy if I got this.

Good luck!

I managed to snag a job similar to this last year and have been there since. It has skyrocketed my programming abilities.
 

OlympicTechno

Neo Member
I've been having this problem for some time now and am becoming increasingly frustrated with my lack of progress, just wondering if anyone can help me?

I'm creating a restaurant booking system which involves an SVG interface in which tables change colour based on whether the table is available, reserved, or unsuitable for party size. The only problem I'm having is with the reserved tables.

For the available or unsuitable tables, I use PHP to query my database using data inputted by the user (Date, Start time, and Party size), selecting all tables which would be suitable for their party size and the tables that wouldn't. The first result and the count of the result is printed as labels with class names to a div on my page. From here I use Jquery to select these and use a for loop to go through all the tables and change their colour respectively.

Now here's where I get problems. I want to change tables to red if there is already a booking made, but it isn't as easy as the other tables. Say there are two bookings on two separate tables (let's say 17 and 28), how am I supposed to use a loop to go through numbers if they are not close to each other? For the reserved tables I print out all the results of the table using a while loop in PHP and give each row a unique ID, but how do I select these IDs within jQuery?

Code:
if(redBoolean = "true"){
            for(var i = 0; i < redSTCount; i++){
                var redSTNumber = $('#ST_'++).text();
                for(var i = 0; i < redSTCount; i++){
                    $("[id='"+redSTNumber+"']").css({ fill: "red" }).fadeIn("1500");
                    $("[id='"+redSTNumber+"']").css({ cursor: "default" });
                }  
           }
        }

Above is a snippet of my code, on the third line I am unsure how to have a unique ID change every time to whatever table is booked.

I'm sorry if this isn't very clear, I find it quite difficult to explain but that is the best I could do haha

Here is the page I am working on if it helps: http://steakhousekitchen.co.uk/Booking.php

Thanks!
 

poweld

Member
I've been having this problem for some time now and am becoming increasingly frustrated with my lack of progress, just wondering if anyone can help me?

I'm creating a restaurant booking system which involves an SVG interface in which tables change colour based on whether the table is available, reserved, or unsuitable for party size. The only problem I'm having is with the reserved tables.

For the available or unsuitable tables, I use PHP to query my database using data inputted by the user (Date, Start time, and Party size), selecting all tables which would be suitable for their party size and the tables that wouldn't. The first result and the count of the result is printed as labels with class names to a div on my page. From here I use Jquery to select these and use a for loop to go through all the tables and change their colour respectively.

Now here's where I get problems. I want to change tables to red if there is already a booking made, but it isn't as easy as the other tables. Say there are two bookings on two separate tables (let's say 17 and 28), how am I supposed to use a loop to go through numbers if they are not close to each other? For the reserved tables I print out all the results of the table using a while loop in PHP and give each row a unique ID, but how do I select these IDs within jQuery?

Code:
if(redBoolean = "true"){
            for(var i = 0; i < redSTCount; i++){
                var redSTNumber = $('#ST_'++).text();
                for(var i = 0; i < redSTCount; i++){
                    $("[id='"+redSTNumber+"']").css({ fill: "red" }).fadeIn("1500");
                    $("[id='"+redSTNumber+"']").css({ cursor: "default" });
                }  
           }
        }

Above is a snippet of my code, on the third line I am unsure how to have a unique ID change every time to whatever table is booked.

I'm sorry if this isn't very clear, I find it quite difficult to explain but that is the best I could do haha

Here is the page I am working on if it helps: http://steakhousekitchen.co.uk/Booking.php

Thanks!

It sounds like it would make more sense to do this in the database. You're already filtering tables which are suitable by size, but you should also filter tables which are unavailable. I'm assuming the reservations are held in the same database in a different table, in which case an inner join would do the trick.
 

OlympicTechno

Neo Member
It sounds like it would make more sense to do this in the database. You're already filtering tables which are suitable by size, but you should also filter tables which are unavailable. I'm assuming the reservations are held in the same database in a different table, in which case an inner join would do the trick.

Sorry I didn't explain properly.

I do filter using the database, and I successfully echo the result of the query (The numbers of each table booked) onto my div. But instead of being able to do a simple for loop and increment each time like for the available and unsuitable tables, I am unable to do this as tables may be completely separate from each other.

When I echo the table numbers onto the div I give them each a unique ID, I'm just struggling to be able to loop through each ID number and thus be able to change the colour of each one.

Thanks for the reply!
 

Pegasus Actual

Gold Member
Well first off, it looks like you're doing an assignment in that if statement when you are trying to check if it's true, which is kind of funny considering all the wtf-booleans people have been posting recently :)

Also, you have a nested for-loop using the same variable name 'i' which seems like a pretty bad idea and probably doesn't do what you're trying to do.

I don't know anything about jQuery so I'm not really sure what you're trying to do but... I mean, if you have a list of tables that need to be red... just iterate over those tables and make them red? Or why not just iterate over all the tables and set them red if appropriate? I mean, it's not exactly performance critical here...
 

wolfmat

Confirmed Asshole
poweld, you should have echo'd an array of reserved table IDs, and then in JS, you go through that array and set the associated divs red.
Code:
var reserved_tables = [31, 51, 52, 88]; // PHP echoed this array
for(var i=0; i < reserved_tables.length; i++) {
    $('#table_'+reserved_tables[i]).css({ fill: "red" }).fadeIn("1500");
    $('#table_'+reserved_tables[i]).css({ cursor: "default" });
}
Your tables should be divs like so:
Code:
<div id="table_1"><span>I am a table</span></div>
[...]
<div id="table_21599"><span>I am a table</span></div>
 
Trying to connect to a mySQL database using java, it doesn't even want to load the drivers. For what should be the easiest part of the homework it's taken me an hour so far and I can't load Jconnect.

code

try
{
Class.forName("com.mysql.jdbc.Driver");
}
catch (Exception ex)
{
System.out.println("Driver load error");
}

then I run it in command line as

java -cp .;mysql-connector-java-5.135-bin.jar mainFile


Yes the driver is in the same directory, it's still throwing the exception. Don't remember linking databases through code in VB being this absurd :(.
 

MiszMasz

Member
Trying to connect to a mySQL database using java, it doesn't even want to load the drivers. For what should be the easiest part of the homework it's taken me an hour so far and I can't load Jconnect.

<code>

then I run it in command line as

java -cp .;mysql-connector-java-5.135-bin.jar mainFile

Yes the driver is in the same directory, it's still throwing the exception. Don't remember linking databases through code in VB being this absurd :(.

Does this help at all? (It's just a general example that might highlight something you've missed):
http://www.tutorialspoint.com/jdbc/jdbc-sample-code.htm
 
Does this help at all? (It's just a general example that might highlight something you've missed):
http://www.tutorialspoint.com/jdbc/jdbc-sample-code.htm

Nope still giving me garbage. I don't think the problem is with my code (I've checked several sources) I think it's something with my environment. I guess I'll hit my class mates up and see if they're having the same issues with the instructions we were given.

It doesn't matter much anyway because when I try using a connection with the database drivers in netbeans it doesn't make contact with the database address, username and password we were given as well. Really just a stressful late semester assignment, considering just taking the hit since my grade is already in a really good spot.
 

MiszMasz

Member
Nope still giving me garbage. I don't think the problem is with my code (I've checked several sources) I think it's something with my environment. I guess I'll hit my class mates up and see if they're having the same issues with the instructions we were given.

It doesn't matter much anyway because when I try using a connection with the database drivers in netbeans it doesn't make contact with the database address, username and password we were given as well. Really just a stressful late semester assignment, considering just taking the hit since my grade is already in a really good spot.

So thus far you've not managed to connect to the DB with Java in any way?

With compiling and running in the console/terminal/cmd/whatever, have you got everything you need in your classpath?
(I know you've got the driver in the directory already, but still.)
 

Ambitious

Member
A few days ago, I installed the Moonrise Theme for Eclipse. For the most part it's fine, but there are a few seriously annoying issues.

For instance, hyperlinks are way too dark:

bildschirmfoto2015-04ozj5g.png


On the other hand, tab labels are too light when hovering over them:

eclipse2pkuog.png


The annotations in the editor sidebar (warnings, errors, TODOs, ...) are pretty much indistinguishable:

sidebarmrk1v.png


The headers of some subviews are a mess:
headerofu9l.png



And that's just off the top of my head. As far as I was able to find out, I can't fix those issues within Eclipse either. I'd have to manually edit the CSS files of the theme.
 

Granadier

Is currently on Stage 1: Denial regarding the service game future
And that's just off the top of my head. As far as I was able to find out, I can't fix those issues within Eclipse either. I'd have to manually edit the CSS files of the theme.

That wouldn't be too hard. Can you post the files?
 

iapetus

Scary Euro Man
I'd just like to publicly apologise to any iOS developers out there. I thought you had it easy, with Apple's awesome tools and clear UI guidelines. I thought the amazing well-built APIs you were working with probably did half the job for you.

Now, however, I've actually used Xcode. I've looked at the documentation for changing an app's name. I've walked through some code for laying out what should be a simple piece of UI. And yeah, now I've realised that Apple are carrying out a perverse social engineering experiment in which they try to discover just how far Stockholm syndrome can be pushed.

So yeah, sorry.
 

OlympicTechno

Neo Member
poweld, you should have echo'd an array of reserved table IDs, and then in JS, you go through that array and set the associated divs red.
Code:
var reserved_tables = [31, 51, 52, 88]; // PHP echoed this array
for(var i=0; i < reserved_tables.length; i++) {
    $('#table_'+reserved_tables[i]).css({ fill: "red" }).fadeIn("1500");
    $('#table_'+reserved_tables[i]).css({ cursor: "default" });
}
Your tables should be divs like so:
Code:
<div id="table_1"><span>I am a table</span></div>
[...]
<div id="table_21599"><span>I am a table</span></div>

This is the correct solution and I'm so close to get it working.

I created an array in my PHP file which contains all reserved table numbers and parse the array using implode and echo it as a label with a class name to my div so it can be picked up by jquery. However whenever I use $(".className").text(); to pick up the array it doesn't work, but if I manually create an array in jQuery using the exact same syntax it works perfectly, I can't get my head round it.

PHP:
Code:
while($redSTRow = mysql_fetch_array($redSTResult)){
		$redSTArray[] = $redSTRow[0];
	}

echo "<label class='redSTArray'>"; 
	$comma_separated = '"'.implode('","', $redSTArray).'"';
	echo $comma_separated;
echo "</label>";

jQuery:
Code:
var redSTArray = $('.redSTArray').text();

if(redBoolean = "true"){
    for(var i=0; i < redSTArray.length; i++) {
        $("[id='"+redSTArray[i]+"']").css({ fill: "red" }).fadeIn("1500");
        $("[id='"+redSTArray[i]+"']").css({ cursor: "default" });
    }
}

However when I do this:
Code:
var redSTArray = ["17","28"];

if(redBoolean = "true"){
    for(var i=0; i < redSTArray.length; i++) {
        $("[id='"+redSTArray[i]+"']").css({ fill: "red" }).fadeIn("1500");
        $("[id='"+redSTArray[i]+"']").css({ cursor: "default" });
    }
}

Tables 17 and 28 turn red!

Any thoughts?
 

Kalnos

Banned
Yeah... I have only dabbled in Xcode a bit since we mostly stick to web applications but I was totally lost when I did. It's probably part of the reason why people pony up and pay Xamarin.
 
Top Bottom