At my company, we_almost_ fit that bill. We're not small, but we're not a large team either. The company was started as a PHP development shop 15 years ago but has switched tech and brand and name and grown so much in just 10 months. We have an HR lady who is teaching herself to code, a social networking boff who started several of his own websites and owns a custom PC build shop, our marketing lady writes a lot of technical journals, the CEO/founder, co-founder, creative director and technical director all code (and have very intense backgrounds I might add), and some of our dev team are independent contractors, one of which owns a music production company on the side and is in 2 locally famous bands! :D
It's certainly something you could do, but don't be discouraged when you realise that your potential clients aren't too fond of being told their current online presence sucks. Perhaps also approach local businesses that don't even have an online presence at all and sell them on getting one to supplement for that risk.
Yes, that would be cool. I am curious as to how such a search would be performed by the user. Perhaps entering a duration in minutes and seconds and using arrow keys to shift the buffer bar location left/right until the correct scene is found, or searching for known dialog text and mapping transcript to location in the video that that specific part of the transcript was said in dialog might be a useful addition to the already-available "thumbnail search" most video players provide today (when you hover over the loading bar, a thumbnail image of that scene appears in a tooltip).
Something useful I've seen in very few places are video players that maintain a history of the duration of the video that was watched, so if the internet ever cuts out or the video stops loading the page could just be reloaded and the duration in the video will be maintained, albeit 1 minute prior just as a quick recap of what happened. When this feature is not available, and the connection is shoddy, watching videos can be very frustrating because having to find where you were previously can sometimes take ages, especially if the loading bar has no indication of what duration in minutes the video is at the location you hover your mouse on the loading bar.
What else other than this could add any real value to the act of searching a video? Perhaps mapping words to visual cues, for example searching "helicopter explosion" would take you directly to an overdramatic scene of a helicopter being blown up in magnificent ember by a missile that is clearly too small to do much damage to a bicycle let alone a helicopter, that would be cool.
I know that you only have one controller, but I don't think it's wise to reference each and every controller in one single angular.module(...).controller() declaration... Perhaps read this: https://github.com/gocardless/angularjs-style-guide
Also, it might be worth looking at ng-annotate so you don't have to specify the array of dependencies. It's not necessary but it does help speed up development a little bit, not having to type that out all the time - it can get quite unruly sometimes. :P
Further than that, you need to implement unit testing, as well as end-to-end testing with Angular Protractor. I've been on a large scale Angular project without any testing in place, and boy did I give the lead my two cents about how much trouble that caused us. The project was delivered 2 weeks late because of buggy, untested code. Prevent this as soon as you can.
The factorial example is used in many programming tutorials, not to teach you that you need to understand complicated mathematical theory to become a programmer (you don't, so don't worry), but instead to teach you one of the more advanced paradigms of beginner programming: recursion (having a function call itself again and again until it's to-be-returned value is adequate enough to finally be returned).
Learning more about the language is always going to help, though. I would suggest doing the CodeCademy track a second time to see if you've improved. Focus on writing efficient solutions that are better than what you would have done your first time around. Once that is done, give these resources a go:
I would also suggest purchasing these books, as they are somewhat the standard learning and reference resources:
- JavaScript: The Good Parts
- JavaScript: The Definitive Guide
There are other books that will help tremendously, and a list of free ones can be found at http://jsbooks.revolunet.com
Other books I recommend:
- Eloquent JavaScript
- Effective JavaScript
- High Performance JavaScript
- Maintainable JavaScript
- Principles of Object-Oriented Programming in JavaScript
- JavaScript Patterns
- The Past, Present and Future of JavaScript
- JavaScript Enlightenment
- Secrets of the JavaScript Ninja
The reasons we don't are pretty good ones. The first, and most important reason, is that native implementations of methods like `.forEach` are extremely slower than their native-for-loop equivalents. For casual side projects, this does not really matter, and some might argue that in newer browsers the efficiency loss is minimal. But when you're developing a particularly JavaScript heavy client-side application, predominantly use .forEach, and your users will notice. The second reason is browser compatibility. `.forEach` is not supported in Internet Explorer 7 or 8. That is an extremely large chunk of potential users.
All that being said, there are definitely ways to gain the same functionality using a utility library like Underscore (or the much-faster-than-underscore Lodash). Instead of `array.forEach` it's simply `_.forEach(array, function(item) { });` - http://lodash.com/docs#forEach
Agreed. Plus, underscore's implementations are not as fast as their native equivalents. At least use lodash if you're going to be using an entire library, as it is faster. Otherwise, you could just use the .reduce, .forEach, and .map constructs that are built into JavaScript (of course browser support is an issue there - but they are available for use in most modern browsers and definitely in node)
That all depends on what you want to do, which direction you wish to go in. Do you want to start your own company? Do you want to settle for a stable job? Do you want to study? Asking other people what you should do will be of no benefit to you if you do not provide the context of where you wish to be headed. I could have very easily decided to troll this thread and written a reply that told you to spend the last of your money on fine Scotch, but instead I wrote this.
If you want to start a business, then start one. If it's a software business, learn to code however you want or do not learn to code at all. You already know marketing, you already have experience in a startup environment, the only key things to follow now would be to find a product idea and iterate, iterate, iterate.
Note that I said "find" a product idea and not "think of a product idea". Thinking of one is a waste of time, because that requires that you spend valuable time finding a target market and then more time finding product/market fit through market evaluation & validation. Rather find an industry of easily contactable people, and ask them what pains them about their job. By doing so, you will have identified a problem as well as the market validation of the solution to that problem. From there you can come up with a product, which you can use to wireframe. Discuss the idea with your chosen businesses, get their feedback and ask if they would pay for it. Verbal financial commitment = done. Some might even invest. All that's left to do is hire the people to build it and the rest is all up to your skills and experience.
If you want to instead study, rather than create your own startup - heed this warning: You get what you pay for. That being said, you can easily learn material online, as a degree in tech is not necessarily important in tech (you're already qualified, and that is at least something that puts you ahead of many others). I wouldn't recommend sound design and music production - all of my DJ friends (amateur or professional) don't even have a day of high-school level musical education to their names. Some have a knack for it, others don't.
If you just want to pay the bills, then get a job. I've found that asking previous employers for a simple paragraph of how, in any way, I benefited the company - and use that in a resume under your the work history section, does help get you that little bit farther.
What you should NOT do under any circumstance is delay. You are not getting any younger and money don't grow on trees - get up, get out, and do something to get you back in the system.
He could apply for an H-1B visa - this is a work permit. Getting one is a challenge, as only 65,000 are awarded each year (and they disappear fast, 63,000 of the 65,000 for 2013 were gone by November 2012).
The requirements for obtaining one involve having an industry-relevant qualification from a U.S. college or the international equivalent (which is a qualification + work experience) and the company needs to offer proof of sponsorship for the applicant (which means they kind of need to prove that hiring you over a U.S. citizen with the same qualifications is the only way forward).
A good way to go about this is to find a company that is active on Github with open source who have created any kind of framework that they use internally. Get your friend to learn the framework and he will then have a huge advantage over any equally-qualified person who does not have knowledge in the framework.
I am in no way a proponent of racist culture, no matter who propagated this ad, it is still wrong and it is still gaining traction among the uneducated. Fake or not, it is becoming a factor in the decision process.
This country needs to change. Here we are, almost twenty years down the line from stopping our racist ways, and yet we've arrived at this.
The current government needs to get it's head out of it's ass and stop spending what little tax money we have on their big fat mansions.
I was born in 1993, so I am by no means an expert on Apartheid, nor do I have any experience with it - but after twenty years, surely you'd think things would have changed?
I visited Cape Town before and after the DA. After the DA got hold of it, it feels like an entirely separate country. No potholes from Kimberly to Cape Town. There are street cleaning machines. Free wifi in so many places. Accommodation is cheap now (a 10 bedroom 7 bathroom apartment prefurbished with water + electricty for R3500 a month. in Camps Bay was on sale). In my entire stay there I encountered 0 homeless people. And young people, especially white people, are opening businesses there, and creating jobs - despite Black Economic Empowerment.
Fake or not, it is gaining traction and I've seen over a thousand comments agreeing with it, all from the lower class uneducated ethnic population. The ANC is currently under threat because the DA has taken the whole Western Cape and are very close to taking the Gauteng province as well. If this happens, the ANC will have lost it's two biggest economic powerhouses - so convenient that this pops up right before voting time.
They're there, you're just not looking hard enough. I commented on the author's post - what I spoke about might be of use to you too. Also, remember that as a person with internet access, you're not limited to simply sitting at home, reading and practicing. Developers of these tools you use make use of Twitter and IRC and Github specifically so that people who are learning the ropes can contact them and ask (see: pester) them for help. They don't at all do it for experience or recognition in the industry ;) Sometimes the best way to solve a problem is to have a simple conversation with someone a little more experienced in the field. In fact the author's post is a great example of this working. He asked for help, posted it to hacker news, I saw it, I helped. :)
Remember that any websites styles are easily overwritten with a browser extension, GreaseMonkey/TamperMonkey user script or Stylish stylesheet, and the chances of someone already having written one are fairly good. If not, create your own. :)
Less than 50, unfortunately charging anything more in this country (South Africa) as a freelancer is tough unless it's a PHP/CMS system project. But that's sublocation dependent. I'd probably be able to charge more in Cape Town than I could here in Johannesburg, as CT is more tech-oriented.
I am heavily of the opinion that they are a blight on society. My father started a market research company years ago, and business was booming. Then there was a divorce and a crazy new ex girlfriend and an unmaintainable house and he had to have his company absorbed by an international conglomerate, who has since absorbed all of his salary and the crooks have stored it all offshore. They do no work. They work him to the bone. They misguide him. I'm sure there's evidence of tax evasion too. He cannot leave because of a non-compete agreement. Market Research is all he knows other than Military Strategy. If he left, he'd be 60, unemployed, and have less than $50,000 to his name.