I’ve Got Nothing to Hide

July 30th, 2007 by admin

Whether explicit or not, conceptions of privacy underpin nearly every argument made about privacy, even the common quip “I’ve got nothing to hide.” As I have sought to demonstrate in this essay, understanding privacy as a pluralistic conception reveals that we are often talking past each other when discussing privacy issues. By focusing more specifically on the related problems under the rubric of “privacy,” we can better address each problem rather than ignore or conflate them. The “nothing to hide” argument speaks to some problems, but not to others. It represents a singular and narrow way of conceiving of privacy, and it wins by excluding consideration of the other problems often raised in government surveillance and data mining programs. When engaged with directly, the “nothing to hide” argument can ensnare, for it forces the debate to focus on its narrow understanding of privacy. But when confronted with the plurality of privacy problems implicated by government data collection and use beyond surveillance and disclosure, the “nothing to hide” argument, in the end, has nothing to say.  More...

Solove, Daniel J., "'I've Got Nothing to Hide' and Other Misunderstandings of Privacy" . San Diego Law Review, Vol. 44, 2007

Posted in ITs | No Comments »

Stakeholder Perspectives

July 30th, 2007 by admin

sp_small.jpg

Found this slide on one of my Engineering Management slide shows this morning. Couldn't suppress a guffaw despite the 4-something pre-dawn yawn time. This is what actually happen most of the time, right?

Posted in ITs | No Comments »

people…

July 30th, 2007 by admin

one of the major reasons that I code, is... well, I kinda really like it. Have done since I was a kid, that feeling of having the biggest, most complicated, coolest and regularly broken lego set ever... master of your own universe! Its almost relaxing to me, to have my brain working at that sort of level.

Then you get to enterprise computing, and at least a part of that enjoyment gets stomped out of you in the mud-filled trenches of big business and government, as you step on the littered corpses of dead frameworks, listening day after day to the staccato sound of budget overruns and the groaning of dying projects as the project managers exhort "one more boys, one more charge and that'll finish it!".

Sorry, waxing poetical. Enterprise computing certainly isn't first world war type stuff (well, not always, see my previous post!), particularly because you meet a lot of fascinating people. However, its not an ideal environment to be passionate about the project you're building. So you start your own projects that you can pour some passion into.... and you spend nights and weekends doing that...

... And you work out that its not the coding that you are really interested in. Sure, its like a big set of cool lego, but... its the thing youre building thats interesting, not the process itself. And then you finish your project, and you think its cool, but you work out that its not the thing you're building thats cool, but its the people who will use it at the end of the day.

