• 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

Droplet

Member
Ok so I'm not sure if I did this correctly, but this is my fsm for checking for "aAAAa". I didn't do the last half just in case this is incorrect. Forgive the mspaint w/mouse look. Red circle is initial start point. Purple is where it ends up if we succeed in getting "aAAAa" as the pattern.

Alright, good start.

Now consider how you might label each state with this problem. Right now you're using colors, but could you use numbers instead? Maybe label your start state as 0, and each subsequent state with an incremental number.

Next, try to run through your FSM with an example string. If we're only using As, take for example something like "aAaAAaAAAaAaA". As you do that, think about how you're keeping track of whether or not you're fulfilling your end condition or not.

I take pity on you so here's a slightly cleaner one for your use. Hopefully it's a little easier to keep track of:

BQO3j09.png
 
Alright, good start.

Now consider how you might label each state with this problem. Right now you're using colors, but could you use numbers instead? Maybe label your start state as 0, and each subsequent state with an incremental number.

Next, try to run through your FSM with an example string. If we're only using As, take for example something like "aAaAAaAAAaAaA". As you do that, think about how you're keeping track of whether or not you're fulfilling your end condition or not.

I take pity on you so here's a slightly cleaner one for your use. Hopefully it's a little easier to keep track of:

BQO3j09.png

Some really good, practical examples are the diagrams on http://json.org

Thanks to both of you.
 
Thanks to both of you.

Also, you can cheat by using a regex. If you specifically want aAAAa then then the regex is simply "aAAAa". If you want any upper-lowercase letters to match, then it's "[a-z][A-Z]{3}[a-z]". Since we're talking about state machiens anyway, this is a good time to mention that regexes actually *are* state machines, just in a different form.
 

Husker86

Member
I'm probably getting a bit ahead of myself here, but I was wondering if someone could give me an idea on starting salary for an Android Developer position.

I've tried to find the average online, but it seems high (~$86,000). I assume that's heavily tilted by the Silicon Valley salaries where I'm sure a good chunk of developers work.

If I do get to the interview stage, and they ask desired salary, I'm curious what would be reasonable. This would be a complete career shift for me (I work in healthcare now) so I really have little idea.

I live in the midwest, so cost of living is relatively low. I was thinking my target would be ~$62-65k. This is mostly based on my current salary, and my reluctance to leave a stable job without a salary increase.

Again, I might be getting ahead of myself; I have the experience they require, but no formal education and I have no idea how I'll do in a developer interview.
 

NotBacon

Member
I'm probably getting a bit ahead of myself here, but I was wondering if someone could give me an idea on starting salary for an Android Developer position.

I've tried to find the average online, but it seems high (~$86,000). I assume that's heavily tilted by the Silicon Valley salaries where I'm sure a good chunk of developers work.

If I do get to the interview stage, and they ask desired salary, I'm curious what would be reasonable. This would be a complete career shift for me (I work in healthcare now) so I really have little idea.

I live in the midwest, so cost of living is relatively low. I was thinking my target would be ~$62-65k. This is mostly based on my current salary, and my reluctance to leave a stable job without a salary increase.

Again, I might be getting ahead of myself; I have the experience they require, but no formal education and I have no idea how I'll do in a developer interview.

Android dev in Portland here. About 75k for entry-level, but it differs from company to company obviously.

Side note: I have plenty of coworkers with no formal education. Most of them just proved to the company that they can learn really fast and aren't completely incompetent, and they got the job lol.

Also, grab Cracking the Coding Interview if you haven't already.
 

Droplet

Member
Also, you can cheat by using a regex. If you specifically want aAAAa then then the regex is simply "aAAAa". If you want any upper-lowercase letters to match, then it's "[a-z][A-Z]{3}[a-z]". Since we're talking about state machiens anyway, this is a good time to mention that regexes actually *are* state machines, just in a different form.

That's the kind of thing you bring up after somebody reasons through the solution. :p
 

msv

Member
Can two different users be associated with the same file? If so, relational database seems like it would be fine
Haven't designed for that feature yet, so no. Files shared would be a very small portion compared to the files associated with one user only.
 

Water

