Welcome, Guest: Register On Nairaland / LOGIN! / Trending / Recent / New
Stats: 3,159,296 members, 7,839,458 topics. Date: Friday, 24 May 2024 at 07:38 PM

Ghenghis's Posts

Nairaland Forum / Ghenghis's Profile / Ghenghis's Posts

(1) (2) (3) (4) (5) (6) (7) (8) (of 8 pages)

Programming / Re: Gurus In The House: Macbook Or Windows, Which Is Best For Programming ? by Ghenghis(m): 12:25am On Jan 14, 2022
Definitely Mac, but a macbook pro and similar (AIRs are not meant for programming).
Also the OS is Posix compliant, so full unix experience. Unparalleled battery life, and you can use the system for 10 years.

Windows is good for game programming cause most vendors write games for windows.

A gaming laptop is not necessarily the best for programming cause , the main attraction for gaming is the GPU which is not as critical for regular programming.

For Programming you need Fast processors, multiple cores ( the more the merrier) , lots of RAM ( to run many services like DBs, Queues, mail-servers, etc.)
Programming / Re: Facebook Restricted My Account For This, Is This Nudity? by Ghenghis(m): 12:15am On Jan 04, 2021
but the farthest kid is nude (with his genitals showing) na ...

1 Like

Programming / Re: What Is Your Favorite IDE [lately]? by Ghenghis(m): 9:29pm On May 04, 2012
fatezy:
Turbo was crap, enough said. Netbeans was a bit overwhelming. VS was intuitive (to me)

Wow!

That was an award winning IDE, I started programming with Turbo .
Maybe you used it when there were more sophisticated IDEs on the market. There was also solid integrated debugging.
Borland made the best compilers and IDEs back then...
Programming / Re: What Is Your Favorite IDE [lately]? by Ghenghis(m): 11:27am On Apr 28, 2012
Can't you use the import feature and point to any path you want ?
From experience eclipse rarely forces you to do anything.
Education / Re: OAU Statistics Of Choice Of Courses For 2012 by Ghenghis(m): 7:43pm On Apr 27, 2012
agoshofin: I recommend you all watch this video from TED website http://www.ted.com/talks/ken_robinson_says_schools_kill_creativity.html and this video from Youtube
https://www.youtube.com/watch?v=zDZFcDGpL4U

You will get a proper idea of what the reason for the mad rush to Law, medicine and Accountancy!

Thanks for a great link!!! Excellent ....
Programming / Re: What Is Your Favorite IDE [lately]? by Ghenghis(m): 9:17pm On Apr 26, 2012
That's the default behavior (for, say, a Java project). But you can have sources outside the project directory. You might have to configure your builders, but I have done this b4 ...
Eclipse is one of the most flexible IDEs I've ever used.
You can also try the affordable MyEclipse, which is excellent!
Programming / Re: Clean Java by Ghenghis(m): 8:12am On Apr 24, 2012
who told you all this...

I've been writing Java professionally for over 8 years ...
Programming / Re: Which Do I Learn First C Or C++ by Ghenghis(m): 10:21pm On Apr 06, 2012
Learn C first.

then maybe C++ later. An you can earn a living if you know ANY programming language well enough. Especially C!

Besides you might decide to move to Objective C (IOS uses it extensively) instead of C++.
Jobs/Vacancies / Re: Vacancy For Web Developer (Expired!) by Ghenghis(m): 7:06pm On Mar 26, 2012
Now that we're sort of on the topic (I hope) :

I think I prefer the old Nairaland theme, it was welcome and very familiar.

This new one is okay but it I think the colors are too distracting(IMHO).
Programming / Re: How Will You Approach This Problem, Logic Needed? by Ghenghis(m): 7:24am On Mar 23, 2012
why sockets? to expensive to manage ...

I would simply request version info(serial) from the server and compare with the mine(client).
Polling is fine, but it has to be handled intelligently.
e.g. Have fixed time during the day to poll and download(the way most anti virus handle their updates).
Update the database when there's a functional need.

