Sponsorship

Selasa, 13 Oktober 2009

hardware komputer

 


 

 

 

 

 

 

Perangkat keras

Dari Wikibooks Indonesia, sumber buku teks bebas berbahasa Indonesia

Hampir seluruh aspek kehidupan manusia saat ini tidak dapat dilepaskan dari teknologi, khususnya teknologi komputer. Dapat dilihat bahwa untuk menuliskan suatu dokumen, orang cenderung sudah meninggalkan mesin ketik manual dan sudah digantikan perannya oleh komputer. Kasir di suatu pertokoan besar (supermarket) sudah menggunakan peralatan otomatis berupa komputer yang didisain khusus untuk keperluan itu. Kumpulan lagu-lagu yang sebelumnya hanya dapat didengarkan melalui media kaset atau piringan hitam, saat ini sudah mulai dikemas dalam bentuk compact disk (CD) yang dapat didengarkan dengan menggunakan komputer multimedia. Belum lagi perkembangan teknologi komputer di bidang kesehatan yang maju sangat pesat untuk membantu diagnosa penyakit dan proses penyembuahnnya. Dan masih banyak lagi bidang-bidang kehidupan manusia yang saat ini sudah menggunakan peralatan komputer.
Definisi Komputer Istilah komputer mempunyai arti yang luas dan berbeda bagi setiap orang. Istilah komputer (computer) diambil dari bahasa Latin computare yang berarti menghitung (to compute atau to reckon).
Menurut Blissmer (1985), komputer adalah suatu alat elektronik yang mampu melakukan beberapa tugas, yaitu menerima input, memproses input sesuai dengan instruksi yang diberikan, menyimpan perintah-perintah dan hasil pengolahannya, serta menyediakan output dalam bentuk informasi.
Sedangkan menurut Sanders (1985), komputer adalah sistem elektronik untuk memanipulasi data yang cepat dan tepat serta dirancang dan diorganisasikan supaya secara otomatis menerima dan menyimpan data input, memprosesnya, dan menghasilkan output berdasarkan instruksi-instruksi yang telah tersimpan di dalam memori. Dan masih banyak lagi ahli yang mencoba mendefinisikan secara berbeda tentang komputer. Namun, pada intinya dapat disimpulkan bahwa komputer adalah suatu peralatan elektronik yang dapat menerima input, mengolah input, memberikan informasi, menggunakan suatu program yang tersimpan di memori komputer, dapat menyimpan program dan hasil pengolahan, serta bekerja secara otomatis.
Dari definisi tersebut terdapat tiga istilah penting, yaitu input (data), pengolahan data, dan informasi (output). Pengolahan data dengan menggunakan komputer dikenal dengan nama pengolahan data elektronik (PDE) atau elecronic data processing (EDP). Data adalah kumpulan kejadian yang diangkat dari suatu kenyataan (fakta), dapat berupa angka-angka, huruf, simbol-simbol khusus, atau gabungan dari ketiganya. Data masih belum dapat bercerita banyak sehingga perlu diolah
Read more »

Sabtu, 10 Oktober 2009

BAHASA COMPUTER

Bahasa kueri

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas

Langsung ke: navigasi, cari
Bahasa kueri (Bahasa Inggris: query language) adalah suatu bahasa komputer yang digunakan untuk melakukan permintaan terhadap basis data dan sistem informasi. Jenis-jenis bahasa ini antara lain:


SQL

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas

SQL (Structured Query Language) adalah sebuah bahasa yang dipergunakan untuk mengakses data dalam basis data relasional. Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen basis data relasional. Saat ini hampir semua server basis data yang ada mendukung bahasa ini untuk melakukan manajemen datan

Sejarah

Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama EF Codd yang membahas tentang ide pembuatan basis data relasional pada bulan Juni 1970. Artikel ini juga membahas kemungkinan pembuatan bahasa standar untuk mengakses data dalam basis data tersebut. Bahasa tersebut kemudian diberi nama SEQUEL (Structured English Query Language).
Setelah terbitnya artikel tersebut, IBM mengadakan proyek pembuatan basis data relasional berbasis bahasa SEQUEL. Akan tetapi, karena permasalahan hukum mengenai penamaan SEQUEL, IBM pun mengubahnya menjadi SQL. Implementasi basis data relasional dikenal dengan System/R.
Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang membuat server basis data populer yang bernama sama dengan nama perusahaannya. Dengan naiknya kepopuleran Oracle, maka SQL juga ikut populer sehingga saat ini menjadi standar de facto bahasa dalam manajemen basis data.

Standarisasi

Standarisasi SQL dimulai pada tahun 1986, ditandai dengan dikeluarkannya standar SQL oleh ANSI. Standar ini sering disebut dengan SQL86.Standar tersebut kemudian diperbaiki pada tahun 1989 kemudian diperbaiki lagi pada tahun 1992. Versi terakhir dikenal dengan SQL92. Pada tahun 1999 dikeluarkan standar baru yaitu SQL99 atau disebut juga SQL99, akan tetapi kebanyakan implementasi mereferensi pada SQL92.
Saat ini sebenarnya tidak ada server basis data yang 100% mendukung SQL92. Hal ini disebabkan masing-masing server memiliki dialek masing-masing.

Pemakaian dasar

Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). Implementasi DDL dan DML berbeda untuk tiap sistem manajemen basis data (SMBD)[1], namun secara umum implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI. Artikel ini akan menggunakan bentuk paling umum yang dapat digunakan pada kebanyakan SMBD.

Data Definition Language

DDL digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-objek yang diperlukan dalam basis data, misalnya tabel, view, user, dan sebagainya. Secara umum, DDL yang digunakan adalah CREATE untuk membuat objek baru, USE untuk menggunakan objek, ALTER untuk mengubah objek yang sudah ada, dan DROP untuk menghapus objek. DDL biasanya digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi basis data.

CREATE

