ActiveState Acquires Perl Cloud Company, Phenona, to Accelerate Cloud Strategy
Vancouver, BC – June 14, 2011 – ActiveState, the dynamic language experts offering solutions for Perl, Python, Tcl and other web languages, is announcing today that it has acquired Phenona, a Perl Platform-as-a-Service (PaaS) cloud company based in Seattle, WA. This announcement follows on the heels of ActiveState’s Stackato cloud platform announcement last month, an enterprise cloud offering based on VMware’s Cloud Foundry. Phenona’s 15-year-old founder, Daniil Kulchenko, will join the ActiveState team part-time since he is still a student in high school.
Read more
This was Intended to be a BSD only blog, but now it's about all Unix Like Free Operating Systems, Linux, FreeBSD etc.
Thursday, July 07, 2011
Real-Time Text Over Jabber/XMPP/Google Talk
From Slashdot: Real-Time Text Over Jabber/XMPP/Google Talk
"Geeks who miss the UNIX 'talk' days, have a new modern savior: XMPP.org has published the new XEP-0301 Real-Time Text standard, which allows streaming text that is continuously transmitted as it is typed or otherwise composed. It allows conversational use of text, where people interactively converse with each other."
XMPP.org
"Geeks who miss the UNIX 'talk' days, have a new modern savior: XMPP.org has published the new XEP-0301 Real-Time Text standard, which allows streaming text that is continuously transmitted as it is typed or otherwise composed. It allows conversational use of text, where people interactively converse with each other."
XMPP.org
Brain-inspired computing with nanoelectronic programmable synapses
Good article:
Brain-inspired computing with nanoelectronic programmable synapses
I have done a little bit of research in to Non von Neumann Architectures.
Our current way of doing computers works great for what it is, but it's limited.
A design like the one in this article can tackle some problems that would be difficult for traditional CPU's.
Brain-inspired computing with nanoelectronic programmable synapses
I have done a little bit of research in to Non von Neumann Architectures.
Our current way of doing computers works great for what it is, but it's limited.
A design like the one in this article can tackle some problems that would be difficult for traditional CPU's.
Tuesday, July 05, 2011
SVLUG July 6th meeting: Wired Roots: Applications of Wireless Sensor Networks for Habitat Monitoring in the Wilds of Mt. Hamilton
It was a good talk, interesting work on remote sensing and low power networking.
Here are some links from the talk.
http://blueoakranchreserve.org/
http://ekoview.blueoakranchreserve.org/
http://en.wikipedia.org/wiki/Blue_Oak_Ranch_Reserve
---------- Forwarded message ----------
From: Rick Moen
Date: Tue, 5 Jul 2011 10:43:13 -0700
Subject: [svlug] [svlug-announce] SVLUG July 6th meeting: Wired Roots:
Applications of Wireless Sensor Networks for Habitat Monitoring in
the Wilds of Mt. Hamilton
WHEN:
Wednesday, July 6th, 2011
7pm-9pm
MAIN PRESENTATION
TOPIC:
Wired Roots: Applications of Wireless Sensor Networks for Habitat
Monitoring in the Wilds of Mt. Hamilton
PRESENTED BY:
Michael Hamilton,
Dir. of U.C. Berkeley's Blue Oak Ranch Reserve
TOPIC SUMMARY:
Dr. Hamilton will discuss a brief history of the Blue Oak Ranch
Reserve, a 5,000 acre ecological reserve perched upon Mt Hamilton
below the Lick Observatory -- and how technologies such as Ubuntu
Linux, wireless networks, sensors, and imagers will transform our
understanding of ecological processes and interactions of species
and the environment. He will conclude with a brief discussion of
the San Jose Climate Clock project.
ABOUT THE PRESENTER:
Michael Hamilton is an ecologist, conservation biologist, and the
reserve director of the Blue Oak Ranch Reserve, a unit of the UC
Natural Reserve System, located near Mount Hamilton in the Diablo
Range, due east of San Jose, California. He received his Ph.D. from
Cornell University in 1983, and holds B.S. and M.S. degrees in
biology and ecology from California State Polytechnic University,
Pomona.
Michael is one of several founders, a past board member, and
currently serves as scientific advisor for the Society for
Conservation GIS, an organization with 3000 members worldwide that
trains and supports academic and NGO professionals involved in
nature protection and conservation biology using remote sensing and
Geographic Information Systems (GIS) technologies. His professional
activities have taken him throughout the United States and Mexico,
and to many continents and countries including Europe, Africa,
Australia, South America, and French Polynesia.
LOCATION:
Symantec
VCAFE Facility
350 Ellis Street (near E. Middlefield Road)
Mountain View, CA 94043
Directions on how to get there are listed at:
http://www.svlug.org/directions/veritas.php
We've tried our very best for these directions to be accurate.
If you have any improvements to make, please let SVLUG's volunteers know!
webmaster at svlug.org
POST-MEETING GATHERING:
If you just can't get enough, a smaller group usually goes to a local
restaurant/diner after the meeting: Frankie, Johnnie & Luigi, Too,
939 West El Camino Real between Shoreline and Castro, Mountain View.
We look forward to seeing you there!
_______________________________________________
svlug-announce mailing list
http://lists.svlug.org/lists/listinfo/svlug-announce
_______________________________________________
svlug mailing list
http://lists.svlug.org/lists/listinfo/svlug
Here are some links from the talk.
http://blueoakranchreserve.org/
http://ekoview.blueoakranchreserve.org/
http://en.wikipedia.org/wiki/Blue_Oak_Ranch_Reserve
---------- Forwarded message ----------
From: Rick Moen
Date: Tue, 5 Jul 2011 10:43:13 -0700
Subject: [svlug] [svlug-announce] SVLUG July 6th meeting: Wired Roots:
Applications of Wireless Sensor Networks for Habitat Monitoring in
the Wilds of Mt. Hamilton
WHEN:
Wednesday, July 6th, 2011
7pm-9pm
MAIN PRESENTATION
TOPIC:
Wired Roots: Applications of Wireless Sensor Networks for Habitat
Monitoring in the Wilds of Mt. Hamilton
PRESENTED BY:
Michael Hamilton,
Dir. of U.C. Berkeley's Blue Oak Ranch Reserve
TOPIC SUMMARY:
Dr. Hamilton will discuss a brief history of the Blue Oak Ranch
Reserve, a 5,000 acre ecological reserve perched upon Mt Hamilton
below the Lick Observatory -- and how technologies such as Ubuntu
Linux, wireless networks, sensors, and imagers will transform our
understanding of ecological processes and interactions of species
and the environment. He will conclude with a brief discussion of
the San Jose Climate Clock project.
ABOUT THE PRESENTER:
Michael Hamilton is an ecologist, conservation biologist, and the
reserve director of the Blue Oak Ranch Reserve, a unit of the UC
Natural Reserve System, located near Mount Hamilton in the Diablo
Range, due east of San Jose, California. He received his Ph.D. from
Cornell University in 1983, and holds B.S. and M.S. degrees in
biology and ecology from California State Polytechnic University,
Pomona.
Michael is one of several founders, a past board member, and
currently serves as scientific advisor for the Society for
Conservation GIS, an organization with 3000 members worldwide that
trains and supports academic and NGO professionals involved in
nature protection and conservation biology using remote sensing and
Geographic Information Systems (GIS) technologies. His professional
activities have taken him throughout the United States and Mexico,
and to many continents and countries including Europe, Africa,
Australia, South America, and French Polynesia.
LOCATION:
Symantec
VCAFE Facility
350 Ellis Street (near E. Middlefield Road)
Mountain View, CA 94043
Directions on how to get there are listed at:
http://www.svlug.org/directions/veritas.php
We've tried our very best for these directions to be accurate.
If you have any improvements to make, please let SVLUG's volunteers know!
webmaster at svlug.org
POST-MEETING GATHERING:
If you just can't get enough, a smaller group usually goes to a local
restaurant/diner after the meeting: Frankie, Johnnie & Luigi, Too,
939 West El Camino Real between Shoreline and Castro, Mountain View.
We look forward to seeing you there!
_______________________________________________
svlug-announce mailing list
http://lists.svlug.org/lists/listinfo/svlug-announce
_______________________________________________
svlug mailing list
http://lists.svlug.org/lists/listinfo/svlug
Thursday, June 30, 2011
Wednesday, June 29, 2011
Monday, June 27, 2011
Ozma: Extending Scala With Oz Concurrency
I want to go through this to understand it better. The "Unusual Syntax" sounds like a major hurdle and most of these feartures probably could be added to more traditional languages. C++, JAVA, RUBY, PERL, etc.
From Slashdot: Announcing Ozma: Extending Scala With Oz Concurrency
The Mozart Programming System
http://www.mozart-oz.org/ The Mozart Programming System is an advanced development platform for intelligent, distributed applications. The system is the result of a decade of research in programming language design and implementation, constraint-based inference, distributed computing, and human-computer interfaces.
From Slashdot: Announcing Ozma: Extending Scala With Oz Concurrency
"Programming for concurrency makes sense in developing for both large scales (cloud computing) and small (multicore CPUs). Some languages were designed for concurrency and distribution; One of those languages is Oz, which provides advanced primitives regarding concurrency and distribution. Oz is mostly declarative, a paradigm that encompasses functional and logic programming. Despite its innovative features and expressiveness, Oz never made it into the wide developer community; one reason is its unusual syntax." Read on to learn about an effort to bring Oz's concurrency features to more programmers. setori88 continues: "But first, some background: Martin Odersky, in designing the Scala programming language, recognized the need for community acceptance of the kind that Oz lacked. He designed Scala as being both close to Java (in terms of syntax and concepts) and interoperable with existing Java libraries. Today, Scala seems to be the best hope for making functional programming accessible to programmers.
Although Scala has no language feature related to concurrency, the advanced library Akka, inspired by Erlang, provides Scala programmers with concurrent and distributed concepts.
Now comes a project attempting to popularize the concurrency concepts of Oz, called Ozma. Ozma implements the full Scala specification and runs on the Mozart VM. It extends Scala with dataflow variables, declarative concurrency, lazy declarative concurrency, and message-passing concurrency based on ports. Ozma extends the duality of Scala, namely the combination of functional and object styles, to concurrent programming."
Although Scala has no language feature related to concurrency, the advanced library Akka, inspired by Erlang, provides Scala programmers with concurrent and distributed concepts.
Now comes a project attempting to popularize the concurrency concepts of Oz, called Ozma. Ozma implements the full Scala specification and runs on the Mozart VM. It extends Scala with dataflow variables, declarative concurrency, lazy declarative concurrency, and message-passing concurrency based on ports. Ozma extends the duality of Scala, namely the combination of functional and object styles, to concurrent programming."
The Mozart Programming System
http://www.mozart-oz.org/ The Mozart Programming System is an advanced development platform for intelligent, distributed applications. The system is the result of a decade of research in programming language design and implementation, constraint-based inference, distributed computing, and human-computer interfaces.
Mozart is based on the Oz language, which supports declarative programming, object-oriented programming, constraint programming, and concurrency as part of a coherent whole. For distribution, Mozart provides a true network transparent implementation with support for network awareness, openness, and fault tolerance. Mozart supports multi-core programming with its network transparent distribution and is an ideal platform for both general-purpose distributed applications as well as for hard problems requiring sophisticated optimization and inferencing abilities. We have developed many applications including sophisticated collaborative tools, multi-agent systems, and digital assistants, as well as applications in natural language understanding and knowledge representation, in scheduling and time-tabling, and in placement and configuration.
Saturday, June 25, 2011
Friday, June 24, 2011
Wednesday, June 22, 2011
BayLISA had a some great talks last week
BayLISA a group dedicated to Sysadmins, had a some great talks last week.
Logstash really looks a lot like a Open source version of Splunk.
- Force 10 bare metal provisioning demo. (IaaS, Cloud component)
- Arista Networks vmtracer demo
- Logstash, with Jordan Sissel
- FreeNAS BSD based Open Source NAS sponsored by IX Systems.
Logstash really looks a lot like a Open source version of Splunk.
Friday, June 17, 2011
What is the Cloud?
Components of a Cloud.
There are three main categories of cloud computing service, called the SPI model (SaaS, PaaS, IaaS).
What is Infrastructure as a Service (IaaS)?
Infrastructure as a Service is a provision model in which an organization outsources the equipment used to support operations, including storage, hardware, servers and networking components. The service provider owns the equipment and is responsible for housing, running and maintaining it. The client typically pays on a per-use basis.
Characteristics and components of IaaS include:
Sometimes referred to as (HaaS) Hardware as a Service.
Platform as a Service (PaaS) is a way to rent hardware, operating systems, storage and network capacity over the Internet. The service delivery model allows the customer to rent virtualized servers and associated services for running existing applications or developing and testing new ones.
Platform as a Service (PaaS) is an outgrowth of Software as a Service (SaaS), a software distribution model in which hosted software applications are made available to customers over the Internet. PaaS has several advantages for developers. With PaaS, operating system features can be changed and upgraded frequently. Geographically distributed development teams can work together on software development projects. Services can be obtained from diverse sources that cross international boundaries. Initial and ongoing costs can be reduced by the use of infrastructure services from a single vendor rather than maintaining multiple hardware facilities that often perform duplicate functions or suffer from incompatibility problems. Overall expenses can also be minimized by unification of programming development efforts.
On the downside, PaaS involves some risk of "lock-in" if offerings require proprietary service interfaces or development languages. Another potential pitfall is that the flexibility of offerings may not meet the needs of some users whose requirements rapidly evolve.
Software as a Service (SaaS) is a software distribution model in which applications are hosted by a vendor or service provider and made available to customers over a network, typically the Internet.
SaaS is becoming an increasingly prevalent delivery model as underlying technologies that support Web services and service-oriented architecture (SOA) mature and new developmental approaches, such as Ajax, become popular. Meanwhile, broadband service has become increasingly available to support user access from more areas around the world.
SaaS is closely related to the ASP (application service provider) and on demand computing software delivery models. IDC identifies two slightly different delivery models for SaaS. The hosted application management (hosted AM) model is similar to ASP: a provider hosts commercially available software for customers and delivers it over the Web. In the software on demand model, the provider gives customers network-based access to a single copy of an application created specifically for SaaS distribution.
Benefits of the SaaS model include:
SaaS can be build on PaaS on IaaS
-------------------------------
This is still a draft article from here on down.
I am in the process of still writting.
John 6/17/2011
-------------------------------
Examples:
Scale out vs. Scale up.
Tools:
Enterprise Java three tier application
MySQL, MongoDB
NoSQL, CouchDB
Memory or Cache (Redis, memcached, Gemfire)
RabbitMQ, AMQP, JMS for messaging in the cloud.
Amazon SNS, SQS
POJO? Apache Hadoop? HDFS, HBase, Hive
Makara, an open-source software-project for cloud deployment and management managed by Red Hat
MAP/Reduce
CAP Theorem
C: Consistency: All nodes see the same data
A: Availablity: Node failure does not prevent survivors from operating
P: Partition Tolerance: System works even though message are lost
http://en.wikipedia.org/wiki/Cloud_computing
http://en.wikipedia.org/wiki/List_of_cloud_computing_providers
http://en.wikipedia.org/wiki/Cloud_%28operating_system%29
There are three main categories of cloud computing service, called the SPI model (SaaS, PaaS, IaaS).
- Software as a Service (SaaS) is a software distribution model in which applications are hosted by a vendor or service provider and made available to customers over a network, typically the Internet.
- Platform as a Service (PaaS) is a paradigm for delivering operating systems and associated services over the Internet without downloads or installation.
- Infrastructure as a Service (IaaS) involves outsourcing the equipment used to support operations, including storage, hardware, servers and networking components.
What is Infrastructure as a Service (IaaS)?
Infrastructure as a Service is a provision model in which an organization outsources the equipment used to support operations, including storage, hardware, servers and networking components. The service provider owns the equipment and is responsible for housing, running and maintaining it. The client typically pays on a per-use basis.
- Utility computing service and billing model.
- Automation of administrative tasks.
- Dynamic scaling.
- Desktop virtualization.
- Policy-based services.
- Internet connectivity.
- Virtual Servers, and Virtualization
Sometimes referred to as (HaaS) Hardware as a Service.
Platform as a Service (PaaS) is a way to rent hardware, operating systems, storage and network capacity over the Internet. The service delivery model allows the customer to rent virtualized servers and associated services for running existing applications or developing and testing new ones.
On the downside, PaaS involves some risk of "lock-in" if offerings require proprietary service interfaces or development languages. Another potential pitfall is that the flexibility of offerings may not meet the needs of some users whose requirements rapidly evolve.
Software as a Service (SaaS) is a software distribution model in which applications are hosted by a vendor or service provider and made available to customers over a network, typically the Internet.
SaaS is closely related to the ASP (application service provider) and on demand computing software delivery models. IDC identifies two slightly different delivery models for SaaS. The hosted application management (hosted AM) model is similar to ASP: a provider hosts commercially available software for customers and delivers it over the Web. In the software on demand model, the provider gives customers network-based access to a single copy of an application created specifically for SaaS distribution.
Benefits of the SaaS model include:
- easier administration
- automatic updates and patch management
- compatibility: All users will have the same version of software.
- easier collaboration, for the same reason
- global accessibility.
SaaS can be build on PaaS on IaaS
-------------------------------
This is still a draft article from here on down.
I am in the process of still writting.
John 6/17/2011
-------------------------------
Examples:
- Amazon web services, BeanStalk, Elastic Compute EC2
- VMware
- Windows Azure
- SalesForce.com
- Google Gmail
- CloudBees
Scale out vs. Scale up.
Tools:
Enterprise Java three tier application
MySQL, MongoDB
NoSQL, CouchDB
Memory or Cache (Redis, memcached, Gemfire)
RabbitMQ, AMQP, JMS for messaging in the cloud.
Amazon SNS, SQS
POJO? Apache Hadoop? HDFS, HBase, Hive
Makara, an open-source software-project for cloud deployment and management managed by Red Hat
MAP/Reduce
CAP Theorem
C: Consistency: All nodes see the same data
A: Availablity: Node failure does not prevent survivors from operating
P: Partition Tolerance: System works even though message are lost
http://en.wikipedia.org/wiki/Cloud_computing
http://en.wikipedia.org/wiki/List_of_cloud_computing_providers
http://en.wikipedia.org/wiki/Cloud_%28operating_system%29
Redis key-value store server.
Redis is an advanced key-value store.
It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.
Written in ANSI C, it's open-source, networked, in-memory, persistent and journaled.
Supported languages or language bindings include C, C++, C#, Clojure, Common Lisp, Erlang, Haskell, Java, JavaScript, Lua, Objective-C, Perl, PHP, Python, R, Ruby, Scala, Go, and Tcl.
As of 15 March 2010, development of Redis is sponsored by VMware.
http://redis.io/
http://en.wikipedia.org/wiki/Redis (data store)
Redis: Lightweight key/value Store That Goes the Extra Mile
Evolving the Key/Value Programming Model to a Higher Level
It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.
Written in ANSI C, it's open-source, networked, in-memory, persistent and journaled.
Supported languages or language bindings include C, C++, C#, Clojure, Common Lisp, Erlang, Haskell, Java, JavaScript, Lua, Objective-C, Perl, PHP, Python, R, Ruby, Scala, Go, and Tcl.
As of 15 March 2010, development of Redis is sponsored by VMware.
http://redis.io/
http://en.wikipedia.org/wiki/Redis (data store)
Redis: Lightweight key/value Store That Goes the Extra Mile
Evolving the Key/Value Programming Model to a Higher Level
Advanced Message Queuing Protocol
The Advanced Message Queuing Protocol (AMQP) is an open standard application layer protocol for message-oriented middleware (MOM). The defining features of AMQP are message orientation, queuing, routing (including point-to-point and publish-and-subscribe), reliability and security.
It's similar to JMS for Java but not language specific.
http://www.amqp.org/confluence/display/AMQP/Advanced+Message+Queuing+Protocol
It's similar to JMS for Java but not language specific.
http://www.amqp.org/confluence/display/AMQP/Advanced+Message+Queuing+Protocol
Tuesday, June 14, 2011
Linux based PID Servomotor Control
Great article that talk about implemented the PID, or the Proportional Integral Derivative, algorithm to make a 2 wheeled robot that balences like a segway.
Linux based PID Control
Linux based PID Control
Thursday, June 02, 2011
How Skype gets round firewalls
UPDATE: This protocol is now incorporated in to STUN , TURN and ICE. Global IP Solutions, the company that made the VOIP system that Skype was using was bought by Google shortly after Skype developed their own technology. Google then made the original skype technology freely available as WebRTC now supported by many HTML5 browsers. Microsoft then bought Skype. ----- REPOST FROM: http://www.heise-security.co.uk/articles/82481 No longer on the web. I want to point out this is the same method described in my Paper: Method of passing bi-directional data between two firewalls. 12 /15/2006 |
Jürgen Schmidt
The hole trick
How Skype & Co. get round firewalls
Peer-to-peer software applications are a network administrator's nightmare. In order to be able to exchange packets with their counterpart as directly as possible they use subtle tricks to punch holes in firewalls, which shouldn't actually be letting in packets from the outside world.Increasingly, computers are positioned behind firewalls to protect systems from internet threats. Ideally, the firewall function will be performed by a router, which also translates the PC's local network address to the public IP address (Network Address Translation, or NAT). This means an attacker cannot directly address the PC from the outside - connections have to be established from the inside.
Punched
But anyone who has used the popular internet telephony software Skype knows that it works as smoothly behind a NAT firewall as it does if the PC is connected directly to the internet. The reason for this is that the inventors of Skype and similar software have come up with a solution.Naturally every firewall must also let packets through into the local network - after all the user wants to view websites, read e-mails, etc. The firewall must therefore forward the relevant data packets from outside, to the workstation computer on the LAN. However it only does so, when it is convinced that a packet represents the response to an outgoing data packet. A NAT router therefore keeps tables of which internal computer has communicated with which external computer and which ports the two have used.
The trick used by VoIP software consists of persuading the firewall that a connection has been established, to which it should allocate subsequent incoming data packets. The fact that audio data for VoIP is sent using the connectionless UDP protocol acts to Skype's advantage. In contrast to TCP, which includes additional connection information in each packet, with UDP, a firewall sees only the addresses and ports of the source and destination systems. If, for an incoming UDP packet, these match an NAT table entry, it will pass the packet on to an internal computer with a clear conscience.
Switching
The switching server, with which both ends of a call are in constant contact, plays an important role when establishing a connection using Skype. This occurs via a TCP connection, which the clients themselves establish. The Skype server therefore always knows under what address a Skype user is currently available on the internet. Where possible the actual telephone connections do not run via the Skype server; rather, the clients exchange data directly.Let's assume that Alice wants to call her friend Bob. Her Skype client tells the Skype server that she wants to do so. The Skype server already knows a bit about Alice. From the incoming query it sees that Alice is currently registered at the IP address 1.1.1.1 and a quick test reveals that her audio data always comes from UDP port 1414. The Skype server passes this information on to Bob's Skype client, which, according to its database, is currently registered at the IP address 2.2.2.2 and which, by preference uses UDP port 2828.
|
| |
| Step 1: Alice tries to call Bob, which signals Skype. | |
|
| |
| Step 2: Bob tries to reach Alice, which punches a hole through Bob's Firewall. | |
|
| ||
| Step 3: Alice finally reaches Bobs computer through the hole. |
Doing the rounds
This description is of course somewhat simplified - the details depend on the specific properties of the firewalls used. But it corresponds in principle to our observations of the process of establishing a connection between two Skype clients, each of which was behind a Linux firewall. The firewalls were configured with NAT for a LAN and permitted outgoing UDP traffic.Linux' NAT functions have the VoIP friendly property of, at least initially, not changing the ports of outgoing packets. The NAT router merely replaces the private, local IP address with its own address - the UDP source port selected by Skype is retained. Only when multiple clients on the local network use the same source port does the NAT router stick its oar in and reset the port to a previously unused value. This is because each set of two IP addresses and ports must be able to be unambiguously assigned to a connection between two computers at all times. The router will subsequently have to reconstruct the internal IP address of the original sender from the response packet's destination port.
Other NAT routers will try to assign ports in a specific range, for example ports from 30,000 onwards, and translate UDP port 1414, if possible, to 31414. This is, of course, no problem for Skype - the procedure described above continues to work in a similar manner without limitations.
It becomes a little more complicated if a firewall simply assigns ports in sequence, like Check Point's FireWall-1: the first connection is assigned 30001, the next 30002, etc. The Skype server knows that Bob is talking to it from port 31234, but the connection to Alice will run via a different port. But even here Skype is able to outwit the firewall. It simply runs through the ports above 31234 in sequence, hoping at some point to stumble on the right one. But if this doesn't work first go, Skype doesn't give up. Bob's Skype opens a new connection to the Skype server, the source port of which is then used for a further sequence of probes.
| | | | | ||
| Skype can do port scans. Here it succeeds on port 38901 and connects through the firewall. | |||||
However, even then, Skype doesn't give up. In such cases a Skype server is then used as a relay. It accepts incoming connections from both Alice and Bob and relays the packets onwards. This solution is always possible, as long as the firewall permits outgoing UDP traffic. It involves, however, an additional load on the infrastructure, because all audio data has to run through Skype's servers. The extended packet transmission times can also result in an unpleasant delay.
Use of the procedure described above is not limited to Skype and is known as "UDP hole punching". Other network services such as the Hamachi gaming VPN application, which relies on peer-to-peer communication between computers behind firewalls, use similar procedures. A more developed form has even made it to the rank of a standard - RFC 3489 "Simple Traversal of UDP through NAT" (STUN) describes a protocol which with two STUN clients can get around the restrictions of NAT with the help of a STUN server in many cases. The draft Traversal Using Relay NAT (TURN) protocol describes a possible standard for relay servers.
DIY hole punching
With a few small utilities, you can try out UDP hole punching for yourself. The tools required, hping2 and netcat, can be found in most Linux distributions. Local is a computer behind a Linux firewall (local-fw) with a stateful firewall which only permits outgoing (UDP) connections. For simplicity, in our test the test computer remote was connected directly to the internet with no firewall.Firstly start a UDP listener on UDP port 14141 on the local/1 console behind the firewall:
local/1# nc -u -l -p 14141An external computer "remote" then attempts to contact it.
remote# echo "hello" | nc -p 53 -u local-fw 14141However, as expected nothing is received on local/1 and, thanks to the firewall, nothing is returned to remote. Now on a second console, local/2, hping2, our universal tool for generating IP packets, punches a hole in the firewall:
local/2# hping2 -c 1 -2 -s 14141 -p 53 remoteAs long as remote is behaving itself, it will send back a "port unreachable" response via ICMP - however this is of no consequence. On the second attempt
remote# echo "hello" | nc -p 53 -u local-fw 14141the netcat listener on console local/1 then coughs up a "hello" - the UDP packet from outside has passed through the firewall and arrived at the computer behind it.
Network administrators who do not appreciate this sort of hole in their firewall and are worried about abuse, are left with only one option - they have to block outgoing UDP traffic, or limit it to essential individual cases. UDP is not required for normal internet communication anyway - the web, e-mail and suchlike all use TCP. Streaming protocols may, however, encounter problems, as they often use UDP because of the reduced overhead.
Astonishingly, hole punching also works with TCP. After an outgoing SYN packet the firewall / NAT router will forward incoming packets with suitable IP addresses and ports to the LAN even if they fail to confirm, or confirm the wrong sequence number (ACK). Linux firewalls at least, clearly fail to evaluate this information consistently. Establishing a TCP connection in this way is, however, not quite so simple, because Alice does not have the sequence number sent in Bob's first packet. The packet containing this information was discarded by her firewall.
Wednesday, June 01, 2011
WebRTC - bringing real time communications to the web.
WebRTC - an open real-time communications project
WebRTC offers web application developers the ability to write rich, realtime multimedia applications (think video chat) on the web, without requiring plugins, downloads or installs. It's purpose is to help build a strong RTC platform that works across multiple web browsers, across multiple platforms.https://sites.google.com/site/webrtc/blog
Low Level Virtual Machine (LLVM)
LLVM is a really interesting alternative to java and it's bytecode jvm.
What's interesting is it can be run in the web browsers Javascript enterpreter allow this to run on web site.
So you can compile C & C++ code to run on the web in a javascript VM.
> Deepak - Apple is funding the project.llvm-gcc is the default compiler which is shipped with Mac OS and IOS SDK.
http://llvm.org/
From Slashdot: Doom Ported To the Web
What's interesting is it can be run in the web browsers Javascript enterpreter allow this to run on web site.
So you can compile C & C++ code to run on the web in a javascript VM.
> Deepak - Apple is funding the project.llvm-gcc is the default compiler which is shipped with Mac OS and IOS SDK.
http://llvm.org/
Low Level Virtual Machine (LLVM) is a compiler infrastructure, written in C++, which is designed for compile-time, link-time, run-time, and "idle-time" optimization of programs written in arbitrary programming languages. Originally implemented for C/C++, the language-independent design (and the success) of LLVM has since spawned a wide variety of front ends, including Objective-C, Fortran, Ada, Haskell, Java bytecode, Python, Ruby, ActionScript, GLSL, and others.
Emscripten is an LLVM-to-JavaScript compiler. It takes LLVM bitcode (which can be generated from C/C++, using llvm-gcc or clang, or any other language that can be converted into LLVM) and compiles that into JavaScript, which can be run on the web (or anywhere else JavaScript can run).
From Slashdot: Doom Ported To the Web
"Ever since Id Software released the Doom source code under the GPL, it's been ported to platform after platform. Now, you can play Doom compiled to JavaScript on the web, using standard web technologies like Canvas and without any plugins. If your browser has trouble running it, here's a screencast." The translation was accomplished using Emscripten, a Javascript backend for LLVM. As per the GPL, full source code is available. Pretty neat.
Friday, May 27, 2011
Friday, May 20, 2011
Thursday, May 19, 2011
Monday, February 07, 2011
Browse the web from the US
I friend of my is in the Middle east and wishes to browse the web from the US.
I am going to try to setup open VPN and tinyproxy on my Virtual Server Co-Lo for him and see how that works.
https://banu.com/tinyproxy/
http://openvpn.net/index.php/open-source.html
I am going to try to setup open VPN and tinyproxy on my Virtual Server Co-Lo for him and see how that works.
https://banu.com/tinyproxy/
http://openvpn.net/index.php/open-source.html
Friday, January 07, 2011
Bash: Find the Max in a list of Integers
Max is a little shells script that will find the maximum value and returns that value and the line it was found at.
max
Usage Example
max
#!/bin/bash
MAX=0
ELE=0
while read line; do
ELE=$[ $ELE + 1 ]
if [ "$line" -gt "$MAX" ]; then
MAX=$line
POS=$ELE
fi
done
echo "$MAX $POS"
Usage Example
-bash-3.2$ cat ttt
1000000001
1000000000002
1000000000007
1000000000033
9999
1000000000000
1000000000005
-bash-3.2$ ./max < ttt
1000000000033 4
-bash-3.2$
Hackers Find New Way To Cheat On Wall Street
From Slashdot:
"The high-speed trading exchanges that conduct the business of buying and selling stocks and mutual funds are so fast that hackers can introduce delays of a few microseconds completely unnoticed by today's network monitoring technology — and manipulate prices in the process to reap millions of dollars to the detriment of everyone else, InfoWorld's Bill Snyder reports. This kind of activity creates new reason to distrust Wall Street and shows how the computer networks we all rely on for conducting business and moving information are ripe for undetectable hacking."
"The high-speed trading exchanges that conduct the business of buying and selling stocks and mutual funds are so fast that hackers can introduce delays of a few microseconds completely unnoticed by today's network monitoring technology — and manipulate prices in the process to reap millions of dollars to the detriment of everyone else, InfoWorld's Bill Snyder reports. This kind of activity creates new reason to distrust Wall Street and shows how the computer networks we all rely on for conducting business and moving information are ripe for undetectable hacking."
Preserving Great Tech For Posterity — the 6502
From Slashdot:
"For great old hardware products like the MOS 6502 (used in the Apple II, the C64, the Nintendo NES), the details of the designs have been lost or forgotten. While there have been great efforts to reverse engineer the 6502 from the outside, there has not been the hardware equivalent of the source code — until now. As Russell Cox states: 'A team of three people accumulated a bunch of 6502 chips, applied sulfuric acid to them to strip the casing and expose the actual chips, used a high-resolution photomicroscope to scan the chips, applied computer graphics techniques to build a vector representation of the chip, and finally derived from the vector form what amounts to the circuit diagram of the chip: a list of all 3,510 transistors with inputs, outputs, and what they're connected to. Combining that with a fairly generic (and, as these things go, trivial) "transistor circuit" simulator written in JavaScript and some HTML5 goodness, they created an animated 6502 web page that lets you watch the voltages race around the chip as it executes. For more, see their web site visual6502.org.'"
"For great old hardware products like the MOS 6502 (used in the Apple II, the C64, the Nintendo NES), the details of the designs have been lost or forgotten. While there have been great efforts to reverse engineer the 6502 from the outside, there has not been the hardware equivalent of the source code — until now. As Russell Cox states: 'A team of three people accumulated a bunch of 6502 chips, applied sulfuric acid to them to strip the casing and expose the actual chips, used a high-resolution photomicroscope to scan the chips, applied computer graphics techniques to build a vector representation of the chip, and finally derived from the vector form what amounts to the circuit diagram of the chip: a list of all 3,510 transistors with inputs, outputs, and what they're connected to. Combining that with a fairly generic (and, as these things go, trivial) "transistor circuit" simulator written in JavaScript and some HTML5 goodness, they created an animated 6502 web page that lets you watch the voltages race around the chip as it executes. For more, see their web site visual6502.org.'"
Monday, January 03, 2011
Update All Scripts in One Swoop
First this is old hat for most admins, so they will sigh a collective yawn.
Now, let's say, like me you have a couple of dozen scripts written in wish8.4 and you want to update all the scripts at once to wish8.5.
sed -i 's/wish8.4/wish8.5' *
(added 2011-01-30)
tc
Now, let's say, like me you have a couple of dozen scripts written in wish8.4 and you want to update all the scripts at once to wish8.5.
sed -i 's/wish8.4/wish8.5' *
- sed - the classic stream editor in Unix (yes even linux and windows have it)
- -i - option, edit "in-place", meaning don't output the result, just change silently
- s /x/y/ - substitute y for x
- * - command line glob
(added 2011-01-30)
tc
Monday, December 27, 2010
Putin Orders Russian Move To GNU/Linux
From Slashdot:
"Vladimir Putin has signed an order calling for Russian federal authorities to move to GNU/Linux, and for the creation of 'a single repository of free software used in the federal bodies of executive power.' There have been a number of Russian projects to roll out free software, notably in the educational sector, but none so far has really taken off. With the backing of Putin, could this be the breakthrough free software has been waiting for?"
Here is another link to the story:
http://mashable.com/2010/12/ 27/vladimir-putin-free- software-by-2015/
"Vladimir Putin has signed an order calling for Russian federal authorities to move to GNU/Linux, and for the creation of 'a single repository of free software used in the federal bodies of executive power.' There have been a number of Russian projects to roll out free software, notably in the educational sector, but none so far has really taken off. With the backing of Putin, could this be the breakthrough free software has been waiting for?"
Here is another link to the story:
http://mashable.com/2010/12/
BSD Philosophy
BSD Unix started at Berkeley University shortly after a very turbulent and rebellious time at Berkeley in the late 60's.
During that time there were several major movements happening all at once. The Free Speech, Anti-War, Hippies, Free City, think for yourself, Acid test, civil rights, and a tornado of other forces that lead to several all out riots on campus.
Other influences at Berkeley are a large Asian Population and the study of eastern cultures (Chinese, Japanese and India) and Philosophy.
Many of these memes later incorporated themselves into the BSD Unix culture and Philosophy.
Respect for elders, New isn't always better
Unix and BSD Unix are old operating systems by our modern perception. But, if you were to think this was a bad thing you'd be totally wrong.
At the root of most Modern Operating Systems are design concepts first pioneered in Unix and BSD. Many way DOS, Windows NT,2000,XP, Mac OS X, NeXT OS, operate are based on UNIX concepts.
Change isn't the same as improvement
"The Great Wall of China wasn't built by swapping any bricks in and out" - John Sokol.
"The devil you know is better than the one you don't"
Unix development started more than three decades ago, and the versions of operating system available today is the product of thousands upon thousands of developers hard work and constant improvements. Along the way, Unix has pioneered some very powerful design concepts and some elgant solutions to hard problems common in computing.
"If I had more time, I would have written a shorter letter." - Mark Twain
"I have made this letter longer than usual, because I lack the time to make it short" (Je n'ai fait celle-ci plus longue parceque je n'ai pas eu le loisir de la faire plus courte) - Blaise Pascal, Lettres Provinciales (1656-1657), no. 16.
"Anyone can make something complex, but it takes a genius to make it simple" - Albert Einstein
Elimination of unnecessary complexity is a Key part of the BSD Philosophy
Much of the "Unix way" is based on the idea of abstracting interfaces into the simplest possible terms, BSD trys to take this to it's limits.
Initially, this was simply because the OS was considered experimental, and the simplest possible interface, one that wouldn't change later, .was the most easiest to construct.
This spend time upfront to think of how to "do it the easy way" methodology has evolved into a many of the most powerful design concepts in OS design. Abstraction that started in Unix is the core of many parts of a modern OS. From Files, Devices, Sockets, Modules, Processes, Memory Management, File Systems, directories, and Pipes.
Even the Internet is based on BSD technology and concepts. The BSD 4.2 OS was the first to Implement TCP/IP and part of that was the concept of network Sockets and Ports. Many other more complex network technology had been around for a while, but BSD Sockets allow for two computers to communicate in a way that uses the exact same commands as file access. Open, Read, Write, Close. It also uses another concept, Streams.
Simplicity and elegance though consistent software interfaces
Where:
elegant : adj. [common; from mathematical usage] Combining simplicity, power, and a certain ineffable grace of design. Higher praise than `clever', `winning', or even cuspy.
elegant : adj. [common; from mathematical usage] Combining simplicity, power, and a certain ineffable grace of design. Higher praise than `clever', `winning', or even cuspy.
"The challenge is keeping it simple while providing the people with functions. This is harder to do. Anyone can make something complex." Dauphin A German Chair company
Try to understand the intent of the original authors' style and intent, and make changes consistent with this
This means not just going in slashing and hacking changes into the Kernel or User space code without researching and thinking them through first. Find a clean way to do what ever your trying to do. Spaghetti code is not tolerated.
All too often a quick and dirty little hack that was meant to be temporary become permanent and hard to fix later.
KISS, Keep It Simple, Stupid or maybe Keep it Short and Simple, I like the first one.
Working on BSD code is basically working on other people code for the most part. Most likely what ever you do, someone else will have to work on after you.
Working on someone else code is something many application programmers realy suck at. Also they think using the latest cool tricks that just came out in the latest language spec or the new compiler supports it so it's really Cool.
F*ck them! These guys need to be slapped up side the head a few times.
I see time and time again the Linux guys keep making a mess for those who need to update there code and drivers over to the latest OS version. Often is is almost as bad as a cross platform port, nothing works out the box everything is broken and it becomes a major undertaking!
The Mac OS-X darwin they are mixing C++ and Objective C into the kernel source tree! It's full of broken locks and is nearly impossible to understand anymore. Leaving some messy and hard kernel hacking to the customers having to make there code work on a pig of an OS. I hope that doesn't sound like I'm venting too much, does it?
"A program with a colorful GUI is like a woman with too much makeup. Shiny on the outside - awful on the inside."
Quote from the NET
Are you going to run a gui or from the command line etc... over SSH?
If you want a gui I would go Linux maybe Fedora, for SSH use FreeBSD...I used to be against it but I am now a convert to the Church of BSD.
Why would I ever want a GUI? It may sound odd but I have never ran X on any of the 100's of FreeBSD systems I have worked on. Command line Interfaces Rull, and for most of the stuff I do is much faster. Even this web page is edited in "VI".
We are not Linux, We were here before them; and well be here after them
So what's the difference, much of the same code get's passed between BSD and Linux Right? That's only partly true. The Licenses are incompatable between the two for starters.
"I must say the linux community is a lot nicer than the unix
community. a negative comment on unix would warrant death
threats. With linux, it is like stirring up a nest of butterflies."
-- Ken Thompson author of C Language. 1999
![]() |
| BSD vs. Linux, Any questions? |
FreeBSD, OpenBSD and SuSE 6.2 Eval Review by Keith Rankin:
"The differences between FreeBSD and Linux used to be much more obvious than they are now.
Now it comes down to theology. The BSD world is still the 'high church' or Druid Unix. Blood will be spilled on a stone altar at midnite when star systems are in a certain alignment to learn the ways of this tribe. Linux is a happier world. The spirits of Captain Kirk, Peter Pan and good beer come to mind."
Hackers and the bushido code
For much of the early life of BSD Unix was spent running campus MiniComputers. PDP/11, Vax 11/750 and the like.
One way to attain elite status (enlightenment or become the master or Guru) was to "break root", break in or even just be able to crash the server.
This was not viewed as a federal offense, or even as something inappropriate but as an exciting challenge and testing the limits of the box.
For the many years it was an arms race between the OS developers and students to see if the box could be crashed by malicoius code or commands, the end result is something rock solid.
Now crashing a windows box usualy requires little more then power it up, but most BSD systems can go for years without rebooting, crashing or having it security compromised. Even on my own servers, like the one that ran the LeonardoDicaprio.com site, despite countless attempts to take out the box, it had little effect.
Part of Hacker Philosophy directly stems from these early BSD days, although not all of it. One of the thing was to not damage or sabotage, but to report and inform people of the bug or security hole. Maybe a little Kilroy was here on the administrators console ;)
Reboots, re-compiles and Re/Installations are EVIL and to be avoided at all costs.