But your 5GB also throws up questions. More info about the nature of your app and the master data might be insightful.
Programming / Re: A Way Forward For The Field Of Computer Science In Nigeria by Ghenghis(m): 7:15am On Mar 23, 2012
kodewrita: Its always good to make comments with some knowledge backing it.
hate him or love him. His claim to fame is that HE CREATED THE SOFTWARE INDUSTRY ITSELF.
hmmm, Where would you put the other visionaries. He's(Bill) great but he was not alone ...



Eliminate: all old content from our curriculum. we have moved beyond the age of FORTRAN and COBOL. If needed specialists can go and learn such old languages.

That's part of the problem, there aren't enough of these programmers any more. Schools need to continue teaching them.



Simplify: I know the general assumption is that knowing many languages makes you a guru but I would advise that schools limit programming languages to just three: A scripting/educational language( Python/Scheme/Lisp), a systems programming language(C) and a RAD language(Java/VB). The RAD can be introduced late in the training period to enable them use it for final year projects but all computation and mathematical work should make use of either the prescribed educational one or the systems one. In essence Python or C.
Where are the functional languages ? Where are list processing languages?
While I appreciate your sentiments the problem with CS or universities is not a lack of programming languages or use of obsolete ones. For instance, when i was of my colleagues simply didn't have the aptitude, interest, time or attitude for programming. I learnt to program in school, and it started from hearing some chem eng. students talk about it. It was like a light went on in my head ... the rest is history, no teacher or lecturer influenced the entire process.

As someone who spent a year teaching(NYSC) I appreciate the lecturers palava. Its often rare to find a student that has the aptitude and attitude.
Programming / Re: What Is Concurrency And How Does Your Language Tackle It? by Ghenghis(m): 11:35am On Mar 20, 2012
Yeah, its hard and its consequences are unavoidable whether a programmer is aware of them or not.

Concurrency prior to now didn't seem to gel with Object Oriented Programming; hence lots of programmers don't think of their solutions in terms of IO cycle/ CPU cycle/ another thread of execution etc. Which was sorta right ... but these days even if you don't explicitly use concurrency, your APIs do, so its best to be very aware of how to write concurrent programs.

1 Like

Programming / Re: Spring And Hibernate by Ghenghis(m): 2:44pm On Mar 16, 2012
I use spring and hibernate ...
hibernate because i refuse to use jpa ( too old for annotations )
spring because they've thought of everything and it manages object lifecycle better than i'd do it myself : so better memory footprint
many hooks to numerous frameworks etc.
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 12:02pm On Mar 13, 2012
csharpjava:
Agile methodologies are used for applications that are not life critical, Mission Critical or Business critical, when application developed with agile fails life and money are not lost, you just have to wait for a patch few weeks or months down the line to fix it.

WRONG!!!
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 10:16am On Mar 12, 2012
csharpjava:

Here is a recent job advert by eBay on indeedDotCom:
Software Engineer 3 - new
eBay - Salt Lake City, UT
"to ensure the success of the team and project Experience in formal waterfall development and agile iterative methodologies Ability to translate abstract..."
eBay - 7 days ago - save job - block - email - more...

Remember that it was a question about how websites like eBay and Amazon were developed that lead to you opening this thread. This should prove to you that waterfall is still very well in use today for complex applications. If you look back at most of my post you'll see that I have always been in support of an Iterative Waterfall development.
If you think through the entire discussion, you'll realize "complex" does not translate to "critical". Business applications are complex, not necessarily life critical.
Complex applications can be built (and are built) using agile methods. If we're talking "life critical" like biomedical software or systems software then the playground is different. Requirements are usually very clear up front, and changes go through a stringent or very costly process. Waterfall's rigorous process might act as a form of Quality assurance ... I'm certain the "website" is not built using waterfall, maybe a core component technology.
Programming / Re: A Way Forward For The Field Of Computer Science In Nigeria by Ghenghis(m): 7:30am On Mar 11, 2012
Hmm You guys have started this Bill Gates thingy again! The guy went to Harvard and left after 3 years instead of 4, and he has become every dropouts Saint ****bo.

