I was torqued this morning when I lost 2 hours of work reviewing the recentlog, creating reaction notes, and doing some practice combat planning.
I need to develop better work habits:
1. Edit in an editor or word processor that saves periodically so when my XP crashes or I lose power I can usually recover most of the work.
2. Get my power backup systems allocated properly between work stations, servers, and prototypes.
If I get back to it I will recreate some of the good work here later. It was not totally wasted. Analysis and planning is always improved a bit second time through if one is in a good productive mood to constructiviely criticise own work. Probably like sex, better if you can arrange a walkthrough with someone else rather than masturbating but what to do if there nobody around interested in your stuff?
1. Change format
2. Change venue
3. Change careers
4. Change lattitude or altitude or attitude & -->LA
Review formal logic and electrical engineering basics, e fundies. Getting pretty bad when cannot play base letter games with electronic logic.
Found some goodies, old portable TV, old lawn mower, some lead weights. Coincidence a Nomad I chatted with a bit encouraged me to experience E-Bay? I think not, when rotating layers of patterns intersect in someone's perception are we seeing shadows of the almighty or some fundamental principle of the universe? One of these days I need to get back to chaos theory. Interesting applications in sociology where some research indicated that strong outliers are critical to establishing stable zones and effective borders or transition zones.
Recreation goes below here:
Applicable recent log. Lots of excellent stuff! You are all interesting impressive people.
2 Nov 2005 mirwin (4.3) (Journeyer) » [Edit]
Power Glitch I was torqued this morning when I lost 2 hours of work reviewing the recentlog, creating reaction notes, and doing some practice combat planning.
I need to develop better work habits: 1. Edit in an editor or word processor that saves periodically so when my XP crashes or I lose power I can usually recover most of the work. 2. Get my power backup systems allocated properly between work stations, servers, and prototypes.
If I get back to it I will recreate some of the good work here later. It was not totally wasted. Analysis and planning is always improved a bit second time through if one is in a good productive mood to constructiviely criticise own work. Probably like sex, better if you can arrange a walkthrough with someone else rather than masturbating but what to do if there nobody around interested in your stuff? 1. Change format 2. Change venue 3. Change careers 4. Change lattitude or altitude or attitude & -->LA Review formal logic and electrical engineering basics, e fundies. Getting pretty bad when cannot play base letter games with electronic logic.
Found some goodies, old portable TV, old lawn mower, some lead weights. Coincidence a Nomad I chatted with a bit encouraged me to experience E-Bay? I think not, when rotating layers of patterns intersect in someone's perception are we seeing shadows of the almighty or some fundamental principle of the universe? One of these days I need to get back to chaos theory. Interesting applications in sociology where some research indicated that strong outliers are critical to establishing stable zones and effective borders or transition zones.
Recreation goes below here:
2 Nov 2005 shlomif (10) (Journeyer) »
New Music CDs
Today I decided to buy two Music CDs: "Elephunk" by the Black Eyed Peas, and "Obscured by Clouds" of Pink Floyd. I wanted to buy "Elephunk" because I liked many of the tracks from it and wanted to get the rest, and I wantd to buy "Obscured by Clouds" because someone on IRC let me download the song "Childhood's End" from it, which I liked and because I also listened to it during the Perl hackathon at gaal's apartment, and liked what I heard.
So I took some money and went to the local shopping center. Try as I find, I could not find a music store there. I ended up asking my barber about it, and he said that there isn't one anymore. So I decided to go to Dyonon at Tel Aviv University instead. I bought a bottle of mineral water at McDonalds, and walked all the way there. When I got there I looked for the CDs, but none of them was available.
The Ramat Aviv Mall is close to Dyonon, so I walked there by foot, and looked for the Music CD. I went upstairs, and then asked directions from people at a café, which pointed me at the records store. There, with the help of a salesperson, I was able to find both CDs. Each one costed 60 NIS (about 12 USD) , which was much less than I expected to spend on them. I bought them both, and then walked all the way back home.
At home, I ripped Elephunk into 96 Kbps oggs using grip. It required some experimentation, but I was finally able to. I prefixed the filenames with the track number, so I can listen to them in order. Many of the songs there, which were previously unfamiliar to me are very nice, and I also found some new arrangements of the mp3's I do have. Highly recommended.
I didn't get to rip and listen to Pink Floyd's album yet, but I'm going to.
New BitKeeper Essay
I wrote a New BitKeeper Essay titled "The BitKeeper Ghost" over at the Better-SCM Site. It discusses the side-effects of BitKeeper and BitMover concerning the recent departure of Bryan O'Sullivan from the Mercurial development team.
Another New Essay
I translated to English the essay titled "The GPL, The BSD License and Being a Sucker". It aims to dispel the common belief, especially prevalent among Israelis, that people who write code under BSD license are "suckers" (or "Frayerim" in Hebrew) because they permit incorporating their work into proprietary software.
New Community for my Home-Site
Instead of manually including my home-site news on the HTML of my sites' front page, and later on the old news page, I decided to create community for it on LiveJournal, and just place the feed as new entries on my site. This will also allow people to comment on it, and for me to receive more feedback. At the moment, anyone can post there, but I need to approve the posts. Comments are unmoderated.
New Essay: The Case for File Swapping
There's a new essay on my web-site titled "The Case for File Swapping". It explains why file swapping is ethical and moral, and why it should be legal, and also discusses some related arguments and refutes some common arguments against making file swapping legal. Comments and corrections are welcome.
publius_ovidius has written a great entry about Language Wars.
I've lost some weight lately. Right now, a pair of pants that used to barely fit me, now fits much more easily. What's my secret? First of all, I exercise quite a lot. I bike for over one hour everyday, and I also take one or more walks during the day. Aside from that, I'm taking Maimonides' advice and I'm eating according to the stomach and not according to the eyes. I.e: I stop eating once I feel that I'm full.
So far I've been waking up quite early and go to bed late, and yet feel very energetic and focused during the day. I feel great. Hopefully, this situation will last, but I wouldn't mind returning to my stay-in-bed-until-late-in-the-morning situation again.
Aside from that I'm still naturally refraining from consuming overly-sugary-foods, Caffeine and Alcohol, and of course don't smoke or do drugs. I'm talking to other people who claim they cannot function without their morning coffee or who drink a lot, and I must say that I don't have these problems, and yet am very productive. I recommend that anyone will quit doing all these aphrodites, as they have negative short-term and long-term effects.
Ben Collins-Sussman now has a blog and is starting to work for Google. He will be the third Subversion Developer to work there after Greg Stein, and Brian Fitzpatrick.
That put aside, I always knew Ben Collins-Sussman was Jewish, but now it turns out Karl Fogel, who used to work in the same office as he is, is also Jewish. I felt a bit embarrassed when I leared that.
Shell Readline Goodies
Check this post in Linux-IL about various shell tips and tricks that I collected by going over the Bash man page.
See this item in the shlomif_hsite (= Shlomi Fish' Home Site) community for information about what's new on my homesite from 15-October till today.
Please join the shlomif_hsite community if you are interested in my site and you hadn't done so already.
Joke - GNU Visual Basic
The following joke about GNU Visual Basic was once published on Freshmeat.net, but has since been misplaced. A Freshmeat editor I contacted sent me the text of it (without the comments) and I've placed it on my site. Enjoy!
Movie Recommendation: "Eight Days a Week"
I don't watch Television regularly, but sometimes I see something that makes me watch it till the end. This time it was Eight Days a Week which I saw on the cables' "Hot Fun" channel, which is dedicated to comedy movies. This is a teen comedy sort of, about sex and love and stuff. It's very funny and entertaining. It stars Keri Russel and Joshua Schaefer, which strangely enough hasn't acted since, and there's little information about him on IMDB.
Updates to Perl for Perl Newbies
I went over the Perl for Perl Newbies series and updated it. What I've done so far is made the entire slides validate as XHTML 1.0 Strict, fixed many problems in the text (typos, spelling, grammatical or syntactical), and also fixed the wrong or misleading content. My understanding of Perl was not as good when I wrote the slides as it is today, and so I had to fix quite a lot of inaccuracies.
There are still some things that I want to change there, but as a general rule, everything is much better now.
New Release of Freecell Solver
When I went over the entire comments in the OSNews coverage of "When C is the Best", I read this comment. It mentioned two bugs in Freecell Solver, which I fixed by releasing Freecell Solver 2.8.11. I would have missed them if I didn't go over all the comments.
Apparently Mac OS X does not have a malloc.h header file. OS X never ceases to surprise me.
After a small lull, Joel Spolsky is back with a very nice article and some very insightful and amusing weblog entries. I hope this trend goes on.
Testing a Two-Domain Website
See this post I made to PerlMonks about how to test the local copy of my two domains' (www.shlomifish.org and vipe.technion.ac.il/~shlomif/) web-site on my local machine.
Configuring Xkb to have a Compose Key and Hebrew Keyboard
I wanted to have a compose key so I can have them Über-cool accénts. But naturally, I still needed the Hebrew keyboard. After playing a bit with Xkb, I got to the following configuration:
Option "XkbModel" "pc105"
Option "XkbLayout" "us,il"
Option "XkbCompat" ""
Option "XkbOptions" "compose:rwin,grp:switch,grp:alt_shift_toggle,grp_led:scroll"
Option "XkbVariant" "lyx"
2 Nov 2005 drzap (Observer) »
2 Nov 2005 gicmo (3.3) (Master) »
Schrödinger's cat and OpenGL
So I had the feeling that I didn't learn any new stuff in the Computer Science field for a long long time. At the beginning of this semester I had the very strong feeling that this had to change. I though learning OpenGL so I could help Soeren putting cool new eye candy in metacity (and the rest of the desktop) would be a good new "thing". So I ordered the famous redbook 2 weeks ago and I already made some good progress. And you know what? Doing all that linear algebra is real fun. I kinda missed that. Really. Scary at the same time!
I have 5 philosophy classes this semester including ones about political philosophy of early modern times (Hobbes, Lock, Rousseau), asian philosophy (buddhism, daoism, ...), economics and ethic, Nietzsche (ohh you gotta love him ...) and last but not least relativism (inspired by our all pope's critics of relativism). Everything very interesting. It's a bit scary how many things I learned in school about Hobbes and Co. were just wrong or at least half true. Oh well. Much reading ...
Ohh and this picture of Schrödinger's cat made me laught a long time. :)
2 Nov 2005 ncm (7.5) (Master) »
In case I never mentioned him before, Terry Bisson is never short of amazing. He wrote the "They're Made Out of Meat" story that went around the net a few years ago. Now he has a new book out, Numbers Don't Lie.
raph: Shouldn't recentlog.html, at least, be mentioned in /robots.txt? (Any of you-all mentioning spammer accounts, by the way, please don't link to them. That's what they want you to do, it bumps their age-pay ank-ray.)
chalst: I'm sorry to have missed you... I'm back in California already.
Here's my cranky but improbably beautiful Mars picture of the week (NASA/JPL/Arizona State University). It's an infrared shot from the night side; blue is dust & sand, red is rock (olivine, they say). In the caption, NASA insists (rather endearingly) that those ditches and pits are collapsed lava tubes. Can you imagine a lava tube with a ceiling two miles across? No wonder they collapsed. :-) Also on the subject of crankiness (my own), I've found some really fascinating Arxiv papers by Martin Lopez-Corredoira:
* Research on candidates for non-cosmological redshifts
* Observational Cosmology
1 Nov 2005 ensonic (10) (Master) »
On two of my systems at home I still run SuSe Linux. After the next weekend it probably will be only one left. Both were running 9.3 and after an online update that brought a new kernel, one system had kernel panic when loading the network driver (realtek). Uhm no net - what to do.
I've downloaded the DVD for version 10.0 and run the update. And its getting worse. The gstreamer-0.8 packages are broken - they run gst-register and not gst-register-0.8, which in my case means running gst-register-0.9 :(. The xorg install corrupted my xorg config. Looks like they changed the refresh-rate, as when x comes up I see noting (have an LCD). Okay this can be fixed. But running the system in fail-safe mode it hangs or even reboots while starting lircd (what ever that is).
So my last resort is using a bootable CD. If I can't repair it, I'll install Gentoo there too.
As a sidenote - the grub theme and the bootgfx look a bit too bright (bonbon colors). Is it made by children, for children?
1 Nov 2005 elanthis (10) (Journeyer) »
I decided to skimp on studying today and instead break out Vim and GCC and do a little work on AweMUD.
It's been two months to the day since the last commit to AweMUD. Certainly feels like it's been two months. I just haven't had time for coding. It's really refreshing to be doing it again, even if it is tedious stuff like making small API cleanups and then fixing the thousands of lines of code that the change affects. :-/
I still need to get the final releases of the new stable AweMUD and Scriptix released. The two weeks with no problem reports is well more than over. Guess I need to wait for the website to come back up first, though.
1 Nov 2005 nymia (10) (Journeyer) »
Regarding Customer Satisfaction
It has been awhile since I wrote about CS. It seems that customers are more likely to live with a peeve provided there is a discount amount attached to it. To me, this has been the most important factor in Customer Satisfaction, that you can hold on to the customer even after they had a bad experience. Of course, it may not hold for all cases and there are customers who will jump, wave and walk away. Those are definitely considered lost and may never come back.
It looks like Ajax will be part of the toolbox. The $BOSS made several good remarks after seeing a demo and may likely approve Ajax for the current project.
Fun With JS
Played around with JS code. Nothing much to write about except more code has been added.
About The PowerMac G5
To say this baby is fast is an understatement. I'm definitely blown away by the Dual Thingie it has. If I had more, I would have bought the Quad Thingie, though. But that's the way the cookie crumbles. Capitalism is great if you have it.
1 Nov 2005 fxn (4.7) (Master) »
I have been playing around with the Perl API via Inline::C. This is for my new pet module Algorithm::Combinatorics (work in progress).
Algorithm::Combinatorics is a generator of (lazy) combinatorial sequences written in XS. Having all the looping implemented in C speeds the iterators up by several orders of magnitude compared to the pure Perl Math::Combinatorics.
As of today I have chosen the interface, implemented combinations, combinations with repetition, and variations with repetition, as well as a handful of tests.
1 Nov 2005 dion (Observer) »
Hmm. I'd love to update the AeroMail project, as I developed AeroMail 2, but I don't seem to be able to do so.
Guess you guys have to know me first...
1 Nov 2005 lethal (10) (Master) »
pycage, while MPU-side decoding is the easiest way to go, DSP-side will still be beneficial (albeit somewhat more complicated). Whether the benefits are worth the effort is another matter. The tools that you need to roll your own codecs are available, and you can do this mostly in C without having to resort to too much tms320c55x assembly. The biggest issue is likely familiarizing yourself with the DSP kernel, the socket node interfaces, and so forth. Most of this is documented pretty well at the dspgateway page.
For the adventurous, there's still an unused mailbox line between MPU and DSP on 1710 in the current implementation that could probably be round-robin'ed pretty easily. We also presently don't make use of hardware page table walking, which makes the exmap interface a bit clunky (essentially wiring TLB entries by hand, but at least they're pre-faulted).
It would also be interesting to see how the FP-driven codecs compare to the integer-based one under EABI with a soft-float toolchain. ogg123 might even be usable out of the box with soft-float (though at likely higher than the CPU utilization numbers that have been quoted). On another note, it's also pretty easy to figure out DSP load average through the sysfs interface, so it may be worthwhile to profile some of that, especially if the DSP ends up getting more heavily loaded.
1 Nov 2005 Burgundavia (Observer) »
There is no I in Canada, but there is an I in America.
1 Nov 2005 salmoni (5.8) (Journeyer) »
Written a new UI article about dialogs and how they could be done (maybe) a bit better. Still working on Infomap (as a user and trying to find bugs too.
All else is well. Waiting for the Wales v New Zealand match on Saturday. Cardiff will be heaving. Not sure what anyone is doing - probably quietly watch it at home and get some work done afterwards. Not sure if Wales can do this one - after all, the AB's are the best in the world, but there is an optimistic air around the city (with a feeling of apprehension). Fingers crossed that home advantage will count for something!
1 Nov 2005 follower (9) (Apprentice) »
Planet NZTech aims to aggregate the blogs of New Zealanders or New Zealand residents who are doing stuff in the tech industry. Read some New Zealand tech blogs.
1 Nov 2005 wingo (8.8) (Master) »
So Google released a set of performance-measuring tools as free software. There's a really fast allocator, a heap usage profiler, a cpu profiler, and some other goodies.
The CPU profiler is touted as being able to correctly profile multithreaded applications, which sounds excellent. Unfortunately it seems to be only for LinuxThreads, the threading library used with pre-2.6 kernels, which is really old. Because threads had different PID's under LinuxThreads, it was easy to do per-thread profiling via setitimer(2). Each thread would get its own timer signal because it was seen as a separate process (I think -- could be wrong here).
However as it is the google profiler is mostly useless for profiling multithreaded applications on modern systems. Furthermore I couldn't get it to work at all on my x86-64 machine, either via LD_PRELOADing the library or via real linking -- it caused segmentation faults, and the processing script complained about my 8-byte pointers.
There are more gotchas with the other tools. All of the voodoo is implemented for i386, some of it for x86-64, a tiny bit for ARM_3, but nothing else. They don't know which direction a ChangeLog is supposed to go, and there's no CVS.
I feel like there must be a funny tension at Google. On the one side there is the desire of the hackers there to be professionals, sharing information with their fellow hackers for the advancement of their field. On the other hand there is a rigid information flow policy whereby the brains that Google bought (converse: brains that sold themselves?) contain knowledge that is proprietary to the company, which the company does not want shared. Surely the professional desire is fulfilled somewhat via internal recognition, but there is more to be desired. Hence the perftools code drop, although still a gesture on Google's own terms.
My reaction at this point is twofold, one that I wish that Google were investing in the modern toolchain instead, and two that I am a lucky fellow to hack free software for a living. It would suck to code from within a fortress.
1 Nov 2005 pbor (6.2) (Journeyer) »
Inspired by the recent performance love day and by the awesome work of Luis Menina and Federico about the slowness of 'replace all' in gedit, yesterday evening I decided to give it a look myself.
Federico explained in detail the first big offender (setting the sensitivity of the 'find again' menu item on every match), however once fixed that issue, 'replace all' is still fairly slow, so we need to continue our quest.
Next thing showing up in the profile is the statusbar code: the cursor position on the statusbar is updated every time the cursor moves, but that means that during 'replace all' the statusbar text changes on every match without need!
That said, I didn't feel like hacking on the old gedit codebase: note that these issues do not affect the new_mdi branch in the same way, since we changed our internal search api. The code there is not yet finalized there is no point in optimizing it yet, however these findings are very useful and will teach us to avoid making the same mistakes.
So I looked what was next in the profile... things started to become a bit less evident: if I was a serious person I should have fixed the statusbar issue and remeasured in order to get a better signal to noise ratio, but... ;)
Anyway, I spotted gtk_text_iter_forward_to_line_end taking up a few percents, which looked a bit strange. The first question was: "what has forward_to_line_end to do with search and replace?". It turned out that GtkSourceView uses it to deal with line markers: fair enough.
So the next step was coming up with a simple test case: the easiest thing to do was taking a GtkTextBuffer, put a line of text in it and move an iter to the end of the line in a loop 5000000 times (where 5000000 is the number of iterations that made the test case take about one minute). Such a stupid test case worked surprisingly well: profiling it with the awesome sysprof clearly showed the two major offenders: _gtk_text_line_char_byte_to_offset and gtk_text_iter_backward_chars.
Both functions need to deal with obtaining an offset in bytes given an offset in number of characters (each character may be more than one byte in utf8) and both functions used a loop to calculate it: guess what? glib has a function that can do that for us, called g_utf8_offset_to_pointer. Such a simple change, which is just a code cleanup, makes the test case take 40 seconds instead of 67 (according to /usr/bin/time).
I am sure that things could be optimized further or maybe, even better, we could try to speed up g_utf8_offset_to_pointer since it's used in many other places, but this example shows that you don't need to be a guru to improve things :)
Apropos of performance... I stumbled in this page on apple developers pages which suggests using fts_* functions (see man fts) to traverse file hierarchies: has any of the nautilus/vfs guys ever looked into them?
I forgot to mention that I got a Nokia 770 some time ago: the device is awesome, especially the screen, though I have one dead pixel in the bottom right corner :(
Fortunately is only noticeable when playing marbles fullscreen ;)
I played a bit with the device (xterm, ssh and all the various stuff all other people have already talked about). I also installed scratchbox and whipped up a quick port of glightoff: developing with maemo it's easy and fun, the only problem I enocuntered was that the svg graphics didn't work. I need to find some more time to play with it some more.
31 Oct 2005 pycage (7.1) (Journeyer) »
After spending some time on threads-tweaking, I finally got a reasonable CPU load between 15% and 30% for Ogg Vorbis playback on the Nokia 770. Two ring buffers are doing a great job decreasing the CPU load and ensuring fluent playback. :)
My Ogg player is currently just a simple GUI without much functionality except for opening a file using the file chooser. But now that the threading stuff looks fine, I will work on the GUI. Maybe I can get out a first release before the weekend.
Btw, my Ogg player is only meant as a temporary solution until the Nokia 770 will be able to playback Oggs using its DSP. Rumour has it that Nokia is working on this. The player is just a good exercise for me to learn developing for the maemo platform.
31 Oct 2005 badvogato (10) (Master) »
i very much neglected working on my own garden. but now
Summer is long gone
and leaves fall dead on cold ground.
Will you be mine,
dear winter time?
31 Oct 2005 apenwarr (10) (Master) »
Roadblock Analysis and the 80/20 Rule
I've written down this theory a few times in a few different places, but I still don't think I've explained it clearly. Here's another try.
For years people have been talking about the magical 80/20 rule of business: that 80% of your revenue comes from 20% of your customers, so you should find out who that 20% is and focus your attention on them. When you do, you magically make more money.
Nobody, of course, has ever offered me any evidence of this; only, "Wherever you look, it always turns out to be true. It did for us." This is suspicious, because it implies a selection bias, in which people have a natural tendency to only look for evidence that supports the specific thing they're trying to prove. For example, in the 80/20 rule, the 80 and the 20 measure different things; they don't have to add up to 100%. The 80/30 rule or the 90/40 rule are just as plausible as the 80/20 rule, lacking any additional evidence.
But I'm willing to accept a weaker formulation: the majority/minority rule. The majority of your revenue comes from a minority of customers. There are all sorts of reasons this might be true, most obviously the fact that most customers are small and therefore a few larger customers add up to more money than a few smaller customers.
I recently learned a rule, obvious in retrospect, that is critical to understanding business. Let's define a "roadblock" as a convincing reason not to buy. In that case the following must be true: no customer will buy your product until you eliminate all of his roadblocks. How do I know? If you invert the statement, it's obvious: if there remains a convincing reason not to buy, the customer will be convinced not to buy, by definition, and so will not buy your product.
This is important: if you solve 90% of the roadblocks for 100% of people, you don't have 90% of people buying your product; you have 0% buying your product. "Roadblock analysis" is my name for a process that I certainly didn't invent: the process of identifying a group of people (a "market segment") and the complete list of their roadblocks.
Now, in reality, people's needs are distributed randomly, and your features are distributed randomly, so some people will have their roadblocks solved just by random luck. But not most of them.
Note that roadblock analysis, unlike the 80/20 rule, is not magic: it's just a simple, logical statement. If you do eliminate all the reasons not to buy your product (remember, many of these reasons are non-technical, such as "I've never heard of your product"), then they will buy your product.
Why 80/20 Works
Once you understand roadblock analysis, you can understand why following the 80/20 rule (whether it's precisely 80% and 20% or not) actually helps. It's like this: the current customers who actually make you the most money are the ones who currently have zero roadblocks for many of their situations. The others are the ones who currently have more than zero roadblocks, at least for most of what they do.
People known to have more than zero roadblocks might in fact have lots of roadblocks; maybe hundreds of them. Who knows? But people who already have zero roadblocks in many cases probably have near-zero roadblocks for a bunch of other related things. It just makes sense; they probably do a lot of similar things, so if there are many situations where your product fits, and some situations where it doesn't, you can probably improve just a few things and solve those problems too. Not so with the other 80% of customers; for those, by default, you should assume you're nowhere close.
80/20 is a Random Process with Convergence
Repeatedly following the 80/20 rule causes you to converge on the closest market segment to the randomly-selected customers you originally chose.
That is, you start off by spamming the market with a technology-driven product that does something cool; you find out who buys it; you optimize it for those people; you find out which of those people buy it; you optimize it for those people; and so on. This is a feedback control system which will eventually converge on the local maximum market segment. Notice how the 80/20 rule, by focussing on a smaller and smaller subset of customers each time through the loop, decreases the "hop size" each time. This is a well-known technique for guaranteeing convergence. As we know from calculus, this kind of method works pretty well: but the local maximum is often very different from the absolute maximum.
Characteristics of 80/20 Solutions
The 80/20 rule is a major management fad at the moment, presumably because it works much better than completely random guessing about which customers are important, which is what most companies would resort to otherwise. After all, a simple mathematical method that gives a very high probability of making an existing product even more profitable is nothing to sneeze at.
But 80/20 solutions will show some very specific tendencies, which you can see all around you by looking at your favourite companies.
- The tendency to annoy about 80% of customers by ignoring or mistreating them. (In this case, the 80% is real, because companies define their strategy by literally choosing the 20% of customers they will care about.)
- The lack of new customers. By focussing on very specific existing customers and never implementing features someone else might want, you limit your ability to attract new ones and slowly get further and further away from other market segments.
- The irresistable tendency to move "upmarket." The one thing this algorithm guarantees is that when you have one big company and one small company as a customer, the big company will always win. There's no way any one small customer can land in the top 20% of your revenues. So you get more successful only as you serve fewer and fewer bigger and bigger customers.
This leaves a badly underserviced 80% vacuum at the low end, which in the software industry is basically the "small business" market.
The Missing Markets
Roadblock analysis is a more general method than 80/20 for finding and servicing a market, based on one important insight: there might be a huge market that you completely cannot serve right now because you left all of the customers in that market with a few, actually rather simple, roadblocks. These customers aren't in your top 20%, because all of them have problems.
The roadblock analysis method is much more risky than 80/20, in fact, because it's hard to know the list of all roadblocks you have to solve. It might look like there are only a couple of them, but after solving those, you might discover a dozen more. 80/20 gives you a virtually guaranteed path to expansion, albeit at an unknown pace; roadblock analysis guarantees nothing, but offers higher potential gain.
The Best of Both Worlds
Finally, the good news: if you explicitly choose a market segment using roadblock analysis, you can then use a variant of 80/20 to improve your performance inside that market segment.
In math, this is like choosing a better initial value for your convergence algorithm; if you give your algorithm a clue where to start from, it's more likely to converge on the "right" local maximum.
So there you go - no more magic.
31 Oct 2005 gary (8.6) (Journeyer) »
My most notable act of recent days has been the compilation of a list of methods that are documented as throwing SecurityExceptions.
31 Oct 2005 zhaoway (4.8) (Journeyer) »
a wonderful scim-anthy howto.
30 Oct 2005 DaveGoehrig (Journeyer) »
San Francisco Beware! I'm back in the Bay Area and moving into an apartment on Pine St. atop Nob Hill. My flatmate this time is going to be an achomplished Linux Kernel hacker, and all around good guy. My latest venture is a small startup to do online games, our newst product should launch shortly at iHomeGame.com. We've begun alpha testing, and hopefully our beta will be ready before X-mas.
SDL Perl is soon approaching release 2.2.0, which will include a number of new modules, and provide a way to distribute actaul applications. I've got Mac OS X support running on my PB12", and am working on getting some form of cross-platform application bundle support built.
And for my super secret crazy ass language project of the lifetime Firth is taking shape once again. It is either ML on acid, or Haskell on strung out on opium and zen koans. Everything is a function, defined by operators, it isn't particularly object oriented, but has classes that resemble mix-ins and are entirely property oriented, and types that are entirely structural in nature. Classes have derived methods, and resemble interfaces.
I'm also working on a couple novels that may one day see completion and self-publication. Anything to get me off this crazy drug called programming.
30 Oct 2005 zeenix (7.3) (Journeyer) »
Life is changing, I am changing
When i arrived at Finland, I was getting quite bored because no one liked to talk about politics and philosophies, if they talked at all. But then i realized that there are no real big problems with these people, so it's natural for them to be like this. The problem was that i wasn't habitual of such a society. After almost 3 months in Helsinki, now i have started to be involved in the life i have and to improve it, rather than the life i can only imagine. although I still feel very lonely most of the time, especially at my home. Got to get a GF soon! :) The problem in achieving this goal is that i don't get to meet a lot of girls and the few i meet are already booked. Otherwise, I would have got a lot of girls, i am sure. :)
I was wondering about the rationale for Monogamy but I couldn't find any. I realized that it's just a method to satisfy feelings of insecurity and jealousy. With this realization, I got more curious regarding this as it's taken for-granted even in (relatively) free countries, such as Finland. So I asked two Finns separately of what they think of Monogamy. Their immediate reaction was the suspicion that I am interested in their partners. After i told them that thats not the case and it's just pure curiosity, they could only say 'Well.. it works', but that is certainly not a satisfactory answer. They told me that it's just a choice and you can just not follow it if you want, but I don't agree with that since that requires the potential partners to also not follow it.
I think we really need to learn much from our distant relatives, chimps. In a chimp tribe, children don't know who their father is. This is because every male in the tribe have sex with almost every female in his tribe. The result is that every child is treated as a son/daughter by every male member of the society. This reminds me of Plato's "Republic". Plato was no doubt a great genius.
Moreover, through an unreliable source, I have come to know that medical sciences declares polygamy as better than monogamy. Can anyone confirm?
Understanding the Finnish women
Last night I was at famous night club in Helsinki, called onella (AKA 'mating place'). It was quite fun as I was able to find some new friends even though i went there alone. I met a guy who could predict if the woman is interested in him or not, very accurately. Then i met his friend, who was with his GF. Since many of the woman didn't even bother to have a chat with me, I ask his GF if the Finnish woman don't like Asian-looking man like me. In reply to that she did something unexpected: she hugged me and said what if say that i am all yours and kissed me just to prove that Finnish girls like me. After a few hours, when the club was to get closed, another blonde told me to watch her drink while she is away and when i said 'yes, of course', she started to kiss me. While kissing she another unexpected thing: she bit me really hard on my tongue.. ughh..
The next morning, my conclusion was that Finnish women are quite unpredictable. But when I told Anna what happened, she said that it was just that they were quite drunk. I am so silly, I didn't consider that.
Gstreamer's RTP plugins
I have been working on the Gstreamer's RTP plugins and it seems that we are soon going to have a very working RTP implementation for gstreamer ready. I am working together with the farsight and tapioca-voip teams on this. Although, much of the work on this front has lately been done by a crazy canadian student, Philipe Khalaf of the farsight project.
30 Oct 2005 rat02 (Observer) »
Making money ..
You can develop some programmes
You can sell some programmes
You can work for some programmes
You can support some programmes
All of way goes under some programmes bah..
30 Oct 2005 robsta (7.6) (Master) »
User interfaces with a twist
er, a tango.
Was amazed to find out that the recently announced tango project not only produces neat icons but also experiments with windows. That inspired me to merge some of that stuff into my pet project's user interface. See screenshot.
Update: Played around some more until I'm now more or less satisfied with that one.
29 Oct 2005 mbanck (5.5) (Journeyer) »
Another year, another Systems. This year, however, sadly the first time without Jens, so organization was harder than usual. C&L again provided an Open Source area where we had a booth along with GNOME, KDE, the several BSDs, PostgreSQL and some smaller Open Source projects. As we were not able to build up the booth on Sunday already, there was only a pretty bad location left on Monday, facing towards the wall. Roland Stigge provided a huge 1,5 by 1,5 metre Debian swirl banner, which we mounted in the vicinity of the (too small for that) booth. Michael Ablassmeier brought a Shuttle PC and a TFT display so we could show visitors around the Debian desktop and point them towards further information on the internet. Credativ again kindly shipped posters and flyers. We sold the former and distributed the latter to passing visitors. Unfortunately, Credativ did not receive any LinuxTag DVDs this year, and we were unable to obtain some from other people (apparently they are spared for LinuxWorldExpo in Frankfurt next month, though most visitors there should know Debian already I guess), so we only had about 30 DVDs, which were left from the pack I took back from LinuxTag myself. We sold those for 2 EUR, and later distributed some shiny new Breezy CDs the GNOME booth acquired on Thursday and had some Sarge CDs pressed at a nearby CD production booth which we sold for 2 EUR as well.
After some initial doubts on whether we would be able to properly man the booth, it turned out that the local Debian community was enough to guarantee presence except for Friday morning. Michael Ablassmeier, Erich Schubert, Simon Richter, Roland Stigge and Rene Engelhard manned the booth besides me. So we were in the fortunate position that we had two people at the booth most of the time while shuffling around personnel, while most other booths were operated by the same one or two people throughout the week.
This year, almost all people I asked (I usually offered a flyer and asked "Do you know Debian already?" to all passing visitors, unless they quickly tried to run through our territory) knew about Debian at least somewhat, and surprisingly many people said they had Debian installed and were happy with it. Thanks to the Sarge release and the almost-official amd64 archive (the respective lack of which were by far the most prominent questions last year), we had almost no recurring questions to answer; probably the most frequent question was about Ubuntu and our relationship with it, but those were pretty scarce and I expected much more of that. Likewise, only very few people were unhappy about Debian (far outweighed by the happy bunch), and most of that seemed to be due to specific technical issues rather than any general reservations about the Debian development or community processes. Most of the remaining questions were pretty specific, e.g. people having issues installing Debian on their hardware or trying to do some exotic stuff.
To summarize, it was a nice having a booth again and getting in touch with visitors and users. I did not see much else of Systems this year due to being busy with university as well, but I do not think it would have been worth it anyway. Murray Cumming and Joerg Kress (who were managing the GNOME booth) helped me dismantle the booth and carry back the hardware and leftovers on Friday evening and we decided to have dinner together at a nice pub in Munich.
29 Oct 2005 cinamod (7.6) (Master) »
Luis, that's why I (tried to) framed the bulk of argument around RTF and not DOC :)
I don't buy your "more competition around open standards" argument as presented. To use your examples, there aren't more viable Web Browsers vying for my HTML-viewing marketshare than there are office suites capable of consuming RTF. There aren't loads of Gimps and Photoshops competing for my JPEG editing needs. There is competition around JPEG with digital cameras, but that is just an interchange format for the internal, proprietary RAW representation, just like RTF is in the Word Processing arena.
There's roughly the same order of magnitude of competition around all of these aforementioned standards, be they open standards or de-facto ones. Open Standards are good. But when they reinvent the wheel, they're somewhat less-good.
29 Oct 2005 davidw (7.9) (Master) »
This is kind of cool:
29 Oct 2005 pcolijn (7.4) (Journeyer) »
So normally, even though I am in a rather stupid country led by a rather stupid leader, things aren't too bad since northern California is one of the most liberal areas of the country, and Googlers tend to be pretty forward-thinking too (sorta comes with the territory).
However, every once in a while something happens to remind me that this country really is incredibly fucked up. This evening, I'm biking home from work, like I always do. I happen to have laundry with me, because we do that at Google. All of a sudden I get stopped by a cop.
He explains to me that there's been a burglary near by and he just wants to ask me a few questions. Fine; I show him my driver's license, my work badge, explain that all that's in my backpack is laundry and let him look through it. Then he calls another cop, who arrives and asks me the same questions again. Then, out of the blue, they become very interested in my shoes. Then a third cop comes to examine said shoes. At this point I'm doing everything I can to contain my laughter. Here are 3 cops, looking at my fucking shoes at 1am, while the actual robber (if indeed there was one) is long gone.
But what's even worse is that cops around here actually do crap like this. This is the third time I've been stopped because there has been a "robbery near by." It just seems so bizarre to me that the cops have nothing better to do than drive around the office parks of Mountain View, CA protecting random companies from buglaries. I mean, isn't that what people buy insurance and install security systems for? Meanwhile, across the bay there are probably people shooting each other in Oakland. Like I say, fucked up country.
28 Oct 2005 lloydwood (6.7) (Journeyer) »
I worked with Eskimos to bring you SaVi live.
This shook out a couple of bugs in SaVi and added a couple of minor features; the two-line-elset handling code is now slightly better thanks to Tom's diligent testing, but still needs much more work. The modifications needed to SaVi to force texturemapping on without Geomview, decrease CPU use, and set defaults correctly in this installation turned out to be minor. The coverage texturemap is converted by ppmtogif, which is exactly how our old satellite footprint generator generates its plots.
In a rare publicity coup, one of my fashion designs has now graced Guido van Rossum... and it's not even valid Python. Perhaps it can be seen as a criticism of some other languages?
Now that we're finally appearing on bearded hackers rather than on the traditional attractive models you'd expect, we've broken into the target demographic. We've got it made... if only we can make some more shirts.
(It's surprising that Advogato, of all places, does not allow the <code> tag)
28 Oct 2005 Bopon (Observer) »
28 Oct 2005 harshy (6.9) (Journeyer) »
Busy busy busy! Was on vacation last week and spent most if not all that time just relaxing with friends and family. Went up to New York City last weekend and had a good time. We went up there to visit colleges for my sister who plans to move up there after she graduates High School this year. Will post pictures and videos later on.
Probably will be silent the next two weeks as work needs me there for almost 12 hours each day. It will be nice in the money factor, but not so much in the fun factor. Hopefully once that is said and done, Bryan will have most of the Coaster stuff done for me to start munching on.
28 Oct 2005 mjw (9.7) (Master) »
Eclipse 3.1 and OpenOffice 2.0 hit Debian unstable
Happy to see both eclipse 3.1 and OpenOffice 2.0 hit Debian main.
Fun with small devices
Found some interesting things people do with GNU Classpath these days:
* OSGi on the Slug (using GNU Classpath and JamVM)
* Compiling JamVM from source and running OSGi on it
28 Oct 2005 ravidgemole (Observer) »
Spent some time last night reworking grng code. Today I released v1.1, which is just some code reworking (streamlining, cleanup, etc.). I hope to put out another version by Monday that will support ARGs. Maybe write some better HTML stripping.
My application to OFTC to become a NetRep was voted and accepted last night. Very excited. To quote some extras in Almost Famous, "It's all happening!"
28 Oct 2005 ingvar (4.6) (Journeyer) »
"Not dead yet!"
There's been some progress on fixing bugs in Gatlopp. The map problem (hotfix in my previous entry has been incorporated. The shearing underneath the main character when moving on a scrolling map has improved (it's not gone, unfortunately, I can't seem to sync the update of the two window backgrounds and the moved window close enough to make the shearing go away. I fear there's "looking at XSHAPE" in my future).
The "key repeat bug" under MacOS X will, alas, have to stay, until I can figure out a good-enough way of low-pass-filtering the key-down state (I was considering that as a fix, when the problem initially surfaced, but...). I guess one option would be to simply switch to "move mouse around" (possibly by placing the mouse in the right nonant and using the mouse buttons to fire and such-like, that'd even give me some more action buttons). In short, I feel this is a bug in MacOS X, not in Gatlopp. :/
Other bugs? Yes, there's been a few reports. One I haven't been able to reproduce and one should be fixed (the "rays" repoducing on top of their grilles and getting stuck on top of each other), taht was down to some seriously dodgy logic to see if the ray could move off its spawn-grille safely (hint, if you need to have an offset from a centre-point and adjust everything for it, do NOT add in the adjustment when you check if thing's changed, it's already been accounted for...).
27 Oct 2005 robocoder (6) (Journeyer) »
In my experimentation with xajax, I crafted a little web utility that returns what a given web page's position is within a search engine's results (for some specified search). Obligatory disclaimer: it only examines the top 100 search results.
Demo: What's My Web Page Rank?
Coincidentally, this month's issue of "Canadian Business" (Oct 24-Nov 6, 2005) has an article on Web 2.0, "BIG PICTURE: Hype and Hoopla 2.0". I chuckled at these claims (?) by the author, Paul Kedrosky:
* [Blogs and RSS feeds] are major technological changes that should not be cynically dismissed.
* It is cheaper to build an online company than ever. The software is often free, teams of Indian programmers can be had for less than $15,000 a person, and marketing online via Google AdWords is a fraction of the cost of building out a worldwide distribution network.
* [...] more entrepreneurs experimenting with more technologies is like more monkeys with more typewriters.
27 Oct 2005 maihem (Observer) »
Must. Go. To. Sleep....
27 Oct 2005 cactus (7.5) (Master) »
Creating your CV via XSL:FO
As promised, here's a step-by-step guide for using simple XSLT templates to create your resume in HTML and PDF from a common XML source.
Guikachu: New menu editor
With valuable input from GNOME's #usability iRC channel, I am now implementing this UI for Guikachu's menu editor. A key point of the interface is using D&D for reordering menu items. This requires me to write my own Gtk::TreeModel, which is soomething not really documented. It's coming along nicely: I've got it mostly working, only the implementation of the D&D interfaced needs some cleaning up.
As an interesting coincidence, several threads have started these last weeks on the GTKmm mailing list by people who are implementing their own TreeModels.
Maybe it's the new fashion.
27 Oct 2005 jarod (Apprentice) »
A long time no? I'm working now eith PHP and MySQL development at Ministério das Cidades, in Brasília, Brazil.
And now, i'm learning Lua ;)
27 Oct 2005 faw (10) (Apprentice) »
Long time without post, time to a quick (happy!) post and to try to keep it up-to-date again! In fact, I'm keep saying that I should try to get advogato more up-to-date, I need to get a lot of stuffs more up-to-date, but I'm working on this. :o)
Yeah! Today I received mail from katie (Debian Archive Kit), luk uploaded translate-docformat it is now in incoming and soon will hit unstable. I adopted from Luk after he requested an adopter. He is going to "sponsor" me in the mean time (someday I'm planning to subscribe to NM). I also sent a couple of days ago a new package for lifelines, I'm waiting until Christian Perrier upload it (he is my sponsor). :o) I'm also working on another packages that I plan to upload soon.
In the l10n field I started a discussion with the idea to split the pt and pt_BR translation efforts since we have different areas of interests and we are putting hard work on different places. Looks like that DebianPT translators agreed with me. I hope we can find a nice solution to get both languages in Debian infrastructure. We are also working a lot with WMLs and the demand to update potfiles and manpages. Lots of work!
27 Oct 2005 Fruitwoot (Observer) »
voici le site de Gentoo, c'est la distro que j'utilise pour linux :)
27 Oct 2005 jds (3.1) (Journeyer) »
Google is Microsoft, 20 years later
From a principled view, Google is another Microsoft. They made the same leap forward that Microsoft made back in about 1980, and though we love 'em now, they fully intend to harvest from us for a very long time, and they will.
i'm not too happy with the way google completely assumes that i want to have a contacts list; there is no way to turn it off. for example, i learned not to keep them in the late 1990s when major email viruses were taking advantage of email client contact lists to propagate themselves. it's a matter of habit now, and one which i like, as i'm forced to rely more on memory techniques. anyway, google won't let me configure this. each email that comes or goes accumulates to the gmail contacts list. but i tolerate it, because i like the rest of gmail. i clearly see that this decision on google's part is perfectly in accord with attracting me to store all of my personal knowledge on their servers. i'd like to see more of an ethical commitment from them before i dive in so willingly. as it stands, i just periodically truncate my contacts list out of wise habit, and commend google to others for their good intentions.
The third iteration, which I expect in about 2015-2020 or so, will be the most liberating and most subtle of all. This is just a hunch from a hunchback.
27 Oct 2005 mathrick (7.1) (Journeyer) »
The pain of creation
Inkscape is double-plus neat, but it's so incredibly, unbelievably, painstakingly slow it's not even funny. Seriously. Yes, I know that perhaps using nightlies for Win32 isn't exactly the recipe for fast, but even using native linux builds of stable version is good way to get some new wrinkles whilst waiting for results. Oh, and I thougtlessly tried new ``Effects'' menu in the nightly -- oops. Now I know the meaning of slow. And there doesn't seem to be any way to remove the effects, and undo seems strangely ineffective. Double oops.
27 Oct 2005 mjcox (5.7) (Master) »
I've had my Nokia 770 for a little over a week. On Monday evening I managed to pry it out of my girlfriends hands for long enough to try running one of the first old GDK C apps that I wrote. Although the app worked fine in the development environment it failed on the device itself due to assumptions about having 24 bit colour depth.
A simple source code change from using gdk_pixbuf_render_pixmap_and_mask(a,b,c,d) to gdk_pixbuf_render_pixmap_and_mask_for_colormap(a,gtk_colormap_get_system(),b,c,d) solved it.
The unit is very cute and got a lot of attention when I showed it off last weekend; but there are a few niggles - the biggest is a lack of a docking station. It's also far worse at picking up the weak wireless signal in the house than the Orinoco pcmcia cards.
27 Oct 2005 titus (7.5) (Journeyer) »
I confess, I am a post-modern programmer. But Python makes it so easy...
Grig pointed out this short article at oreillynet.com: Web App Security Testing Using twill.
(who knew that writing documentation was such a good idea? ;)
As part of another project, I finally committed to a rewrite of cucumber (as I'd hoped to back in January). Announcing... cucumber2!
cucumber was a getattr-based object-relational mapping system for Python/PostgreSQL that used PostgreSQL's table inheritance to map objects into SQL tables without impedance mismatch.
cucumber2 is a more robust rewrite of cucumber. cucumber2 is based on new-style classes, metaclasses and properties, which means that things like inheritance (including multiple inheritance) work easily and directly.
cucumber has long been my pet project: an immensely useful little tool that I never got around to properly releasing. cucumber2 is much prettier in many ways, and I look forward to using it in several projects now that the package is cleaner.
At any rate, I'm making a very young cucumber2 public. For anyone who is interested, there's an overview available that's probably the place to start.
A few random musings:
* First and foremost, metaclasses are wicked cool.
* Guido's 2.2 changes are very, very nice and put lots of power in the hands of the developer.
* Metaclasses are a very convenient way to do code generation. (I learned this trick from Daniel Arbuckle at a socal-piggies presentation.)
* nose Just Works.
* Strive for simplicity. It's in there somewhere, and when you find it, it's worth it.
26 Oct 2005 e8johan (4) (Journeyer) »
Swedish politics below, ignore if you're not interested.
The current Swedish government has misunderstood the difference between ability and doing. I have to examples that are highly relevant today:
#1 maturnity leave. When having a child, the government wants the father to take a bigger part of the leave. All good this far, but they want to force this on the parents by reducing the time that the mother is allowed to stay home (with pay, that is). The problem is that the opinion is against them, and the two most common reason for fathers not staying home longer is the difference in income (the father earns more, thus loses more from staying home) and/or the mothers wants to spend more time at home when the kids are really small (we're talking about the first year here). So, the real issue is that a) people don't want this and b) the difference in pay. The latter is a completely different problem that needs to be solved in other ways. This is just reducing the symptoms, not treating the problem.
#2 The ruling side in Gothenburg (2nd largest city of Sweden), which is the same as the national government, provides a card that provides cheaper exercise - for girls. This is because girls are not training as much as boys. What they fail to see is that a) this could be because boys and gilrs have different interests and priorities and b) because the things considered training is more compelling to boys. Since all have the same choice and ability to try, there is no need to try to change the current situation. Nobody is disadvantaged in the current situation.
Phew... nice to get that off my mind. And remember, the important this is to provide the freedom of choice, not to make sure that the utilization is completely even.
26 Oct 2005 zanee (4.2) (Apprentice) »
Still busy but there are a couple of things that I've been playing with lately.
Cool, highly unstable but cool. However, E17 (Enlightenment 17) is looking very nice and its surprisingly fast.
The 3ware driver (5-9) seems to be broken in 2.6.14-rc*. Wrote an install routine for the distro. One should never try this in perl, not even for kicks. Even though it's led me to believe one should actually create a nice perl module that can access low level routines for stuff. That person should probably be me! Or I could just do it in C; meh.. whatever. Hadn't used perl seriously for anything.. it was fun; granted; verbose.. but fun. Nonetheless, found that I wouldn't use perl for anything serious.
Xchat 2.4.4 packaged in Breezy has a 2 gig file limit even on 64bit archs. Fixed in 2.4.5; will be in whatever branch opens up for ubuntu or whatever fabbione said when I was on irc.
Still attending, haven't really learned anything yet. Don't expect to learn anything. I learn alot from old acm papers and mailing lists. I'd probably pay for it.. oh wait. I do pay for the acm. It's alot cheaper than school though.
I have one more week to get it back up and guess what? I've got much to do.
Nothing this week.
Nothing this week.
I'm very fond of Dashboard in OS X. Why have a bunch of widgets displayed that you rarely use. Sure i'd like to know the weather but do I really need to have a weather applet sitting in my panel?
Probably not. I thought about doing this for myself by just breaking the widgets I use most out into a program and showing/hiding the widgets as need be, binded by my choice of key combo.
You know why people have an afront to computers? It's because they don't work. They press print and the computer doesn't print. They select "close" and things open. Today while I was having a bout with the nvidia drivers in ubuntu hoary (crashing the kernel with the latest kernel update I suspect; there's some sort of issue with the driver asking for a 2.6.11 upgrade but ubuntu hoary only ships out 2.6.10 or whatever, that might not be the issue. I'll investigate tomorrow) it dawned on me. Through out the week how often does one reboot, have a program crash or any odd number of things that happen oh so often with computers. People expect computers to fail, they expect software to fail. So then, why do computers fail? 9 times out of the 10, if it isn't just software thats written poorly, its the drivers.. if those aren't written poorly, its the hardware. With so many gates of failure and so many different modes and types of failure possible. Its amazing anything works at all. So, from now on i'm going to write shit that isolates for as much failure as possible from the top down (i'll keep it balanced). Things, shouldn't fail. When a user presses the print button. It should print, under any conditions that dont affect the hardware and the underlying operating system. If it can't print due to hardware or unforseen failure then it should say why in a manner the user can understand. When all else fails it should dump out as much info as possible and inform the user of where they can get help.
This is how most other quality engineered products are built. I've gotta start holding myself to higher standards. It always happens; you think no one is crazy enough to do X. 2 mins later you get the call.
26 Oct 2005 mikerx (Observer) »
What RESTAGRA Does Not Do RESTAGRA does not cure API dysfunction. It is a treatment for API dysfunction. RESTAGRA does not protect your server or your business partner from getting viruses. RESTAGRA is not an aphrodisiac. If you find RESTAGRA functioning as an aphrodisiac, consult a psychiatrist immediately. How To Take RESTAGRA Take RESTAGRA about one hour before you plan to perform web services. Beginning in about 30 minutes and for up to 4 hours, RESTAGRA can help you become idempotent when someone accesses your endpoint. If you take RESTAGRA after a high-fat transaction (such as a WS-* transaction), the medicine may take a little longer to start working.
RESTAGRA is not for newborns, children, or women. Do not let anyone else take your RESTAGRA. RESTAGRA must be used only under a doctor's supervision.
Possible Side Effects Like all medicines, RESTAGRA can cause some side effects. These effects are usually mild to moderate and usually don't last longer than a few hours. Some of these side effects are more likely to occur with higher doses. The most common side effects of RESTAGRA are headache, flushing of the face, and blogorrhea. Less common side effects that may occur are temporary changes in reasoning (such as trouble telling the difference between GET and POST or quoting Roy Fielding for no particular reason), being more sensitive to criticism, or blurred worldview.
In rare instances, servers have reported idempotency that lasts many hours. You should call a doctor immediately if you ever experience idempotency for more than 4 hours. If not treated right away, permanent damage to your server could occur.
Denial of service attack, irregular network activity, and the Blue Screen of Death have been reported rarely in servers taking RESTAGRA. Most, but not all, of these servers had problems before taking this medicine, such as running Microsoft software. It is not possible to determine whether these events were directly related to RESTAGRA.
26 Oct 2005 mazurek (Observer) »
Brain-computer interfaces. Neuroscientists and engineers are developing technologies that allow the brain to interact directly with computers, from chips that could enable amputees to control prosthetic limbs to devices designed to enhance brain function. How will these new technologies influence daily life?
26 Oct 2005 grey (10) (Journeyer) »
OK, fucked up and posted this as an article instead of in my diary, never noticed that option before, now I know why. Anyway, here is the write up:
3 entries suppressed at threshold 3.
[ Home | Articles | Account | People | Pr