nemorathwald: (Default)
I almost certainly have a job, as an office clerk and phone liaison. I'll know by the end of the week. I'll have money for fuel, so you'll see more of me. After I've worked there a few months, my hours will go up from 40 to 54 hours a week. Then you'll see somewhat less of me.

(It's in Warren, so I'll have to move. Again. For the time being, I'm living out of a suitcase in Warren and only going home to Whitmore Lake on weekends. Whitmore Lake is an hour away, so that doesn't work. I have been browsing Ferndale/Royal Oak room-for-rent listings on Craigslist. I feel encouraged by the price ranges.)

This job is managing a huge number of outside contractors; i.e., people who have a tenuous relationship to us and do not necessarily have to do what we tell them to do. All we can do is replace them. Sound familiar? So, during the job interview, I described my experience with Penguicon. Keeping in touch with remote strangers who are never seen. Tracking when work is due, what is late, and when to replace someone. Motivating rather than nagging. Documenting processes. They were impressed, and said this is similar work.

You might be wondering now, "why did you spend a few years and a few thousand dollars to get a web development certificate with a 4.0 GPA?" That is only the first step of a journey. It was a good start, but job interviewers have made it clear to me that I'm still not qualified. I need to do a lot more personal learning, including:

1) Server administration from my laptop, so that I can install whichever additional technologies I want to learn.
2) Javascript libraries such as JQuery and YUI.
3) Python frameworks such as Django, and Ruby frameworks such as Ruby On Rails.
4) More about databases.
5) SASS. I would love to learn SASS.
6) How to inflict bloated, swiss-army-knife Content Management Systems. Hissssss. Actually, never mind this one.

A qualified portfolio should include a large number of web applications with polished interfaces and finished-looking designs. I would like at least one to have rich, responsive interaction, such as a game. I would like at least one to be a multi-user database-driven site. The thing is, each such project would take months of spare time. Frankly, I'm not the type who can become a hermit and emerge from my cave with a finished project in a short timespan. I like other humans too much. Other humans are the whole point of a project. Will I some day get a job as a creative or technical professional? In this economy, who knows. Perhaps in a few years. Or perhaps not-- perhaps it's only for hermits. Either way, I'm determined to learn. While I learn, I have to pay the bills, and it looks like my current job prospect is a perfectly pleasant and agreeable way to do that. I'm satisfied.
nemorathwald: (hacker)
A poster in Ops at U-Con advertised seeking geeks to be interviewed, for an honors thesis about geek culture. So I emailed Rachel Yung at and signed up. If you self-identify as a geek, Rachel wishes you to do likewise. Here is a transcript of the interview.
Read more... )
nemorathwald: (thoughts)
I daydreamed about this system for years, and now I get to watch it.

World Builder from BranitVFX on Vimeo.

nemorathwald: (Default)
Forgetting frustrates me. I've forgotten more knowledge in my life than peasants in the Dark Ages ever learned. The point of taking a class is not about what I learn. It's about what I won't forget. Then I can move forward on programming projects with confidence that I don't have to waste a bunch of time catching up on what the keywords and punctuation mean. I refuse to cram for exams and just lose it all. I have to practice, practice, practice-- then I need to keep doing a regimen of projects to keep in the habit.

At an informational level, I've understood true-false logic, strings, variables, constants, conditionals, loops, iteration, and recursion for twenty years. But it was learning, not training. I can self-teach, but my life was too busy for self-training. There is a certain hump I must surmount.

I owe my desktop publishing proficiency to taking classes, with a set of practice exercises on deadlines. Now I can pick up a new program and not even think about it. I just get in the Zone. That is the hump I need to get over with programming, which is why I am taking a class.

[livejournal.com profile] blue_duck and [livejournal.com profile] ssanfratello will understand the concept of training, right down at the muscle memory level. It's not just what you learn about stances, balance, breathing, keeping your options open like water, when to commit to swinging the sword, and absorbing the universe juice. It's about what your body does from practice, just WHAM. If you have to stop and access the knowledge, you have been stabbed. With a sword.

That's what I'm interested in. When it comes to my daily Lojban regimen, it needs to be engraved in the brain at the level of instant linguistic connection between word and meaning. I know the vocabulary of Lojban, but most of it I still have to translate from English, which should not happen. Translation wastes valuable milliseconds, too long for comfortable speech. Fortunately I do not get hit with padded sticks when this happens.

When I program Karda, it will be for language training, not just language learning. Spaced repetition algorithms do training. I'm interested in software for self-training in various skills. As Napoleon Dynamite said, "You know, like nunchuku skills ... bow hunting skills ... computer hacking skills." The idea will be for the software to remind you to practice the skill again, get feedback on the result, and modify the interval for when it will remind you to do it again.
nemorathwald: (Default)
Any advice on a quick tool to preserve code formatting in a blog post?

The assignment. )