CREATE digunakan untuk membuat basis data maupun objek-objek basis data. SQL yang umum digunakan adalah:
CREATE DATABASE nama_basis_data
CREATE DATABASE membuat sebuah basis data baru.
CREATE TABLE nama_tabel
CREATE TABLE membuat tabel baru pada basis data yang sedang aktif. Secara umum, perintah ini memiliki bentuk
CREATE TABLE [nama_tabel]
(
nama_field1 tipe_data [constraints][,
nama_field2 tipe_data,
...]
)
atau
CREATE TABLE [nama_tabel]
(
nama_field1 tipe_data [,
nama_field2 tipe_data,
...]
[CONSTRAINT nama_field constraints]
)
dengan:
nama_field adalah nama kolom (field) yang akan dibuat. Beberapa sistem manajemen basis data mengizinkan penggunaan spasi dan karakter nonhuruf pada nama kolom.
tipe_data tergantung implementasi sistem manajemen basis data. Misalnya, pada MySQL, tipe data dapat berupa VARCHAR, TEXT, BLOB, ENUM, dan sebagainya.
constraints adalah batasan-batasan yang diberikan untuk tiap kolom. Ini juga tergantung implementasi sistem manajemen basis data, misalnya NOT NULL, UNIQUE, dan sebagainya. Ini dapat digunakan untuk mendefinisikan kunci primer (primary key) dan kunci asing (foreign key).
Satu tabel boleh tidak memiliki kunci primer sama sekali, namun sangat disarankan mendefinisikan paling tidak satu kolom sebagai kunci primer.
Contoh:
CREATE TABLE user
(
username VARCHAR(30) CONSTRAINT PRIMARY KEY,
passwd VARCHAR(20) NOT NULL,
tanggal_lahir DATETIME
);
akan membuat tabel user seperti berikut:
username
passwd
tanggal_lahir

Data Manipulation Language

DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum dilakukan adalah:
  • SELECT untuk menampilkan data
  • INSERT untuk menambahkan data baru
  • UPDATE untuk mengubah data yang sudah ada
  • DELETE untuk menghapus data

SELECT

SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga terkadang istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap:
SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ...]
FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung]
[, nama_tabel3 [AS alias3], ...]
[WHERE kondisi]
[ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], ...]]
[GROUP BY nama_field1[, nama_field2, ...]]
[HAVING kondisi_aggregat]
dengan:
  • kondisi adalah syarat yang harus dipenuhi suatu data agar ditampilkan.
  • kondisi_aggregat adalah syarat khusus untuk fungsi aggregat.
Kondisi dapat dihubungkan dengan operator logika, misalnya AND, OR, dan sebagainya.
Contoh:
Diasumsikan terdapat tabel user yang berisi data sebagai berikut.
username
passwd
tanggal_lahir
jml_transaksi
total_transaksi
Aris
6487AD5EF
09-09-1987
6
10.000
Budi
97AD4erD
01-01-1994
0
0
Charlie
548794654
06-12-1965
24
312.150
Daniel
FLKH947HF
24-04-1980
3
0
Erik
94RER54
17-08-1945
34
50.000
Contoh 1: Tampilkan seluruh data.
SELECT *
FROM user
Contoh 2: Tampilkan pengguna yang tidak pernah bertransaksi.
SELECT *
FROM user
WHERE total_transaksi = 0
Contoh 3: Tampilkan username pengguna yang bertransaksi kurang dari 10 dan nilainya lebih dari 1.000.
SELECT username
FROM user
WHERE jml_transakai < 10 AND total_transaksi > 1000
Contoh 4: Tampilkan total nominal transaksi yang sudah terjadi.
SELECT SUM(total_transaksi) AS total_nominal_transaksi
FROM user
Contoh 5: Tampilkan seluruh data diurutkan berdasarkan jumlah transaksi terbesar ke terkecil.
SELECT *
FROM user
ORDER BY jml_transaksi DESC
Fungsi aggregat
Beberapa SMBD memiliki fungsi aggregat, yaitu fungsi-fungsi khusus yang melibatkan sekelompok data (aggregat). Secara umum fungsi aggregat adalah:
  • SUM untuk menghitung total nominal data
  • COUNT untuk menghitung jumlah kemunculan data
  • AVG untuk menghitung rata-rata sekelompok data
  • MAX dan MIN untuk mendapatkan nilai maksimum/minimum dari sekelompok data.
Fungsi aggregat digunakan pada bagian SELECT. Syarat untuk fungsi aggregat diletakkan pada bagian HAVING, bukan WHERE.
Subquery
Ada kalanya query dapat menjadi kompleks, terutama jika melibatkan lebih dari satu tabel dan/atau fungsi aggregat. Beberapa SMBD mengizinkan penggunaan subquery. Contoh:
Tampilkan username pengguna yang memiliki jumlah transaksi terbesar.
SELECT username
FROM user
WHERE jml_transaksi =
(
SELECT MAX(jml_transaksi)
FROM user
)

INSERT

Untuk menyimpan data dalam tabel dipergunakan sintaks:
INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI]) Contoh:
INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');

UPDATE

Untuk mengubah data menggunakan sintaks:
UPDATE [NAMA_TABLE] SET [NAMA_KOLOM]=[NILAI] WHERE [KONDISI] Contoh:
UPDATE Msuser set password="123456" where username="abc"

DELETE

Untuk menghapus data dipergunakan sintaks:
DELETE FROM [NAMA_TABLE] [KONDISI] Contoh:
DELETE FROM TEST WHERE NAMA='test';

Catatan

  1. ^ Troels Arvin, 2007-05-26, http://troels.arvin.dk/db/rdbms/ Comparison of different SQL implementations

Pranala luar

UNTUK KETERANGAN DIBAWAH INI SEDANG MENYUSUL







Read more »

Jumat, 09 Oktober 2009

Infrastructure Optimization

Maintaining a Known State to Optimize your Infrastructure

  Almost half of all unplanned service outages happen because of system configuration mistakes or oversights. With that in mind, several tools are available from Microsoft to help you optimize your infrastructure and keep configuration issues under control in environments of all sizes and levels of complexity. These tools provide both the technology and the guidance you'll need to get started managing configuration.
  First, it's important to understand the concept of configuration management. Within IT organizations, configuration management is the process of identifying, defining, and documenting the environment, its components, and the relationships between components. Ultimately, you are trying to define a known, standard system state and to maintain that standard state across your environment. Part of this process entails discovering and updating configuration items (CIs) for your systems, as well as tracking and documenting these CIs as they change.
  If, for example, you have a known state for a workstation and define the CIs that represent that state within your environment, adding a patch represents a deviation from your defined state. Now imagine there's a tool that informs you of any such deviations. Each patch you install will trigger a number of alerts, telling you those patched workstations are not complying with the previously defined state. These alerts let you document any changes to the defined state, and future checks will therefore reflect the revised state you have documented.
  On one hand, this sounds like a lot of additional work just to accommodate planned updates. But there's another benefit: you'll also be warned if a rogue element changes one of your defined CIs. The consequence of not being informed of an unplanned state deviation can result in amounts of work much greater than the effort invested in defining and maintaining CIs. Managing and updating your CIs puts you in control of your infrastructure to make sure that only undesirable settings trigger alerts.
  So what goes into a CI? CIs generally consist of configuration attributes such as description, version number, component, relationships, location, and status. In an ideal state, that patch you just authorized and installed would be populated in a CI and all of the CIs would reside in a relational configuration management database.
  Most people aren't willing to check configuration items against a spreadsheet or database, despite taking the time and care to define them. Likewise, automating the compliance checking and alerting process has been difficult. Let's say you have 100 configuration attributes per computer, and a skilled tester can check 50 configuration attributes manually in an hour. Now think about a company that has 1,000 servers and 20,000 desktops and imagine the workload required to maintain a desired state and check all these computers on a regular basis. Even if all computers were in the desired state at deployment, there's no practical way to maintain a standard across all 21,000 computers—or even 100 computers—without automation.
  How do you define the configuration items and attributes so that a tool can automatically perform a configuration health check and tell you if your environment complies with the predefined standard? It's a fact that defining CIs can be difficult and time-consuming, yet the reward is having a controlled and auditable state where any unplanned changes in configuration automatically trigger alerts, often before those changes cause a service disruption or create a security risk.