Please GO TO SCHOOL. Also Bill was exceptionally brilliant, he was a true child of computing and lived it every day before he even attended college, hence his exploits unprecedented his schooling which is why he dropped out. He was already a millionaire in school, so he didn't have the dilemma of "no book, no food" facing him (Note poor people don't pay Harvard fees).

Also there were MS Oses before windows chaps (It was called DOS). By the time windows came on the scene Bill had Engineers and Doctors working on the code base. They had outstanding constraints to work with back then. The IC runs were still growing then. I love Linux, but comparing Bill and Torvalds because of Linux and Windows is preposterous (But great engineers, and one an outstanding business man with an understanding of the times ... )

I think the way fore-ward is for the GOVERNMENT OF NIGERIA to pursue a Policy of using only IDEAS developed in NIGERIA to solve our problems, Lets stop IMPORTING finished solutions into the country,
Nigeria is populated by Computer Scientist, Physicist,Engineers, Doctors,Pharmacist, Economist, etal but can't Practice because We Nigerians are not the one developing the solutions to Our problems.


what does this mean ? "I suggest we only give made in Nigeria drugs to diseased and ailing Nigerians, if we can't heal them then they don't deserve to live".
Please, stop looking for handouts, the government has a role to play but you have an even bigger one. Let your work and practice be of exemplary standard. Don't use your first big pay check to buy Honda pilot, employ other programmers, review your last project (including code), register your company, offer customer's a brand that they can trust, My company cannot die :Tell your customers that and see if they won't patronize you.
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 5:47am On Mar 10, 2012
csharpjava:


"Web Development : As per the customer requirements, Saahi follows the waterfall model (which was the original SDLC method) and rapid application development (RAD) model or a hybrid of other development models to deliver web solutions."

ghenghis:
From my experience many companies end up with hybrid methodologies : what works for them . This is usually based on the size of the company, type of customers, sales cycle and other policies.
I think we're getting to common ground now,
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 11:30pm On Mar 09, 2012
csharpjava:

Not the professors I know in the UK, which ones are you referring to? If you should hold a seminar for businesses on how to choose the right software methodology and a professor should also do the same who's seminar do you think businesses will turn up at, yours or the professor's?

Hmm, I also know loads of professors. They're great but be careful not to misquote them. I also came across many methodologies during MSc. in the UK (An i believe my lecturers where also profs. , at least i hope).

Read more about water fall, do a little research and draw your own conclusions.
If i were to tell you some stories I've heard about COBOL(in 2012), from some senior engineers in the US, for instance you wont believe it. Always talking about Cobol copy book etc. like all the fortune 500s where using it. Ironically he only recently heard of PHP.

My point: Everyone has their own experiences. You can't simply take someones word for it, no matter how distinguished!
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 8:28am On Mar 09, 2012
logica:

I think I will just respond by quoting from the Agile page on Wikipedia:


A customer rep is just a poor man's version of the customer however it suffices. Its not really an issue if the rep knows enough about the customer's operations. That's why a large company can employ people with 20+ years banking experience to help develop banking apps etc.

