Weekly Stickies

  • Intel assumes that you’re using an optimizing assembler.  For example:  Assembling “subl $1,%eax” gets you the opcode for “decl %eax”.  Attempting to do anything with 0 as an immediate poses a problem as there are no opcodes that will use 0.  “movl $0, %eax”, “subl %eax,%eax”, and “xorl %eax,%eax” all assemble to the same opcode, which is an instruction with no mnemonic:  STZ, aka the STore Zero instruction.
  • “Whereas Europeans generally pronounce my name the right way (‘Nick-louse Veert’), Americans invariably mangle it into ‘Nickel’s Worth.’ This is to say that Europeans call me by name, but Americans call me by value.”
    -Niklaus Wirth, inventor of ALGOL, Pascal, Euler, Modula, and Oberon programming languages
  • There are no decent ascii art images of ring-tailed lemurs.  The best one has too short of a snout.
  • LOL at Genet:  http://en.wikipedia.org/wiki/Genet_(animal).
    The body of a cat, neck of a ferret, head of a weasel, and tail of a lemur.
  • O.O  The default failure mode of our public demo app is to route to live data as long as the usernames match.  This jump happens without any user notification at all.  This is equivalent to a gun that shoots rubber bullets until it runs out and then starts shooting live ammo with no warning.
  • Pad Thai doesn’t work well in pot noodle form.  The flavors are all there in the right proportion but the noodles are too short and part of Pad Thai’s appeal is that it’s a noodle and sauce dish.
  • It’s interesting to note that studies have shown that the interests of corporate entities are mostly aligned with the interests of those who hold the majority of the common stock and are opposed to the interests of employees, with levels of conflict increasing from the top-down such that the lowest paid employees feel the most conflict.  It’s also been shown that professional organizations and labor unions (and professional identification in general) tends to be at odds with the overall success of corporations – employees feel a greater attachment to their profession than they do to their employer.
  • Huh.  High turnover is apparently good as they see it as a sign of an “agile business entity, ready to face new market challenges on a daily basis.”
  • Huh.  Fortune magazine says that cubicles were invented in the ’50s to ENCOURAGE independence, communication, the free flow of ideas, and creativity and personal expression.  They’ve done the exact opposite of their intended purpose.
  • Forced corporatese bullshit is annoying:  “You will love the corporation.  The corporation is your reason for being.  You owe yourself to the corporation.  You are nothing in the eyes of the corporation.”  It doesn’t help me do my job and actually make any money for the corporation.  The time and effort spent in constantly looking over my shoulder could be better spent improving business processes and putting us all to better use.
  • Our corporate culture discourages taking responsibility for success and encourages taking responsibility for others’ failure.  Standards preclude us from attaching any personally identifiable info to software changes but problems can easily be tracked back to our user IDs.
  • Innovation is bad.  Never question anything.  100% compliance is mandatory and any deviations are quickly dealt with.
  • I’m not allowed to say who I work for so it’s hard for me to be proud to work for them.
  • Converting dustpuppy to BSD, pros and cons
      • PROS:
      • BSD is faster and more secure than Linux.
      • BSD is a complete software environment.
      • BSD supports building from source or installing from binary.
      • BSD has better integrated tools.
      • BSD is more standards-compliant and easier to configure.
      • BSD supports RYO kernels.
      • BSD supplies the original UNIX versions of popular tools, not GNU work-alikes.
      • BSD supports POSIX standards rather than GNU.
      • BSD has a less restrictive license that works with binary-only modules.
      • BSD will run Linux binaries.
      • BSD is focused on functionality, not philosophy.
      • BSD is an old-fashioned UNIX and fully hand-tweakable.
      • You can write your own RC scripts from scratch – they don’t call a “daemonizer” or startup helper.
      • UFS2 is more efficient with small files than ext3.
      • BSD has more command-line and TUI tools for system administration than Linux.
      • CentOS has an integrated X11 system and desktop (not that I ever use it).
      • IPC is more file-based (with sockets and pipes) than Linux (with semaphores and anonymous pipes).
      • BSD uses manpages, not TeXinfo files.
      • CONS:
      • BSD has fewer kernel options than Linux.
      • BSD has fewer builtin software options than Linux.
      • BSD has more limited hardware support.
      • BSD doesn’t support LVM or storage pools natively (need add ons).
      • BSD won’t boot from pooled storage, SAN, or software RAID.
      • BSD has no separate /boot – the kernel lives in /
      • I would have to remove the tux sticker from dustpuppy’s case.  It’s been there since I built the machine four years ago.
      • BSD’s kernel is harder to configure than Linux.
      • BSD doesn’t natively support SysV initscripts.
      • BSD doesn’t support service management (rc scripts are simple shells).
      • BSD’s init has only two runlevels (Single and Normal).
      • UFS2 takes longer to check a disk than ext3.
      • Linux has more graphical system administration tools than BSD.
      • BSD’s X11 and desktop are tacked on as an afterthought (it is primarily a server OS after all).
      • IPC is more complex (and less efficient) on BSD than Linux or System V.
      • I would have to learn the idiosyncrasies of BSD libc and compiler suite.  I’ve been writing C code for GNU (with things like getopt) for almost 10 years.
      • UFS2 has file locking issues with NFS, especially in /var/spool and /var/run.
  • All non-job control shells (e.g. original UNIX Bourne shell) do is fork() and exec() the specified command, then call wait().  Job control is more complicated.  Some shells support the disown operation on background or stopped jobs, which donates the child process to init.
Advertisements

, , , , , ,

  1. Leave a comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: