Delomos's Posts
Nairaland Forum › Delomos's Profile › Delomos's Posts
1 2 3 4 5 6 7 8 9 10 (of 12 pages)
![]() |
Seun: I always create indexes when designing databases. It's inconceivable that I'd launch an important website without database indexes.What's powering the back-end? |
@SoftVersion: me {at{ delewrit.es {dot{ com |
@xterra2: I'm unsure how to use NL's PM, perhaps send me a message -- and, you really should follow thru' Sublime's trial and see it fits your style before settling on it -- and as I mentioned, I'm still trying it out myself; send me a msg [on PM], I'd pass the key along when I get one. |
@SoftVersion: I'm humbled brother, thanks. As to relating to me, not very sure how you mean? |
There are three main component to any web application [site]: - the front-end (what you're currently looking at, or the pretty stuff, not that NL is really pretty but you get the gist) - the server-side logic (language), that makes sure that when you click that submit button, it works, etc - the database, that saves all this data, posts, friend request, etc And there are tons of langauge that are responsible for make that happen To design the front-end, you generally use: HTML/CSS/Javascript the server-side programming language (any of this are popular these days): Python, Ruby, PHP and C#[ASP.NET] For the database (any of these are popular): Oracle, MySQL, PostgreSQL and MSSQL Generally, Google can help you with the rest. |
In that light, the way to learn clean code is to read clean code, and a great place to start is: https://github.com/languages There, you can select which language you're interested in and read how they attack problems and see what the conventions [idioms] are (as in language styles). Some language like Ruby and Python, folks in does language tale their idioms seriously, deviating from the idiom is considered dirty especially considering there are so many different ways you can write the same thing. (think of it as the English language, you can say "I'm coming, or I am coming", in academia, writing the later is strongly frowned on, you get the point). But, again to see example of clean code, read clean codes and learn the patterns (and the great thing about Github is that you can ask the folks directly behind the code questions) and of course, see some clean codes here: https://github.com/languages or http://freecode.com/ ( I would typically recommend Github more considering how snobby the guys on there are ... which makes them write even cleaner) |
Almost like Jazz Music, if you ask, you can't know, you only have to experience it. Almost like how you can tell a master orator from a wunnabe talker. Always a thing of beauty... It's is elegant, no surprises, a little happiness here and there, it's poetic, actually, let me quote from the "Tao of Programming": " A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity. A program should follow the `Law of Least Astonishment'. What is this law? It is simply that the program should always respond to the user in the way that astonishes him least. A program, no matter how complex, should act as a single unit. The program should be directed by the logic within rather than by outward appearances. If the program fails in these requirements, it will be in a state of disorder and confusion. The only way to correct this is to rewrite the program. " - (4.1) Books that will get you closer to that Nirvana: Code Complete 2: http://amzn.to/HDn8gM The Pragmatic Programmer: From Journeyman to Master: http://amzn.to/HDneVw |
pc guru: ......Sublime is nice but i won't consider that an IDE....Any specific reason why? |
@Fayimora: I get the feeling you don't completely read the question asked "..FREE & POWERFUL text editors. Sublime isn't free but certainly powerful @okeyxyz: Sir, text editors are a deeply personal choice, some people think it almost as personal as a hot chic giving you a hot slap in front of your goons; to which I agree to some extent (that's why some people swear by MS Notepad). There isn't as far as I know any free text editor that comes close to the flexibility of N++. Depending on your coding style, the Aptana you mentioned could be great and also, Sublime (http://www.sublimetext.com/2) has a 30 days trial, see if you like it or if it fits your style (it fits mine, I typically do JS/HTML/CSS/Ruby/PHP/SQL/Shell and very recently Cl. ASP). PM me, I'd send you a key (when I get one, I'm still under the 30days trial myself and loving it so far) Generally what makes an IDE/texteditor rock for me: - how efficiently can i do sh$t with moving away from the keyboard (I'm still trying to learn Sublime's keyboard Mappings) - how intuitive is it's interface - what color coding/completion comes outta box - can I automate s%%t from within it - can I customize it to match my style (Jetbrains IDE family really rocks at this) |
Fayimora: Sublime isin't an IDE. It is a text editor that brings a bit of the power of TextMate to other platforms. 80% of the stuff in Sublime is from TextMate. As a matter of fact, the bundles I have in TextMate are shared with Sublime. Anyways it is a good editor and I think those features you listed above is just a tip of the iceberg! The grep functionality of the thing is AMAZING. It is also considerably faster than TextMate which makes me feel like am using vim.Maybe or not, generally wikiP thinks an IDE should have: - a source code editor - build automation tools - a debugger S/T has all but the last (or maybe I just haven't found it). Perhaps you didn't read my intro to the question, I'm working on ASP/ on Windows; e-Text Editor is what compares itself to TM on MAC, and even works with native TM bundles. I personally haven't gotten into the TM swing, I've just stuck to RubyMine & PHPStorm which I'd really be replacing with Sublime. Per that grep future, ummm, you mean RegEx, or grep as in Linux' grep <file>? However, you didn't share what IDE you use and why. And don't forget, this is, "not a debate about which is better.." @techytom: I used to love Aptana until I met PHPStorm, and quite frankly considering I came from the "Eclipse/Java" community, it sat well with me -- could be overwhelming at times though. Why do you dig Aptana? |
kodewrita: ... caching behind the scenes.^^^ agree much, I noticed nginx is being used, which is a great cache/proxy, if run in conjunction with Apache. Per the header, my guess is, it's more like a proxy, see the attachments...
|
I recently "inherited" a clusterf%%k of a Classic ASP project, at which two sucky things happened: 1. I had to now develop on Windows 2. I had to depart from my long loved PHPStorm IDE That lead to the hunt for an IDE that will come at least close to P/S, after trying V.Studio, Expression Web, etc, I settled for WEBuilder 2011 as a decent comprise until I met Sublime Text 2, Jesus f,,,ing Christ! I have fallen in love with this IDE, apart from supporting ASP sweetly, it support tons of other langs too and just neatly supports my workflow. I'm curious to know your favorite IDE, and why -- not a debate about which is better just curious.
|
I would highly recommend you start here: http://learnpythonthehardway.org/book/ It starts you off on the right foot, and quickly let's you decide if programming is really for you -- have fun at it, it's an exciting world. |
[ *chuckle* ] @csharpjava: You've made the following premises: 1. I'm in Nigeria 2. Being in Nigeria, I (or my ogas) have no clue on software engineering. 3. On those, you, being somewhere not in Nigeria can be condescending. 4. You (a software engineer), knowing more, will come to Nigeria and show us how things are done. |
@csharpjava: So what exactly does a job description at Google have to do with this? What I need is your own personal credentials that gives you so much confidence to say to my ogas or I have never met a software engineer. After which I will dutifully relay the message That's my curiosity. |
@csharpjava csharpjava: Don't miss quote me, I'm not here to show off what I have done, I'm only here to share my knowledge with those that are interested and to correct any false claims from your ogas and others about Software Engineers.I thought so too, you're only here to talk, when you're grown enough to back your claims with real facts come back, preferable after you've read those books I referenced earlier. Till then, this might keep you busy for a very long time: https://gist.github.com/2352580# @techytom: Any answer will derail this thread, you can start your own thread or better yet, see attachment below:
|
csharpjava: @delomosThanks for the advice: I know nothing about software development, I'm trashing S/Eng ( though I don't recall doing that but then I'm not smart enough) all well and good, thanks again. So you advice I ask what I don't know; I will take that into account right away and ask: - what software project "in the wild" have you personally contributed to lately, please post the excerpt or @ least a link or better yet source code(if it's O/S)? Meanwhile, I seriously doubt Nigeria software industry is in jeopardy because of what I do, so I think you can safely put your fears to rest ( and maybe sleep well at night) or better yet, come back home and teach us the "true" way, don't get brain drained mate -- wait, on the other hand, I think we're good, stay wherever you are. @okeyxyz okeyxyz: ..... so, the expertise of a software engineer must include somethings beyond this scenario.^^^ my point exactly. |
@doncigalo: I hail oh. @csharpjava csharpjava: #1. In that case I'm sure your ogas have never met a qualified Software Engineer.There are a lot of things wrong with you argument, which, taking a basic course in logic and/or critical thinking might help you see but that's for you to figure ( or you can start here: http://www.amazon.com/The-Art-Thinking-Allen-Harrison/dp/0425105687). I will keep things relevant to this thread. It's obvious we are too little to have meet any software engineer in your caliber, very honorable, that's skips me to point #3, oh before that, actually my ogas don't have to tell me it is, the world is flat indeed, what have you being thinking, this book will expatiate: http://en.wikipedia.org/wiki/The_World_Is_Flat You analogy of wanting to get software "Right" like engineers building bridges is one lie they probably tell you in school. Yes, it's a false analogy and those engineers you've met should have advised you but then, it's impossible to get software right, you've heard about all those theories right? [They] are probably too busy drafting UMLs, drinking Coffee and talking about the software they should have written. Yes, there are those building stuff for rockets, life support etc, but what percentage is that of those building software? If you're looking to hire someone to build the software that will power Nigeria space shuttle, I think you have a different problem on your hands than is being discussed here. And I will again insist, writing code is cheap, writing creative and beautiful code is the nirvana and asking people to writing code at interview is waste of time, it's better to see how they think through their problem to their solutions. Those said, at some point in your life, you should read this book: http://pragprog.com/the-pragmatic-programmer ( I can go on and on about this book, forget f%cking GOF, this book is the sh#t, but I digress) *Book refs made (just for the sake of those who don't want to read all my droll): http://www.amazon.com/The-Art-Thinking-Allen-Harrison/dp/0425105687 http://en.wikipedia.org/wiki/The_World_Is_Flat http://pragprog.com/the-pragmatic-programmer |
@csharpjava csharpjava: #1 => I'm sure that both of you have never met a qualified Software Engineer before, because if you have then you won't make such comments. Software Engineers are trained to handle all stages of software development life circle, which includes programming. Ok here is a simply programming test for a Software Engineer, you can try it yourself.#1. You made a very bold statement, "...you are sure"? I'm tempted to ask how sure you are but that will digress my point. Apart from being quoted out of context, my original statement you didn't agree with is: "Per my ogas, it's a waste of time bringing an engineer in for interview and asking them to "code"." Which was a follow up from: "Given X problem, how would you approach it (X being a problem the team is currently working on and as pointed by @techytom the process is a lot more important than the answer)." Perhaps that answers your question, maybe not, people who are sure about people they never met are rather strange people to have logical conversations with, or maybe not... #2. It's easy to show nice looking symbols and UMLs and theorem -- it generally explains why we have Professors and people solving real problem. Maybe that was a bit too poetic. I must commend digging up that picture, it indeed looks interest, I will print it out and show a Software Engineer if I'm ever lucky enough to meet one. @okeyxyz okeyxyz: @delomos, while your emphasis that this is wickedly important is correct but your underlying reason is misleading. your interest in being able to socialize outside of the workplace is surely a good thing, but it's a bonus rather than the principal reason for fitting into the work community. having the pleasure of choosing people of like mind as yourself is what social scientists call groupthink and the dangers of this mindset is that it promotes mono-culture within the team, does not challenge status-quo and stifles innovation.You made seriously valid points. It is the sorry state of the software world, I wish it wasn't so, but per my experience, people will generally hire those they like, as awful as it sounds, it sucks to be ugly if you want to get real work, in real place, in some cases, it sucks to be married too, or heck, have kids (it's kinda hard to drink beer and do hackaton till 230am when you gotta drop the kid off to school at 7am). You can be as smart as you want, if you don't have the opportunity to 'hack', it just wouldn't happen -- there is the problems you stated, but group-think is a double-edged sword. That said, the black man has a very long way to go being on the hub of software innovation. Actually, on being on the hub of anything; we are rarely given the 'real' opportunity to 'drive'. But that's now a philosophical debate that a software one. |
Fayimora: In a logical sense, yes! #1 => [However, we must respect the fact that a web developer would not spend time analysing a project as that is the job of an analyst]. Also, a web developer [#2 => [ would not be expected to always solve problems [/b]using Advanced Algorithms and stuff like that. That is something a programmer would be interested in.] [b]I think we are just twisting words here tho. Its always best to pick what you need. #3 => [Trying to pick the best could get you in trouble.] .....@Fayimora: you made several claims that brought you to an interesting conclusion, while I agree with some of the conclusion, this premises are fuzzy: #1: Are you hoping to work where there is the luxury of a separate analyst, in most web dev company there isn't -- yes there could be project managers BUT it is up to the web dev/eng. to technically scope out the problem through the 'business' reqs of the PM? #2: This premises is particularly troubling, what exactly is "advanced algorithm?". I doubt there is any web programming language that doesn't have an array, or a list or a dictionary; it's basic knowledge to understand what kind of problems those data structures solve and their respective algorithm, perhaps you might want to say sorting an array is trivial since you can just "call" a function, you might as well hire a graphic designer turned web designer. #3. And of course it's easier to pick the best graphic designer, just look for which is prettier, trying to pick the best would definately put you in trouble, there is no best. You're trying to pick based on issues at hand. #4. And will school projects and actual work experience justify this person being able to solve the issues at hand, maybe. But a better stick for measuring one that has a true passion for the field is what are they doing "outside" their regular has-to-do. #5. A Software developer with a passion sees this as "fun" #6. I used to think like that, and I'm sure you're thinking will change when you tell the developer -- A Mediator will fix that and they say "uhh". Yes you can ask tricky question to know if they understand that than explain it. But what is being tested is not necessarily if you're using it right now, do you know it exists so you can investigate that path when you really need to use it. #7. This is wickedly important (assuming you're referring to your company culture) -- I always hope to work with folks I can hang out with out of the office. #8. On the surface that's true, but is someone who can do the bare minimum really what you want? |
There is story, taken literally as it relates to human(a person asking what's my optimum choice in this case as @queensmith pointed as in many game shows) There is the story as it relates to using to solve problems meant for computers (or modeled through them). You've concluded that irrespective of who is solving that problem the, the outcome is generally the same -- switching is always optimum. Per that modeling, it really doesn't matter if the person solving can solve a large amount of 'doors.' |
[quote author=sparko1.... where around ikeja can i learn java and php? Though i have some basic html. Finally please i need it like right now please, reply with valid information please.[/quote]An excellent place, and it's also free is: http://net.tutsplus.com/articles/news/diving-into-php/ |
techytom: If I want to employ a programmer, the first thing I'll check is experience, not job experience but the candidates programming experience. I want to be sure the programmer can do what he says he can do. So I'll keep him as comfortable as possible and the results of him talking about his skills and past experience helps me bring up a test for him. I'll then judge based on problem solving approach, code/software practices, if he's a programmer(neatness of code), software engineering(approach to information gathering). I don't want to be one of the folks that put programming and software engineering as the same so, I'll watch out for architects and black screen coders...^^^ Much respect, this nails it. Our process of getting engineers is deceptively simple (or @ least the ones I've being through), it's starts with one simple question (after all the regular generics have been asked over the phone, things like how does MVC Differ HMVC, or what is OO, or what does X pattern solve well, explain B-tree, blah, blah...): Given X problem, how would you approach it (X being a problem the team is currently working on and as pointed by @techytom the process is a lot more important than the answer), from there it proceeds to other question off that, things like why this, not that -- that generally tests many skills at once. Per my ogas, it's a waste of time bringing an engineer in for interview and asking them to "code". Oh and one caveat, they're asked "no code please", so it proceeds like the attachment below ( which was ironically from today >.< )
|
ekt_bear: This figure, right?So I'm sure we're on the same page, how do you understand my argument? |
@ekt_bear: If you insist, ok. |
ekt_bear: #1 => What is "computational statistics"? I mean that is a pretty broad term, and could mean lots of things.#1: Not exactly: "Computational statistics, or statistical computing, is the interface between statistics and computer science. It is the area of computational science (or scientific computing) specific to the mathematical science of statistics." (wiki) #2: I've noted the human sentiment really has nothing to do with it. I was referring that there is a limit on how much a human being can make good decisions w/o error, and of course the error increases the larger the number. Since a computer most likely doesn't have that limit, would the problem be solved differently depending on who/what is opening the door? (that's where the graph comes in) |
ekt_bear: I don't understand what any of this has to do with computing. ekt_bear: I don't understand what any of this has to do with computing.Have you worked in the domain of computational statistics? |
ekt_bear: That graph has nothing to do with human sentiment. It just compares the theoretical probability to that obtained from simulating 100k games.What I was point out was in simulation it, 1/n or n+1/n gives the same probability as it draw closer to that 100k, so in a computing environment your analysis has to be rethought. |
@okeyxyz okeyxyz: btw, the only thing sacrosanct in this method is that the contents are sorted, not how you conduct the search.Exactly, there is no way to know the sort order of a reference to a sort order. If I'm looking for 999, in a list of 1000. It's easy to eliminate < 800 and proceed in find -- in this case you are blind to this, being lucky you get O(1) and as the story states you can never get that (considering the first choice is always wrong), so generally, you're looking at O(Log N), see my point? |
@ekt_bear: Umm, perhaps not, do see this graph here(at the very bottom): http://www.cs.dartmouth.edu/~afra/goodies/monty.pdf @okeyxyz: the premise of a binary search tree (at least to be efficient) is that it's sorted. Problem with this is, you can't eliminate half of your choices and proceed to the other half (at least not if it's large enough). |