Member
Ok so I'm not sure if I did this correctly, but this is my fsm for checking for "aAAAa". I didn't do the last half just in case this is incorrect. Forgive the mspaint w/mouse look. Red circle is initial start point. Purple is where it ends up if we succeed in getting "aAAAa" as the pattern.

NqfMg3yl.png


mspaint diagrams are fine, I just couldn't resist :)
 
Thanks. Yeah, I haven't had much experience with the web stack. I know I definitely want to avoid PHP, I'm not super keen on getting deep into Javascript and all of it's revolving doors of libraries.

But I do feel I need to round myself, and I want to pick up a new scripting language. Ruby just started sounding more and more interesting to me. I had it pinned differently. But I wanted to make sure it wasn't on it's way out. I guess hearing that Matz was creating a new language sort of made me question it.

Any recommendations for books or websites? I'm not keen on blindly searching around for a heading.

If you want to learn Rails then https://www.railstutorial.org/ is the best free option there is, hands down.
For Ruby I would suggest the famed pickaxe book, Programming Ruby by the pragmatic bookshelf.
Only a basic understanding of Ruby is necessary to get started on Rails. Rails has its own library of useful methods.
You should also be comfortable with the unix command line, as creating projects, testing, database migrations and just about everything else is done in the command line.
 

Slavik81

Member
Is there a simple guide to using OpenSSL to authenticate message integrity and sender identity? I want to generate my keypair with a binary, sign a SHA512 hash of my message with a binary, and verify the signature with a C library.

Perhaps most importantly, I want to know that I'm using good options. OpenSSL gives you so many choices and I know that some of them are bad.

Also, I'm trying to monitor a folder and checking when files are changed/moved/created/deleted. The moving seems to be an issue, since Windows sees it as a delete/create. How would I go about detecting a move in that case (in a non-convoluted way)?
Meant to reply earlier. This is probably the brute-force way, but you could check that the contents are the same between deleted and created files. Though, that would mean storing a hash of the file contents of every in the folder, and re-reading the file / updating the hash after each change.
 
Not sure how much help I can receive without providing the sourcefile (called z in this example), but I'm searching a file for a specific sequence.I'm using the re module for Python 2.7.9.

I'm essentially looking for the sequence ": literallyanyword<"

repeat = re.findall(r"<blockquote class=\".+: ([\w]+)<", z, re.DOTALL)
print repeat

Lets say the word in question is foot. I know in my source file I have two cases where findall should find a match.

: foot<
: Foot<

However, the print statement will yield only ['Foot'].

Interestingly however, if I manually search for the words like:

repeat = re.findall(r"<blockquote class=\".+: (foot)<", z, re.DOTALL)
repeat = re.findall(r"<blockquote class=\".+: (Foot)<", z, re.DOTALL)

the print statements will yield

['foot']
['Foot']

showing that it should be finding both when I instead use ([\w]+) to replace the exact word. What the fuck could possibly be going on.
 

zeemumu

Member
I need help with this problem. I'm supposed to be finding the minimum sum of products for a seven segment display. It doesn't seem to specify anything else. Any suggestions on how I do this?
 

Moosichu

Member
I am so fucking proud that you guys taught FSMs in here.

I guess the next stage is teaching the Pumping Lemma :p

I have a quick python question, as I can't seem to find the correct words to put into the google to get the correct result.

Essentially, in the game I'm working on, we have these C++ methods exposed to python which launch an event in the game, and then once the event has completed it runs a callback that was passed as an argument.

This is useful for designing levels. However, the player is also able to run simple scripts to interact with the game (as the purpose game is there to teach them python, we are also using it as a scriping language for creating game itself.)

I wrote a simple function to make these asynchronous callback methods blocking when they are exposed to the player. So that if the player, for example types.
method_1()
method_2(),

method_2 isn't run until method_1 has completed.