My solution. )
nemorathwald: (thoughts)
[livejournal.com profile] le_bebna_kamni knows Java really well, which has come in handy for tutoring, I can tell you.

However, she also has a copy of "Beginning Python From Novice To Professional" by Magnus Lie Hetland lying around. Since Python is the language I want to make actual real projects in, I was curious. So I decided to do my homework again, in Python. This time it was six lines long.

However, I decided to take it further. The new version properly uses singular and plural English. In other words, it will say "1 hour" instead of "1 hours."

My Python script. )
So while I was doing this, she also did the exercise in Python, except she didn't want to type the singlular/plural decision into her version three times like I did. She felt it was more elegant to make one set of pluralization instructions and have Python repeat it for hours, minutes, and seconds. She cursed at the computer for a half hour and came up with the version she will post in the comments.

I do not curse at the computer. I expect coding to be painful, and have been pleasantly surprised to be proven wrong.

pain = False

if not pain:
    gain = False

Java notes

Jan. 14th, 2009 04:56 pm
nemorathwald: (Default)
Halfway break in Java class. Read more... )

AllPeers

Sep. 1st, 2006 01:05 pm
nemorathwald: (Default)
I've been waiting for this a long time. AllPeers is a method of file transfer that lets you set up your own private network of peers with whom you can send and receive files of unlimited size. There's no more need to email a bulky file and wonder whether it's going to get through. Add friends and family members who also use AllPeers in the Firefox web browser, and decide what files you want them to be able to get from you. Click here if you have Firefox, to go to the download page for this extension.

Supposedly they're going to eventually open the source code. Also, supposedly this method is much faster than sending files through email or an instant message client, because it incorporates BitTorrent technology.

Just one neat example of a little trick you can do with this, is instantly share a screen shot with a peer who's online... such as a tech support scenario.

My username is MattArnold. Add me to your networks!
nemorathwald: (Default)
The computer on which I run Linux had a hardware problem and wouldn't boot up; [livejournal.com profile] overthesun took it and fixed it in half an hour by resetting the BIOS chip. Thanks, [livejournal.com profile] overthesun!

I've also had a software problem for months: the Firefox web browser wouldn't start. Even uninstalling and reinstalling it didn't fix this. I logged on to the chat channel of Ubuntu Linux, and within half an hour the friendly folks there had identified the problem and took me step-by-step through setting things right. Somehow Firefox was living in a directory called "firefox" when it was expected to be living in a directory called "mozilla-firefox". All my buttons and menu items that were supposed to open this application were looking for it in the wrong place. The Ubuntu free tech support volunteers helped me create a symbolic link, so that when the buttons looked in the wrong place they'd be directed to the right place; since then all has been well. Thanks, Ubuntu volunteer folks! The good reputation of this "Linux for Human Beings" distribution is well-deserved!

nemorathwald: (Matt 4)
Penguicon's tech guest of honor in 2007 will be Bruce Schneier, security guru. I was mentioning to Eric Raymond that I will be Head of Programming for Penguicon this year and looked forward to putting Bruce Schneier on panels about viruses, spyware and rootkits. Eric said something to the effect of not being interested in closed source software. I can't remember the exact sentence but it may have been referring to something to do with security programs that people use to protect their computers, such as McCaffrey, Symantec, Norton and so forth. Those are closed-source software.

Bad Windows security seems to affect Linux users too. We don't want to have to live in a world full of compromised botnets that are being used to send us spam.

Here now is the setup to my question.

The reason open source software can be trusted and closed source software can't is that someone can read the code of the open source software to ensure that it's free of spyware and other malware. A computer geek who reads the source code, compiles it, and installs the software can be assured that he knows what he's running.

Those of us to whom source code is unintelligible, and who don't know how to compile software from source code, use pre-compiled installer programs of open source software that we download from the internet. Someone in the open source community has presumably checked the source code of the program, but what about the particular copy of it that we are getting? What's to stop someone from distributing a precompiled installer of a popular open-source program, but altering it to include malware that will compromise the computer? Those who can't read source code would think we had the same program as everybody else.

Is this scenario likely or unlikely? Would it work? Is there anything set up to prevent it?
nemorathwald: (Default)
Good news! The smoke and the "pop-hiss" didn't come from the computer, it came from the monitor! The computer's fine. I have no shortage of monitors. None. In fact, a dozen monitors were deliberately abandoned at Penguicon. If you're coming to the Stilyagi party at our house on Saturday the 13th, maybe I'll give you one. Especially if we can sign you up to be on the convention committee for ConFusion 2007!
nemorathwald: (Default)
I'm off work today on medical leave, and working on the Penguicon program book. I use my Ubuntu Linux desktop computer for web browsing, instant messages, music-- everything but games and graphic design software. I dropped the folder "My Music" into Totem Music Player so that it would queue up all the music files in my entire collection to play for me randomly while I lie in bed recuperating and working on the program book on a laptop. I liked one song in particular and went to find it in my filesystem. It was nowhere to be found by browsing, but turned up with the "Find File" feature:
Screenshot behind the cut. )I right clicked it and chose "Open Containing Folder":
Screenshot behind the cut. )It's contained in home: Music: Soundtracks: Ghost In The Shell. So I clicked the Soundtracks folder.
Screenshot behind the cut. )The Ghost In The Shell folder is not visible in the folder that the computer says it's in. Why?