But one key differentiation between the methods are release, once something is released its not coming back! (That's how it should be). So yes you have to go into production else you're still reviewing.
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 8:14am On Mar 09, 2012
Wish there was a picture of xp in there, would probably look like lean.
Notice there's less opportunity to add something once an planning has started in water fall (Even iterative waterfall).

Lean looks crazy though shocked , I've not delved into it as much as scrum and XP.

Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 6:26am On Mar 09, 2012
candylips:

From the Agile manifesto:

Twelve principles underlie the Agile Manifesto, including:[7]
Customer satisfaction by rapid delivery of useful software

Welcome changing requirements, even late in development
Working software is delivered frequently (weeks rather than months)

[b]Working software is the principal measure of progress
[/b]Sustainable development, able to maintain a constant pace

wink I've been too lazy to do the lifting tongue The manifesto says it all , cool
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 6:22am On Mar 09, 2012
candylips:

actually agile sees the equation this way

customer == end-user + project sponsors. so customer is always and end user and some other people ,

stakeholder = end-users + development team +project sponsor +shareholders etc. stakeholders is everybody who will benefit from a good software
wink I think you've been correct on all counts (i'll just chip this in) and those that might not benefit. So stakeholders are those that would be affected by the software. So a stakeholder might be the guy whose software you're replacing (What a nightmare ,  shocked)

candylips:

ok well agile discourages rigorous design/modelling which is fine for small to medium projects IMHO but absolutely essential in complex systems. 
You'll get in trouble for this smiley.
Agile actually encourages design however they design for change. Imagine how you'll build a house when you know u'll likely only sleep in in for a week. Why use brick and mortar, won't it be better to use a tent. Yeah we could use wood for the doors, so when we build the final house we'll reuse the doors.
(I stretched the analogy a bit cool  )
The point is in agile methods we recognize that change is inevitable, so if you keep that in mind for every activity , there're many things you do differently: this also includes design. This is where OO and patterns shine. (they are not exclusive to agile, but they make agile development possible)
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 9:11pm On Mar 08, 2012
logica:

A mock-up proto-type is fixed; it does not show work in progress; and a mock-up does not necessarily have to be real (meaning a lot of the functionality might be simulated). Not the case with Agile. For instance, a list of records can be mocked up as an in-memory java.util.List in a mock-up (without any database connections), but in Agile you have an entity backed up by a database table. So a mock-up shows it CAN be done, but Agile viewing shows it HAS been done.

"The quick win" you mentioned is still essentially tied to work in progress because the stakeholders want to see that work is being done, and they want to know their hand earned cash investment is worthwhile.
Great!!! I like the distinctions you made.

You know, a big reason why projects are considered a failure is not just delivery , but rather delivery on time when the client can cash in on benefits ,
The risk Agile methods manages is that if we get stuck in the middle , say 50% , the customer essentially has 50% he can go to market with. He hasn't lost everything (remember the customer's time and opportunity cost is invested in the project, so he's not just concerned about what he might have payed you. )
So we get stuck, he's customers are already using your app while you figure out the problem. Also notice that if prioritization was not properly done, the customer might end up with an essentially useless 50%. Also if you planned well and balanced impact and then, you might get to 5% and find you're out off your depth, The client can easily back out at this early stage or take other steps.

So in essence do the most important then complex first ,

Agile methods don't guarantee software delivery or success so much as they manage change, risk and expectations.

Yeah you have practices like pair programming etc. but this doesn't really fit the mould IMO(some methodologies practice formal code reviews). I think the point is:an extra developer "just looking" during development pays for itself rather that 3 after release or 10 searching for a bug 5 years down the line.
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 8:19pm On Mar 08, 2012
logica:

Not quite correct. An Agile release does not necessarily mean the application is ready for prime-time. It's merely a release that allows the stakeholders to view the work in progress, up until completion. That release is not meant for viewing or use by the end customers. I do not expect a software being developed using the Agile methodology to be made accessible to customers till the entire work is complete.

You are essentially correct, the customer might decide not to release the system until several milestones. However, every iteration should leave a releasable product.
In agile methods you balance priority with complexity, you start the risky parts first so you unearth problems early. However because you want complete release you also need to know the customer's priority. So in reality you release the most important thing needed by the customer first.

There are many reasons for this besides "viewing", you want quick wins that encourage client commitments etc.