I was just curious, does the following code waste CPU cycles with the while-loop blocking method. And if so is there any way of fixing that?
Code:
def make_blocking(async_function):
	""" This callback is really simple, accepts a list
	and sets the first element to False, as the blocking_function
	is while loop that runs until the first element of a list is False,
	once this runs the while loop while finish and it will return.
	"""
	def callback(blocking):
		blocking[0] = False
	""" This is the blocking version of the async_function that is provided as an argument.
	"""
	def blocking_function():
		blocking = [True] # create a list who's first member is true,
		async_function(lambda: callback(blocking)) #run the async_function with the callback provided above as its argument
		while blocking[0]: # run a while loop (block) until the first element of the list that was passed to the callback is false.
			pass #TODO: Find out if there is anything that needs to be done so that this doesn't use CPU time.
		return

	return blocking_function
 

phoenixyz

Member
This is busy waiting which you probably don't want. I have never worked with native code from Python but I assume that the asynchronous calls (and the callback) live in the same process. Then you could use one of the synchronization primitives in the threading module. E.g. create a lock and acquire it before running the function and immediately try to reacquire it after the call and let the lock be released by the callback.
 

Moosichu

Member
This is busy waiting which you probably don't want. I have never worked with native code from Python but I assume that the asynchronous calls (and the callback) live in the same process. Then you could use one of the synchronization primitives in the threading module. E.g. create a lock and acquire it before running the function and immediately try to reacquire it after the call and let the lock be released by the callback.

Awesome, thank you so much. It makes the code much simpler and easier to read now. Here's what it looks like:

Code:
def make_blocking(async_function):
	""" Takes an asynchronous function as an argument and returns a version of it that is blocking.

	Works by using callbacks to work out when the function has finished.
	Therefore the function must be a function which takes a callback as an argument which runs when event
	that the function initiates has finished.
	"""
	
	def callback(lock):
		""" Accept a lock and realease it. """
		lock.release()

	def blocking_function():
		""" This is the blocking version of the async_function that is provided as and argument. """
		lock = threading.Lock()
		lock.acquire()
		async_function(lambda: callback(l)) #run the async_function with the callback provided above as its argument
		lock.acquire() # Try to a acquire a lock until it is released. It isn't released until the callback releases it.
		lock.release() # release the lock, it isn't needed anymore
		return

	return blocking_function

It works as expected, but just to make sure Is everything there ok? Thank you thank you thank you.
 

phoenixyz

Member
Awesome, thank you so much. It makes the code much simpler and easier to read now. Here's what it looks like:

Code:
def make_blocking(async_function):
	""" Takes an asynchronous function as an argument and returns a version of it that is blocking.

	Works by using callbacks to work out when the function has finished.
	Therefore the function must be a function which takes a callback as an argument which runs when event
	that the function initiates has finished.
	"""
	
	def callback(lock):
		""" Accept a lock and realease it. """
		lock.release()

	def blocking_function():
		""" This is the blocking version of the async_function that is provided as and argument. """
		lock = threading.Lock()
		lock.acquire()
		async_function(lambda: callback(l)) #run the async_function with the callback provided above as its argument
		lock.acquire() # Try to a acquire a lock until it is released. It isn't released until the callback releases it.
		lock.release() # release the lock, it isn't needed anymore
		return

	return blocking_function

It works as expected, but just to make sure Is everything there ok? Thank you thank you thank you.

No problem. Yes, that's pretty much what I was thinking about. But have you renamed the variables before copy pasting by any chance? Shouldn't it be
Code:
async_function(lambda: callback(lock))
or even
Code:
async_function(lambda: lock.release())
Also you don't need the return at the end of the blocking_function function.
 

Moosichu

Member
No problem. Yes, that's pretty much what I was thinking about. But have you renamed the variables before copy pasting by any chance? Shouldn't it be
Code:
async_function(lambda: callback(lock))
or even
Code:
async_function(lambda: lock.release())
Also you don't need the return at the end of the blocking_function function.

Hahaha, yes, sorry. I copied, noticed that bug, and fixed it before repasting.
Now that the callback is simpler as well I don't need it anymore.
 

Moosichu

Member
Final final code (without bugs).


Code:
def make_blocking(async_function):
	""" Takes an asynchronous function as an argument and returns a version of it that is blocking.

	Works by using callbacks to work out when the function has finished.
	Therefore the function must be a function which takes a callback as an argument which runs when event
	that the function initiates has finished.
	"""
	def blocking_function():
		""" This is the blocking version of the async_function that is provided as and argument. """
		lock = threading.Lock()
		lock.acquire()
		async_function(lock.release) #run the async_function with the callback provided above as its argument
		lock.acquire() # Try to a acquire a lock until it is released. It isn't released until the callback releases it.
		lock.release() # release the lock, it isn't needed anymore
		return

	return blocking_function
 