TactaPad

Mar. 9th, 2006 01:09 pm
nemorathwald: (Matt 2)
I've dreamed of an input device like the TactaPad for years. It resembles a little overhead projector. The camera on the stem is watching your hands and portraying a grey transparent sillhouette of them on the screen so that you don't have to look at your hands. It's a touch-sensitive tablet that can detect the touch of all of your fingers simultaneously, not just one point, and can detect differences in pressure and velocity. The surface gives you force feedback sensations.

Watching the demo movie of TactaDraw makes it clear why someone like me who has used art software for years would drool over this. I also would love to play a real time strategy game with this input method.

Of course, just as with its countless wonderful predecessors in the field of alternative input devices, there is no reason to expect this to be developed into a product that makes it to market, much less a product that succeeds in the market. Each application would have to be rewritten to accept the unique aspects of its input, and that doesn't tend to happen.
nemorathwald: (Default)
In a few days I will set down my goals for 2006. Last year at this time I blogged about my goals for 2005. It's now time to review.
Read more... )
nemorathwald: (Matt 2)
I usually just use Windows because it's too inconvenient and uncomfortable to reach across the desk to the keyboards and mice for Mac and Linux. Since I'm the perfect customer for a keyboard/mouse/monitor switch, I've wanted to run Synergy for a long time. This is a piece of software that hooks up multiple computers on the same desk so that you can roll your mouse off the edge of one screen and onto the one next to it. The keyboard operates whatever computer the mouse is on; and it lets you cut and paste from one computer to another. It runs on Windows, Mac and Linux, which happen to be the platforms connected to the three monitors on my desk. Up until now I haven't been able to get the Mac or Linux versions of the client software to work. Windows, as usual, had an auto-setup GUI version that Just Worked. But now there's QuickSynergy, a set of graphical user interfaces for Synergy in Mac and Linux! Joy!
Read more... )
nemorathwald: (I'm losin' it)
On Thanksgiving I suffered a stroke in my exocortex. No, don't worry, I'm not talking about a medical condition! My handheld computer isn't working. And like Manfred Macx in the third chapter of Accelerando! ("Tourist"), I and those around me noticed the effect immediately. Symptoms included a complete lack of any idea what I was scheduled to do, when or where I was scheduled to do it, passwords to allow access to it, and the contact info of people I was scheduled to do it with. The patient was also increasingly observed to pace back and forth muttering about missing several days in a row of flashcard testing and drilling in vocabulary memorization.

Read more... )
Fortunately [livejournal.com profile] overthesun shepherded me to the Penguicon cube cleaning on time and I have now put the organized catalog and map of the storage unit on another part of my exocortex, the EncycloPenguicon wiki.

Bill participated in the cube cleaning too. While there, he gave me a wireless laptop card that he found for really cheap on the internet, sold under the name of the Orinoco chipset. That's the chipset that Linux is compatible with. Now I can return the one I borrowed from [livejournal.com profile] phecda. Unfortunately the new card was falsely advertised, because small changes were made to the chipset, giving it a trait that makes it unique among all cards that have ever been labeled "Orinoco": instead of the most compatible card ever, it's completely incompatible. [livejournal.com profile] phecda's Netgear card worked fine under Linux, so this is a step down, but it's a step up in terms of ownership. Fortunately at the LAN party [livejournal.com profile] overthesun installed Windows XP and Ubuntu double-booting on the laptop, and the new card works under Windows. (That is to say, it works everywhere except my house, because the home wireless network is so secure it locks out the only intended user.)

Speaking of the LAN party, we played a lot of single-player games together, but only got one game to work in multiplayer mode over the LAN. It turns out to be mind-bogglingly difficult to set up a connection with the older, unique and quirky games with personality that we enjoy, such as Red Alert 2 or Mech Commander. Fortunately Freelancer worked, and that game is truly a thing of beauty. From online guides to how to throw a LAN party, it turns out that successful LAN gamers typically use the latest cookie-cutter first-person shooter, churned out by risk-averse cookie-cutter game publishers, that billions of boring conformists are currently playing. Nevertheless, [livejournal.com profile] overthesun, [livejournal.com profile] rachelann1977, [livejournal.com profile] cosettevaljean, Drew, and I had a great time snacking, drinking tons of caffiene, laughing, talking, teaching each other how to play various games and watching each other play them. No doubt with what we have now learned, our next LAN party will contain more actual networked gaming.