- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
By law, every installer should include a game.
Admin
Normally, this would be a frist comment, but I hate those, so it isn't.
Admin
Most of them do. Its called "Guess how long it takes for the bar to go from empty to full".
This game becomes similar to the halting problem when installing anything enterprisey.
Admin
Isn't that a similar problem to http://projecteuler.net/index.php?section=problems&id=331 ?
Admin
"(it includes an .exe, too)"
It should say: "(it does NOT include an .exe)" =P
Admin
Solving it is rather trivial once you reduce to linear algebra. With a little more work, you can get a minimal solution (least possible number of cases flipped). The solution I have in mind even generalises to games where the topology isn't a grid (ex. with hexagonal cases).
Hint: Actions over the board (flipping a case) are associative and commutative.
Admin
You might want to fix those bogus != operators.
Admin
Alex you cheat!
Admin
By Law you must pay the patent holder of the game in an installer patent, that's why you don't see it. In the mid 90's they were everywhere and then one company started suing for licensing fees and one.
Admin
A cleaner way to toggle a bool, especially an array with arithmetic in its indexer, is
Admin
Admin
Thanks for this... really, thanks... I can just picture my first support call next week...
Customer: I'm trying to install some new software Me: Okay, yes... Customer: And the installer is running, and it's got all these buttons on it Me: I see, what's the problem Customer: Well, whenever I click one of the buttons to turn it off, a bunch of others turn on Me: Huh, that's odd... what do the buttons say Customer: Nothing, they're blank Me: So... why are you pressing them? Customer: Umm... can't you just come and have a look? Me: Alright, give me a few minutes ... ... ... Two hours later Me (for the 1000th time): No, that's the point... it's a logical puzzle, you have to pick the right button to press to turn them off. No, it's not a bug. No, I can't write to the developer to get them to fix it. No, your computer's not broken... What do you mean, you've never heard of puzzles?
Captcha: Genitus - A disease my customers defiantly don't have
Admin
Is it me, or does the ToggleLight() function not toggle the button you clicked?
Admin
Admin
A nice example of the "Integration of Concerns" anti-pattern.
Multitasking work environments have been common on computers for 25 years or more, and reliable ones for at least 10. If the person doing the install is interested in playing a game, they will launch a separate game program!
This is how cruft happens.
Admin
Super fun plus best humour!
Admin
And the installer should not complete until you win the game, or solve the puzzle.
That way you reduce the set of users to those capable of solving a moderately complex mathematical problem, which might make your life easier later on.
Admin
Admin
Column-major order? Come on, that's just sick.
Admin
Is ^ defined for bools?
Here's a another clean way:
Admin
In case it is too easy, here is the overly generalized version that fits all possible variants of the puzzle.
There is a set of N items. Each item can be in one state. There is a set of operations that you can perform that changes the state of some items, possibly depending on the state of some items (may include the first set of "some items"). Find the shortest sequence of operations to reach a target state.
Admin
Admin
well, i guess i wont be getting any actual work done for the next few hours
Admin
Xzibit would probably have a fit, though.
Admin
Argh! I'm so sick of people invoking the Halting Problem when talking about progress bars. The Halting Problem only applies to Turing-complete systems that are capable of getting into an infinite loop. An installer, or anything else that you would (reasonably) want to use a progress bar for, is by definition a linear task that always halts, either by completing, being canceled, or aborting on an error. Invoking the Halting Problem here is just technobabble, usually used to try to hand-wave the fact that whoever wrote the progress code is incompetent.
Admin
An installer can't get into a loop? What kind of incompetent morons have you been working with? Any competent moron can turn a simple installer into a loop without thinking about it - which is how your competent moron does anything.
Admin
Please take a valium and call me after you've Googled the word "joke".
Admin
Combine with "Guess how many times the bar will go from empty to full" for twice the fun.
Admin
Argh! I'm so sick of the aspies that remember (and not so kindly point out) every detail of deep and technical subjects and yet can't handle simple social behavior like humor, irony, or just get the joke and shut the f up.
Admin
And I'm SO sick of people who feel the need to curse, but not really.
"Shut the f up"? Would that be, maybe "fuck", that you meant to say? Why don't you just say "shut the fuck up"? Do you think anyone reads that and says "gosh, I would have been offended if he'd said "fuck", but since he just made me reconstruct the word in my mind, I guess it's okay"? God damn you to hell and zuneisis, you fucking moron, and your whole family too.
Admin
another such one is the bootable usb installer for ubuntu. it stalls multiple times for up to an hour, and you can't quit out of it.
Admin
God damn him to me, you say?
Spending a night in my dungeon will feel like heaven and hell at the same time.
P.S. You have such a dirty mouth, I love it.
Admin
I think one company started suing for licensing fees and two.
Admin
zuneisis - fun for the hole family
Admin
And then one company started suing for licensing fees and three.
Admin
I believe someone has a patent on this.
(Okay, something similar: minigames on loading screens - http://arstechnica.com/gaming/news/2008/03/patents-on-video-game-mechanics-may-strangle-innovation.ars)
Admin
My Windows machine (work machine, they make me use it...) is sort of like this, except with starting up, not with installing anything. The worst is that after it starts up, it still decides to hang periodically when doing something complex, like, say, loading a web page or something.
Admin
And involutary. But I wonder if you considered this: not all initial board configurations are solvable. As a trivial example, consider a 1x2 board that starts with one cell on and one cell off.
Admin
/rant
Admin
Yeah, then pile on the security crap that runs in the background all the time on a locked-down machine, and the habit of getting updates at 10 AM on a Thursday - trying to work? Never mind that! - and you're in a new and wonderous sort of hell. Trying to insert a graphic in a file? Oh, okay, that's a good idea. Why don't you go have a cigarette while I open a file browser. Better have two, it'll take a while.
Hate hate hate hate.
Admin
System.IndexOutOfRangeException: Array index is out of range. at System.Windows.Forms.LinkLabel.OnLostFocus (System.EventArgs e) [0x00000] in <filename unknown>:0 at System.Windows.Forms.Control.WmKillFocus (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 at System.Windows.Forms.Label.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 at System.Windows.Forms.LinkLabel.WndProc (System.Windows.Forms.Message& msg) [0x00000] in <filename unknown>:0 at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000] in <filename unknown>:0 System.ObjectDisposedException: The object was used after being disposed. at System.Windows.Forms.Control.CreateHandle () [0x00000] in <filename unknown>:0 at System.Windows.Forms.Control.get_Handle () [0x00000] in <filename unknown>:0 at (wrapper remoting-invoke-with-check) System.Windows.Forms.Control:get_Handle () at System.Windows.Forms.Control.set_Capture (Boolean value) [0x00000] in <filename unknown>:0 at System.Windows.Forms.Control.set_InternalCapture (Boolean value) [0x00000] in <filename unknown>:0 at System.Windows.Forms.Control.WmLButtonDown (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 at System.Windows.Forms.ButtonBase.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 at System.Windows.Forms.Control+ControlWindowTarget.OnMessage (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x00000] in <filename unknown>:0 at System.Windows.Forms.NativeWindow.WndProc (IntPtr hWnd, Msg msg, IntPtr wParam, IntPtr lParam) [0x00000] in <filename unknown>:0
Admin
It can only get into a loop if you need to update the update installer to install the install updater.
--Joe
Admin
Admin
My favorite is the genius of scheduling the defrag and the full virus scan to run at the same time.
Yeah, mistar cleverpants, you scheduled it to run at 3 AM. Guess what - 7x24 teams are working at 3 AM, and usually with skeleton crews.
Admin
Admin
Yet at the same time, if the situation was reversed you would be banging on about how great Ubuntu is how it let you get control of each item as it became available, whereas Windows treated you like a baby and only let you do things once it was ALL setup, even though some things were ready much earlier.
Admin
Admin
I guess I misread your sentiment as I had thought it was a mindless Linux > * comment which now appears to be wrong.
If you want to wait until it's all ready, can't you just... wait? It sounds like the problem is lack of feedback indicating when it is all finished rather than the option to do things before this point.
Admin
Admin