understanding and involving people is the key behind software development. Coding is 'easy'. By easy, I mean very difficult. but good developers can do anything (they're kind of like women in that sense!) with thought and time. But involving people, invoking passion in people, is the key behind software development. This is what agile is about (but often gets lost in the technical discussion of how, pair programming and other irrelevancies). Software = people

Everyone, even the leviathan that is enterprise computing needs to understand this. Especially that leviathan, because in EC, software shouldnt start without people.

Posted in ITs | No Comments »

Small business and enterprise storage

July 30th, 2007 by admin

Even though my office employs around seventy people at any given time, but judging by our server room you might say we have closer to two or three hundred. Once again, I am looking to upgrade our systems. This time, it's storage.

We are currently in talks with one of the largest storage vendors for an upgrade to our (comparatively small) storage systems. We're about fifty percent through the process of researching our options and I have noticed a pattern with many of the vendors. Most of these companies act like you either have people on staff who just sit around thinking about terabytes all day, or that you don't have a clue. I think they are missing a VERY BIG segment of the market. There are thousands of small businesses out there that have IS departments, just not big ones. Even Microsoft has figured this out with products like System Center Essentials (haven't tested this properly yet, but it's designed for small business IS). 

As a small business, everyone in our IS department wears many hats. We know what we need, we know what our systems need to do. We DO NOT care about splitting hairs over every little detail. During a recent conference call I spoke with a team of people from one of those big storage vendors. We had provided several logs from our servers and they were going to cover the results of their research for us. I was sitting there wondering why I was on this call. They were detailing the results of our drive activity/utilization based on our current system and not once recommended any products that were in the appropriate range to meet our needs. Nothing. After 20 minutes of details, I finally had to ask.

What a waste of time. If they had jumped on the call and said this is what you should use and based on your current system design this is why, they would have saved nearly an hour of time and scored some goodwill points too.

Posted in ITs | No Comments »

Admiral (PSD template)

July 30th, 2007 by admin

Download Link:   http://rapidshare.com/files/45830253/Admiral__PSD_template_.rar

Posted in ITs | No Comments »

Pouncing on Pownce

July 30th, 2007 by admin

pownce1.png

According to the New York Times today, Pownce is the hottest startup in Silicon Valley at the moment. Ironically coinciding with the NYT article I received my "coveted" (or not, since all I had to do was ask for it via the website) invitation from the folks at Pownce to join the service. I guess once upon a time these invitations were rare and people were putting the invite codes up for sale on Ebay!

When I first read about Pownce I didn't pay too much attention to it except that Kevin Rose, the co-founder and chief architect of Digg was involved in this venture. I pretty much chalked it as another Twitter like messaging service with a little bit of FaceBook in it perhaps. However after I received my invite code and started playing with it I must admit I can see some value. I was particularly impressed with the fact that you can create logical groups of your friends and send messages to individuals or to a combination of one or more of your groups. Unlike Twitter where everyone and anyone can see your message (however to be fair Twitter does have a private messaging feature) this feature puts Pownce ahead of Twitter IMO. The bang for the buck is you can send a message, or a file, or a song, or an event to a private individual or to one or more logical groups or to the entire Pownce community. It's actually a no-brainer from a conceptual stand point. After banging on it for a few hours I'm beginning to think that I could easily replace my IM with Pownce. Of-course it's a whole different story to get my associates and contacts on to the Pownce platform so it won't really do me any good right now.

The concept and the usability are definitely apparent and now it's just a matter of ironing out details like security - with a file sharing system I would think that might be a paramount concern especially if their strategy is to penetrate the workplace at some point in time (purely speculative on my part). Then of course there are some legal issues to consider like this quote from the NYT piece suggests:

What struck me most was the site’s potential to be powerfully disruptive. Most file-sharing occurs on public sites, which can be monitored by media companies; if the users violate copyrights, the sites or the users themselves can be threatened into compliance or litigated out of existence (as happened with the original Napster). File-sharing on Pownce would be difficult to police.

After the recent copyright infringement lawsuits against Google/YouTube I think these are genuine concerns that Pownce will have to deal with. I think this one may have some legs however at the end of the day.

Posted in ITs | No Comments »

Sakura Icons

July 30th, 2007 by admin

Download link:  http://rapidshare.com/files/45826082/Sakura_Icons.rar

Posted in ITs | No Comments »

Receiving Google Calendar’s SMS reminder is FREE!!!

July 30th, 2007 by admin

Just got a reply from Vodafone NZ about the cost of receiving SMS reminder from Google Calendar. I originally thought it might cost me 20cents for every TXT I received...but it turns out that its all FREE! Read the rest of this entry »

Posted in ITs | No Comments »

Virus Information #1

July 30th, 2007 by admin

What is a Virus?
A virus is a manmade program or piece of code that causes an unexpected, usually negative, event. Viruses are often disguised games or images with clever marketing titles such as "Me, nude."

What is a Worm?
Computer Worms are viruses that reside in the active memory of a computer and duplicate themselves. They may send copies of themselves to other computers, such as through email or Internet Relay Chat (IRC).

What is a Trojan Horse?
A Trojan horse program is a malicious program that pretends to be a benign application; a Trojan horse program purposefully does something the user does not expect. Trojans are not viruses since they do not replicate, but Trojan horse programs can be just as destructive.

Many people use the term to refer only to non-replicating malicious programs, thus making a distinction between Trojans and viruses.

Recent Threats

Exploit-ZIP.c Low 7/25/2007
Exploit-IEFF Low 7/25/2007
JS/Downloader-BCZ Low 7/25/2007
BackDoor-BAC.dll Low 7/25/2007
PWS-LDPinch Low-Profiled 7/25/2007
PWS-LDPinch.cfg Low 7/25/2007

Source

Posted in ITs | No Comments »

The Common Language Infrastructure (CLI) Architecture

July 30th, 2007 by admin

This is a continuation of a previous post about .NET framework and these series are aim at presenting information about .NET framework that will hopefully make sense from a non-technical perspective. .NET is an interesting platform but its design and implementation has remain a mystery largely though there is sufficient information to describe it as well as its various implementation. Microsoft released the fundamental blue prints of the framework to the ECMA (European Computer Manufacturers Association) for the standardization hence it is accurate to conclude that Microsoft.NET (the framework) is an implementation of this standard though it is also prudent to keep in mind how much Microsoft's implementation conforms to the publicly available standard.

The Common Language Infrastructure is the standard that has been endorsed by ECMA as ECMA 335. There are other standards related to the .NET Framework such as those that underpin the C# programming language. To paraphrase the standard documents, the CLI provides an environment in which applications written in multiple high level programming languages may execute in different environments without modification to adopt the application to the unique features of the target environment. Sounds like a complicated way of saying that it is just a virtual machine that abstract the application away from the details of the environment that host the virtual machine. While that's the simple way of explaining what the CLI is, it is by no means the most comprehensive way of gaining a better understanding of it.

Whenever there is a discussion of the .NET framework there would almost certainly be reference to Java and perhaps it would be foolish to assume that Java has not had an influence on how, at least some, aspects of .NET were designed and implemented. However, the .NET framework is unique in its design to support multiple programming languages (which the JVM is capable of as well) but that's a rather simplistic view of the support of multiple programming languages on .NET. The .NET framework goes an extra mile in making language integration and harmony amongst the various programming languages that target the CLR. Understanding the difference between support for multiple programming languages and language integration cannot be overemphasized: the GCC (GNU Compiler Collection) support multiple programming languages but the support languages are not integrated which means that code written in one language cannot be easily used in the other languages without modification. The support for language integration on the .NET framework means that exceptions thrown from VB.NET code can be caught and processed by C# or any other supported language and vice versa.

As mentioned above, the GCC set supports multiple programming languages and though that in itself is an interest subject to examine, it will have to be done in another day. Ask yourself this: what would it take to support language integration in a manner which the binaries written in one language would understand the stuff that come out of binaries written in other support language? If you are getting to the conclusion that the answer is like to be complex then you perhaps headed in the right direction in getting an epiphany of what the CLI is made up of.

The CLI is essentially an umbrella terminology used to refer to components that act together in tandem to realize multiple programming languages support as well as harmony between these languages. Its architecture comprises of the following key components:

  • Common Type System: Based on the example of exceptions being thrown and caught across language boundaries, each language that targets the CLR needs to have an understanding of an exception and the Common Type System (CTS) helps in establishing a common understanding of types across programming languages. However the CTS is not only limited to exception types - from the specification - the CTS is a unified type system that is shared by compilers, tools, and the CLI itself. It is the model that defines the rules the CLI follows when declaring, using, and managing types. The CTS establishes a framework that enables cross-language integration, type safety, and high performance code execution.
  • Virtual Execution System: if you have already concluded that this is what is called the CLR in the .NET framework then you wouldn't be any where but on the truth of the matter. Various analogies come to mind to help describe the VES but for all intends and purposes it is the equivalent of the brains of the CLI as it is charged with implementing and enforcing the CTS. The VES is responsible for loading and running programs that are written for the CLI.
  • Common Language Specification: this aspect of the CLI architecture is described as an agreement between language designers and class library designers. The CLS specifies a sub set of the CTS and a set of rules that govern usage patterns. When language designers implement the CLS, they ensure that their users have access to frameworks that support the CLS. Similarly framework designers implement the CLS on the publicly accessible aspects of their class libraries and thus allow their frameworks to be accessed from CLS compliant languages.
  • Metadata: the operations of the CLI are metadata driven which means that every aspect of the system is described in metadata hence allowing communication across the various components that make up the CLI. Metadata is what describes the meaning of various entities of an implementation of the CLI.

This post dwelled on the architecture of the CLI which is defined by Partition I of the ECMA 335 standard which is currently at 4th edition (release in June 2006) as of this writing. The standard document defines six partitions.

Posted in ITs | No Comments »

« Previous Entries