msv

Member
I have the weirdest issue ever what the hell.

Have a WPF application, two even, that run fine when debugging in visual studio. But when I run the executable directly... nothing happens. It doesn't even reach the first piece of code.

Another weird thing about this is that when I debug, only the .vshost.exe is running but not the actual executable. What is happening here??

edit: It doesn't even seem to reach the actual Main method, the one that's automatically generated. Added a writeline but nothing shows. The applications still run perfectly in debug though...
edit2: Expectedly, if I disable the visual studio hosting process, it doesn't run either. Well it runs very very shortly and just returns without any kind of error.
edit3: if i override the OnStartup in the main Application class, it does enter there. Also, I notice now that after disabling the Host process. the g.i.cs generated file is gone now. I'm using the StartUp key in the application xaml.

edit4: Solved! The problem was that I was checking for other process instances by looking for > 0. But if the process is run outside of visual studio, that's always false, since the process itself is counted with, but not when you debug it with the host process in visual studio. Apparently the Console.Writeln just weren't showing up for some reason.
 
BeautifulSoup seems fucking worthless.

Code:
from bs4 import BeautifulSoup
import urllib

url = 'http://www.neogaf.com/forum/showthread.php?t=1086108&page=18'
doc = (urllib.urlopen(url).read())
soup = BeautifulSoup(doc, 'html.parser')

x = soup.get_text() 

input = open('input.txt', 'w')
input.write(x)  
input.close()

Running this gives the error: UnicodeEncodeError: 'ascii' codec can't encode character u'\xab' in position 47752: ordinal not in range(128)

I read some of the documentation for BeautifulSoup and tried converting the string from doc to unicode.

Code:
doc = unicode(urllib.urlopen(url).read())

However this then gives:

UnicodeDecodeError: 'ascii' codec can't decode byte 0x92 in position 157818: ordinal not in range(128)

So I can't decode the byte or encode the character. What exactly am I supposed to do?
 

zeemumu

Member
Hey do any of you guys know anything about binary arithmetic?

I was supposed to do 29+15 with binary arithmetic with a 7-bit minimum required to solve it and the rest of the problems. I ended up getting 0101100 but apparently it was supposed to be overflow? Can someone explain why I'm wrong?
 

Husker86

Member
So I got offered the mobile developer job that I posted about a few days ago.

Is it normal to be pretty anxious about starting your first position in software development? I mean, I suppose I'm somewhat anxious starting any new job, but I'm actually in a mild state of disbelief right now.
 

Rur0ni

Member
So I got offered the mobile developer job that I posted about a few days ago.

Is it normal to be pretty anxious about starting your first position in software development? I mean, I suppose I'm somewhat anxious starting any new job, but I'm actually in a mild state of disbelief right now.
Is normal.
 
Hey do any of you guys know anything about binary arithmetic?

I was supposed to do 29+15 with binary arithmetic with a 7-bit minimum required to solve it and the rest of the problems. I ended up getting 0101100 but apparently it was supposed to be overflow? Can someone explain why I'm wrong?

7 bits can hold the number 127, so 29+15 can't overflow.
 

upandaway

Member
Hey do any of you guys know anything about binary arithmetic?

I was supposed to do 29+15 with binary arithmetic with a 7-bit minimum required to solve it and the rest of the problems. I ended up getting 0101100 but apparently it was supposed to be overflow? Can someone explain why I'm wrong?
If you have any doubt there's calculators and convertors on the internet with full solutions, should be easy enough to confirm something
 

phoenixyz

Member
BeautifulSoup seems fucking worthless.

Code:
from bs4 import BeautifulSoup
import urllib

url = 'http://www.neogaf.com/forum/showthread.php?t=1086108&page=18'
doc = (urllib.urlopen(url).read())
soup = BeautifulSoup(doc, 'html.parser')

x = soup.get_text() 

input = open('input.txt', 'w')
input.write(x)  
input.close()

Running this gives the error: UnicodeEncodeError: 'ascii' codec can't encode character u'\xab' in position 47752: ordinal not in range(128)

I read some of the documentation for BeautifulSoup and tried converting the string from doc to unicode.

Code:
doc = unicode(urllib.urlopen(url).read())

However this then gives:

UnicodeDecodeError: 'ascii' codec can't decode byte 0x92 in position 157818: ordinal not in range(128)

So I can't decode the byte or encode the character. What exactly am I supposed to do?

This should work:
Code:
doc = doc.decode("utf-8", errors="ignore")
 
Taking a Data Structures class next semester, which is supposedly the toughest programming course. What is the best way to review for the course, and are there videos/lessons that I am able to work with?
 

upandaway

Member
Taking a Data Structures class next semester, which is supposedly the toughest programming course. What is the best way to review for the course, and are there videos/lessons that I am able to work with?
If you just want material about the course, all the universities I've seen work alongside the book "Introduction to Algorithms" (not all of it, but it has a couple of chapters for DS), pretty tightly. Mine was too and it was fine, not hard at all to understand the material. I think the tests vary a lot depending on the professor though, and it can get really hard.
 

Water

Member
Taking a Data Structures class next semester, which is supposedly the toughest programming course. What is the best way to review for the course, and are there videos/lessons that I am able to work with?

Is it algorithm analysis and data structures together, or have you had algorithm analysis before?
MIT algorithms course video lectures are brilliant, I've used them to review the topic before teaching a short course of my own.
http://ocw.mit.edu/courses/electric...algorithms-sma-5503-fall-2005/video-lectures/
edit: one of the lecturers is also an author of the Introduction to Algorithms book referenced by upandaway.
 

msv

Member
Meant to reply earlier. This is probably the brute-force way, but you could check that the contents are the same between deleted and created files. Though, that would mean storing a hash of the file contents of every in the folder, and re-reading the file / updating the hash after each change.
I was thinking I might have to resort to that. Will have to check the checksum anyways, since you can't really assume the file is the same in every case when a new one pops up with the same name somewhere else soon after a delete->delete. Kind of a bummer that you can't just get notified of a move, meh.

Have you or anyone else here worked with load balancers like wackamole or vippy? My design has dedicated load balancers, but my teacher mentioned wackamole and it sounds awesome actually. I'm not sure how to visualize their operation though - do you install this on every server that you're operating, or do they need a server dedicated to the balancer? I.e., does it turn your server into a load balancer, or do you still need separate load balancer hardware?
 

Slavik81

Member
I love technical conferences. I just watched a series of talks at SIGGRAPH about real-time volumetric rendering (e.g. fog, clouds, etc.).

Their results render in 2ms, which sounds pretty good in comparison to the 20 minutes my raytracer took. Their renderings even look better.

So, apparently my Rendering term project was a failure, but at least having tried it myself, I could understand their talk. It's pretty inspiring what you can achieve in graphics these days.
 

Nelo Ice

Banned
So anyone else been to hackathons? Just went to one this past weekend and it exceeded all my expectations. For reference it was a mobile focused hackathon. Was fed like a king for free all weekend. Went in not knowing much since I've only studied front end web development on my own.

Anyway networked and made some amazing friends. I also ended up building my first web app and as a result my first github upload :). Learned so much over the course of the weekend and it was nice hearing for once that people believed in me and were impressed I was taking all this initiative to become a programmer. But really the best thing I can say is that being in a developer focused environment confirmed that this is the career for me.

If anyone is considering a hackathon or any tech type meetup then go!. You'll learn so much and network like crazy. Also I'm an idiot for not taking advantage of this earlier since I live in the tech capital of the world and for some stupid reason thought I was all alone in learning.
 

injurai

Banned
So I implemented a sieve in C over the past two days. I tried to have the code as dynamic as I could get. I ended using more pointer arithmetic than I ever had before. Before I had mostly just used pointer arithmetic to iterate through an array on the heap. It was really good practice, I feel I haven't really encountered examples that leverage PA like I was doing. I'm sure people do amazing things out there with it. It's certainly something I want to explore more. I think the mathematic nature of the algorithm kept the PA from being too esoteric. But I'm pretty sure I lost any sort of self documentation quality in the process. Did I mention how many variables you can go without when using pointer arithmetic? It's pretty amazing! Once again, less opportunity for self documentation. I could totally be throwing best practices out the window.
 