Note : If all you needed was end to end viewing of work in progress , what's a mock up prototype ? (seem to serve the same purpose , )
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 2:40pm On Mar 08, 2012
csharpjava:

@Ghenghis  and delomos
I feel I should not have use an internet banking website as my example above, because in reality this can be developed incrementally to intergrate with the banks existing software system. But if a bank is starting for the first then an Iterative Waterfall Methodology is the best method to be used for developing its main banking application.
Core banking is not developed using waterfall. Banking is a business environment, that goes through change always. SWIFT for instance are always changing standards etc. Core banking application requirements change as business cases change ( e.g. CBN says forex can only be purchased through Form A). No one know all these requirements at once.

Using the Waterfall in this age is too painful. the application would be obsolete by the time its released. Who do you know that currently uses waterfall ?
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 8:21pm On Mar 07, 2012
csharpjava:

If you want us to only discuss about processes here then you should change the topic of this thread to "The software development processes of an Agile Methodology", because all the processes you have mentioned on the thread are that of an Agile Methodology. An Agile Methodology is made up "Specific tools and techniques, such as continuous integration, automated or xUnit test, pair programming, test-driven development, design patterns, domain-driven design, code refactoring and other techniques are often used to improve quality and enhance project agility." Source: Agile software development.

Software Methodologies are there to help you decided the best method for developing a software application depending on the domain the software is required for.

This is not meant to be biting so please don't take it as such :

Have you used any of these methods before ?
Where (no need for specifics)?
In collaboration with how many people ?

The reason I ask is because; you're so emphatic and your opinions seems to come from experience (No one can fault that), so I'm curious to know if these ideas are applicable in a particular locale or something.
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 11:27am On Mar 07, 2012
csharpjava:


If your are developing an internet banking application for the first time then you cannot be delivering small releases, based on user stories. I will not want to wait for my customers to tell me that when they make a transfer, the money gets debited from their account but the recipient's account is not credited, then I will bring this new story to you and you will develop another small release for this new story. these are the kinds of factors you have to consider before selecting a methodology.

An iteration usually has a recommended time frame (few weeks), what you do within iteration is a function of your teams size and run rate. You deliver complete use cases within iterations (Something the customer can test end to end). So debiting a customer is not one use case while crediting the recipient another.
If the debit cannot make sense without the credit , then the entire thing has to be completed or moved to another iteration.

csharpjava:

TDD is a technique used in an agile methodology, it is one of "Specific tools and techniques, such as continuous integration, automated or xUnit test, pair programming,
You are partially right and I don't want to nit pick with you (You shouldn't use absolutes , )

Hope you read these references :
http://www.agiledata.org/essays/tdd.html
http://www.developer.com/design/article.php/3622546

The essence of this discussion is to open our minds to possibilities (not show you as wrong or right), and maybe make us better in whatever we're doing. I hope the purpose is being served.
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 12:27am On Mar 07, 2012
csharpjava:

TDD is an important agile requirements and agile design technique.

Don't mix Test driven Development with unit testing, they are quite different.

csharpjava:


@Ghenghis  and delomos
Going by the answers you've given above I will not allow you to develop an internet banking application for me. The reason being that such an application would required that it is complete before being released for my customers to use. A Waterfall or an Iterative Watefall methodology is what will be required for an internet banking Application. The techniques you have mentioned are used for small releases so it is not suitable for an internet banking application that is being developed for the first time.
Its good you're not a bank then (I have developed internet banking apps for many banks ,   wink