One important thing about BSD is the belief that you should be able to stress the system in any number of ways, like open up and infinite number of files, sockets, programs, memory, or any other resource and have the system respond gracefully. But this I mean not to have a Blue Screen of Death, or Kernel Panic.
Linux groups have installfests, while BSD groups have installathons. Clearly an installfests sounds festive and much happier then an installathons that is more like a Marathon to try to race through it.
We are the one true Path, all non-believers (can go to hell) are damned to hell
This is in the tradition of all great religions.
From: Nick Moffitt nick@zork.net , With some paraphrasing.
Tue, 22 Aug 2000 14:02:47
Basically, user groups nowadays are either:
Lame talking-heads lecture series.
Cowtow to the windows users installathons.
I say that's bullsh*t, and we all know it. F*CK the newbies.
We'll hold installfests, sure, but we'll be perfectly justified in telling people to take their 386s with 15 year-old RLL drives and GO HOME. This will be a meeting of COOL PEOPLE to show off COOL STUFF!
We'll not be limited to a particular OS, either. We'll have Linux weenies, FreeBSD weenies, and cypherpunk weenies clutching their precious OpenBSD! We'll have the AMAZING GEORGE PERRY and his BEARDFUL OF FORTH!
I think that expresses the attitude fairly well...Tue, 22 Aug 2000 14:02:47
Basically, user groups nowadays are either:
Lame talking-heads lecture series.
Cowtow to the windows users installathons.
I say that's bullsh*t, and we all know it. F*CK the newbies.
We'll hold installfests, sure, but we'll be perfectly justified in telling people to take their 386s with 15 year-old RLL drives and GO HOME. This will be a meeting of COOL PEOPLE to show off COOL STUFF!
We'll not be limited to a particular OS, either. We'll have Linux weenies, FreeBSD weenies, and cypherpunk weenies clutching their precious OpenBSD! We'll have the AMAZING GEORGE PERRY and his BEARDFUL OF FORTH!
BSD License
Do what is right and be hated by those around you. Do what is popular and be hated by history.The BSD License allows anyone to use the code for any reason and any way with no restrictions other then credit is given to the Authors
Transparency Begets Trust - Expertise in niches, transparency in motives and thought process and owning up to mistakes publicly create a trust relationship" - Will Pate
In General people in the BSD world view people and Individuals who do not share code and improvements as pompous idiots. There are a ton of smart people in the BSD world and no one individual or company (M$) not sharing code is really going to make any difference, the reality is we probably wouldn't want there code anyhow.
Trust builds Confidence
They will loose the benefits of having 1000's of eyes screening the code for holes and bugs as well as tightening things up and making improvements.
This is very much same philosophy as the Private vs. Public research in almost any scientific field. If you keep your research to your self, then you don't get credited for it. Also your work never gets confirmed, there is a good chance of deluding yourself about how secure and bug free your code is. (take Microsoft for an example)
The BSD approach is consider by most people to be better for businesses, companies such as Apple and Microsoft benefited their users by incorporating BSD-licensed code without having to share there code or changes to this code.
When questioned, most GPL programmers did not want the work they released to be used in a manner they did not support.
The BSD philosophy seems to hold that creating and giving away code, then seeing it used by others, is victory and reward enough.
But most of the GPL supporters disapproved of allowing "others" to close off source code and hide enhancements.
Why the Church of BSD
BSD has been through many Holy Wars and has been called a religion by many people for a long time. Even it's experts are called Guru's , High Priests and Wizards. What BSD programmers do has sometimes been called VooDoo, Alchemy and Black Magic. People who violate our way of doing things are declared Heretics, and publicly flamed! We even have our own official canonical way of doing things and this is in the source code.
The Source code is our Bible.
It seems we are long over due for a formal Church of BSD.
The Source code is our Bible.
It seems we are long over due for a formal Church of BSD.
Canonical is an adjective derived from canon. It essentially means "standard", "generally accepted" or "part of the back-story." Canonical in my context means reduced to the simplest and most significant form possible without loss of generality.
This word is usualy used by theologians and canon lawyers to refer to the canons of the Eastern Orthodox and Roman Catholic churches, adopted by ecumenical councils.
This word is usualy used by theologians and canon lawyers to refer to the canons of the Eastern Orthodox and Roman Catholic churches, adopted by ecumenical councils.
Hacker Slang - Holy Wars From answers.com
[from Usenet, but may predate it; common] n. flame wars over religious issues. The paper by Danny Cohen that popularized the terms big-endian and little-endian in connection with the LSB-first/MSB-first controversy was entitled On Holy Wars and a Plea for Peace. Great holy wars of the past have included ITS vs. Unix, Unix vs. VMS, BSD Unix vs. System V, C vs. Pascal, C vs. FORTRAN, etc. In the year 2003, popular favorites of the day are KDE vs. GNOME, vim vs. elvis, Linux vs. [Free|Net|Open]BSD. Hardy perennials include EMACS vs. VI, my personal computer vs. everyone else's personal computer, ad nauseam. The characteristic that distinguishes holy wars from normal technical disputes is that in a holy war most of the participants spend their time trying to pass off personal value choices and cultural attachments as objective technical evaluations. This happens precisely because in a true holy war, the actual substantive differences between the sides are relatively minor. See also theology.
[from Usenet, but may predate it; common] n. flame wars over religious issues. The paper by Danny Cohen that popularized the terms big-endian and little-endian in connection with the LSB-first/MSB-first controversy was entitled On Holy Wars and a Plea for Peace. Great holy wars of the past have included ITS vs. Unix, Unix vs. VMS, BSD Unix vs. System V, C vs. Pascal, C vs. FORTRAN, etc. In the year 2003, popular favorites of the day are KDE vs. GNOME, vim vs. elvis, Linux vs. [Free|Net|Open]BSD. Hardy perennials include EMACS vs. VI, my personal computer vs. everyone else's personal computer, ad nauseam. The characteristic that distinguishes holy wars from normal technical disputes is that in a holy war most of the participants spend their time trying to pass off personal value choices and cultural attachments as objective technical evaluations. This happens precisely because in a true holy war, the actual substantive differences between the sides are relatively minor. See also theology.
What about Chuck?
The BSD Logo.
One another occasion a very christian individual was noticing the devil logo, I tried to explain it was a daemon, not demon or devil and didn't have any satanic meaning, again they freaked.
You have to admit, that's sort of a Satanic symbol if you ever saw one, right?
From: FreeBSD.com
"Many people equate the word ``daemon'' with the word ``demon,'' implying some kind of Satanic connection between UNIX and the underworld. This is an egregious misunderstanding. ``Daemon'' is actually a much older form of ``demon''; daemons have no particular bias towards good or evil, but rather serve to help define a person's character or personality. The ancient Greeks' concept of a ``personal daemon'' was similar to the modern concept of a ``guardian angel'' --- ``eudaemonia'' is the state of being helped or protected by a kindly spirit. As a rule, UNIX systems seem to be infested with both daemons and demons." (p403) The earliest (and most popular) renditions of the BSD Daemon were created by John Lasseter.
"Many people equate the word ``daemon'' with the word ``demon,'' implying some kind of Satanic connection between UNIX and the underworld. This is an egregious misunderstanding. ``Daemon'' is actually a much older form of ``demon''; daemons have no particular bias towards good or evil, but rather serve to help define a person's character or personality. The ancient Greeks' concept of a ``personal daemon'' was similar to the modern concept of a ``guardian angel'' --- ``eudaemonia'' is the state of being helped or protected by a kindly spirit. As a rule, UNIX systems seem to be infested with both daemons and demons." (p403) The earliest (and most popular) renditions of the BSD Daemon were created by John Lasseter.
![]() | ||
| That cute little red guy with the pitch fork is named Chuck |
![]() |
| First Drawing with the Daemon Logo |
Dictionary.com defines Daemon as A program or process that sits idly in the background until it is invoked to perform its task.
Historicaly though I always though of Chuck as more of a Gremlin really very much like the one portrayed in a Bugs Bunny cartoon "Falling Hare (1943)" before it was restored.
Officially Gremlins started in the 1920 at a RAF term for a low-ranking man saddled with oppressive assignments.
![]() |
| Gus the Airplane Military Insignia |
![]() ![]() |
| Military Airplane Insignias |
Also the Irish Gaelic word gruaimin, "ill-humored little fellow."
![]() |
| Drawing from Roald Dahl's book, "The Gremlins" Front Cover |
This very much conjures up visions of these little gremlins running about secretly doing things.
From Roald Dahl's book, "The Gremlins"
"I've just found a nest of widgets," he said, and looked around in triumph. "Widgets?" said Stuffy. "Widgets? Never heard of them!"
But Jamface went on. "As I said, I've just found a nest of widgets located in the rear turret of my plane. There were twelve of them . very young ones."
"What are widgets?" asked Gus.
"It's very simple," said Jamface. "Widgets are the young of gremlins and fifinellas. No one knows until they grow up whether they are going to turn into males or females, but it's usually males; in each nest of twelve widgets only one will eventually turn into a fifinella."
"I've just found a nest of widgets," he said, and looked around in triumph. "Widgets?" said Stuffy. "Widgets? Never heard of them!"
But Jamface went on. "As I said, I've just found a nest of widgets located in the rear turret of my plane. There were twelve of them . very young ones."
"What are widgets?" asked Gus.
"It's very simple," said Jamface. "Widgets are the young of gremlins and fifinellas. No one knows until they grow up whether they are going to turn into males or females, but it's usually males; in each nest of twelve widgets only one will eventually turn into a fifinella."
The Church of BSD: Background
We are not a Satanic Cult Although we may be a cult, this has yet to be determined
One day I was at a restaurant explaining process control to one of my disciples.
I was mentioning how we have to kill the children (child processes) if they become unresponsive. Or we can even set an alarm for the children to kill themselves. That the parent need to wait (wait3) and acknowledge that the child has died or else it will become a zombie. The look of horror the woman sitting across had was unforgettable. I tried to explain it was a computer software thing but it was too late, she fled terrified, probably to call the police or something. I didn't really want to stick around too long to find out.
From: man ps Z Marks a dead process (a ``zombie'').
Hey, you just can't make up shit like this.
I was mentioning how we have to kill the children (child processes) if they become unresponsive. Or we can even set an alarm for the children to kill themselves. That the parent need to wait (wait3) and acknowledge that the child has died or else it will become a zombie. The look of horror the woman sitting across had was unforgettable. I tried to explain it was a computer software thing but it was too late, she fled terrified, probably to call the police or something. I didn't really want to stick around too long to find out.
From: man ps Z Marks a dead process (a ``zombie'').
Hey, you just can't make up shit like this.
Don't forget that you have to Fork to Spawn Children, and the only way to Kill
On another occasion while being filmed doing a live video streaming event with Arthur C. Clarke, The camera filmed me key flying across the keyboard typing "kill 666". Just sort of odd the process ID, I didn't think much of it till It ended up in the final cut of a documentary video made about it.
And what about "chmod 666".
They say when you play a Microsoft CD backwards you can hear satanic messages...but that's nothing, if you play it forward it will install Windows!
And what about Chuck?
One another occasion a very christian individual was noticing the devil logo, I tried to explain it was a daemon, not demon or devil and didn't have any satanic meaning, again they freaked.
You have to admit, that's sort of a Satanic symbol if you ever saw one, right?
Read more at "What about Chuck".
BSD Unix History
Unix Started in AT&T Bell Labs in 1969. At time time is was freely shared as "scrap" The Berkely BSD 4.2 1983 OS was the first OS to support TCP/IP.
The Unix wars were the struggles between vendors of the Unix computer operating system in the late 1980s and early 1990s to set the standard for Unix henceforth. These battles are commonly held to have harmed the market acceptance of Unix and created a market gap that allowed the rise of Windows NT.
In the mid-1980s, the two common versions of Unix were BSD, from the University of California at Berkeley BSD4.2 released in 1983 , and System V, from AT&T. Both were derived from the earlier Version 7 Unix, but had diverged considerably. (This conflict was also known as the "UNIX wars" to some degree.) Further, each vendor's version of Unix was different to a greater or lesser degree.
A group of vendors formed the X/Open standards group in 1984, with the aim of forming compatible open systems. They chose to base their system on Unix.
X/Open caught AT&T's attention. To increase the uniformity of Unix, AT&T and leading BSD Unix vendor Sun Microsystems started work in 1987 on a unified system. This was eventually released as System V Release 4 (SVR4).
While this decision was applauded by customers and the trade press, other Unix licensees feared Sun would be unduly advantaged. They formed the Open Software Foundation (OSF), who released OSF/1, more closely based on BSD. AT&T and another group of licensees then formed UNIX International.
Technical issues soon took a back seat to vicious and public commercial competition between the two competing "open" versions of Unix, with X/Open holding the middle ground.
Linux kernel based on rewrite of Minux was released to the Internet in September 1991,
The first open source Unix port began in 1989 with 386BSD and first, incomplete traces of the port can be found in 4.3BSD NET/2 of 1991. It was first released in March 1992 (version 0.0) and in a much more usable version on July 14, 1992 (version 0.1).
Due to a lawsuit by AT&T, USL v. BSDi, some potentially so-called encumbered sources which existed within 386BSD were to be removed from all the derived systems, and the distribution of 386BSD was to be stopped. In late 1993
In 1993, AT&T sold Unix to Novell, who assigned trademark rights to X/Open. In 1996, X/Open and the OSF merged to form the Open Group, whose Single UNIX Specification is now the single standard for proprietary Unix. However, the damage to Unix's market share had been done.
that work on Intel PC based systems that have a reputation for being highly optimised,
highly secure and excellent (when decently configured) for keeping hackers at bay.
Linux does not compare all that well to BSD: having a reputation of being
a hacker's paradise to break into compared to BSD (FreeBSD at least).
FreeBSD (and the other BSD's) run some of the most intensely hit servers
on the globe, including ftp://ftp.cdrom.com. It can be said that the nicest
thing you can do for a hacker is replace Windows with Linux as not only is it
potentially easier to hack (one of the benefits of open source), but the system
becomes worth hacking into. The same cannot necessarily be said with BSD based UNIX's
which are built of sterner stuff to keep hackers at bay.
Thus the BSD based operating systems of which FreeBSD is one - have a reputation of being
better designed (by gurus no less!), more secure (and more security
conscious) and more robust than most other operating systems (including
Linux - an operating system - it is claimed - "written by kiddies - for kiddies").
Refer to:
FreeBSD, OpenBSD and SuSE 6.2 Eval Review by Keith Rankin: "The differences between
FreeBSD and Linux used to be much more obvious than they are now.
Now it comes down to theology. The BSD world is still the 'high church' or Druid Unix. Blood will
be spilled on a stone altar at midnite when star systems are in
a certain alignment to learn the ways of this tribe. Linux is a
happier world. The spirits of Captain Kirk, Peter Pan and good beer come to mind."
("Buckets of Blood" and non-alcoholic prudery is official CCP14 computer operating system policy)
The Unix wars were the struggles between vendors of the Unix computer operating system in the late 1980s and early 1990s to set the standard for Unix henceforth. These battles are commonly held to have harmed the market acceptance of Unix and created a market gap that allowed the rise of Windows NT.
In the mid-1980s, the two common versions of Unix were BSD, from the University of California at Berkeley BSD4.2 released in 1983 , and System V, from AT&T. Both were derived from the earlier Version 7 Unix, but had diverged considerably. (This conflict was also known as the "UNIX wars" to some degree.) Further, each vendor's version of Unix was different to a greater or lesser degree.
A group of vendors formed the X/Open standards group in 1984, with the aim of forming compatible open systems. They chose to base their system on Unix.
X/Open caught AT&T's attention. To increase the uniformity of Unix, AT&T and leading BSD Unix vendor Sun Microsystems started work in 1987 on a unified system. This was eventually released as System V Release 4 (SVR4).
While this decision was applauded by customers and the trade press, other Unix licensees feared Sun would be unduly advantaged. They formed the Open Software Foundation (OSF), who released OSF/1, more closely based on BSD. AT&T and another group of licensees then formed UNIX International.
Technical issues soon took a back seat to vicious and public commercial competition between the two competing "open" versions of Unix, with X/Open holding the middle ground.
Linux kernel based on rewrite of Minux was released to the Internet in September 1991,
The first open source Unix port began in 1989 with 386BSD and first, incomplete traces of the port can be found in 4.3BSD NET/2 of 1991. It was first released in March 1992 (version 0.0) and in a much more usable version on July 14, 1992 (version 0.1).
Due to a lawsuit by AT&T, USL v. BSDi, some potentially so-called encumbered sources which existed within 386BSD were to be removed from all the derived systems, and the distribution of 386BSD was to be stopped. In late 1993
In 1993, AT&T sold Unix to Novell, who assigned trademark rights to X/Open. In 1996, X/Open and the OSF merged to form the Open Group, whose Single UNIX Specification is now the single standard for proprietary Unix. However, the damage to Unix's market share had been done.
BSD Unix
The BSD varients (FreeBSD, NetBSD, OpenBSD, etc) are UNIX based operating systemsthat work on Intel PC based systems that have a reputation for being highly optimised,
highly secure and excellent (when decently configured) for keeping hackers at bay.
Linux does not compare all that well to BSD: having a reputation of being
a hacker's paradise to break into compared to BSD (FreeBSD at least).
FreeBSD (and the other BSD's) run some of the most intensely hit servers
on the globe, including ftp://ftp.cdrom.com. It can be said that the nicest
thing you can do for a hacker is replace Windows with Linux as not only is it
potentially easier to hack (one of the benefits of open source), but the system
becomes worth hacking into. The same cannot necessarily be said with BSD based UNIX's
which are built of sterner stuff to keep hackers at bay.
Thus the BSD based operating systems of which FreeBSD is one - have a reputation of being
better designed (by gurus no less!), more secure (and more security
conscious) and more robust than most other operating systems (including
Linux - an operating system - it is claimed - "written by kiddies - for kiddies").
Refer to:
FreeBSD, OpenBSD and SuSE 6.2 Eval Review by Keith Rankin: "The differences between
FreeBSD and Linux used to be much more obvious than they are now.
Now it comes down to theology. The BSD world is still the 'high church' or Druid Unix. Blood will
be spilled on a stone altar at midnite when star systems are in
a certain alignment to learn the ways of this tribe. Linux is a
happier world. The spirits of Captain Kirk, Peter Pan and good beer come to mind."
("Buckets of Blood" and non-alcoholic prudery is official CCP14 computer operating system policy)
Remove all but the newest packages on hosts
Remove all but the newest packages on hosts
for h in $(ls XXX* | sed 's/\(\w*\)\..*/\1/' | sort -u ); do
ls -t $h* | tail -n +4
done | xargs sudo rm
list just packages.
sed 's/\(\w*\)\..*/\1/'
this turns "XXXyyy-1.23.rpm" in to XXXyyy-1
sort -u
then only give me unique package names.
for h
indexs through each type of package.
Then we pass each package type $h* in to a ls -t that sorts by time,
tail -n +4
this removes the first 3 lines from what it list in the ls, just the 3 newest versions
xargs
then takes this list of files from everything before and passes it as an argument to rm
After IPv4, How Will the Internet Function?
from Slashdot:
"36 countries in the world have over 100% per-capita usage of mobile phones, and this is driving a real crunch on IPv4 addresses as more and more of these devices are data-capable. The mobile network operators are acting fast to deploy IPv6, and T-Mobile USA has had an IPv6-only trial going on for over 9 months now using NAT64 to bridge to IPv4 Internet content. It is interesting to note that the original plan for IPv6 transition, dual-stack, has failed since IPv4 addresses are effectively already exhausted for many people who want them. Dual-stack also causes many other issues and has forced the IETF to generate workarounds for end users called happy eyeballs (implying that eyeballs are not happy with dual-stack), and a big stink around DNS white-listing. How will you ensure that your network, users, and services continue to work in the address-fractured world of the future where some users have only IPv4 (AT&T ), some users have only IPv6 (mobile and machine-to-machine as well as developing countries), and other Internet nodes have both?"
"36 countries in the world have over 100% per-capita usage of mobile phones, and this is driving a real crunch on IPv4 addresses as more and more of these devices are data-capable. The mobile network operators are acting fast to deploy IPv6, and T-Mobile USA has had an IPv6-only trial going on for over 9 months now using NAT64 to bridge to IPv4 Internet content. It is interesting to note that the original plan for IPv6 transition, dual-stack, has failed since IPv4 addresses are effectively already exhausted for many people who want them. Dual-stack also causes many other issues and has forced the IETF to generate workarounds for end users called happy eyeballs (implying that eyeballs are not happy with dual-stack), and a big stink around DNS white-listing. How will you ensure that your network, users, and services continue to work in the address-fractured world of the future where some users have only IPv4 (AT&T ), some users have only IPv6 (mobile and machine-to-machine as well as developing countries), and other Internet nodes have both?"
Progress In Algorithms Beats Moore's Law
"Seen on the blog 'Algorithmic Game Theory,' a report to congress and the president about past and future advances in information technology notes that, while improvements in hardware accounted for an approximate 1,000 fold increase in calculation speed over a 15-year time-span, improvements in algorithms accounted for an over 43,000 fold increase."
Friday, December 24, 2010
Ubuntu blocking X11 solution
My servers are OpenSuSe and my personal machine is Ubuntu. On a local area network, I can run my X11 editor and edit files on the server. But remotely, like from home, it was not clear.
This did it. Add to /etc/ssh/ssh_config
ClearAllForwardings yes
I also explicitly set the ssh server
X11Forwarding yes
it is not clear if this is the default
Today (2010-12-29), I also noted in /etc/ssh/ssh_config
ForwardX11 yes
tc
This did it. Add to /etc/ssh/ssh_config
ClearAllForwardings yes
I also explicitly set the ssh server
X11Forwarding yes
it is not clear if this is the default
Today (2010-12-29), I also noted in /etc/ssh/ssh_config
ForwardX11 yes
tc
Tuesday, December 21, 2010
The Mysteries of the Unix Date Command.
To do any math on dates is very difficult in any language. But in the Unix/Linux shell this can be a breeze.
This is done by converting all data time in to Seconds.
In Unix this is done by counting seconds from UTC or Universal Constant Time, 1/1/1970
So once you convert in to second, you can do math as usual, then convert time back to date time.
Example of how to convert back and forth
Conversion from Seconds UTC to string
Conversion from string to Seconds UTC
Current time
Get Seconds UTC file creation date.
So for doing math on time:
Returns how many hours old
Return age of oldest file in directory
Create Shell alias of this
This is done by converting all data time in to Seconds.
In Unix this is done by counting seconds from UTC or Universal Constant Time, 1/1/1970
So once you convert in to second, you can do math as usual, then convert time back to date time.
Example of how to convert back and forth
Conversion from Seconds UTC to string
-bash-3.2$ date --date "1970-01-01 1292970890 sec utc"
Tue Dec 21 14:34:50 PST 2010Conversion from string to Seconds UTC
-bash-3.2$ date --date "12/21/2010 14:34:50 PST" "+%s"
1292970890
-bash-3.2$ date --date "Dec 21 14:34:50 PST 2010" "+%s"
1292970890Current time
-bash-3.2$ date "+%s" 1292979451
Get Seconds UTC file creation date.
stat -c %Y filename
ls -l -rw-r--r-- 1 jsokol jsokol 8 Sep 22 18:36 t
-bash-3.2$ stat -c %Y t
1285205797So for doing math on time:
Get file age
(In Bash)Returns how many hours old
expr \( `date +%s` - `stat -c %Z $filename` \) / 3600
Return age of oldest file in directory
expr \( `date +%s` - `stat -c %Y \`ls -t | tail -1\` ` \) / 3600
Create Shell alias of this
alias oldest='expr \( `date +%s` - `stat -c %Y \`ls -t | tail -1\` ` \) / 3600'
bash process ID PID
$$, My PID
$!, My Child PID
$PPID, My Parent PID
$!, My Child PID
$PPID, My Parent PID
Friday, December 17, 2010
Ansi color codes in Ruby
#!/usr/bin/ruby
esc="\e["
st=""
x=30
while x < 38 do
y=40
while y < 48 do
st += esc+"#{x};#{y}m #{x};#{y} "
y+=1
end
puts st+esc+"0m\a"
st=""
x += 1
end
puts esc+"0m"
This output's
With a little work I am sure this can be made in to a simple function or library.
or just something you can send with a puts.
Ruby to MBox format.
I have over the past 20+ years written many scripts to deal with incoming mail.
I can process statistics from machine generated alert E-mails, rebroadcast E-mails and generate pages from them based on there content.
I was using a the IMAPClient library in Perl for this, but when my IMAP Mail server was migrate to an SSL based TLS/IMAP everything broke.
TLS encrypted port 993 RFC2595 RFC3501
After many long hours of struggling to get IMAPClient to work over SSL I just had to give up. It looks like something is just broken in that lib, I tried opening my own SSL socket then passing it to the lib, I tried having the lib itself connect to the SSL socket, no luck.
The Ruby net/imap just seems better written and it does work. Unfortunately it's lacking the message_to_file function which I had to replace that functionality.
A small change in the scripts below could also simulate .forward also or support mail dir.
If you do that, please send me a copy
In Perl for Non-secure IMAP
I am just learning Ruby, so please excuse some of this code.
In Ruby secure TLS/IMAP
I can process statistics from machine generated alert E-mails, rebroadcast E-mails and generate pages from them based on there content.
I was using a the IMAPClient library in Perl for this, but when my IMAP Mail server was migrate to an SSL based TLS/IMAP everything broke.
TLS encrypted port 993 RFC2595 RFC3501
After many long hours of struggling to get IMAPClient to work over SSL I just had to give up. It looks like something is just broken in that lib, I tried opening my own SSL socket then passing it to the lib, I tried having the lib itself connect to the SSL socket, no luck.
The Ruby net/imap just seems better written and it does work. Unfortunately it's lacking the message_to_file function which I had to replace that functionality.
A small change in the scripts below could also simulate .forward also or support mail dir.
If you do that, please send me a copy
In Perl for Non-secure IMAP
#!/usr/bin/perl
use Mail::IMAPClient;
my $imap = Mail::IMAPClient->new( Server => 'mail.yourdomain:143',
User => 'jsokol',
Password => 'yea-right')
or die "IMAP Failure: $@";
foreach my $box qw( alarmpoint ) {
my $file = "/uhome/jsokol/crapmail/". $box;
$imap->select($box);
my @msgs = $imap->search('ALL')
or die "Couldn't get all messages\n";
foreach my $msg (@msgs) {
open my $pipe, "| formail >> $file"
or die("Formail Open Pipe Error: $!");
$imap->message_to_file($pipe, $msg);
close $pipe
or die("Formail Close Pipe Error: $!");
$imap->delete_message($msg);
}
# Now expunge the messages and close the folder
$imap->expunge($box);
$imap->close($box);
}
$imap->logout();
I am just learning Ruby, so please excuse some of this code.
In Ruby secure TLS/IMAP
#!/usr/bin/ruby
require 'net/imap'
server = "mail.yourdomain.com"
port = 993
ssl = true
username = "jsokol"
password = "yea-right"
Net::IMAP.debug = false
conn = Net::IMAP.new(server, port, ssl)
resp = conn.login(username, password)
conn.select('test')
conn.search(['ALL']).each do |sequence|
env = conn.fetch( sequence,"ENVELOPE")[0].attr['ENVELOPE']
xdate = env.date.split(" ");
wkday = xdate[0].sub(/,/,"")
day = xdate[1]
month = xdate[2]
year = xdate[3]
time = xdate[4]
if (day.length < 2)
day = "0" + day
end
box = env.from[0].mailbox + "@" + env.from[0].host + " " + wkday + " " + month + " " + day + " " + time + " " + year
fetch_result = conn.fetch( sequence, "RFC822")[0].attr['RFC822']
if fetch_result
File.open( "MAILOUT" , "a") {|file| file.write ("From #{box}\n#{fetch_result}\n\n\n") }
end
conn.store(sequence , "+FLAGS", [:Deleted]) # remove this line if you don't want to deltete these E-mails.
end
conn.expunge # remove this line if you don't want to deltete these E-mails.
conn.logout
conn.disconnect
Google Public DNS
Few people are aware of this but Google offers a DNS service.
This is particularly useful in a number of situations.
*If you are inside a corporate firewall and want to test host DNS entries appear to the outside world.
*If you don't trust your local ISP, or their DNS is having issues.
I often run scripts to check massive blocks of IP's
Google Public DNS IP addresses
The Google Public DNS IP addresses are as follows:
8.8.8.8
8.8.4.4
Using Google Public DNS
8.8.8.8, A DNS Number for Faster Browsing
This is particularly useful in a number of situations.
*If you are inside a corporate firewall and want to test host DNS entries appear to the outside world.
*If you don't trust your local ISP, or their DNS is having issues.
I often run scripts to check massive blocks of IP's
#while read ADDR
for ADDR in $IPLIST; do
DNSR=`host $ADDR 8.8.8.8 | tail -1 | awk ' {print $NF}' | sed 's/3(NXDOMAIN)/NONE/'
echo "$HOST : $ADDR $DNSR" >> ADDR-LIST.txt
done
Google Public DNS IP addresses
The Google Public DNS IP addresses are as follows:
8.8.8.8
8.8.4.4
Using Google Public DNS
8.8.8.8, A DNS Number for Faster Browsing
Thursday, December 16, 2010
Lua Programming
Lua is a sexy little language out of Brazil.
http://wiki.eluaproject.net/Overview
http://wiki.eluaproject.net/
http://wiki.eluaproject.net/Overview
http://wiki.eluaproject.net/
Ruby programming
Been learning Ruby lately. Didn't think I'd like it better then Perl But I do.
I will post some links I have found useful on this page.
Ruby Basic Tutorial
Ruby in Twenty Minutes
Ruby in 100 Minutes
Ruby 101: Substrings in Ruby
I will post some links I have found useful on this page.
Ruby Basic Tutorial
Ruby in Twenty Minutes
Ruby in 100 Minutes
Ruby 101: Substrings in Ruby
Some files space is just wasted
Recently, while testing some software that did directory tree displays, I noted 1,505,297 bytes used just to store the names for the /usr directory for Linux. Or 28000+ subdirectories.
Again, that is 1,505,297 bytes just for the directory names.
tc
Again, that is 1,505,297 bytes just for the directory names.
tc
Saturday, October 02, 2010
Oil and Lube
One would think that computers are not in need of regular maintenance, in fact they are. After some time in operations - months or years, any original lubricants are gone. Recently, SVBUG was gifted several servers that had seen their prime, but were still useful. A little Oil and Lube did the trick.
Here are a couple of Tutorials on :
How to Remove and Apply Thermal Compound By Jeremy Blum (aka sciguy14)
http://www.youtube.com/watch?v=I3gx6c62D7I
Quiet noisy computer fans with a drop of oil by Greg Shultz
http://articles.techrepublic.com.com/5100-10878_11-5034842.html
tc
Here are a couple of Tutorials on :
How to Remove and Apply Thermal Compound By Jeremy Blum (aka sciguy14)
http://www.youtube.com/watch?v=I3gx6c62D7I
Quiet noisy computer fans with a drop of oil by Greg Shultz
http://articles.techrepublic.com.com/5100-10878_11-5034842.html
tc
Tuesday, September 28, 2010
BSD Event Feed and RSSFeed
Looks like a semi-official BSD Events list,
http://twitter.com/bsdevents
The RSS Feed is on the right below the menu junk. It's also below:
http://twitter.com/statuses/user_timeline/23451058.rss
tc
http://twitter.com/bsdevents
The RSS Feed is on the right below the menu junk. It's also below:
http://twitter.com/statuses/user_timeline/23451058.rss
tc
Subscribe to:
Posts (Atom)