injurai

Banned
Bah! End of page, reposting cause I want to talk about pointer arithmetic.


So I implemented a sieve in C over the past two days. I tried to have the code as dynamic as I could get. I ended using more pointer arithmetic than I ever had before. Before I had mostly just used pointer arithmetic to iterate through an array on the heap. It was really good practice, I feel I haven't really encountered examples that leverage PA like I was doing. I'm sure people do amazing things out there with it. It's certainly something I want to explore more. I think the mathematic nature of the algorithm kept the PA from being too esoteric. But I'm pretty sure I lost any sort of self documentation quality in the process. Did I mention how many variables you can go without when using pointer arithmetic? It's pretty amazing! Once again, less opportunity for self documentation. I could totally be throwing best practices out the window.
 
Can someone please explain what is meant by the statement:
...caution is that Python is notoriously difficult to scale across multiple cores on a single machine. This is due to the limitations of the Global Interpreter Lock (GIL). However, it is very suited to applications that scale horizontally across stateless servers, making it a good solution for applications that take advantage of the cloud.


edit:

injurai, dude, excellent reply, thank you
 

injurai

Banned
Can someone please explain what is meant by the statement:

There are limitations to interpreted languages which impact the ability to write synchronous parallelization of code. Python's interpreter itself makes use of it, and Python's libraries make use of multi-threading. But those are written in C and are called via FFI. You wouldn't use Python itself to write threaded code.

However if you run code that serves as the backend of a website, separate python processes can be kicked off to handle each visitor separately. Thus these processes will be schedules independently across your systems free resources (deferring to your operating system's scheduler.) Also you can run the python applet or daemon from separate virtual machines running on a single machine which achieves the same result. Or you can scale up across a farm of servers to essential load balance your websites traffic.

Essentially you're python script is single threaded and isn't breaking apart it's own processing load. But you can have multiple instances of a script some how distributed across a system or multiple systems. The important thing to realize is this is asynchronous, and if all you're applets are updating a central database or something, you could find yourself with race conditions.
 

vypek

Member
So anyone else been to hackathons? Just went to one this past weekend and it exceeded all my expectations. For reference it was a mobile focused hackathon. Was fed like a king for free all weekend. Went in not knowing much since I've only studied front end web development on my own.

Anyway networked and made some amazing friends. I also ended up building my first web app and as a result my first github upload :). Learned so much over the course of the weekend and it was nice hearing for once that people believed in me and were impressed I was taking all this initiative to become a programmer. But really the best thing I can say is that being in a developer focused environment confirmed that this is the career for me.

If anyone is considering a hackathon or any tech type meetup then go!. You'll learn so much and network like crazy. Also I'm an idiot for not taking advantage of this earlier since I live in the tech capital of the world and for some stupid reason thought I was all alone in learning.

I've thought about it but I have never gone to one. I always thought it would be a great place to learn and network though. Kind of hesitant to go because I feel like my knowledge is super limited and a novice. Just got my first programming job and its very humbling and eye opening to realize how very little I actually know. lol. But its great learning from so many skilled developers
 

Nelo Ice

Banned
I've thought about it but I have never gone to one. I always thought it would be a great place to learn and network though. Kind of hesitant to go because I feel like my knowledge is super limited and a novice. Just got my first programming job and its very humbling and eye opening to realize how very little I actually know. lol. But its great learning from so many skilled developers

Trust me if you have a programming job already you're way ahead of me. I was completely out of my league. Barely know how to program by myself much less try to build an app for mobile in languages I've never even touched. I was completely useless programming wise for my team but I helped build it and got valuable members. One of whom did the presentation for our app and the other was the most experienced dev of the group.

Besides that the only productive thing I felt I technically did was build a web app with one of my team members. Which was written using processing which I just learned a bit of. All it does is make a pokeball and when you click it the pokeball changes colors to whatever colors I put in the array. Then you can click anywhere on the screen and it makes more lol.

