WhiZTiM's Posts
Nairaland Forum › WhiZTiM's Profile › WhiZTiM's Posts
1 2 3 4 5 6 7 8 ... 12 13 14 15 16 17 18 (of 18 pages)
ghostofsparta: Why should I beat that? Am I suppose to be intimidated with the 80million code lines everyone is discouraging me with, you just typify those Nigerians who believes since it took the United States 200 years to attain a |
ghostofsparta: No, what about it? I'm sure it won't be different from the rest of the pack in terms of its GUI... Well it is. Its a striving Operating System(written from scratch) that uses exact model of the Microsoft Windows NT Kernel... And so far, those guys are trying and have still been developing it! Since u said its not something so big that you are after, ... Just start by checking out these... Writing MBRs Bootstrapping and Boot loaders... Processor instruction sets.. Processor' supervisor modes and interrupts (depending on what type of kernel you want to make)... File system structures... Hardware Abstraction Layers (HAL)... Handling and decoding Hardware interrupts...e.g from input devices... Display and Output devices... Synchronization... Virtual Address mapping. Assembly language may be required at some point. Providing services and API to run processes on user space mode. Context switching etc... The list goes on and on and on... Afterall, Some Embedded OS had their 1st version written in a few months... But took years of continous development to become acceptable.. Seriously, you gona need a lot time... Probably some finite percentage of your life time... But for the start, I suggest you should attempt to write a small OS of a few thousand lines for the RISC MIPS processor. It doesnt have overly complex instructions like the IA x86, x64 families. There are some MIPS environment emulator around. Google it. Goodluck. |
this is going to be an interesting topic. .quite frankly, chances that you wouldn't go far with this passion to write an OS is 99.99%. And 0.01% that you would start coding a new type of OS. .... Windows 7 is believed to be above 80 million lines of codes. How are you gona beat that? Operating systems are the most difficult software to write from scratch. Not to discourage you, go and read about Kernels, Filesystems, ... Before going far... I did suggest you check out Minix. www.minix3.org its probably the smallest and useable industrial strength Operating System available... Its a few tens of thousands lines of code. If you understand the codes and working architecture fully, then you may proceed in taking out the next 7yrs of your life developing an OS. Before studying minix, you have to be a Veteran in post graduate level Mathematics, Systems Programming, algorithms, etc. Ever heard of "ReactOS"? ... |
felxfame: I will advice those going into programming to start with HTML followed by CSS and any other scripting language most especially Javascript because it will open your eyes on what programming is all about.HTML? a programming language?? Nahh... ...its a markup language just for simple text presentation by supported graphics Engines... Though, I do not have any objection to anyone that wants to start html5... Cause a dedicated 2weeks is enough for an average person... Cause its like learning indices in Mathematics field |
My problem is implementation... Graph? I dnt really think so. Except if u have a few pointers on how I should generate my graph tree effectively enforcing those rules, else I did have to generate the tree of one of them by brute force... And I think thats unrealistic for larger matrix. They are constraints.. |
lordZOUGA: oh.. couldn't reply sooner, my internet service started acting all weird.^its rabbits. Yeah. Its pretty simple to understand... In better English, all elements in each permutation are mutually exclusive row-wise and column-wise. For example, for a permutation, once I pick an element A21 in matrix A, there must be no other element Ai1 and Aj2 in that permutation... Where i and j are row and column number rspctvly. ...just like the example I cited in the top post. |
well ... Metaclasses are classes that, based on design, are capable of creating a mutuated version of a class, or an entirely new type of class... Which is used in your live working program... Real metaclasses do so on the fly. i.e, while your code is running... Now, unto C++, ... @LordZouga is right.. Lemme clear some air... ...You'll hardly ever want real metaclasses in C++ like the type in Python... For C++, its like attempting to use juju(nigerian black magic) in your codes. Though, you can emulate meta classes statically... But that may involve a lot of gymnastics with macros or ...the use of your metaclass' specific precompiler... ...these little emulations are mostly found in libraries for creating abstract state machines or cross platform libraries but for the most of it, ...better primitives are available for dynamic Programming in C++... Maybe you should get to read the concepts of Resource Acquisition Is Initialization (RAII), and Run - Time Type Identification (RTTI)... Understand them as simple as they are along with generic programming and API development... This would help you write a software that is broadly applicable for its future use either by little upgrades, or attachment routines using the API... |
PIL - Python Image Library Mutagen - advanced multimedia tagging system, including ID3v2, ID3v1 |
lordZOUGA: in this example, your results are not column restricted. they seem randomly picked. I do not see (5, 8, 1) being in the same column or am I missing the point?Yeap... you are missing a point... NO column may be repeated! you may only select from a column once. i.e all entries must be mutually exclusive (column wise). |
Read http://csrc.nist.gov/publications/nistpubs/800-44-ver2/SP800-44v2.pdf http://www.darkreading.com/security/perimeter-security/240005871/how-to-protect-your-commercial-web-server.html ...programming aspect.. http://en.wikipedia.org/wiki/Defensive_programming http://www.slideshare.net/nmerrigan/defensive-programming-101 http://www.phpclasses.org/blog/post/65-8-defensive-programming-best-practices-to-prevent-breaking-your-sites.html cheers... |
Uhhmm... I need ideas and possibly help here... ...a bit advanced (It shouldn't be extremely hard for Programmers with good taste of badass algorithm(s)) Any help or ideas would be appreciated. I am stuck in implementing permutations of mutually exclusive columns of an arbitrary matrix... Where a column is only used once and only once.... This is a real trivial problem, break it down into a graph problem ![]() ...though, I could break it down to trees and use Kruskal's MST algorithm to find the minimum permutation... but I don't think thats fine for the fact that based on my intuition, I did get (n^2 *(n!)) computation time! which is unrealistic for larger matrices Lemme use a real small example to illustrate my problems I have a 3x3 matrix I need to pick n elements, where {0 <= n <= rows}.. example if n is 3...
my permutations will be... n! = 3! = 6 (Remember, for any permutation, NO column or row may be selected more than once) (3, 9, 3), (3, 8, 7) (5, 2, 3), (5, 8, 1) (2, 2, 7), (2, 9, 1) ...and in this case, the smallest permutation is (5, 2, 3)... i.e the permutation whose maximum unit..(in this case, its 5) is the minimum possible time to finish in all of the permutation. Application: cluster computing..., Natural Language Processing... Can you help me ideas ?I have a 4x4 matrix for more illustration . . .
I need to pick n elements, where {0 <= n <= colums}.. example if n is 4... my permutations will be 4! = 24 (3, 9, 3, 3), (3, 9, 8, 3), (3, 8, 7, 3), (3, 8, 8, 3), (3, 4, 7, 5), (3, 4, 3, 7) (5, 2, 3, 3), (5, 2, 8, 3), (5, ....etc ...etc A Math student suggested a Mathematical approach... Eigen Vectors? Is it realistic to think of researching that --can't think of any approach apart from a discrete one. ...My undergraduate degree field isn't so much of the Mathematics or Computing I love..SIDE NOTE: only the smallest permutation is needed... the matrix may reach 100*12... Once again, Any help or ideas would be appreciated. Thanks in advance... WhiZTiM.. (Timothy) |
@monkvirus... You can learn C++ without prior programming knowledge... Just try and also learn about computer systems architecture, it will speed up ur learning. C++ is so powerfull that you can write dare devil programs... Also, a programming bug can frustrate and fry you up. ...dnt worry, perfection can come later... |
Otuabaroku: How I solved my challenge:oh... I didn't read this,... Great u've solved it. I guess the bufferedReader class helped u in reading buffered chunks... For future problems like this, I recommend the book... "The Algorithm Design Manual" by Prof. Skiena ...a US based Algorist |
I did not bother reading your code cause I am not a Java guy. well, yeah huge problems do exist for a small program. First of all, check your algorithm. Is there a way you can order your inputs on the fly(while reading each line). Use a binary tree. Averagely, for simple data like strings, its operationally the fastest data structure that easily stands alone. ... Another optimization you can apply is to read the whole file(if its a few MBs) or sizeable chunks(if the file is damn big) as binary blocks into the RAM, and start processing it from there. ... I have parsed a 40MB dictionary list of 500,000 words stored in 39, 000 lines... I achieved that in a minute... The reading process took only 8secs. (2GB DDR3, 2.0Ghz intel Core2 Duo, 32bit Ubuntu 12. 10) Efficiency matters... Though I dunno if JVM does loop unfolding. I guess my compiler did that for me ...to assist branch prediction things... In GNU g++, its optimization system is pretty good, to such an extent that you can get the speed of C or even better. That doesnt matter, Secondly... Watch your algorithm for CPU cache misses... Thats bloody a bloody drawback on large datasets. Maybe your algorithm is of quadratic time... Slice it down with sorted structures,... "Waste memory if you have to save time" ...says an ICPC -ACM veteran. |
my learning style may be a bit odd, but . . . it works. I learnt using a bit of books and the rest serendipitously... I remember an inspiring moment for me the day I started, after having basic Idea of arrays, I went ahead thinking for the rest of the day and implemented a greedy bubble sort without knowing it!! After some days, I saw it in the book.! I think that boosted my morale so much that as shy as I was, I asked my 1st and ex-girl out!! (we are no more, she's bad market). . . . . Well, back to the point. Whatever means, passion helps alot! My learning style: for EVERY BIT I read or learn, I try to implement something much higher... NOTE, this considerably slows down learning time, but I get to know a whole bunch of technical details, 'why is this like this or that?', and ofcause brain trainning. So, with that,... I learnt C++ alone as my PRINCIPAL LANGUAGE because my passion is Realtime and Systems programming... I learnt Python 2yrs later when I started to deal with trivial problems and software testing. I learnt php to make a few $$ which I join teams to develope websites... Now, I have started Erlang... Hope to be quite good in writing realtime systems in it.. in the next 2years(no need for Rat race, C++ is my major). ... I, sign up for classes @ Coursera. I do not have the privilege of attending, but I download lots of live video coverage of conferences and their papers inclusive!! .. I will never go for anything less than an M. Sc Certificate in Computing. Its a passion! I never had a menter, a tutor or a guide... But today, I am a guide to many... Its just passion... ... Well, the road is not easy! One of my learning philosophy is, if applicable, be an i.*d.*i.*o.*t to learn. And a genius when u do not want to! |
'cout' shouldn't be used as a variable name! It's a standard output stream object! Even if u aren't using iostream objects... Try to avoid using its classes for identifiers(variable names)! ... You can get a friendly and useable IDE at codeblocks.org |
I think... I should be getting ready with the next part... Probably before then, I would post a Quiz in the programming section... An interesting one on parsing. |
@Kambo, LordZouga, ...et al. I am standing behind your responses! Nice one! ... Kambo, good piece you wrote... I love it! @2buff... First of all, lemme stroke you a bit. LordZouga asked you if you own a software company?... So here is the problem summary statement... QUESTION: 2buff has a Software company? ANSWER: (1) no... or.. ..................(2) if yes, it must be a very small one or a startup company. PROOF: 2buff writing articles on nairaland... ..lol. Jokes aside.... Ehmm.... First of all, good programmers are professional businessmen in the binary world... But may not be such in the real world. 2ndly, Dangote spends a minimum of 18 hours at work every weekday... <source: an MTV interview with Dangote> .... Bill Gates and Paul Allen were more of great programmers than businessmen.... That was why when Microsoft was plunging into the real business world, they hired Steve Ballmer who has been managing the company's business till date... Steve Ballmer is a workaholic... Believe it or not, you cannot run business at maximum throughput while programming your core systems efficiently... ....like Zouga said, bring up the software first before business.... ... Mark Zuckerberg doesn't have that time again to spend writing silly software to run Facebook... Before this stage, he took the pains of creating its primitives. ... What I am saying in essence, business is an entirely separate field from programming. ....Business runs the cash flow. Programming runs the service.... That is why, you see the differences in Academic syllabus. .... For entrepreneurship, in cases where you want a mega company, there must exist some point in space were you have to choose programming or business.... Mathematically speaking... lim(business expertise)-> infinity... programming expertise-> 0 ....it's a hypothesis, so feel free to prove me wrong. |
₱®ÌИСΞ:I have been a bit ill... Secondly school work... Wi ll try updating this this week. This pretty much of the first part. And I appreciate you and everyone that followed. I will end this part with with the introduction of lexical parsing and hash map lookups. Where we can determine if "he is intelligent" is same as "he is brilliant". Currently, will lookup my C++ code, and try to write python implementation. Part2 will be about, simple grammer systems. Can you train a system to be corrected so that it learns the best choice of word to use . (mostly statistics, of which I never liked) |
patin48hrs: channel 190. Am now on nairaland. I want to publicly say that i love you. No matter what people say, the mistake i did can not stop me from loving you. Am sorry to say that i left the campus, but believe me, i love u, no matter what.young lady, lemme ask you a question. If his dick became 2inches long when erect and he gets a little bit disabled in using those his hands on your body and his mouth to your hearing... Would you still love him ?Anyway, Your signature says a lot about you. i.e "I want to enjoy what I did" ... Get wisdom my frnd! |
ItsModella: you gotta be kidding me..real kidding. e be like say, this girl mumu small... WTF!! Now I can't comprehend the relationships between intelligence, sex and love... |
I go with PRINCE! Fulltime! ... For efficiency, you would require mathematics... Cause you cant be doing all these things sequencially, you would need deployments of dynamic threads to take advantage of multi-core processor systems. |
lordZOUGA: really..? dude? a software for the church? that killed it for me.--church? killed it??... -Ouchh! too bad it did. |
@2buff! +The one man army! I salute you General...+ well, not kidding, I know its totally very hectic to be the only developer of a software that isn't really bringing food to your table. Nope not everyone has that mindset about open source software... @least not me. |
for web apps, to me, it is way much easier to develop an intuitive UI than a desktop app. For pc apps.. try to use your system's graphics api, try to handle events in your app and let the UI also respond appropriately. Or paint every pixel of your app window on every screen refresh... You'll know how hard it is! Well, its pretty much achievable, on my Windows, I have studied Adobe's UI a little and it seems to have a heavy dependancy on DirectX even in menus... Meaning they have a custom UI framework they developed for their Software. Apart from variying system specs and features, one of the problem of creating custom UI comes when you need to reuse it for another project or modify prior to your original design. For the C++ and Python Programmers, the QtSDK has a concept of QtQuick... Which almost effectively separates or demacates a UI Designer/programmer from a core programmer... |
2buff: Anyone from NL tried EpicWorship yet?I am just getting to know of this software... I will try and download it soonest. Actually, a presentation software in C++ is in my todo list. But as webdezzi said, why the heck is it 92MB? Bundled several user stuff?? |
@₱®ÌИСΞ Yeah... That's great... Impressive! You are totally on track.... The next thing now is umm to use a basic statistical knowledge... That is... After having gotten the similarity list we are looking for... We can see that it has the same number of elements as its wordlist... Ths last concept has to do with "weights". Each word constitutes a weight in the original sentence. And the sum of those weights gives us the total weight of the sentence(excluding all delimiters and symbols). This weight is simply based on the number of characters of a word relative to its word list. For example. The weight of 'school' in the sentence list "he goes to school everyday" is ... len(school) / sum(word_list). So what next.? Calculate the weights of the larger(if applicable) list. ..... The similarity list we have should be multiplied by its matching weight. And.... Sum them up!!!!!!!' Example: If list1 = [ab, aba, baba, babu] List2 = [baba, ab, aba] ....then. similarity_list = [100.0, 100.0, 100.0, 0.0] weight_list = [0.154, 0.231, 0.308 , 0.0] now weighted_similarity array is = [15.4, 23.1, 30.8, 0.0]... Now similarity = sum(weighted_similarity). = 69.3 |
lordZOUGA: nice algorithmThanks man,,,,, |
pak: @poster,yeah you may be right... And what I ment by difficult as "needing much effort to accomplish, deal with or understand." PHP? Yeah, but can you compare the robustness of the current PHP with the first version?... I am writing this piece in relation to current trends. Facebook is using HipHop and has been improving on it and are still working on it to bring it up to par with its expectations. Thats why I mentioned writing from ground up to what can be accepted by most stakeholders in the computing industry... "Software is a real machine that evolves" |
RuuDie: I've been trying to write an ordinary examination timetabling program for months now. . . I must be the dumbest programmer ever on NL!nope, you aren't... The only one criterion I know is copying, pasting and/or 'regex' renaming variables of people's source codes into your project. |
games do make it on the list under Artificial Intelligence. . PLEASE NOTE: I AM NOT LISTING THESE IN ORDER OF DIFFICULTY. ...in continuation.... 4. CAD Systems, Modelling and Discrete Simulation systems. ... These Systems are highly dependent on Mathematics... These Software usually have thousands of equation solvers that coexist together... The big players in this regard are AutoDesk and Mathworks inc. The codebase keeps on increasing yearly with thousands of derivatives from the works of Mathematic scholars. And of cause, it is widely believed their core is written in C... (Expensive to write, but you get to use virtually true machine power) 5. Highly scalable data/service servers and distributed node Servers: ...there isnt anything perfectly scalable.(compared to our imaginations)... But there are software scalable enough to manage efficiently, a few thousand bytes of memory to several trillions of bytes of memory... with little overheads.. The scalability factor is pretty large. These software has simple models to a Data-Structures and Algorithm specialist or veteran... but in real life, the design decision of implementing those structures such that its able to scale over different nodes is quite complex. Software that serves 0n demand also falls here... Its scaling to requirements... Thus, they are designed with grids and distributed computing in mind... Ranging from a single computer of 2 processor cores to server farms of several hundreds/thousands of processor cores... These software includes Relational Database servers, webservers, etc... The big players here are ORACLE(leading in this regard), MICROSOFT and APACHE Software Foundation... ...and the market shareholders are mostly online web/data hosting companies, multinational Companies and governments. .... ...but you know what??... Cloud computing extensively uses these systems coupled with virtualization, fault tolorance, and many advanced but easily comprehenadable implementations... And its fast rising today... Let Nigeria join!! On a side note... PHCN alone is potential enough to frustrate any mid-size Nigerian company attempting this... ..lol. Still, ....I love Nigeria! |