Desired Configuration Monitoring Version 2.0 Released
  DCM automates the configuration management audits between desired or defined configuration settings and actual configuration settings. It accomplishes this by allowing the user to define desired hardware, operating system and application configuration settings in multiple configuration data sources and then using the supplied auditing engine, DCM compares desired settings with actual settings and then reports configuration compliance. DCM Version 2.0 now supports configuration monitoring of desktops and servers. (The overall process is shown in Figure 1.) Even though this sounds pretty straightforward, anyone who has taken a look at all the CIs and attributes that contribute to a healthy system will know that this is not a quick task. For that reason, Microsoft created baseline CIs for several core Microsoft desktop and server products, including Windows XP, Office 2003, Exchange, ISA, and Windows servers.

 
Figure 1 Desired Configuration Monitoring Process

   DCM monitors configuration settings in the Microsoft Active Directory, Windows Management Instrumentation (WMI), Metabase, file system, registry and SQL Server data source. It supports Windows desktop, x64 and .Net Framework 1.1 and 2.0. DCM 2.0 also adds predefined baseline Configuration Items for many Microsoft desktop and server products as well as sample SMS web reports. The DCM user interface enables users to easily define rules specific to their organizations.

 


  Configuration management is a key process and technical capability in Infrastructure Optimization and allows you to begin preparing for the convergence of system knowledge among developers, architects, administrators, and users through system configuration definition and auditing. It provides a deeper level of monitoring than directory-based configuration enforcement tools to help avoid unplanned outages and increase the availability and overall control of your infrastructure.

Where to Find DCM 2.0
  The SMS 2003 Desired Configuration Monitoring Version 2.0 is available from the:
Read more »

Windows Management Instrumentation

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas


