|
There are many different data structures used in databases to create indexes used to quickly evaluate queries. Each one has different strengths and weaknesses based on the tradeoffs they make on memory, cpu and storage (if persisted). One of these types of indexes is called a bitmap index. For the purpose of this post I’m going to be using relational database terminology but the same techniques can apply to different database types like column oriented databases or many others non-relational databases. Kelly Sommers continues her deep dive into database internals.
|
|
|
|
|
Though technically links aren't a requirement to make the internet function (you can get by on just urls), they are the primary reason why the web took off so gloriously. Linking is an essential part of every web page out there, without links we would be copying urls the entire time (or we wouldn't because who likes to work like that). But the implementation of links (the html a-element) has been broken since the very beginning of the web and with the addition of block-level links things only got worse. Click the link to read more. I bet it works.
|
|
|
|
|
When you buy a Raspberry Pi, the $35 computer doesn't come with an operating system. Loading your operating system of choice onto an SD card and then booting the Pi turns out to be pretty easy. But where do Pi-compatible operating systems come from? With the Raspberry Pi having just turned one year old, we decided to find out how Raspbian—the officially recommended Pi operating system—came into being. The project required 60-hour work weeks, a home-built cluster of ARM computers, and the rebuilding of 19,000 Linux software packages. And it was all accomplished by two volunteers. A Linux distro tailor-made for Pi's floating-point prowess.
|
|
|
|
|
“Should I join Microsoft or a startup?” As the co-founder of a profitable startup and a former Microsoftie, I hear this question a lot, especially from college students ready to start their careers. In tech cities like Seattle and San Francisco, we’re quick to jump on the pro-startup bandwagon. Robert Scoble advises: “Join a startup. You will learn more there and have a bigger impact. Later, when you have a family and a mortgage, you can take the safe route.” But this advice ignores the advantages—like knowledge, confidence, and money—to working for a Microsoft, Google, or Amazon first. You've got to ask yourself one question: Do I like ramen?
|
|
|
|
|
Roku 3 is the latest in a long line of set-top boxes that date to the days when TVs had but 13 channels you could see only after fiddling with a pair of rabbit ears wrapped in foil. (Ask your grandparents. They’ll tell you all about those dark days.) Now we have set-top boxes -- most of which actually sit under your ultra-thin HDTV -- that let you watch DVDs, stream video and play games, often from a single gadget. Ain’t progress wonderful? Here’s a look back at the set-top boxes that have allowed us to kill time with ever greater efficiency.
|
|
|
|
|
Google's Chrome OS, thanks to the growing popularity of Chromebooks, is being used by more and more people. Many people know that Chrome OS has a Linux foundation. But how Chrome OS developed from Linux, and exactly what is in Chrome OS today, has been something of a mystery -- until now. Google OS? Ubuntu? Gentoo? Nobody seems to agree.
|
|
|
|
|
VARIETY is the spice of life, though not if you are the maker of an ageing internet browser maker losing ground to your younger, nimbler competitors. Microsoft, maker of the Windows 8 operating system and the Internet Explorer web browser, has been fined €561m ($732m) by the European Union’s antitrust regulators for breaking a promise to offer its customers a choice of the browser they would like to use to surf the internet on their personal computers. In February 2009 64% of all desktop computers used Internet Explorer.... Four years on, that share is only 30%.
|
|
|
|
|
A new Chrome extension[^] (god.js) lets you write your own commandments for browsing.
Now you can protect your delicate eyes from any mention of V***** B****!
--------------
TTFN - Kent
|
|
|
|
|
Interesting that jQuery 2.0[^] won't support IE 6-8. One of the sites I do work on (not CP) those still contribute about 15% of traffic.
Still, looking forward to the custom builds feature. Looks like it might be useful to tighten up the file sizes.
--------------
TTFN - Kent
|
|
|
|
|
Kent Sharkey wrote: Still, looking forward to the custom builds feature. Looks like it might be useful to tighten up the file sizes.
I'm having trouble imagining scenarios where that would be of any real value. The full version is under 30KB. And the opportunity to serve up the full version via a CDN is even better.
|
|
|
|
|
I agree for the majority of cases, the CDN version is the best. Where I see custom builds as being handy would be mobile sites (where even 30K can be costly) - stripping out arcane or deprecated features would limit the download time (and cost).
--------------
TTFN - Kent
|
|
|
|
|
Kent Sharkey wrote: Interesting that jQuery 2.0[^] won't support IE 6-8. One of the sites I do work on (not CP) those still contribute about 15% of traffic.
Fortunately for that site you'll still have jQuery 1.9; which will be maintained with the full set of horrible legacy IE hacks needed to allow it to be used like a standards compliant browser. Jquery themselves say they expect most people will keep using 1.9 for the next few years for public access websites.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
Microsoft needs to improve customer engagement, dramatically. And the first thing that will take is to recognize that the consumer teams’ attitude towards communicating futures is just plain wrong. That doesn’t mean abandonment of controlled information release, it means applying it more intelligently. It means disclosing platform direction early. It means bringing developers on board early. It means giving general technology direction to the public early (ala what BillG used to do) without talking specific releases or products. It does not mean releasing every detail of a product in advance. Now I get it, the Consumer guys at Microsoft are just plain wrong!
|
|
|
|
|
When I recommend learning Haskell to the uninitiated, I often get asked: “Why Haskell?” “Is it a practical language?” and ”Is it something I can actually use?” My answer is definitely yes. Haskell isn’t my primary language at work (I mostly write C code for embedded systems), I’ve still found it incredibly useful. And even if I never used Haskell at work, I would still consider learning it as time well spent. So, why Haskell? It turns out Haskell is a very powerful tool for helping you write C.
|
|
|
|
|
I think a good follow-up to blog posts about how great functional programming is would be links to books that teach it correctly along with exercises you can do to verify that you really have learned it.
It's one thing to download an interpreter and write "hello worlds" in a language, and it's another thing to figure out what good ideas you're supposed to extract from it when there aren't any obvious real-world problems that it's supposed to be good at solving.
|
|
|
|
|
Java wasn't and isn't a very nice language to code with, but the value of write once run anywhere (WORA) seemed to outweigh the pain involved to learn it. (I still don't like it)
Javascript has most of the features that a functional programming language has. So learning a functional programming language definitely helps to write better javascript.
Just knowing the extra FP idioms means you can attack problems from a different perspective when you get stuck.
I'm currently learning Scala which has some awesome syntactic features.
Online book: http://www.artima.com/pins1ed/
Also checkout Erlang if you want to compile to pure machine binaries instead of the JVM.
If you need any more convincing that you need to know at least one FP language, take a look at the TERAFLUX project http://teraflux.eu/
Q. Hey man! have you sorted out the finite soup machine?
A. Why yes, it's celery or tomato.
modified 6-Mar-13 12:06pm.
|
|
|
|
|
Android and iOS have existed in tension for a few years now, and each is continually borrowing ideas, designs, and features from the other. Nothing wrong with a little friendly theft when trying to stay competitive. The operating systems are far from exact mirrors of each other, and they have even grown more distinct with new generations. But there are a few features we’d still love to see cross sides, in the interest of keeping the operating systems functional and easy for customers to use. See also the companion article on Android features they'd like to see in iOS.
|
|
|
|
|
I agree with the last one, it's always bugged me that I can't tell an app, "no, you can't have access to that", in any way other than not installing it. (I have of course decided against installing apps that have asked for permissions that were clearly beyond the scope of what they should have had.) I should be allowed to revoke permissions, at my own risk of buggy apps (of course, it shouldn't be hard to for the developers to cope either, just throw an exception when they try to use a feature that requires permissions, and then they can catch it and either work around it or warn the user before exiting gracefully...).
|
|
|
|
|
On the surface, a microprocessor's registers seem like simple storage, but not in the 8085 microprocessor. Reverse-engineering the 8085 reveals many interesting tricks that make the registers fast and compact.... Each bit is implemented with a surprisingly compact circuit. The instruction set is designed to make register accesses efficient. An indirection trick allows quick register exchanges. Many register operations use the unexpected but efficient data path of going through the ALU. Ken Shirriff continues his adventure down the rabbit hole of chip design.
|
|
|
|
|
That brings back memories. While I was in college and for some time afterward I worked on a number of embedded projects using the 8085. At one point I had a significant amount of the instruction set's opcodes memorized.
Speaking of college, I had a class entitled "Microprocessor Design Projects". The final exam include a programming problem: a list of about 100 8085 assembly language instructions, listed in random order. The problem was to write a routine that sorted an input buffer pointed to by the HL register pair, IIRC. There was a second requirement that you use all of the provided instructions exactly once. At that point in time I had been writing 8085 assembly language for a couple of years. I wrote two versions, one that met the problem requirements, and a shorter version that used less code. The professor thought I was being a smartass.
Software Zen: delete this;
|
|
|
|
|
Businesses are mostly just now upgrading to Windows 7, and won’t go to Windows 8 for 2-4 more years. So in a sense you can argue that Microsoft has a lot of time to fix the side-loading story, because almost no one is going to care about this for a long time anyway. On the other hand, the developer community tends to move a bit faster. We’re a fickle bunch. If we don’t perceive WinRT as a viable future platform for business apps then we’ll start retooling our skills to something else in order to preserve our careers. That won’t take 4 years. I suspect Microsoft has less than 2 years to get developer buy-in to WinRT or the siren call of h5js will become too much to bear. Small businesses and developers need a better story for building business apps.
|
|
|
|
|
One comment from that series which I think deserves more attention:
http://www.lhotka.net/weblog/Windows8LOBDeploymentLsquostoryrsquo.aspx[^]
"Microsoft tells me that ... it is technically illegal to use [the Windows 8 edition of] Windows 8 for non-personal use"
Since when does an OS manufacturer have the right to dictate what you can and cannot do with the OS?
Yes, they can restrict the features available in a particular edition, but what you do with those features should be nothing to do with them.
What next? Will Apple forbid you from using a Mac to look at suggestive or pornographic images, even if such images are perfectly legal in your country? Will Google make it "illegal" to use DuckDuckGo or Bing on Chrome OS?
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Sure, you probably can't compile them without major work, but I for one definitely think there would be a lot of learning material in these copies of Ritchie's earliest C compilers[^]
--------------
TTFN - Kent
|
|
|
|
|
Leslie Neilson[^] can compile them!
Bob Dole The internet is a great way to get on the net.
2.0.82.7292 SP6a
|
|
|
|
|
In 1995, sales of pagers were booming among Japan’s teenagers, and NTT Docomo’s decision to add the heart symbol to its Pocket Bell devices let high school kids across the country inject a new level of sentiment (and cuteness) into the millions of messages they were keying into telephones every day. Docomo was thriving, with a bona fide must-have gadget on its hands and market share in the neighborhood of 40 percent. But when new versions of the Pocket Bell abandoned the heart symbol in favor of more business-friendly features like kanji and Latin alphabet support, the teenagers that made up Docomo’s core customer base had no problem leaving for upstart competitor Tokyo Telemessage. By the time Docomo realized it had misjudged the demand for business-focused pagers, it was badly in need of a new killer app. What it came up with was emoji. ( °_°) ( °_°)‿‑●‑● (‑●‑●)>
|
|
|
|