Posts

Showing posts from December, 2008

What firewall do I need to install under Linux? - they ask

This has been asked by a friend of mine some time ago. In short, you have the needed links over here: http://en.wikipedia.org/wiki/Netfilter

As it was a phone call, I started the conversation by telling him that you don't necessarily need a firewall, or at least it's not a problem if you will only have time to configure the system in a week or so. "Really?" - he gasped. In short, I told him, you can trust an Ubuntu system (okay, not the best example of this but that's what he had at hand :->) much more than what you had before. You see he was accustomed to seeing malware taking over his w. system in a matter of minutes and having a need for re-installation many times despite taking precaution (firewall, virus scanners, etc.) _and_ having an I.T. background.

He asked me how this could be true. I said it's simple. There exist many layers of protection that improve your security.

You can install software packages that are signed by a trusted third party (the dis…

I have been infected by a virus!

Of course it was only a Wirus soiling my flash keydrive, so no sweat! ;) I had transferred the pdf document that I wanted to print out at the copier to the drive beforehand. I took it for printing, and everything went fine - up until I wanted to use it next time a week later. I usually keep only two directories on it for easier navigation: one called "_" that stores my data, and one called "print" that I put the single file I want to print in. When I next mounted the drive I almost bursted into laughter after seeing the directory listing!

./_
./print
./Start.exe
./autorun.inf
./ufo.exe
./recycler/Lcass.exe

Anyway, we all need to be cautious.

http://www.youtube.com/watch?v=k-GaRKDsz-Y Weird Al Yankovic - Virus Alert

Optimization and making responsive human-computer user interfaces?

A few words about responsiveness. I admit that one can't cast magic on programs. If an elementary task needs a certain amount of memory and time to complete, you can't do unlimited optimization on it. However, sometimes the big picture - the architecture - can use some rework for huge benefits. You don't always need to complete the whole task at once or the precise task at first. Sometimes more appropriate algorithms or data structures can be chosen, or solutions can be specialized for a given task. Sometimes you could complement your implementation with a few common special cases with superior runtime. One could also apply additional refactorings to reveal other design defects.

The last, but most important aspect is the user interface. The reaction time that is considered instant by humans for practical purposes is in the range of 100-300ms. Every human action must be followed by a user friendly response of the computer in the reaction time. This is a simple rule to keep i…

What is the difficulty in porting between Unix-like OSes?

I would like to map the difficulty in porting most, if not all packages from Debian between UNIX-like operating systems for example. One could clean the source of said packages to programming language standards and use platform independent libraries (POSIX and the like). Perhaps it would be beneficial to insert some abstraction layers to aid in achieving our goal. What else is needed? I would need to find out how the OpenBSD, Minix and Debian/kFreeBSD guys have been doing it until now. Wouldn't it be nice if you wrote a new kenel and every one of the applications that you are used to just got "magically" ported almost right away?

My dreams coming true: OS kernels and security today

I have received response concerning my (complicated) grammar. Consequently, I try to compose simpler structures. :)

I started using computers at a young age, so I mostly played games at first. I didn't play much, though. One of my favourite games at the time was a real time strategy game (Dune2). I was amazed of the program. I always wondered how it works. That was the motivation behind my programming career.

It happens to me often that I want to improve things I dislike. I first wished Dune2 had a better interface and more intelligent units with a gameplay requiring less micro-management. A friend of mine demonstrated Total Annihilation for me some years later. It pretty much covered most improvements I wanted to make at that time.

I wanted to create a better operating system almost from day one. I always wished I had a more powerful OS shell than the one I had then (command.com at first, later DOS Navigator). I needed to design and compile my own small applications even for the mos…

PDA in Chicane - Don't Give Up?

Is it a Psion Revo that the rebel girl is using (with screen animated) in that video?! Sorry, but I can't give you a working link as the original one has been deleted by request of the copyright holder.
http://www.youtube.com/watch?v=upBwes8WApo

Merry X-mas, Hanukkah, Grav-mass, whatever...

Image
[ unwords [ "I wish", who, what ]
| who <- [ "you", "your loved ones" ]
, what <- [ "Happy Holidays", "a Happy & prosperous new year" ] ]

Here's a drawing I've made from a tiny photo. I needed to retouch almost every part of the original after quantization. I also did great effort to make it tile. I have first tried experimenting with gimp-resythesizer to no luck, so I had to do it by hand. I've cut&pasted the top 100 rows and the leftmost 100 columns to the other side of the image to a temporary black stripe, have made the modifications and put it back afterwards. As the last phase, I have also vectorized it using potrace. Sadly, Blogger does not allow uploads in any vector format at all.

Groovy looking recursive clothing :)

Lazy evaluation in LISP

A friend of mine has developed a new LISP-like language to assist in constructing lazy algorithms and the like. He also gives some examples like Peano axiomatic integers. Here's the link:
http://gergo.erdi.hu/elte/2008-1-haskell/clazy/

Nifty Haskell and LISP projects (updated)

I find people who are fluent in specialized and high level languages to have written interesting articles and done nice projects with a much higher probability than the average. :)

Anyway, my current interest is in how you can define GUIs with functional languages. I have done a web search recently on the topic but have to sadly acknowledge that the ones of the highest abstraction level are not currently of production quality. Maybe it would be best to hack some functions of my own fulfilling my needs and opt for wxHaskell. Does it worth it? I need to give it a try.


http://web.cs.wpi.edu/~cs4536/c06/Assignments/hwk2.html nice functional programming assignments
http://www.lassila.org/blog/archive/2006/05/fun_with_lazy_e_1.html working on LISP laziness
http://common-lisp.net/project/clazy/ LISP laziness project
http://www.haskell.org/haskellwiki/Stack_overflow laziness is not always a bliss
http://web.cecs.pdx.edu/~mpj/cs557/week07.pdf Mark P. Jones: "Lazy Evaluation: Strict Evaluation: …

NEWS: fixed typos, horner, si, fizzbuzz, updated links, hsh, sequent_prover, x86_asm_generation

Site update in keywords: fixed some typos in site_back and about_me, minor alteration to horner.hs, updated links with hsh and sequent_prover, added a fizzbuzz, major update to si.erl (0.2).

On another note, I came across a nice fellow recently who has some nifty things tagged 'Haskell', like:
http://porg.es/blog/generating-x86-assembly-with-haskell
http://porg.es/blog/simple-socket-programming-with-haskell


While browsing the blog, I have also found these indirectly:
http://software.complete.org/software/wiki/hsh Haskell, bash, integration, very handy
http://okmij.org/ftp/Computation/monadic-shell.html UNIX shell vs. Haskell Monadic IO (I've noticed that before too! :->)


By the way, anyone for a tiny sequent calculus prover base?
http://www.polyomino.f2s.com/david/haskell/gentzen.html sequent calculus prover in Haskell


And last, but not least: :-D
main = putStr$ unlines [ n_or_label n | n<-[1..100] ] where
n_or_label n = if ""/=label n then label n else show n
labe…