Domain: computer.org
Stories and comments across the archive that link to computer.org.
Comments · 306
-
Two interesting reads for you on the same magazine
I was flipping yesterday through last bimester's edition of the IEEE Security and Privacy magazine (yes, I know, reading dead-tree magazines confirms me as an old guy). There are two articles very much related to the quesitons the OP brings up:
- Security Implications of Permission Models in Smart-Home Application Frameworks
- How Internet Resources Might Be Helping You Develop Faster but Less Securely
-
Two interesting reads for you on the same magazine
I was flipping yesterday through last bimester's edition of the IEEE Security and Privacy magazine (yes, I know, reading dead-tree magazines confirms me as an old guy). There are two articles very much related to the quesitons the OP brings up:
- Security Implications of Permission Models in Smart-Home Application Frameworks
- How Internet Resources Might Be Helping You Develop Faster but Less Securely
-
Re: Well that makes sense
It was designed by a fucking moron in 10 days.
So the "moron" designer was given 10 days to come up with a language that met marketing requirements, and he delivered, and beat Java (applets) at its own game. Not only that, he slipped in some advanced programming features that still makes the language relevant today. From your link:
"Although the schedule and constraints might have been impossible for most programmers, Eich had a long history of building new programming languages, starting from his experience as a student at the University of Illinois, where he built languages just to experiment in syntax. At Silicon Graphics, he created languages that could be used to build extensions for network monitoring tools.
Clearly, building "yet another" language wasn't the hard part for Eich--the hard part was producing a rich and powerful language while being prohibited from using the object-oriented syntax reserved for Java. He wanted to embed advanced features in JavaScript without using language syntax so the language would initially appear simple and lightweight, yet sophisticated programmers would be able to exploit its underlying power.
Like many other languages, Java-Script took its basic syntax from the C language, including curly braces, semicolons, and reserved words. It was to be a light, friendly version of C with simpler semantics and better dynamic memory characteristics. Because a typical webpage's lifetime lasted from a few seconds to a few minutes, JavaScript could take a very simplified approach to concurrency and memory management.Eich built a simplified object model that combined structs from the C language, patterns from SmallTalk, and the symmetry between data and code offered by LISP. The Hypercard event model inspired the pattern for adding events to the HTML document. Object-oriented patterns were possible but via runtime semantics with prototypes (as in Self) instead of compiler-supported class syntax (as in Java and C++."
-
Re: Well that makes sense
> All languages suck in various ways.
Except JavaShit sucks worse. It was designed by a fucking moron in 10 days.
JavaShit likes to masquerade it has native arrays but we can quickly dispel that notion via these tests:
console.log( typeof 1 );
// native integer type
console.log( typeof Math.PI ); // native constant floating-point number
console.log( typeof "Hello World" ); // native string
console.log( typeof [] ); // native array, right?
console.log( typeof [] == "array" ); // sarcasm, this should work, right?
console.log( Array.isArray( [] ) ); // Why is this needed??Which produces this output:
"number"
// OK -- so both integers and floating-point are treated the same way
"number" // OK -- so both integers and floating-point are treated the same way
"string" // OK
"object" // Wut?? Why is Array returning object??
false // There is no native array in JS
true // WTF is the point of having a broken typeof if it doesn't work for arrays???How does JavaShit define concatenation with arrays? I mean, that isn't too hard to fuck up, right?
console.log( [1,2] + [3,4] );
console.log( typeof ([1,2] + [3,4]) );Out of the the 4 possibilities for a return type
...* The array [4,6] which is Vector or Matrix addition
* The array [1,2,3,4] which is concatenation like [1,2].concat( [3,4] );
* undefined -- Gee, one would think this would be expected, or
* Throw an exception -- maybe even this one. ... guess what JavaShit does? It does a 5th retarded thing -- string concatenation!!"1,23,4"
// <b>WTF!?!?!</b> Who is the fucktard that thought this would be reasonable??
"string" // <b>WAT!?!</b> Idiotic type conversion to string!?--
Only a complete and fucking moron defends JavaShit. -
Re:The web is one hack after another!
> built around one of the worst programming languages around (JavaScript),
.
/sarcasm But it such as bastion of good design. *snicker* You mean it being written in 10 days wasn't long enough? :-)"JavaScript: Designing a Language in 10 Days" aka Javascript: 10 days for the designer, 10 years of frustrations about fucked up design for devs
* http://www.computer.org/csdl/m...As Douglas Crockford, inventor of JSON, said about Automatic Semi-Colon Insertion
@34:31 "Why am I betting my career on this piece of crap"
And about amateurs
"Most of the people writing in JavaScript are not programmers. They lack the training and discipline to write good programs. JavaScript has so much expressive power that they are able to do useful things in it, anyway. This has given JavaScript a reputation of being strictly for the amateurs, that it is not suitable for professional programming. This is simply not the case."
But let's keep relying on stupid shit such as this hack to turn on type safety:
"use strict";
--
Why do the two shittiest languages, PHP and Javascript, power the web?? -
Re:Internet
Apologies for that first broken link...
Wesley A. Clark: 1981 Eckert-Mauchly Award Recipient -
A few choices ...
-
Re:sTEM
Fine. You want proof? Here is paper proposing a computer science graduate program from 1959:
"What is impressive is the lack of courses reflecting appreciation of the computer as an aid to routine mental effort, a theory of computers, a theory of programming, a theory of applications. This in turn is probably a reflection of the youth of the fields. Such theories have not yet been born. When they are created and developed, courses will undoubtedly follow."
Sure sounds like they're talking about computers to me.
"Disciplines and the Computer Sciences
"Many fields are now providing models for many other disciplines. Thus, work under the province of operations research, or game theory or decision theory or management science, or linear programming, or econometrics or statistics is being applied to business problems like market analysis, inventory control, long-range planning etc. In many instances, a computer is used to process data, solve equations, do analyses, even make decisions based on criteria it has been given.
"Switching theory, coding theory, information theory, Boolean algebra provide models not only for design and programming and applications of computers, but also of analogous fields like neurophysiology.
"The computer thus provides a significant link among various established disciplines as well as those fields of endeavor of intense present interest. Computers are related to other fields in one or more of three ways:
1) Workers in these fields use the computer as a mechanical or a mental aid.
2) These fields provide models useful in the design, programming, and applications of computers.
3) Analogies exist in the internal structure and organization of a computer with structures and organizations
in other fields."It seems plausible to designate the fields mentioned above and those enumerated in the Introduction, as the 'computer sciences' since they are related to each other in one or more of the three ways enumerated above."
Does that sound like they're talking about fucking "human computers"?
Then, they go on to explain why computer science could be taught without reference to physical machines:
"Too much emphasis has been placed on the computer equipment in university programs that include fields in the computer sciences. Curriculum and research programs have been designed as supplements to the computing equipment. The, reverse should be the case. Computers should be supplements to a well-organized and integrated university program in the computer sciences! An important supplement, to be sure, but a supplement. Indeed, an excellent integrated program in some selected fields of the computer sciences should be possible without any computing equipment at all!"
However, just before that, they point out:
"Computer science is not an isolated field. It is interdisciplinary. It is analogous to a library, or mathematics, where library science or mathematics are disciplines in themselves as well as providing service tools to other disciplines."
There you have it. Computer science is a set of applied mathematical sub-disciplines that really have no reason to be taught in a cohesive program - except for the one thing that ties them together: computers.
-
Re:bullshit
AMEN! The "best" part about Javascript is that if you don't use that stupid HACK:
"use strict";
at the beginning of your
.js file it will behave _worse_ then shitty BASIC. Didn't we learn _anything_ about using variable without declaring them??"Javascript: 10 days for the designer, 10 years of frustrations for users"
* http://www.computer.org/csdl/m...PHP is another fucking retarded language.
Why the hell does the internet run on 2 of the shittiest languages ever half-assed designed??
> What's dumber is when people defend the dumbness as if it's some kind of a feature or a benefit.
You're talking about automatic-semi-colon insertion aren't ?
Someone needs to be taken out back and shot for all the pain and suffering that bullshit "feature" has caused.
-
Re:Have you ever used PHP?
Javascript is one big hack.
"Javascript: designed in 10 days, frustrating users for 20 years."
-
Re:Inaccurate headline
For anyone who would actually care about perfect accuracy in these kinds of operations, there are any number of different solutions to achieve the desired, more accurate result.
...like using an AMD K5?
;-)
Nope. Check the abstract words there chum,
"The algorithms for the transcendental functions use table-driven reductions followed by polynomial approximations. Multiprecision arithmetic operations are used when necessary to maintain sufficient accuracy and to ensure that the transcendental functions have a maximum error of one unit in the last place."
That's almost exactly what the Intel documentation claims for their processor.
-
Re:Inaccurate headline
For anyone who would actually care about perfect accuracy in these kinds of operations, there are any number of different solutions to achieve the desired, more accurate result.
...like using an AMD K5?
;-)
-
Re:USA=Third World Internet
Throughput gains on IPv6 vs IPv4 is impressive.
Really, like 20% performance upgrade running the exact same protocols on a IPv6 stack.
That's interesting. What's the reason?
I thought there wasn't much difference: http://www.computer.org/csdl/p...
-
A union would be helpful in this situationWhile trade/labor unions are much maligned in the often libertarian-leaning IT community, this is the kind of situation where a bit of organization amongst colleagues - along the lines of what engineers or medical professionals have, would actually be useful.
But given that we have the IT professional community that we have:
- Document that you've told your boss, and probably your boss's boss, and probably the legal department (perhaps informally and verbally initially). If you've told them, it's their problem, not yours
- Start polishing your resume. Whistleblowing usually has negative consequences for the whistleblower - and, furthermore, continuing to work for an organization which has such a lax attitude to software poses a risk to your career if you stay there.
Incidentally, your case neatly demonstrates the near-uselessness of the IEEE-ACM Software Engineering Code of Ethics, which is very long on what the ethical obligations of a software engineer are, but has nothing useful to say about what you should do where others are ordering you to act unethically.
-
Re:A real study is needed
IEEE has a computing society that seems like what you're looking for:
-
Re:Opportunity missed
Computing in the UK really had a head start on the US in many ways, but in usual form it was underfunded and lacked vision;
There was a considerable amount of important computer work done in the UK in the early years. For example, when considering Manchester's contributions one shouldn't overlook the pioneering work done with Atlas. But there is far more than that. In some cases you can trace the path of key developments we rely upon today, or that that probably most people have at least heard of, to things developed in Britain through some familiar names.
A notable example is the computer language, "BCPL", developed by Dr. Martin Richards at Cambridge in 1966. Dennis Ritchie ported BCPL to Multics. Ken Thompson and Dennis Ritchie used BCPL on Multics and from it derived the language "B". Some early Unix utilities were written in the BCPL derivative B. After additional rework of B, it became C, the heart of the Unix system. And of course C has led to the widely used derivatives C++ and Objective C.
BCPL was also used by Dr. Richards to develop the portable Tripos operating system, which was used on a variety of minicomputers. As microprocessors become ever more powerful and started forming the basis for powerful personal comptuers, Tripos was eventually selected to became the heart of the Amiga's AmigaDOS operating system.
BCPL has been available on many systems with familiar names, including (reportedly) the Raspberry Pi.
To anyone interested in the whys and wherefores of C, a passing acquaintance with BCPL is worthwhile. Viewed forwards through BCPL, rather than backwards through Java and C++, many C constructs, and idiomatic C ways of doing things, just make a lot more sense.
Beyond its historical importance, BCPL had intrinsic merits. In retrospect, what particularly impresses, is the elegant simplicity of its compiler. This is well documented in the book BCPL: the language and its compiler by Martin Richards and Colin Whitby-Stevens (Cambridge: Cambridge University Press, 1979). -- more
BCPL: A tool for compiler writing and system programming
THE PROGRAMMING LANGUAGE B
The Development of the C Language -
Re:COBOL code is not too different
Most importantly, read the papers of David Kuck. A MUST for your professional development as a Computer Science graduate who wants to continue to work in this field (as opposed to doing "business" things). http://www.computer.org/portal/web/awards/pioneer-kuck http://www.dtjcd.vmsresource.org.uk/pdfs/dtj_v06-03_1994.pdf
-
Re:More accurate to say "More resilient chips"?
Thank you, that was what I was about to say, massively redundant, cool but it does not actually repair itself back to the way it was before, as it 'heals' it uses up that ability.
Not even new.
They have been building self-testing, redundant chips for years.
Here's a paper from 1982:
http://www.computer.org/csdl/trans/tc/1982/07/01676058.pdf
1988:
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?reload=true&arnumber=3187etc...
-
Re:Color me confused
What's the difference between a Software Developer and a Software Engineer?
A software developer will be primarily concerned with writing code from the given requirements. A software engineer is concerned with the entire process of producing high quality code, how that code fits into the business, how the requirements are established, how bugs are tracked over time, ensuring code reviews are effective, that testing coverage is appropriate without costing too much, how projects are managed, creating and using metrics, and of course writing high quality code.
See the SWEBOK for a good description of software engineering.
-
IEEE journals
I am a member of The IEEE Computer Society (slight discount from full IEEE membership) and get IEEE Computer in hard copy for no added cost. I also subscribe to the Computer Graphics and Applications, and Computing in Science and Engineering journals in hard copy. Good articles, some of which I even understand.
-
Re:The funny part
Well all I am trying to point out is that "Technically free" is a pointless argument, not supported by any rational business case.
Nothing that uses your infrastructure is technically free.
It has been stated that the reason many people experience calls going direct to voice mail is because of signaling channel congestion.
Some links to this phenomena appear here, and here.(Signaling channel (probably not the right term, but someone is sure to jump in with the correct one) is the common channel signaling system that the towers talk to the handsets with. This channel is also used by the tower indicate it has a call for that handset.).
-
Did that yesterday, twice...
I gave two 40 min talks about computer engineering, etc yesterday to 9-10 grade kids at Kihei Charter School (Kihei Maui Hawaii USA). I also work weekly with the robotics club a the King KeKaulike HS (Makawao Maui HI). I am an IEEE Certified Software Development Professional (CSPD) with over 30 year experience in areas like animation, virtual reality, multimedia search, desktop UAV control apps, etc. I dont do much computer science - more applied practice aka software engineering. What I talk to the kids about, and show examples of, is physical computing -- arduino based projects. These move, light up, make noise, sense and report, etc. And are very easy to program/wire. I include examples like the Makerbot, eggbot, and other CNC devices found in a FabLab or makerspace. These grab the kids attention and imagination
... well some of them. Expect that some kids will be snoozing or otherwise occupied - they are teens in school, not something we all loved. I related some of my experience with the robotics club too. Generally these clubs use VEX, Lego and First equipment, which is pretty much the same as arduino based projects... microcontroller, sensors, actuators. I started teaching arduino to the club last month and the kids ate it up... the girls were especially taken with some of the creativity it offers (blinkin lights). So, I don't know whether comp sci by itself is going to grab the kids attention and get them interested in computer development. The problem solving aspects of deep programming wont really grab them until after they've gotten experience and learned their way around the basics. -
2000 called, they want their news back.
Ray Kurzweil already showed us this, in 2005. 'The Singularity is Near', pg 129.
His reference was Gene Frantz's article, “Digital Signal Processing Trends,” from IEEE Micro 20.6 (November/December 2000)
-
Re:Perl - the COBOL of scripting languages
COBOL is still alive and kicking. It still does some things better than any other language. As Scotty once said "Use the right tool for the job, laddie"!
Besides, COBOLScript is the COBOL of scripting languages:
http://www.computer.org/portal/web/csdl/doi/10.1109/EDOC.2000.882363
You should really do a bit more language evaluation. I don't know if you are ready to leave your parents' basement yet.
-
Re:Smart Meters... dumb paranoia
It's actually pretty easy to generate an appliance profile for a house and figure out which appliances are on at any given time, even for loads as low as 10W. Considering the time delays between running around to every device in your house, it's also possible to figure out in what order the appliances were turned on! Relevant papers: http://seclab.illinois.edu/wp-content/uploads/2011/04/BergmanJJTGW11.pdf http://www.computer.org/portal/web/csdl/doi/10.1109/MPRV.2010.71
-
Re:Wrong. Dead Wrong.
A 30% performance penalty running the x86 version compared to the native version of the same code. See Godson-3: A Scalable Multicore RISC Processor with x86 Emulation.
-
For us not at SC10
The paper referenced in the arcticle can be found here.
Fascinating that MPI works that well unmodified.
-
Fix? Trying paying programmers Doctor/Lawyer pay
Doctors and lawyers can easily bring in double the salary of a software engineer because quality is top priority.. They have "mission critical" jobs.
Software engineering, OTOH, has seen a race to the bottom in terms of salary.
Why? Because quality is not top priority for software. Secure code is not seen as mission critical, and somehow programming is a lower-class job.
The software industry needs to wake up and recognize that software quality is mission critical, and can't be automated in the same way as manufacturing a car.. Writing good code requires talent and training, just like writing good contracts, researching case histories, diagnosing illness, or performing surgeries.
Bad code leads to bad things.. Crashed aircraft, stolen intellectual property, dead patients; everyone on slashdot knows these things. In 2002, the NIST concluded software bugs cost the US economy $59 billion annually. A 2007 IEEE paper concluded vulnerability announcements typically reduce a firm's stock price by 0.63% on the day of announcement. http://www.computer.org/portal/web/csdl/doi/10.1109/TSE.2007.70712
Try requiring similar levels of training and accountability from your programmers. Pay commensurate with that expertise.
-
Re:Whatever happened to MIPS?
Longsoon-3 (they already built a world ranking supercomputer based on Longsoon-2)
Longsoon-3 is 4 cores on a die and 4 Mb on L2 cache on chip, running at > 1.25 GHz
see http://www.computer.org/portal/web/csdl/doi/10.1109/MM.2009.30 for more
-
foundations and attitude
In my experience the biggest problems are caused by self-taught programmers who lack the humility to realize that computer science and computing a large field, in which they are not domain experts of all of it. Seriously, I'm saying this not to be an insult, but as a plea for self-taught programmers to take their blinders off, and admit to themselves there is a lot of knowledge about computer science and computing (or IT), which has a rich if relatively short history. The ones who get pass the chip-on-their-shoulder defense often become very good to great programmers. The ones who don't tend to become isolated, confrontational, unable to handle constructive feedback or criticism, and tend to be poor team players.
The other big weakness they can have, is they seem more apt to have problem with NIH-syndrome (not invented here). Anything they didn't do or create is crap. Again this seems to be a self-defense mechanism gone astray.
If these two psychological factors are dealt with, the technical knowledge gaps are in comparison trivial to deal with.
In your case, exposure to higher education including post secondary mathematics, helps with the building the experience of abstract thinking which is a excellent trait or training for programmers, to deal with programming in both the concrete and abstract terms.
A programmer who knows and understands the fundamentals of computer science, including data structures, algorithms, number systems, boolean logic, at least a basic understanding of computer architecture in my experience tends to be more flexible and adaptable to change in computing / IT in general as well as able to less stressful to change development environments including languages. Structure and Interpretation of Computer Programs, Structured Computer Organization, and Introduction to Algorithms are excellent resources for any self-taught programmer looking to fill gaps in the knowledge.
Also professional computing / IT society memberships might be worth considering (especially if your employer will pick up the tab), for example the ACM, and the IEEE Computer Society. Both have a bent towards academia, but they largely due to the self-interest of authors in academia to publish (for their own career success), as opposed to a conscience focus away from the "real-world" programming in the trenches.
For any new professional programmer, texts like The Pragmatic Programmer, Code Complete, Peopleware, and The Mythical Man-Month are strongly recommended reading matieral.
-
Re:Are nerds not aware
-
Re:Two clichés that apply to web sites...
1. Measure twice, cut once. 2. Plan for the marriage, not for the wedding.
And one which never applies: if you build it, they will come.
Etc. etc. etc.
When I saw this review, I felt a small spark of hope that someone was actually attempting to express the essence of the web to people who don't really get this stuff. Unfortunately, all we seem to have is yet another fucking cookbook for managers who lack even an iota of imagination.
I would love to see a Sun Tzu-style book, a collection of simple, pithy aphorisms that properly express the essence of a website, its dynamics and the general rules that govern it. Something similar to this brilliant summary of programming truths.
If such a beast ever did come into existence, I'd be a very happy man. If nothing else, it would allow me to end a conversation with some wild-eyed, head-in-the-clouds client by quoting the 20 words that best encapsulate why their idea is madness itself. And if that didn't work, it would be small enough that I could hit someone over the head with it without injuring them seriously.
-
Re:Unix isn't there yet, and probably never will b
A good system would let me switch on a new system/pc and it would automatically share all it's resources (storage, ram, cpu, I/O) with a defined cluster of other systems/PCs.
It's not entirely hopeless though: things like AFS, various distributed shared memory systems with a good API, task and process migration and so on have been around for quite some time.
-
Re:Why didn't they just use Punchscan???
Scantegrity is the successor to Punchscan, developed by the same people (David Chaum et al). The only detailed analyses that I can find about their differences are behind journal paywalls like this one at the IEEE.
-
Tom DeMarco suggests trying Agile
-
Buying in to Rational ProductsFrom a very old article I found on Jazz & Eclipse:
According to the NRC's Singer, the chief constraint that Jazz faces is that it works only on the Eclipse platform. Says Singer, "The only people who can adopt it are those who are using Eclipse."
Singer also feels that some processes might not accommodate Jazz's idea of collaboration. "People use all sorts of tools and ways of communication to coordinate their work, to be able to collaborate, to be able to put together big pieces of software," she says. "Some of this has to do with following a particular process. Where Jazz might be constraining is when the model behind it does not jive with these preexisting processes."
Meanwhile, Mike Milinkovich, the Eclipse Foundation's executive director, told eweek.com last March that IBM developers account for as much as 80 percent of Eclipse's development team. He questioned whether that kind of environment is good for Eclipse or Jazz. He also noted that some have charged IBM with killing off the Jazz developer tool competition with Eclipse. Finally, he wondered whether having two open source communities--one for Jazz and one for Eclipse--will ultimately weaken Eclipse.I'm not sure but I would wager that's as true today as it was in 2007. How do you address those concerns?
I've also noticed--through use of the Rational Suite--that you can't just use one tool in the suite. You need them all. And, you know I understand it's IBM's business model, but it kind of rubs me the wrong way that I was using all these great Maven2 tools to do releases and automagically test and build inside subversion. But when we went to ClearCase, we had to do releases through ClearCase and our test and builds through CruiseControl and I never found any plugins for Maven2 to ClearCase. ClearCase was really too much for such a small team. We had to bring in an administrator part time who had 20 years of ClearCase experience and the team just complained non-stop about moving off subversion. Why is everyone trying to "own" the whole stack? Why can't I recognize one Rational product is great and just use that and integrate it in with the rest of my tools? It seems like if you buy one you soon find yourself buying them all. Great for IBM but not always what we need. Is Jazz the same way?
I mean, it's fine if the answer is that if I want to use Jazz I have to use Eclipse ... or if I want to use Composer I have to use Concert and Manager. But it would then seem that collaboration is only being aimed at a very certain type of developer. This may be a "loaded question" but is IBM hoping Eclipse will become the be-all-end-all integrated development environment? I know Flex Builder and Workshop are already built on top of it, is world domination in sight? -
Re:What's so hard?
I think that if you get deadlocks on quad cores then there's something wrong about your design to begin with, i.e. you didn't plan for N cores correctly.
Perhaps. I'm going to quote from the paper The Problem With Threads here:
Part of the Ptolemy Project experiment sought to determine whether we could develop effective software engineering practices for an academic research setting. We developed a process that included a four-level code maturity rating system (red, yellow, green, and blue), design reviews, code reviews, nightly builds, regression tests, and automated code coverage metrics. We wrote the kernel portion that ensured a consistent view of the program structure in early 2000, design reviewed to yellow, and code reviewed to green. The reviewers included concurrency experts, not just inexperienced graduate students.
We wrote regression tests that achieved 100 percent code coverage. The nightly build and regression tests ran on a two-processor SMP machine, which exhibited different thread behavior than the development machines, which all had a single processor.
The Ptolemy II system itself became widely used, and every use of the system exercised this code. No problems were observed until the code deadlocked in April 2004, four years later.
Our relatively rigorous software engineering practice had identified and fixed many concurrency bugs. But that a problem as serious as a deadlock could go undetected for four years despite this practice is alarming. How many more such problems remain? How long must we test before we can be sure to have discovered all such problems? Regrettably, I must conclude that testing might never reveal all the problems in nontrivial multithreaded code.
I've learned quite a bit about programming in Erlang recently, and have grown quite fond of no shared state, superlight processes, and message passing.
-
Re:Filesystems in the kernel!
Need to post again, because seems that Konqueror 4.2.1 is broken on the Slashdot (or vice versa).
First the facts, the operating system is that part of software what runs in the kernel space or runs as supervisor mode. Monolith kernel is alone an Operating System, like Linux kernel.
Linux was before 2.2 version a old model of OS where the OS was always just one binary blob. After 2.2 release, the Linux got modularity on it. Since then you can compile the OS so that drivers or OS features (like networking) are as modules on the disk and loaded to RAM only when the applications needs from Operating System such features. This helps making the Operating System to take less memory than the Macro kernel (Linux before 2.2). Linux is still a Monolith operating system.The micro kernel is not an operating system alone. It's idea is just to make very modular and so on secure and stable OS. So that every OS part is separated from each other and moved to user space and these OS modules ran as secured process to the micro kernel. These modules and micro kernel together builds an Operating System. Micro kernel runs alone in kernel space and all OS modules (filesystems, networking, drivers etc) are on the user space and all these are in supervisor mode.
You need to have in the kernel the basic features so it knows where to load the other OS modules what operating system needs to serve the hardware for the other software (software libraries, system programs, application programs etc).
If thinking of Minix 3 or NT Operating System. What both have a micro kernel structure on them. You have very small kernel (in Minix it is about 4000 lines of code) and all other OS parts are on the user space. You need to have basic things like basic IPC on the micro kernel so it can control the operating system modules.
On the Monolith operating system (kernel) it is easier because you just need an bootloader (Grub, Lilo etc) what loads the operating system and then the operating system makes the check for itself and the hardware and then it starts first system process called Init (and other variations from it) and that starts all other system services and those starts other applications untill you get an complete software system booted. The Operating System is just very small piece of the software system like Ubuntu or Mandriva (or Windows Vista and Windows 7).
The micro kernel just loads the filesystem module and it starts doing it's part to serve the filesystems for the other OS modules and applications. Just like network module serve the network services and work together with drivers and all these are controlled by the micro kernel.
-
Try the InfoVis community
The infovis community has been dealing with these subjects for years. There's many different visualisation techniques around. Here's a list of the past conferences and the papers:
http://conferences.computer.org/Infovis/
Plenty of good products out there, but the one that I like most is from Tableau Software (http://www.tableausoftware.com/).
-
Professional Society Magazines
"as there seems to be no other major technical programmers' magazines left standing."
You might be interested in checking out the periodicals published by the IEEE and ACM professional societies.
-
Professional Society Magazines
"as there seems to be no other major technical programmers' magazines left standing."
You might be interested in checking out the periodicals published by the IEEE and ACM professional societies.
-
Computer Magazine?
there seems to be no other major technical programmers' magazines
Doesn't Computer qualify as a major technical programmers' magazine? It is the official publication of the official software engineering society...
(It certainly doesn't include enough hardware articles to keep me interested, so I assume it fascinates hard-core technical programmers.)
-
Re:Technically, the TSA did its job right.
"the country would be just as safe as it is today if airport security were rolled back to pre-9/11 levels. 'Spend the rest of your money [elsewhere, for better effects.]'"
Like this was an original conclusion. This has been widely documented elsewhere, many times, and over a period of years. For example:
http://www.dawn.com/2002/03/28/int8.htm
Like I said, Bruce is missing something here. His conclusions are not original, and their is much he is missing, including the problems of identity matching that are at the forefront of much research in the area.
http://www2.computer.org/portal/web/csdl/doi/10.1109/MSP.2006.169
I would be much more impressed if he added something new and meaningful to the discussion.
-
not covered in books on threads
The thread model has some fundamental problems, but since they seem here to stay there are some things you should keep in mind, nicely summarized in this article(pdf).
Article also available in html if you click on the first computer.org link from google. Hmm, why does it work from google and not from slashot?
-
Re:What is a professional?
From the post:
"Should IT professionals start to refuse to be treated as not real professionals?"The answer is no; "IT professionals" are not professionals because there is no regulation. At best, it can be considered a trade.
Which is why the ACM and other bodies were tinkering with the idea of a certification and licensing examination. This would introduce a body that could introduce simple and light weight regulation to the profession. The idea would be you could be a licensed software engineer if you wanted to be. The hope was that in time companies would begin to see that as an asset.
Texas has a license for practicing Software Engineering but I don't think anyone outside of Texas takes that seriously. I think we do need a tradesman and professional level in the industry. Unfortunately, the idea hasn't taken hold and probably never will.
-
Every hear of the IEEE Computer Society and ACM
Seriously, these organizations already do much of what the ABA does in terms of a) being a professional society, b) providing professional education from books, journals/ magazines, courses, and conferences, c) contribute to recommended education curriculum, d) have a global presence, with chapters around the world, e) provide some services (e.g. insurance) for professionals who are working on their own, f) have been present, and try to be vocal about legal issues (i.e. USACM), g) provide standards that industry really do use, think IEEE 802.11a/b/g/n as one of many.
These organizations are not perfect, but they are respectable profession associations that do merit consideration. (Disclosure: I am a member of IEEE Computer Society, ACM, and the IEEE itself)
-
Re:Much faster is possible, but not worth it.
It would be a cute technology to develop. Active pumping shouldn't be necessary; put the drive in a glass case, like a vacuum tube, bring out the connections through the glass using wires with the same coefficient of expansion of the glass, and pump it down once at the factory. Tubes hold vacuum for decades; so should this. The bearings aren't a major problem; active magnetic bearings are no more complex than a motor, and there's been some success with passive magnetic bearings. that work on the same principle as the Levitron.
It's flying the head in vacuum that's the problem. With no air cushion, the whole job has to be done actively. Seagate has a patent (#6,473,259) on one approach to this, so the problem has been addressed.
There's an experimental technology for hard drives which uses an electron beam for reading and writing. That might lead to high-RPM drives.
So there are several potential approaches to ultra high rotation speed disk drives. It's probably a technological dead end, though. You're never going to get more than 10x current rotation speeds, and the cost will go up, which makes this a lose vs. flash and other forms of nonvolatile solid state memory.
-
Of course, but when?
Of course ray tracing, or one of its decendants, like photon mapping, will end up dominant. The question is when. Ray tracing is used now for rendering movies like Cars, which are probably pretty much state of the art for computer graphics, and would be used for things like PC games except that is so computationally expensive.
As to when rasterization will be replaced, the short answer is not any time soon. The article's title is misleading. It says "Intel: Rasterisation will be replaced in five years", while Intel's ray tracing guru Daniel Pohl actually says "Looking ahead five to ten years from now, I believe that rasterisation will be used less and less in games". Big difference there.
So, I think this will progress quickly, but we won't be getting rid of rasterization any time soon. -
helpful links.
1. http://citeseer.ist.psu.edu/
2. If you have an ACM membership:
http://portal.acm.org/portal.cfm
3. If your university gives you access to engineering village:
http://www.engineeringvillage2.org/controller/servlet/Controller
IEEE transactions on software engineering
4. http://csdl2.computer.org/persagen/DLPublication.jsp?pubtype=t&acronym=ts
5. Google:
http://www.google.com/
Beyond this, its upto you to do your own research. -
Re:cool! but...
Well, it ships with Python, so I guess the answer is yes.