Lets take GTBank for instance (I didn't develop that). If you've used their internet banking new features come out all the time. It started with :
balance inquiry facilities.
Self account transfers.
Within GTBank Transfers
GTbank to other account using NEFT
GTBank to other accounts using NIBBS Instant Payment etc.

Are you saying these functionality can't be delivered in phases ? (They were , ) Why do you think you know everything upfront ? the bank doesn't, CBN doesn't and NIBBS certainly don't(there are 2 very different versions of the same functionality)

delomos:

If you're designing an "academic" bank, your approach will work where most often you understand *all* the total requirement before you start building, in the real world, it doesn't work like so.
i agree
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 5:29pm On Mar 06, 2012
From my experience many companies end up with hybrid methodologies : what works for them . This is usually based on the size of the company, type of customers, sales cycle and other policies.

delomos:


^^ Sometimes using what you typically use might be a disaster in the long-run. My case in point: when I was working on "writing" my start-up, I would usually be thinking OO and banging out ERs but considering the nature of my problem domain, I had to step out of my zone and put many other options on the table.
Funny, because no one wants to turn down a sale or an opportunity. But the truth is every shop has its strengths. These strengths are built on years of experience and domain knowledge. Its hard to simply walk into a new domain and start delivering. If you have a model that works well in one domain, then you should apply it across other domains(I'm also assuming you're working in a domain you're familiar with) else no methodology will save you.

The methodology you use shouldn't be new or something that'll evolve during the course of the project. It should be something you and your entire organization are familiar with.

It starts from your proposal : how much of the clients involvement do you need ?
How will you be paid ? Are there milestone payments ? What are the QA criteria, how will they be measured ?
Where would development be done on /off site ? offsite implies less customer involvement, which is more risk.
How is deployment handled ? Does the customer have a fixed launch date ? etc.

delomos:

^^ It depends on the nature of the organization and company -- most times, the business development part of the organization are not even aware of what's "capable" in engineering, they just want to make a "sale."
In my experience its the opposite: the business side send you 20 RFP/requests off which you qualify 5 as something your organization is willing/capable of handling. Of the 5 you get between 0 & 3 depending on the kind of company. Sales guys think tech guys can do everything in a short time.
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 11:12am On Mar 06, 2012
csharpjava:

Sorry I should have asked you the same question I asked delomos which was, say I have a bank and I come to you to write me a software to allow my customers to carry out internet banking, what software methodology will you use and why?
I'm telling you I won't look/think for methodologies. I simply use what i typically use. And yes this is typical :
[list]
[li]Some form of test driven development would be nice (You'll always wish you did this if you start out not using it)[/li]
[li]Iterative and quick releases is absolutely necessary (So no surprises at the end of the project)[/li]
[li]Customer involvement (no surprises, stakeholder involvement)[/li]
[/list]
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 9:39am On Mar 06, 2012
csharpjava:

I want you to look at a situation where you have to develop the banks main system from scratch, which other components like the one you worked on can intergrate with?


That very unlikely, are you talking about building a core banking system ? That's millions of dollars in software development, maybe less for a micro finance bank ,
Besides building the core does not absolve you of the responsibility to integrate. You'll almost always meet legacy systems. The bank must have been using something before you came on the scene, and they're not likely going to completely rip that out for your version 1.0_Final
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 7:52am On Mar 06, 2012
In reality organizations usually use a single methodology, and it also means they usually bid for the same type of projects.

Agile methodologies fits well for a banking environment because :
1. Lot of change due to business dynamism
2. Lots of undocumented applications and processes

You definitely need iterative releases. I once developed an integration component for a Bank, it was built to their specifications, we had user acceptance tests , the works. Needless to say what happened when we went into production was another kettle of fish.
Banks keep lots of junk, agile methods are definitely the viable option (At least iterative delivery and lots of customer involvement).

(1) (2) (3) (4) (5) (6) (7) (8) (of 8 pages)

(Go Up)

Sections: politics (1) business autos (1) jobs (1) career education (1) romance computers phones travel sports fashion health
religion celebs tv-movies music-radio literature webmasters programming techmarket

Links: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10)

Nairaland - Copyright © 2005 - 2024 Oluwaseun Osewa. All rights reserved. See How To Advertise. 118
Disclaimer: Every Nairaland member is solely responsible for anything that he/she posts or uploads on Nairaland.