Langsung ke: navigasi, cari
Windows Management Instrumentation (atau disingkat menjadi WMI) adalah implementasi yang dilakukan oleh Microsoft untuk arsitektur Web-Based Enterprise Management (WBEM) dan Common Information Model (CIM) (yang dipublikasikan oleh Distributed Management Task Force) yang sering dilakukan untuk melakukan manajemen jaringan di dalam sebuah jaringan yang besar (kelas enterprise). Para Administrator dapat menggunakan WMI untuk memantau dan mengontrol komputer, perangkat jaringan dan beberapa aplikasi yang dimiliki oleh sebuah jaringan melalui Internet dengan menggunakan sebuah penjelajah Web standar, seperti halnya Internet Explorer. WMI merupakan sebuah aplikasi yang mendukung penuh standar WBEM dan menggunakan Common Information Model (CIM) untuk mendeskripsikan objek-objek jaringan yang dapat diatur (seperti halnya layanan, proses, berkas dan lain-lain.
Dukungan terhadap WMI telah dimasukkan semenjak Windows 2000, Windows XP serta versi-versi Windows selanjutnya telah mendapatkannya secara langsung. Untuk Windows 95, Windows 98 dan Windows NT 4.0, WMI tersedia sebagai tambahan yang dapat di-download dari situs Microsoft.
WMI mengizinkan beberapa bahasa skrip seperti halnya VBScript atau Windows PowerShell untuk melakukan manajemen terhadap komputer pribadi yang difungsikan sebagai komputer desktop atau komputer server berbasis Microsoft Windows, baik secara lokal maupun secara remote. Microsoft juga menyediakan sebuah perangkat bantu berupa program command-line terhadap WMI, yang disebut sebagai Windows Management Instrumentation Command-line (WMIC) yang hanya tersedia di dalam Windows XP Professional, Windows Server 2003, Windows Vista, dan Windows Server 2008.

Tujuan WMI

Tujuan dibuatnya WMI adalah untuk mendefinisikan sekumpulan spesifikasi yang terbebas dari lingkungan dan bersifat tidak proprietary yang mengizinkan informasi manajemen dapat digunakan bersama-sama antara aplikasi-aplikasi manajemen yang berjalan dalam beberapa sistem operasi kelas perusahaan besar (enterprise). WMI dapat bekerja dengan baik dengan teknologi manajemen yang sebelumnya telah ada, yakni Desktop Management Interface (DMI) dan Simple Network Management Protocol (SNMP).

Cara kerja

WMI dalam Windows NT 5.x mencakup dua komponen utama:
  • Sebuah tempat penempatan objek (dusebyt sebagau WMI object repository) yang mendukung standar CIM dan digunakan untuk menyimpan informasi yang dapat dikumpulkan dari perangkat keras dan lunak yang dapat diatur dengan menggunakan WMI.
  • CIM Object Manager, yang mengumpulkan informasi dari beberapa penyedia WMI (disebut dengan WMI Provider) dan menyimpannya di dalam WMI object repository.
WMI Provider berfungsi sebagai perantara antara objek-objek jaringan yang sedang diatur dan WMI itu sendiri. Sebagai contoh, WMI registry provider mengizinkan beberapa informasi untuk dapat dikumpulkan dari registry yang terletak di dalam komputer jarak jauh dan disimpan di dalam repository. Untuk beberapa protokol lainnya, seperti halnya protokol Simple Network Management Protocol (SNMP), jika sebuah komputer hendak mengumpulkan informasi perangkat-perangkat yang dapat diatur dengan SNMP, maka SNMP provider harus mentranslasikan informasi tersebut ke sebuah format yang cocok untuk WMI.
Beberapa komponen di dalam Windows NT 5.x telah mendukung WMI, dan dapat diakses dari snap-in Microsoft Management Console. Komponen-komponen tersebut mencakup hal-hal berikut:
  • Logical drive, yang dapat digunakan untuk mengatur drive-drive dalam komputer lokal dan drive yang terdapat dalam komputer jarak jauh. Beberapa metode yang dapat dilakukan adalah menampilkan properti dari drive tersebut, mengatur pengaturan keamanan (access control), dan melakukan beberapa tugas manajemen lainnya.
  • System properties, yang dapat digunakan untuk menampilkan dan memodifikasi properti sistem operasi di dalam komputer lokal dan komputer jarak jauh. Beberapa metode yang dapat dilakukan antara lain memodifikasi pengaturan memori virtual, melihat dan memodifikasi nama host dan NetBIOS serta nama domainnya, melakukan restart komputer dan beberapa tugas administrasi lainnya.
  • System information, yang dapat digunakan untuk menampilkan informasi sistem operasi yang sedang berjalan dalam sistem lokal maupun sistem jarak jauh, yang dapat digunakan untuk troubleshooting sistem operasi.
  • Windows service dependencies, yang dapat digunakan untuk melakukan troubleshooting beberapa masalah yang muncul akibat ketergantungan sebuah layanan dengan layanan lainnya.
Seorang Administrator dapat melakukan manajemen terhadap WMI dengan menggunakan MMC dengan menggunakan sebuah console yang disebut sebagai WMI Control, untuk melakukan beberapa tugas, seperti mengaktifkan pencatatan kesalahan, mengatur izin untuk akun pengguna dan group, dan melakukan backup terhadap CIM object repository.
Read more »

Rabu, 07 Oktober 2009

DESIGN

Computer-aided design

From Wikipedia, the free encyclopedia

Jump to: navigation, search

"CAD" and "CADD" redirect here. For other uses see CAD (disambiguation) and CADD (disambiguation)


A short animation of 3D CAD software in action.


An oblique view of a 3D CAD assembly model of a four-cylinder inline crankshaft with pistons.
Computer-aided design (CAD) is the use of computer technology for the design of objects, real or virtual. CAD often involves more than just shapes. As in the manual drafting of technical and engineering drawings, the output of CAD often must convey also symbolic information such as materials, processes, dimensions, and tolerances, according to application-specific conventions.
CAD may be used to design curves and figures in two-dimensional ("2D") space; or curves, surfaces, or solids in three-dimensional ("3D") objects.[1]
CAD is an important industrial art extensively used in many applications, including automotive, shipbuilding, and aerospace industries, industrial and architectural design, prosthetics, and many more. CAD is also widely used to produce computer animation for special effects in movies, advertising and technical manuals. The modern ubiquity and power of computers means that even perfume bottles and shampoo dispensers are designed using techniques unheard of by shipbuilders of the 1960s. Because of its enormous economic importance, CAD has been a major driving force for research in computational geometry, computer graphics[2] (both hardware and software), and discrete differential geometry.
The design of geometric models for object shapes, in particular, is often called computer-aided geometric design (CAGD).[citation needed]

Overview

Current Computer-Aided Design software packages range from 2D vector-based drafting systems to 3D solid and surface modellers. Modern CAD packages can also frequently allow rotations in three dimensions, allowing viewing of a designed object from any desired angle, even from the inside looking out. Some CAD software is capable of dynamic mathematic modeling, in which case it may be marketed as CADDcomputer-aided design and drafting.
CAD is used in the design of tools and machinery and in the drafting and design of all types of buildings, from small residential types (houses) to the largest commercial and industrial structures (hospitals and factories).
CAD is mainly used for detailed engineering of 3D models and/or 2D drawings of physical components, but it is also used throughout the engineering process from conceptual design and layout of products, through strength and dynamic analysis of assemblies to definition of manufacturing methods of components.
CAD has become an especially important technology within the scope of computer-aided technologies, with benefits such as lower product development costs and a greatly shortened design cycle. CAD enables designers to lay out and develop work on screen, print it out and save it for future editing, saving time on their drawings.
The people that work in this field are called: Designers, CAD Monkeys, Automotive Design Engineers and Digital Innovation Engineers. Computer-aided design is also a common work activity for the traditional engineering professions.

Software technologies



A CAD model of a mouse.
Originally software for Computer-Aided Design systems was developed with computer languages such as Fortran, but with the advancement of object-oriented programming methods this has radically changed. Typical modern parametric feature based modeler and freeform surface systems are built around a number of key C (programming language) modules with their own APIs. A CAD system can be seen as built up from the interaction of a graphical user interface (GUI) with NURBS geometry and/or boundary representation (B-rep) data via a geometric modeling kernel. A geometry constraint engine may also be employed to manage the associative relationships between geometry, such as wireframe geometry in a sketch or components in an assembly.
Unexpected capabilities of these associative relationships have led to a new form of prototyping called digital prototyping. In contrast to physical prototypes, which entail manufacturing time and material costs, digital prototypes allow for design verification and testing on screen, speeding time-to-market and decreasing costs. As technology evolves in this way, CAD has moved beyond a documentation tool (representing designs in graphical format) into a more robust designing tool that assists in the design process.

Hardware and OS technologies

Today, CAD systems exist for all the major platforms - CAD systems like QCad, NX provide multiplatform support including Windows, Linux, UNIX and Mac OS X; ArchiCAD works on both Windows and Mac OS X, but not on Linux; and, for example, AutoCAD works on Windows only. For more information on OS compatibility, see Comparison of CAD editors for AEC, Comparison of CAD editors for CAM and Comparison of CAD editors for CAE. Catia V5 is supported on Sparc Solaris but not x86 Solaris, HPUX, and AIX, but not Linux. It has been announced that Catia V6 will only be supported on one proprietary operating system.
Right now, no special hardware is required for most CAD software. However, some CAD systems can do graphically and computationally expensive tasks, so good graphics card, high speed (and possibly multiple) CPUs and large amounts of RAM are recommended.
The human-machine interface is generally via a computer mouse but can also be via a pen and digitizing graphics tablet. Manipulation of the view of the model on the screen is also sometimes done with the use of a spacemouse/SpaceBall. Some systems also support stereoscopic glasses for viewing the 3D model.

Using CAD

Computer-Aided Design is one of the many tools used by engineers and designers and is used in many ways depending on the profession of the user and the type of software in question. There are several different types of CAD. Each of these different types of CAD systems require the operator to think differently about how he or she will use them and he or she must design their virtual components in a different manner for each.
There are many producers of the lower-end 2D systems, including a number of free and open source programs. These provide an approach to the drawing process without all the fuss over scale and placement on the drawing sheet that accompanied hand drafting, since these can be adjusted as required during the creation of the final draft.
3D wireframe is basically an extension of 2D drafting. Each line has to be manually inserted into the drawing. The final product has no mass properties associated with it and cannot have features directly added to it, such as holes. The operator approaches these in a similar fashion to the 2D systems, although many 3D systems allow using the wireframe model to make the final engineering drawing views.
3D "dumb" solids (programs incorporating this technology include AutoCAD and Cadkey 19) are created in a way analogous to manipulations of real world objects. Basic three-dimensional geometric forms (prisms, cylinders, spheres, and so on) have solid volumes added or subtracted from them, as if assembling or cutting real-world objects. Two-dimensional projected views can easily be generated from the models. Basic 3D solids don't usually include tools to easily allow motion of components, set limits to their motion, or identify interference between components.
3D parametric solid modeling require the operator to use what is referred to as "design intent". The objects and features created are adjustable. Any future modifications will be simple, difficult, or nearly impossible, depending on how the original part was created. One must think of this as being a "perfect world" representation of the component. If a feature was intended to be located from the center of the part, the operator needs to locate it from the center of the model, not, perhaps, from a more convenient edge or an arbitrary point, as he could when using "dumb" solids. Parametric solids require the operator to consider the consequences of his actions carefully.
Some software packages provide the ability to edit parametric and non-parametric geometry without the need to understand or undo the design intent history of the geometry by use of direct modeling functionality. This ability may also include the additional ability to infer the correct relationships between selected geometry (e.g., tangency, concentricity) which makes the editing process less time and labor intensive while still freeing the engineer from the burden of understanding the model’s design intent history. These kind of non history based systems are called Explicit Modellers. The first Explicit Modeling system was introduced to the world at the end of 80's by Hewlett-Packard under the name SolidDesigner. This CAD solution, which released many later versions, is now sold by PTC as "CoCreate Modeling"
Draft views are able to be generated easily from the models. Assemblies usually incorporate tools to represent the motions of components, set their limits, and identify interference. The tool kits available for these systems are ever increasing; including 3D piping and injection mold designing packages.
Mid range software are integrating parametric solids more easily to the end user: integrating more intuitive functions (SketchUp), using the best of both 3D dumb solids and parametric characteristics (VectorWorks), making very real-view scenes in relative few steps (Cinema4D) or offering all-in-one (form•Z).
Top end systems offer the capabilities to incorporate more organic, aesthetics and ergonomic features into designs (Catia, GenerativeComponents). Freeform surface modelling is often combined with solids to allow the designer to create products that fit the human form and visual requirements as well as they interface with the machine.

The Effects of CAD

Starting in the late 1980s, the development of readily affordable Computer-Aided Design programs that could be run on personal computers began a trend of massive downsizing in drafting departments in many small to mid-size companies. As a general rule, one CAD operator could readily replace at least three to five drafters using traditional methods.[citation needed] Additionally, many engineers began to do their own drafting work, further eliminating the need for traditional drafting departments. This trend mirrored that of the elimination of many office jobs traditionally performed by a secretary as word processors, spreadsheets, databases, etc. became standard software packages that "everyone" was expected to learn.
Another consequence had been that since the latest advances were often quite expensive, small and even mid-size firms often could not compete against large firms who could use their computational edge for competitive purposes.[citation needed] Today, however, hardware and software costs have come down. Even high-end packages work on less expensive platforms and some even support multiple platforms. The costs associated with CAD implementation now are more heavily weighted to the costs of training in the use of these high level tools, the cost of integrating a CAD/CAM/CAE PLM using enterprise across multi-CAD and multi-platform environments and the costs of modifying design work flows to exploit the full advantage of CAD tools.
CAD vendors have effectively lowered these training costs. These methods can be split into three categories:
  1. Improved and simplified user interfaces. This includes the availability of “role” specific tailorable user interfaces through which commands are presented to users in a form appropriate to their function and expertise.
  2. Enhancements to application software. One such example is improved design-in-context, through the ability to model/edit a design component from within the context of a large, even multi-CAD, active digital mockup.
  3. User oriented modeling options. This includes the ability to free the user from the need to understand the design intent history of a complex intelligent model.

Product lifecycle

Computer-Aided Design is one part of the whole Digital Product Development (DPD) activity within the Product Lifecycle Management (PLM) process, and as such is used together with other tools, which are either integrated modules or stand-alone products, such as:







Read more »

HACK

OpenBSD

From Wikipedia, the free encyclopedia

Jump to: navigation, search
OpenBSD
OpenBSD logo with Puffy, the pufferfish.
"Free, Functional & Secure"
Company / developer
The OpenBSD Project
OS family
BSD
Working state
Current
Source model
Open source
Latest stable release
4.5  (2009-05-01; 4 months ago) [+/−]
Latest unstable release
4.6-current  (ongoing) [+/−]
Package manager
OpenBSD package tools and ports tree
Supported platforms
68000, Alpha, AMD64, i386, MIPS, PowerPC, SPARC 32/64, VAX, Zaurus and others[1]
Kernel type
Monolithic
Userland
BSD
Default user interface
Modified pdksh, FVWM 2.2.5 for X11
License
Mostly BSD
Website
www.openbsd.org

OpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution (BSD), a Unix derivative developed at the University of California, Berkeley. It was forked from NetBSD by project leader Theo de Raadt in late 1995. The project is widely known for the developers' insistence on open source code and quality documentation, uncompromising position on software licensing, and focus on security and code correctness. The project is coordinated from de Raadt's home in Calgary, Alberta, Canada. Its logo and mascot is a pufferfish named Puffy.
OpenBSD includes a number of security features absent or optional in other operating systems and has a tradition of developers auditing the source code for software bugs and security problems. The project maintains strict policies on licensing and prefers the open source BSD licence and its variants—in the past this has led to a comprehensive licence audit and moves to remove or replace code under licences found less acceptable.
As with most other BSD-based operating systems, the OpenBSD kernel and userland programs, such as the shell and common tools like cat and ps, are developed together in a single source repository. Third-party software is available as binary packages or may be built from source using the ports tree.
The OpenBSD project maintains ports for 17 different hardware platforms, including the DEC Alpha, Intel i386, Hewlett-Packard PA-RISC, AMD AMD64 and Motorola 68000 processors, Apple's PowerPC machines, Sun SPARC and SPARC64-based computers, the VAX and the Sharp Zaurus.[1]

History and popularity

In December 1994, NetBSD co-founder Theo de Raadt was asked to resign his position as a senior developer and member of the NetBSD core team, and his access to the source code repository was revoked.
The OpenBSD 2.3 CD-ROM cover with the original mascot, before Puffy appeared with release 2.7
The reason for this is not wholly clear, although there are claims that it was due to personality clashes within the NetBSD project and on its mailing lists.[2] De Raadt has been criticized for having a sometimes abrasive personality: in his book, Free For All, Peter Wayner claims that de Raadt "began to rub some people the wrong way" before the split from NetBSD;[3] Linus Torvalds has described him as "difficult;"[4] and an interviewer admits to being "apprehensive" before meeting him.[5] Many have different feelings: the same interviewer describes de Raadt's "transformation" on founding OpenBSD and his "desire to take care of his team," some find his straightforwardness refreshing, and few deny he is a talented coder[6] and security "guru".[7]
Bar chart showing the proportion of users of each BSD variant from a 2005 BSD usage survey.[8] Each participant was permitted to indicate multiple BSD variants
In October 1995, de Raadt founded OpenBSD, a new project forked from NetBSD 1.0. The initial release, OpenBSD 1.2, was made in July 1996, followed in October of the same year by OpenBSD 2.0.[9] Since then, the project has followed a schedule of a release every six months, each of which is maintained and supported for one year. The latest release, OpenBSD 4.5, appeared on May 1, 2009.[10]
On 25 July 2007, OpenBSD developer Bob Beck announced the formation of the OpenBSD Foundation,[11] a Canadian not-for-profit corporation formed to "act as a single point of contact for persons and organizations requiring a legal entity to deal with when they wish to support OpenBSD."[12]
Just how widely OpenBSD is used is hard to ascertain: the developers do not collect and publish usage statistics and there are few other sources of information. In September 2005 the nascent BSD Certification Group performed a usage survey which revealed that 32.8% of BSD users (1420 of 4330 respondents) were using OpenBSD,[8] placing it second of the four major BSD variants, behind FreeBSD with 77% and ahead of NetBSD with 16.3%.[13] The DistroWatch website, well-known in the Linux community and often used as a reference for popularity, publishes page hits for each of the Linux distributions and other operating systems it covers. As of 23 August 2008 (2008 -08-23) it places OpenBSD in 54th place, with 126 hits per day. FreeBSD is in 16th place with 473 hits per day and a number of Linux and non-Linux distributions range between them.

Open source and open documentation

When OpenBSD was created, Theo de Raadt decided that the source should be available for anyone to read at any time, so, with the assistance of Chuck Cranor,[14] he set up a public, anonymous CVS server. This was the first of its kind in the software development world: at the time, the tradition was for only a small team of developers to have access to a project's source repository. This practice had downsides, notably that outside contributors had no way to closely follow a project's development and contributed work would often duplicate already completed efforts. This decision led to the name OpenBSD and signaled the project's insistence on open and public access to both source code and documentation.
A revealing incident regarding open documentation occurred in March 2005, when de Raadt posted a message[15] to the openbsd-misc mailing list. He announced that after four months of discussion, Adaptec had not disclosed the documentation required to improve the OpenBSD drivers for its AAC RAID controllers. As in similar circumstances in the past, he encouraged the OpenBSD community to become involved and express their opinion to Adaptec. Shortly after this, FreeBSD committer, former Adaptec employee and author of the FreeBSD AAC RAID support Scott Long[16] castigated de Raadt[17] on the OSNews website for not contacting him directly regarding the issues with Adaptec. This caused the discussion to spill over onto the freebsd-questions mailing list, where the OpenBSD project leader countered[18] by claiming that he had received no previous offer of help from Scott Long nor been referred to him by Adaptec. The debate was amplified[19] by disagreements between members of the two camps regarding the use of binary blob drivers and non-disclosure agreements (NDAs): OpenBSD developers do not permit the inclusion of closed source binary drivers in the source tree and are reluctant to sign NDAs. However, the FreeBSD project has a different policy and much of the Adaptec RAID management code Scott Long proposed as assistance for OpenBSD was closed source or written under an NDA. As no documentation was forthcoming before the deadline for release of OpenBSD 3.7, support for Adaptec AAC RAID controllers was removed from the standard OpenBSD kernel.
The OpenBSD policy on openness extends to hardware documentation: in the slides for a December 2006 presentation, de Raadt explained that without it "developers often make mistakes writing drivers," and pointed out that "the [oh my god, I got it to work] rush is harder to achieve, and some developers just give up."[20] He went on to say that vendor binary drivers are considered unacceptable to OpenBSD—in their view they cannot be trusted and there is "no way to fix [them] ... when they break." Vendor source is "marginally acceptable" and still difficult to fix when problems occur.

Licensing

OpenBSD 3.7 running X.Org with the JWM window manager
A goal of the OpenBSD project is to "maintain the spirit of the original Berkeley Unix copyrights," which permitted a "relatively un-encumbered Unix source distribution."[21] To this end, the Internet Systems Consortium (ISC) licence, a simplified version of the BSD licence with wording removed that is unnecessary under the Berne convention, is preferred for new code, but the MIT or BSD licences are accepted. The widely used GNU General Public License is considered overly restrictive in comparison with these.[22] Code that is under any license considered undesirable is no longer accepted for addition to the base system. Existing code under such licences is actively replaced or relicensed when possible, except in cases where there is no suitable replacement and creating one would be time-consuming and impractical. Of particular note is the development of OpenSSH, based on the original SSH suite and developed further by the OpenBSD team. It first appeared in OpenBSD 2.6 and is now the single most popular SSH implementation, available as standard or as a package on many operating systems. Also worth mentioning is the development, after licence restrictions were imposed on IPFilter, of the pf packet filter, which first appeared[23] in OpenBSD 3.0 and is now available in DragonFly BSD, NetBSD and FreeBSD. More recently, OpenBSD releases have seen the GPL licensed tools bc, dc, diff, grep, gzip, nm, pkg-config, RCS, sendbug (part of GNATS) and size replaced with BSD licensed equivalents. OpenBSD developers are also behind OpenBGPD, OpenOSPFD, OpenNTPD and OpenCVS, which are other BSD licensed alternatives to existing software. In September 2007, the OpenBSD team took the initial steps towards replacing the GNU Compiler Collection (GCC) by importing Anders Magnusson's BSD-licensed Portable C Compiler (PCC) into CVS.[24]
In June 2001, triggered by concerns over Darren Reed's modification of IPFilter's licence wording, a systematic licence audit of the OpenBSD ports and source trees was undertaken.[25] Code in more than a hundred files throughout the system was found to be unlicensed, ambiguously licensed or in use against the terms of the licence. To ensure that all licences were properly adhered to, an attempt was made to contact all the relevant copyright holders: some pieces of code were removed, many were replaced, and others, including the multicast routing tools, mrinfo and map-mbone,[26] which were licensed by Xerox for research only, were relicensed so that OpenBSD could continue to use them. Also of note during this audit was the removal of all software produced by Daniel J. Bernstein. At the time, Bernstein requested that all modified versions of his code be approved by him prior to redistribution, a requirement to which OpenBSD developers were unwilling to devote time or effort.[27] The removal led to a clash with Bernstein who felt the removal of his software to be uncalled for. He cited the Netscape web browser as much less freely licensed, accusing the OpenBSD developers of hypocrisy for permitting Netscape to remain while removing his software.[28] The OpenBSD project's stance was that Netscape, although not open source, had licence conditions that could be more easily met.[29] They asserted that Bernstein's demand for control of derivatives would lead to a great deal of additional work and that removal was the most appropriate way to comply with his requirements.

Security and code auditing

Shortly after OpenBSD's creation, Theo de Raadt was contacted by a local security software company named Secure Networks, Inc. or SNI.[30][31] They were developing a "network security auditing tool" called Ballista (later renamed to Cybercop Scanner after SNI was purchased by Network Associates) which was intended to find and attempt to exploit possible software security flaws. This coincided well with de Raadt's own interest in security, so the two agreed to cooperate, a relationship that was of particular use leading up to the release of OpenBSD 2.3[32] and helped to form the focal point of the project: OpenBSD developers would attempt to do what was right, proper or secure, even at the cost of ease, speed or functionality. As bugs within OpenBSD became harder to find and exploit, the security company found that it was too difficult and expensive to handle such obscure problems. After years of cooperation, the two parties decided that their goals together had been met and they parted ways.
Until June 2002, the OpenBSD website featured the slogan:
Five years without a remote hole in the default install!
In June 2002, Mark Dowd of Internet Security Systems disclosed a bug in the OpenSSH code implementing challenge-response authentication.[33] This vulnerability in the OpenBSD default installation allowed an attacker remote access to the root account, which was extremely serious not only to OpenBSD, but also to the large number of other operating systems that were using OpenSSH by that time.[34] This problem necessitated the adjustment of the slogan on the OpenBSD website to:
One remote hole in the default install, in nearly 6 years!
The quote remained unchanged as time passed, until on March 13, 2007 when Alfredo Ortega of Core Security Technologies[35] disclosed a network-related remote vulnerability.[36] The quote was subsequently altered to:
Only two remote holes in the default install, in a heck of a long time!
This statement has been criticized because little is enabled in a default install of OpenBSD and releases have included software that was later found to have remote holes. However, the project maintains that the slogan is intended to refer to a default install and that it is correct by that measure. One of the fundamental ideas behind OpenBSD is a drive for systems to be simple, clean and secure by default. For example, OpenBSD's minimal defaults fit in with the standard computer security practice of enabling as few services as possible on production machines. The project also uses open source and code auditing practices argued to be important elements of a security system.[37]
OpenBSD 3.8-current booting. 3.8 saw security changes to the malloc function
OpenBSD includes a large number of features specifically designed to improve security. These include: API and toolchain alterations, such as the arc4random, issetugid, strlcat, strlcpy and strtonum functions, as well as a static bounds checker; memory protection techniques to guard against invalid accesses, such as ProPolice, StackGhost, the W^X (W xor X) page protection features, as well as alterations to malloc; cryptography and randomization features, including network stack enhancements and the addition of the Blowfish cipher for password encryption.
To reduce the risk of a vulnerability or misconfiguration allowing privilege escalation, some programs have been written or adapted to make use of privilege separation, privilege revocation and chrooting. Privilege separation is a technique, pioneered on OpenBSD and inspired by the principle of least privilege, where a program is split into two or more parts, one of which performs privileged operations and the other—almost always the bulk of the code—runs without privilege.[38] Privilege revocation is similar and involves a program performing any necessary operations with the privileges it starts with then dropping them. Chrooting involves restricting an application to one section of the file system, prohibiting it from accessing areas that contain private or system files. Developers have applied these features to OpenBSD versions of common applications, including tcpdump and the Apache web server (the latter of which, due to licensing issues with the later Apache 2 series, is a heavily patched 1.3.29 release).
The project has a policy of continually auditing code for problems, work that developer Marc Espie has described as "never finished ... more a question of process than of a specific bug being hunted."[39] He went on to list several typical steps once a bug is found, including examining the entire source tree for the same and similar issues, "try[ing] to find out whether the documentation ought to be amended," and investigating whether "it's possible to augment the compiler to warn against this specific problem." Along with DragonFly, OpenBSD is one of the only two open source operating systems with a policy of seeking out examples of classic, K&R C code and converting it to the more modern ANSI equivalent (this involves no functional change and is purely for readability and consistency reasons). A standard code style, the Kernel Normal Form, which dictates how code must look in order to be easily maintained and understood, must be applied to all code before it is considered for inclusion in the base operating system; existing code is actively updated to meet the style requirements.
Linux kernel creator Linus Torvalds has expressed the view that development efforts should be focused on fixing general problems rather than targeting security issues, as non-security bugs are more numerous ("all the boring normal bugs are _way_ more important, just because there's a lot more of them"[40]). On July 15, 2008, he criticised the OpenBSD policy: "[T]hey make such a big deal about concentrating on security that they pretty much admit that nothing else matters to them." [41] OpenBSD developer Marc Espie replied to Torvalds' statement: "It's a totally misinformed opinion ... [Fixing normal bugs] is exactly what people in the OpenBSD project do, all the time."[42] Developer Artur Grabowski also expressed surprise: "That's the funniest part about this ... [Torvalds] was saying the same things we say."[43]

Uses

OpenBSD's security enhancements, built-in cryptography and the pf firewall suit it for use in the security industry, particularly for firewalls, intrusion-detection systems and VPN gateways. It is also commonly used for servers which must resist cracking and DoS attacks, and due to including the spamd daemon, it sometimes is used in mail filtering applications.
OpenBSD 3.8 running X.Org with the default FVWM 2.2.5 window manager
Several proprietary systems are based on OpenBSD, including Profense from Armorlogic ApS,[44] AccessEnforcer from Calyptix Security,[45] GeNUGate and GeNUBox from GeNUA mbH,[46] RTMX O/S from RTMX Inc,[47] syswall from Syscall Network Solutions AG,[48] HIOBMessenger from topX, and various security appliances made by .vantronix GmbH.[49] Of these, GeNUA, RTMX, and .vantronix have contributed back to OpenBSD: GeNUA funded the development of SMP on the i386 platform, RTMX have sent patches to add further POSIX compliance to the system, and .vantronix contributed in networking and load balancing. Several open source operating systems have also been derived from OpenBSD, notably Anonym.OS and MirOS BSD, as well as the now defunct ekkoBSD, MicroBSD and Gentoo/OpenBSD. In addition, code from many of the OpenBSD system tools has been used in recent versions of Microsoft's Services for UNIX, an extension to the Windows operating system which provides some Unix-like functionality, originally based on 4.4BSD-Lite. Core Force, a security product for Windows, is based on OpenBSD's pf firewall. There have also been projects which use OpenBSD as part of images for embedded systems, including OpenSoekris and flashdist; together with tools like nsh, these allow Cisco-like embedded devices to be created.[50]
OpenBSD 4.4 running Xfce
OpenBSD ships with the X window system. Following the XFree86 licence change, it includes a recent X.Org release; an older XFree86 3.3 release is also available for legacy video cards. With these, it is possible to use OpenBSD as a desktop or workstation, making use of a desktop environment or just a window manager to give the X desktop a wide range of appearances. The OpenBSD ports tree contains many of the most popular tools for desktop use, including desktop environments GNOME, KDE, and Xfce; web browsers Konqueror and Mozilla Firefox; and multimedia programs MPlayer, VLC media player and xine. In addition, graphical software for many uses is available from both the ports tree and by compiling POSIX compliant software. Also available are compatibility layers, which allow binary code compiled for other operating systems, including Linux, FreeBSD, SunOS and HP-UX, to be run. OpenBSD no longer lacks accelerated 3D graphics support;[51] as of March 2008, work on Direct Rendering Manager (DRM) is ongoing and some support is present in -current.[52]
OpenBSD's performance and usability is occasionally criticised. Felix von Leitner's performance and scalability tests[53] indicated that OpenBSD lagged behind other operating systems. In response, OpenBSD users and developers criticised von Leitner's objectivity and methodology, and asserted that although performance is given consideration, security and correct design are prioritised, with developer Nick Holland commenting: "It all boils down to what you consider important."[54] OpenBSD is also a relatively small project, particularly when compared with FreeBSD and Linux, and developer time is sometimes seen as better spent on security enhancements than performance optimisations. Critics of usability say that OpenBSD has a lack of user-friendly configuration tools, a bare default installation,[55] and a "spartan" and "intimidating" installer.[56] These see much the same rebuttals as performance: a preference for simplicity, reliability and security. As one reviewer puts it, "running an ultra-secure operating system can be a bit of work."[57]

Distribution and marketing

OpenBSD is available freely in various ways: the source can be retrieved by anonymous CVS or CVSup, and binary releases and development snapshots can be downloaded either by FTP or HTTP. Prepackaged CD-ROM sets can be ordered online for a small fee, complete with an assortment of stickers and a copy of the release's theme song. These, with its artwork and other bonuses, are one of the project's few sources of income, funding hardware, bandwidth and other expenses. Until OpenBSD 4.2, only a small install ISO image was available for download, to encourage sales of the full CD-ROM set. OpenBSD 4.2 provides a complete install ISO.
In common with several other operating systems, OpenBSD uses ports and packaging systems to allow for easy installation and management of programs which are not part of the base operating system. Originally based on the FreeBSD ports tree, the system is now quite distinct. Additionally, major changes have been made since the 3.6 release, including the replacement of the package tools by more capable versions, written in Perl by Marc Espie. In contrast to FreeBSD, the OpenBSD ports system is intended as a source used to create the end product, the packages: installing a port first creates a package and then installs it using the package tools. Packages are built in bulk by the OpenBSD team and provided for download with each release. OpenBSD is also unique among the BSDs in that the ports and base operating system are developed and released together for each version: this means that the ports or packages released with, for example, 3.7 are not suitable for use with 3.6 and vice versa. This is a policy which lends a great deal of stability to the development process, but means that the software in ports for the latest OpenBSD release can lag somewhat from the latest version available from the author.
Puffy, painted
Around the time of the OpenBSD 2.7 release, the original mascot, a BSD daemon with a trident and halo, was replaced by Puffy, traditionally said to be a pufferfish. In fact pufferfish do not possess spikes and images of Puffy are closer to a similar species, the porcupinefish. Puffy was selected because of the Blowfish encryption algorithm used in OpenSSH and the strongly defensive image of the porcupinefish with its spikes to deter predators. He quickly became very popular, mainly because of the appealing image of the fish and his distinction from the BSD daemon used by FreeBSD, and the horde of daemons used by NetBSD. Puffy made his first public appearance in OpenBSD 2.6 and, since then, has appeared in a number of guises on tee-shirts and posters. These have included Puffiana Jones, the famed hackologist and adventurer, seeking out the Lost RAID; Puffathy, a little Alberta girl, who must work with Taiwan to save the day; Sir Puffy of Ramsay, a freedom fighter who, with Little Bob of Beckley, took from the rich and gave to all; and Puff Daddy, famed rapper and political icon.
After a number of releases, OpenBSD has become notorious for its catchy songs and interesting and often comical artwork. The promotional material of early OpenBSD releases did not have a cohesive theme or design but, starting with OpenBSD 3.0, the CD-ROMs, release songs, posters and tee-shirts for each release have been produced with a single style and theme, sometimes contributed to by Ty Semaka of the Plaid Tongued Devils. At first they were done lightly and only intended to add humour but, as the concept has evolved, they have become a part of OpenBSD advocacy, with each release expanding a moral or political point important to the project, often through parody. Past themes have included: in OpenBSD 3.8, the Hackers of the Lost RAID, a parody of Indiana Jones linked to the new RAID tools featured as part of the release; The Wizard of OS, making its debut in OpenBSD 3.7, based on the work of Pink Floyd and a parody of The Wizard of Oz related to the project's recent wireless work; and OpenBSD 3.3's Puff the Barbarian, including an 80s rock-style song and parody of Conan the Barbarian, alluding to open documentation.
In addition to the slogans used on tee-shirts and posters for releases, the project occasionally produces other material: over the years, catchphrases have included "Sending script kiddies to /dev/null since 1995," "Functional, secure, free — choose 3," "Secure by default," and a few insider slogans, only available on tee-shirts made for developer gatherings, such as "World class security for much less than the price of a cruise missile" and a crusty old octopus proclaiming "Shut up and hack!"



 


 


Read more »

 
Powered by Blogger