But yeah hackathons and all those tech events are just a great time and worst case you get free food, swag, and maybe win a giveaway. Like next week I still feel like I shouldn't be at the buzz workshop and Intel Developer Forum but they're free. Though technically the IDF isn't free but I'm getting a free 3 day pass since I got tix for the workshop lol. So figured why not, I may not be directly a game dev but going to that event may inspire me or I'll make some friends that'll help me on my path. Either way it's just good to be in an environment with other developers.

Btw congrats on your first programming job!. Curious what did you learn and how?. At all the events I've attended I'm constantly asking people and making friends to see their thought process. And of course figure out if there's any learning methods I may not have found yet to help me.

I'm going all in and doing whatever it takes to get a job despite my lack of a formal education. So I feel like attending everything I can will help me level up and learn.
 

Husker86

Member
I'm going all in and doing whatever it takes to get a job despite my lack of a formal education. So I feel like attending everything I can will help me level up and learn.

I just got my first programming job as an Android Developer. I also have no formal education and am coming from a completely different field (healthcare).

Personally, I learned from the various online sources available: Udacity, Udemy (good deals at StackSocial.com), YouTube. After I had the basics down, I thought of an app that I'd like to use personally and just started building, learning the things I needed to learn along the way. Obviously there were, and still are, many visits to stackoverflow to figure things out.

I also tried to think of things a business would make use of that I didn't necessarily need in my app (RESTful APIs/json parsing, sqlite databases) and make mini projects using those skills just so I could be familiar with their implementation.

The interview focused on Android platform/tools knowledge and somewhat basic Java knowledge. I was able to show specific features of my app to demonstrate knowledge of some of the questions. I also used many of the same open source libraries that they use, so I'm sure that made them more comfortable with offering me a job.

I haven't started yet and have no idea what to expect.

Good luck!
 

Nelo Ice

Banned
I just got my first programming job as an Android Developer. I also have no formal education and am coming from a completely different field (healthcare).

Personally, I learned from the various online sources available: Udacity, Udemy (good deals at StackSocial.com), YouTube. After I had the basics down, I thought of an app that I'd like to use personally and just started building, learning the things I needed to learn along the way. Obviously there were, and still are, many visits to stackoverflow to figure things out.

I also tried to think of things a business would make use of that I didn't necessarily need in my app (RESTful APIs/json parsing, sqlite databases) and make mini projects using those skills just so I could be familiar with their implementation.

The interview focused on Android platform/tools knowledge and somewhat basic Java knowledge. I was able to show specific features of my app to demonstrate knowledge of some of the questions. I also used many of the same open source libraries that they use, so I'm sure that made them more comfortable with offering me a job.

I haven't started yet and have no idea what to expect.

Good luck!

Thanks for response. Congrats on the job!. How long did it take you to land a job from learning on your own?.

I'm unemployed hence why I'm going all in rather than resorting to a lateral move for working a shitty low wage entry level job again. Have taught myself in spurts for a few months but this is the first time I'm 100% focused on it. Hoping to either get into a bootcamp this year or if I'm lucky land a job before the end of the year. Otherwise I'm gunning for early spring next year at the latest to land a job.

Atm, I'm still terrified of starting any project. Anytime I go into brackets and start coding from scratch my mind goes blank. I feel like I need similar examples to look off of otherwise I sit there like an idiot wondering how to get anything started. And of course whenever I look at code that's similar, I end up getting confused since I have trouble modifying it to implement it the way I want to.

I'm learning front-end web development. I'm only now starting to dig into the nuances of JavaScript. Figured I'd level up enough to be considered an advanced beginner then attend a bootcamp like Hack Reactor. Heard they actually work and I'll be building projects on my own and with people. But figured I would need that guidance to starting making my portfolio.

Of course only issue with the bootcamp is financial so I'm doing everything I can do on a budget. Maybe I'll be able to land a job without a bootcamp but I know I'll need a good portfolio for that. And of course that goes back to me still not feeling like I'm ready or again being lost on how to get a project off the ground.

Not trying to sound cocky, but all things aside I know I'll make it as a developer. The only question is how long it'll take me and what I need to do to get there.
 
Top Bottom