|
No one wants to think of themselves as a Luddite, which is part of what makes technological conservatism so insidious. It can color the thinking of the nerdiest among us, even as we use the latest hardware and software and keep up with all the important tech news. The certainty of our own tech savvy can blind us to future possibilities and lead us to reject anything that deviates from the status quo. We are not immune. When I was a kid we coded in vim, and we liked it... Oh, wait...
|
|
|
|
|
Terrence Dorsey wrote: When I was a kid we coded in vim, and we liked it...
When I was a kid, we coded in vi. Today we have vim.
|
|
|
|
|
Have you ever wondered how PCI cards are able to perform basic operations — such as accessing a disk, displaying graphics, or booting off the network — before their drivers have been loaded? Or why cards are platform specific, despite the fact that everyone is using standardized PCI interfaces? The answer actually lies on the card itself, inside a bit of addressable flash memory called the “Option ROM”, which contains executable code that’s located and run at boot time.... This leads me to my small Friday evening project in getting a PC version of the Radeon 7000 64MB working on a PCI Power Macintosh, for which no 64MB cards were released. Hardware not compatible? Nothing a little soldering can't solve...
|
|
|
|
|
If you're reading this page, chances are that you're already well aware that E.T. for the Atari 2600 is one of the most reviled games ever made. I never understood why. As a child, it was one of my favorite games. I still think it's a good game. Apparently, I'm not alone. On this page I'm going to briefly explore why people hate E.T., and how the game can be fixed.... It turns out that E.T. isn't a bad game after all. With a few simple changes we were able to dramatically improve an already good game by eliminating the most common complaints. Just grab the ROM, open a hex editor and start playing...
|
|
|
|
|
Bit level manipulation allows us to write more efficient code due to the fact that CPU's are really good at handling bits. In fact that's all they really do. Even if you've never played around with bit manipulation it's likely that your compiler has modified your code to use bit manipulation. Slide to the left. Now slide to the right...
|
|
|
|
|
That brings back some memories !!
'g'
|
|
|
|
|
Shifting right by 1 isn't actually the same as dividing by 2.. rounds the other way for negative numbers.
Anyway, no offense, but that wasn't very interesting. There are many interesting bit level manipulations, but that blog post shows none of them - the ones it does show are exactly the sort of thing a compiler does automatically.
Here are a few more interesting (IMO) examples:
- (x - 1) & x removes the lowest set bit. Very useful, for example to iterate over a sparse set of bits without having to test them all, or to test whether a number is "a power of 2 or zero".
- x & -x sort of the dual of the previous one; isolates the lowest set bit.
- (x + 1) | x an other kind of dual of the first thing - sets the lowest zero. Useful to iterate over dense sets of bits.
- mask = value >> 31; return (value + mask) ^ mask; computes the absolute value of a 32-bit integer without branching.
|
|
|
|
|
Those are really useful, you should publish or at least point us to where you sourced them if they're not yours.
"The secret of happiness is freedom, and the secret of freedom, courage."
Thucydides (B.C. 460-400)
|
|
|
|
|
|
harold aptroot wrote: They're common knowledge, right?
Sadly no they're not. They fall down an educational hole being too technical and low level to teach in our dumbed down schools and too simple and 'obvious' to make it into a degree course.
As they don't have explicit syntactic representation in any of the major languages these things seldom make it into any language based book except perhaps the appendices of the occasional tome on 'C'.
For the less mathematical like myself they may not be difficult to understand but I couldn't come up with any of them given a day to think about it so thank you very much for the links. I used to have the Stanford link but lost it somewhere.
"The secret of happiness is freedom, and the secret of freedom, courage."
Thucydides (B.C. 460-400)
|
|
|
|
|
"No offense, but..." it's important to remember that what you know is not necessarily shared by everyone else.
Whether this is the *best* introduction is open to debate. Your correction and links to further information help everyone. Thank you.
Director of Content Development, The Code Project
|
|
|
|
|
We are all familiar with URLs: the string uniquely identifying the requested document. However, we don’t always consider they are more than that: URLs are user facing and should be considered important UI elements. They should be clean, understandable, semantic, hierarchical and not excessively long. If the URL looks like garbage people won’t click it.
|
|
|
|
|
In September 2004, the activity we called audioblogging was starting to gain traction. There were a dozen or so regular programs. We had tools for creating audioblog feeds, and an aggregator that could pull them all together into a river of audio programming.... In the first days of the iPodder-dev mail list the term podcast was introduced and adopted as the name of the activity. Here's the sequence of events, with links. On September 15, 2004, Dannie Gregoire used the term "podcaster," and that's the way it was.
|
|
|
|
|
If we go way back to the 18th century, we find ourselves in the heyday of mechanics. Indeed, many physicists believed that the world was essentially mechanical and deterministic. More importantly, everyone was thinking about mechanical solutions to problems. In that milieu, it seemed natural to think of computing in terms of gears, chains, sprockets, and cams. The result was mechanical computers. Once the electronics revolution hit full stride, these machines ended up being remembered as the pinnacle of a bygone age. Now, in a blast from the past, a pair of researchers from New Zealand have demonstrated an updated version of the mechanical computer: an artificial, muscle-based computer. It's slow and bulky, and it can't do a lot, but the researchers argue that it has great potential for robotics. Such a computer is very simple, but programming it is very, very complicated.
|
|
|
|
|
This actually happened. An e-commerce website had been designed and developed. Launch had been initiated, and it was abruptly taken offline in mid-air.... The form, fit, and function of the entire website—particularly the content management, multivendor shopping, and the customer interaction—was not shared with the website customer. Sixteen months of design and development more than $25,000 wasted, to say nothing of the lost market opportunity. Bad UX, front-end and back-end, can kill a website. A fascinating case study of an e-commerce project gone bad. Very, very bad.
|
|
|
|
|
After Google revealed that it's forking WebKit with the launch of the Blink browser rendering engine for Chrome, WebKit developers began discussing the removal of Chrome-specific code from the project. This is by no means a "retaliation" despite how it sounds. It makes perfect sense to remove support for a browser that will no longer use the WebKit engine. Works in my browser...
|
|
|
|
|
The gutting of LucasArts earlier this week was a tragic loss for the video game industry, but for many of us, it was more than that. It was more severe of a loss than the cancelled projects, the rumored 150 job losses, or the between-the-lines message that even a company as diverse and global as Disney puts little value in game development. No, for us, the death of LucasArts was the death of a dream. A dream rose-tinted by nostalgia, perhaps, but a dream nevertheless. A dream that one day, the unique environment that birthed what may have been the most wildly creative studio in mainstream game development history would, somehow, come back. What is it about the classic LucasArts adventure games that makes them timeless?
|
|
|
|
|
Version 4 of the popular data-access solution for .NET, LLBLGen Pro, has been released. This version offers full Visual Studio integration, Table Valued Functions support, a highly helpful Action suggestions window, much faster query fetches, a query result cache, DataScopes and many more features and tweaks.
There now is a free, lite version available as well (limited to 8 entities per project), offering people reliable and mature tooling for smaller projects.
For more information about LLBLGen Pro, please visit http://www.llblgen.com.
|
|
|
|
|
i don't already understand, are you writer detail?
|
|
|
|
|
The lack of strong typing invites runtime errors, while the lack of namespaces and class structure make it difficult to organize and manage code as it grows.
That's where TypeScript, an open source language created by Microsoft, comes in. TypeScript is a superset of JavaScript that presents class structure and type safety for coders, helping them better manage and maintain their code. Projects written in TypeScript compile to valid, standards-compliant JavaScript code.
More...
modified 5-Apr-13 3:52am.
|
|
|
|
|
Don't wrap ordinary post text in pre tags. You only need to do that for code blocks.
|
|
|
|
|
Hi Pete,
Will take care next time. Thanks
Don't forget to mark useful responses as Answer if they helped you towards a solution.
|
|
|
|
|
CodeProject’s technical training arm has arrived, CodeProject.TV. Tune in for bite-sized developer training at CodeProject.TV
|
|
|
|
|
It's hard to believe that just a few decades ago, touchscreen technology could only be found in science fiction books and film. These days, it's almost unfathomable how we once got through our daily tasks without a trusty tablet or smartphone nearby, but it doesn't stop there. Touchscreens really are everywhere. Homes, cars, restaurants, stores, planes, wherever—they fill our lives in spaces public and private.... This article is the first of a three-part series on touchscreen technology's journey to fact from fiction. Digits go digital, from PLATO IV to PixelSense.
|
|
|
|
|
Last week, I told you all about an incoming security patch for Postgres. Well, today, it’s here. Please check out this page and upgrade your Postgres. As the Postgres team says, ‘This is the first security issue of this magnitude since 2006.’ No, really. If you're running PostgreSQL, read up on the issues and update ASAP.
|
|
|
|
|