|
And Still you use chrome!
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
They will force you to see their ads, one way or the other.
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
|
|
|
|
|
So Google is not the good guy. At least Wikipedia does not have ads, which among other things slows your computer to a crawl.
|
|
|
|
|
All I can say is I have been running adblock plus since the dim times. I have never once seen an ad on YouTube. Never.
I would like to hear more as to why it failed for you.
|
|
|
|
|
I remember reading some time ago about this being the case with Chrome, and the solution was to remove the YouTube app from Chrome. (the URL of the apps page is chrome://apps by the way)
Hope this helps.
|
|
|
|
|
As a new coder who has not worked professionally yet, I am often inspired to work on my own projects - the main reason I learned to code ultimately was to develop my own projects and ideas. However, a lot of my ideas are "large" in nature. For example, I have an awesome app/website idea that will get business directory/location info from Google API, and then allow business owners and users to enter certain data about the business that will be available via my product's database. So the project will require a database, data modeling, my own API as well as usage of Google APIs, an architecture perhaps like MVC, and a whole lot more. Basically, it'll be a full-fledged project, that's for sure.
But these are my ideas... These are the things I care about and am willing to work on. For example, I spent a few days testing out the Google JavaScript API and realized it would definitely work for my project. The thing is, as someone who is new, I have this inherent fear that I will not "properly" make my application. So, in other words, because this will be my first "real" (I mean unguided and not something trivially simple) application, what if I don't do the architecture right? What if I overlook things that a seasoned programmer would say "holy cow why did you do it like that when you could have saved x amount of hours and it would be much better doing it like this?" One thing I learned about programming is theres a zillion ways to do things an that always makes me wonder "am I doing this the right/best way?"
It's almost like how if your first manual car was a Porsche, you wouldn't want to learn how to drive stick on a nice car like that lol. Well, I'm not sure I want to have my first real-world experience screwing up one of the reasons I learned to code. But unfortunately, because of that fear, then I don't create my own stuff that I maybe should.
Is this realistic or is coding not like that and should I just go for it?
|
|
|
|
|
The thing about driving a Porsche is that they are expensive machines and other people won't readily allow a new inexperienced driver to try one out. This is not the case with software - it is very low cost to tear down and repair if you get it wrong and people are very very generous to help or give you code to play with.
So - go for it.
|
|
|
|
|
Duncan Edwards Jones wrote: So - go for it.
|
|
|
|
|
Duncan Edwards Jones wrote: it is very low cost to tear down and repair if you get it wrong
No offense, but what company do you work for where development is cheap and inexpensive? I would think that your statement only holds some truth with "hobby" programmers, and not people like me.
|
|
|
|
|
agreed.
I am in the middle of rewriting an old application that was done the "wrong" way and it is most definitely not inexpensive for the people that are paying me.
That said, I still believe "go for it" is the correct advice. For my employer it probably would've cost more to not have this application written.
I deal with this fear every day but you just have to remember all software will become legacy eventually.[^]
|
|
|
|
|
Hi,
Yes, it's "realistic" to have concerns, and even some anxiety, about learning to code and starting to code projects. It's great you are "often inspired," and that you have ideas for "big" projects in the future ! However, if the anxiety is so acute you hesitate to take risks, then you need to find a way to work around that.
In my experience the ways people learn to code, and reach mastery of some programming language and some technology stack (framework + OS + ? internet) varies. Some folks are natural bottom-up learners who learn through experimentation and hands-on practice while they, at the same time, study documentation and code examples. Others are more top-down learners who habitually need to form a mental model of the "way things work," usually through reading documentation, before coding.
Each of those (non-exclusive) learning "styles" has its own challenges; the bottom-up learner may "travel too far" without seeing the theoretical "big-picture;" the top-down learner may stumble when they wade into the idiosyncrasies of turning their code into more than academic exercises.
The old saying "don't bite off more than you can chew" is relevant here, imho; try to focus on projects that you can be pretty sure can be attained in some reasonable period of time. And, how about the old standards: write your own calculator; write your own mini-word-processor; your own grid that supports formulas and calculated fields; your own media playback application; your own sticky-note app; your own app with an embedded web-browser which you control and do interesting things with/to, etc. are good things to take on.
Perhaps balance your self-challenges by coupling solving "algorithmic" problems (for example, the problems on projecteuler.net), with challenges that involve hands-on work with the native Controls in WinForms, WPF, ASP.NET.
There are lots of great projects (articles) here on CodeProject that you can benefit greatly from studying in addition to the tutorials, tip/tricks.
Look at Philip Piper's custom ListView [^], Mehdi Gholam's RaptorDB [^], Pavel Torgashov's FastColoredTextBox [^].
My focus is pretty narrow (WinForms), so I hope other folks here will chime in with some links to WPF and ASP.NET articles they feel are outstanding to learn from.
I think the prognosis for your technical future is excellent, and what you've done so far impresses me.
best wishes, Bill
«There is a spectrum, from "clearly desirable behaviour," to "possibly dodgy behavior that still makes some sense," to "clearly undesirable behavior." We try to make the latter into warnings or, better, errors. But stuff that is in the middle category you don’t want to restrict unless there is a clear way to work around it.» Eric Lippert, May 14, 2008
|
|
|
|
|
Definitely go for it!!
I have been programming for many years and numerous languages but I had never really done a significant embedded type of thing before so I recently just went for it and it isn't perfect but it works for my needs and I learned a ton.
I think those two things are key:
1. works for your needs
2. learn a ton while building/making
Here's the project I'm talking about if you're interested:
Never Buy A Garage Door Remote Again: Open Your Door With Your Android Phone (via Bluetooth)[^]
|
|
|
|
|
There is a saying in the recording industry, If it sounds good, it is.
Take this forward. If it works, it's good.
Don't let any of the coding Scribes and Pharisees tell you different.
|
|
|
|
|
Ron Anders wrote: Don't let any of the coding Scribes and Pharisees tell you different.
Then who will do his code review. How will he know if he is doing it correctly, or not?
Ron Anders wrote: If it works, it's good.
Huh. Really?
Does anyone here actually code for a living?
|
|
|
|
|
Just get it working is a common thought process in a lot of companies. The end user doesn't care if you're code is neatly organized and beautiful or that you used the latest and greatest framework that has super duper cool functionality...they only care that the application works. Compound that with managers who aren't technologically inclined (people managers), this thought process is even worse.
You apparently have been extremely lucky in your career, incompetence is a real problem in all industries...programming is certainly not excluded from that.
|
|
|
|
|
Software development always was and still is a moving area. People have new (or re-made) ideas on doing things. What seems right today will be thru out in a month and back again in the next after it...
There is no way to write some code right, but there are tools to check if the product works right... (test for bugs/performance/resource usage and so on)
So to see if you are doing things right, you HAVE TO write some code - good or not is irrelevant...You can not sit in front of a method, that computes standard deviation, and try to figure out if it is right or not... You have to put it in use and do tests...
The good part is, that in contrast to your Porsche (which will be broke forever after the first crash) you can always restart from fresh, and rewrite the exact same product using all your previous knowledge...
In short you have to roads to go, sitting paralyzed by your fear and lost it within a year, or to get your fingers dirty, your knees hurt, but got it all...
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
TheOnlyRealTodd wrote: what if I don't do the architecture right? In that case your software will be like a lot of other software out there.
No one does it right according to everyone else.
Mandatory Dilbert[^].
Just go for it.
|
|
|
|
|
You never learn without making mistakes.
Get stuck in......so what if you get it wrong......you will learn from it!
We have an expression, "Someone who has never ****ed up, has never done anything."
|
|
|
|
|
Besides all the rest, if someone beside you uses it they'll find a way to break it.
Part of what you'll be learning - slowly and painfully - is to outsmart users. More difficult than the actual coding, and often more time consuming. You just need to jump in and do things.
Let the games begin.
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
TheOnlyRealTodd wrote: who has not worked professionally yet,
If you are just a hobby programmer and have no aspirations to make it a profession, then just do your best and try to get someone in the community to help you and review your work.
If you are thinking about making this a profession, then get in with a company at the bottom level and learn as much as you can. If this is the profession for you, then you will do fine and it can be a very rewarding career.
If you are not making any mistakes, then you are doing it wrong.
-- Good luck.
|
|
|
|
|
No one does it "the best way", so dont be too afraid of making mistake. The right way is, to make a project a success: shipped in time and with budget and no major bugs/issues.
Make a prototype of the project and study the use cases. If they are fine - then you are ready for coding.
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
TheOnlyRealTodd wrote: What if I overlook things that a seasoned programmer would say "holy cow why did you do it like that when you could have saved x amount of hours and it would be much better doing it like this?"
To which the CTO then walks in and says, oh, that approach is too complicated for the junior devs to understand, you should code it like you did first.
TheOnlyRealTodd wrote: One thing I learned about programming is theres a zillion ways to do things an that always makes me wonder "am I doing this the right/best way?"
When you factor in the intangibles by asking yourself how easy is it to test, to maintain, to extend, to find and fix bugs, to change when the requirements change, as well as things like what dependencies do I have that I don't have any control over, that might break my code in the next revision, or that kill my product when the third party no longer supports the stuff my code depends on, and then you ask yourself even broader questions like, what parts are re-usable in other projects, what happens when we want to port the app to another platform (or take a web app and make it a client app, or vice-versa), and then of course there's the questions of security, performance, usability, customer configurability, language support, internationalization...
...well, when you're done considering all those (and all the other things I didn't think of in the last minute)...
...then you realize that those zillion's of ways of doing something pretty much reduce down to a set of ways you could probably count on one hand.
But how you get there, well, you either learn from your mistakes or you find a mentor that can actually tell you the all important "why." The "why" is what is so greatly missing in the whole field of software development.
We have all these open source projects that tell you what and how, but rarely do they tell you why -- Why are we doing things this way? Why are we suggesting you do things this way too?
Look at jQuery's home page:
What is jQuery?
jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML document traversal and manipulation, event handling, animation, and Ajax much simpler with an easy-to-use API that works across a multitude of browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript.
Or vue.js:
Reactive Components for Modern Web Interfaces
or node.js:
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js' package ecosystem, npm, is the largest ecosystem of open source libraries in the world.
or backbone.js:
Backbone.js gives structure to web applications by providing models with key-value binding and custom events, collections with a rich API of enumerable functions, views with declarative event handling, and connects it all to your existing API over a RESTful JSON interface.
Those are all "what's."
The one sort-of exception I've found so far is Angular's website:
Why AngularJS?
HTML is great for declaring static documents, but it falters when we try to use it for declaring dynamic views in web-applications. AngularJS lets you extend HTML vocabulary for your application. The resulting environment is extraordinarily expressive, readable, and quick to develop.
Though it still reads like a "what."
The most important question, when looking at those zillions of approaches, is "why."
Marc
|
|
|
|
|
Do you suppose the kids who started Google knew all the professional "rules" that seasoned pros know? Heck, no!
Your project sounds like an interesting one, and one that's worth doing. Do it your way, and if it turns out to be the next killer app, people will be studying "your way" to learn how to code.
Run with it!
Will Rogers never met me.
|
|
|
|
|
TheOnlyRealTodd wrote: you wouldn't want to learn how to drive stick on a nice car like that
Er, yes! I wold have loved a car like that when I learnt to drive!
Have some self confidence and get on with it. There are many ways to skin a cat, just because your approach is different to someone else's the proof of the pudding is in the eating. If it works and its stable its good, period.
Of course be prepared to learn too. No one expects a junior engineer to have all the answers. Takes time to learn you know.
|
|
|
|
|
Is this just a hobby project you have in mind or a commercial product?
With the latter then I think it's an idea to learn to swim properly before jumping in the deep end.
|
|
|
|
|