CategoriesArchivesBlog Administration |
Thursday, July 24. 2008Another Song Translation
I decided today to post another translation, of another song by Kipelov. This one's caled Я Свободен! (I'm free). I've always found this song to be quite beautiful, and I can well identify with the emotions presented. The translation is from Russian to English (pardon any errors.)
Рускиий: Надо мною тишина, небо полное дождя. Дождь проходит зквозь меня, но боли больше нет. Под холодный шёпот звёзд мы зашгли последний мост, и всё в бездну сорвалось. Свободным стану я от зла и от добра. Моя душа была на лезвии ножа. Я бы мог с тобою быть, Я бы мог про всё забыть, Я бы мог тебя любить, Но это лишь игра. В шуме ветра за спиной Я забуду голос твой. И от той любви земной, что нас сжигала в прах, И я сходил с ума. В моей душе нет больше места дла тебя! Припев: Я свободен, словно птица в небесах. Я свободен, я забыл, что значит страх. Я свободен, с диким ветром наравне. Я свободен, наяву, а не во сне! Надо мною тишина, небо полное огня. Свет проходит зквозь меня, и я свободен вновь. Я свободен от любви, от вражды и от молвы, От предсакзанной судьбы, и от земных оков, От зла и от добра... В моей душе нет больше места дла тебя! English: Above me there's silence, the sky is full of rain. Rain pierces through me, but there's no more pain. Under cold, whispering stars, we burnt our last bridge, and everything went to hell. I begin to be free from evil and from good. My soul was on the blade of the knife. I could be with you, I could forget about everything, I could love you, But it's only a game. With the help of the noise in the wind, I forget your voice. And the earthly love which burns us to ashes. And I was crazy about you. Now, In my soul there's no place for you! Chorus: I'm free, literally as a bird in the sky. I'm free, I forgot what it means to fear. I'm free, on par with the wild wind. I'm free, finally, and not in a dream! Above me there's silence, the sky is full of fire. Light pierces through me, and I'm free again. I'm free from love, from hatred and rumors, from fate, and from the shackles of the earth. From evil, and good... Now, In my soul there's no place for you! Sunday, July 20. 2008Reflections
I've been listening to a lot of music lately as I work, and it struck me today that a few songs resonate better with me now than in the past, and I thought I'd share the thought. Below is a translation of the chorus of one particular song into English and Dutch (granted it not likely perfect.). It's a very powerful ballad nonetheless, sung by Valerij Kipelov -- who in my opinion has one of the best rock/metal voices in the history of rock and metal. He does a terrific job of conveying the powerful emotions in the lyrics. The song is entitled: Возьми моё сердце. Be sure to have a look at my favorites for more videos/songs by Kipelov and other bands.
Русский: Возьми моё сердце, возьми мою душу. Я так одинок в этот час, что хочу умереть. Мне некуда деться, свой мир я разрушил. По мне плачет только свеча, на холодной заре. Nederlands: Neem mijn hart, neem mijn ziel. Ik ben zo alleen in dit uur dat ik wil sterven. Ik heb nergens voor kinderen, ik vernietigd hun wereld. Voor mij huilt alleen een kaarsje aan de koude dageraad. English: Take my heart, take my soul. I'm so alone in this hour that I want to die. I have nowhere for children, I destroyed their world. Only a candle cries for me at the cold dawn. Friday, July 18. 2008Finally, a new system!
I've finally managed to put together a new system. Compared to my previous system, it's like lightning.
Without further adieu, here are the specs: CPU: AMD Phenom X4 9850 (Black Edition) RAM: 4 GB DDR2-800 (2 x 2 GB Corsair XMS2) HDD: 160 GB Western Digital Caviar Blue (7200 RPM, SATA-II, 16 MB cache) Video Card: NVidia GeForce 8400 GS (PCI-e) Sound Card: Onboard NVidia HDA Motherboard: ECS NFORCE6M-A (3.0) Chassis: Gigabyte GZ-X2 Mid-Tower PSU: Coolmax V-500 (500W ATX PSU) OS: Gentoo Linux 2008.0 (amd64) This really is a system to Git-R-Done! Thursday, June 5. 2008Skunk-a-what?
Those of you in the Fairfield / Hamilton / Middletown areas of Ohio are probably familiar with a computer shop by the name of Skunk-a-Rific Computers. A friend of mine recently had a laptop serviced there, and after being charged approximately $75, was told that his laptop was "a lost cause."
In utter disbelief I examined his laptop, and what I found was: not only were they dead wrong, they caused an ID10-T error. Skunk-a-Rific also installs a default background image which I can't stop laughing at (click to see the full image, and take note of the text in the lower-left corner): Your software warranty is void if you load any software without our approval. This includes: Windows Updates, drivers for anything, all software loaded from the internet, internet access discs, store-bought software, or anything that modifies Windows. Do not use Internet Explorer to browse the internet, use Mozilla Firefox instead. Do not use AOL for internet access. It is not approved by Microsoft or us. If you normally use Outlook Express for e-mail, use Mozilla Thunderbird instead. You will get hacked if you ignore these instructions, and this is not covered under our warranty. What kind of fear tactics are these idiots trying to pull here? Sounds like a mandate from a fascist regime. One should need their approval to install something? That's absolutely rediculous! Thus, I went down into my dark chambers, and began the process of reinstalling Winblows. After an hour or two, I still had not had any problems (the laptop is supposedly "a lost cause" right?) My friend had told me he only really wanted the machine to play World of Warcraft, so I installed the trial, and it ran smoothly. Now, the fact that the technician at Skunk-a-Rific completely lied to my friend wasn't my chief concern, their unprofessional nature speaks for itself. It was more the fact that they would have installed several different pieces of software on his machine, without his approval, and then proceed to chastise him. I found several OEM versions of softwares such as AHead's Nero CD-recording suite, for which my friend did not pay, nor have a license; again, installed behind his back. Now, let's run through a check list: 1. Did they properly assess his needs? -- No 2. Did they have a professional attitude toward their service? -- No 3. Did they do what he originally asked (Reinstall Windows)? -- Partially 4. Did the customer pay for an unsatisfactory job? -- Yes 5. Are they even CompTIA A+ Certified? -- More than likely not. That says it all. Even on their website, are several examples of unprofessional conduct by their employees. For Christ's sake, their website is one big sales pitch from the late 90's. It's not even informative, except for bashing this and that, selling this and that. Their company MySpace page feels more personal than professional. They seem to love to push Linux and Open Source software, but they are exactly the kind that give the Linux & OSS communities a bad name. As much as they seem to hate Windows -- their website and their offices are run on Windows servers. Quite a bit of irony, eh? If you're in the Cincinnati area and need computer repair, contact me for a quote. I'm a real CompTIA A+ Certified Technician and a professional to boot. Friday, May 2. 2008On Object-Oriented Design
Well, most programmers have heard of OOP by now (unless they've been in strict captivity for the last 15 or so years.) Most of us lean either twoard Object-Oriented design, or toward traditional procedural design, and some of us are caught in the middle. Wherever you are on the fence, I want to make it clear where I stand, and explain why I feel the way that I do.
I deplore Object-Oriented design. Most implementations of it have made a mockery of the underlying ideas, leading to code that's more and more complex, unnecessarily. My theory is that a bunch of fellers got together and the conversation went something like this: Feller 1: "Wouldn't it kick ass if we could refer to data structures as 'Objects'?" Feller 2: "Don't we do that already?" Feller 1: "No.... I mean we roll up the data structure and functions into 'Objects'!" Feller 2: "Hmm... I don't know..." Feller 3: "Hey guys! How's it goin'?" ... Feller 1: "See, we can combine data structures and functional portions, and make it seem to be more reusable!" Feller 2: "Oh!" Feller 3: "Good Lord..." ... Feller 1: "This way the child 'inherits' the parent 'Object'... Well, let's be fancy and call it a 'class'! Everyone wants that, don't they?" Feller 2: "That's catchy!" Feller 3: "Yeah, sounds good." ... Feller 1: "Hey, if we get other people to go with it, we can all make more money..." Feller 2: "How do you mean?" Feller 3: "Ah! This app I wrote... I've got 28 'classes' now, and 4 of them are barely different, but that makes it more 'maintainable'." Feller 1: "See, he proved my point exactly! If the code is really less maintainable, but we say it's the opposite, they'll pay us more to keep us around to deal with it because of the learning curve to new developers with this model!" Feller 2: "Oh! I see. Well, damn, sounds good to me. This new outsourcing fad has me worried..." Thus Object-Oriented Design was born and soon became a fast-growing fad with promises of quicker application development and complex frameworks that do everything for you. Java was born shortly thereafter based on the same bogus promises. Why it hasn't been phased out yet I don't know. I'll outline some of my arguments below. Wednesday, April 16. 2008The Great Dawn of the Age of YouTube SpamYouTube, one of the most popular sites on the internet, next to google.com, has been being hit by spammers for a while, but I fear they're stepping up their routine. Apparently, they seem to not only be placing their own videos on YouTube, but also seem to be spamming YouTube users with fictitious friend requests nowadays. Tonight I came across such an example: sarahsterling.com - sarahkd10. In the course of my port scanning, whois'ing, and googling, I came across a blog post, written by Paul in the UK, referring to what appear to be the same person / group spamming his blog. Most of the URLs he mentions there are all related. At least this particular domain is hosted by WebAIR in Jericho, NY; a known spammer-friendly ISP. If you want to complain: +1 866 932-2471. I did manage to peek at the YouTube front page and notice that Her Majesty Queen Rania Al Abdullah of Jordan is holding a campaign on YouTube to help explain and dispel common stereotypes about the Arab world. Interesting. I look forward to seeing her responses. That's the most productive thing I happened to notice on YouTube amidst getting red-assed over this damn spammer. My port scan results: Saturday, April 12. 2008Card Trick '13' Explained
I saw a card trick on YouTube amongst my late night YouTube surfing, and thought to take a moment to give an explanation as to how it works. It's not an illusion of any sort, no slight of hand is involved. It's simple mathematics.
The trick relies on one thing: The cards for each suit are ordered, thus the n+13 th card in the deck is the card n of the next suit. Cutting the deck doesn't change the order of the cards. If I have an array of ( 1,2,3,4,5,6,7,8 ) and I 'cut' the array at 4, my array is ( 5,6,7,8,1,2,3,4 ) thus the elements are still ordered. Flipping the deck over only affects the order in which the suits present. It also does not matter that the cards are ordered king-to-ace, ace-to-king, or 10-to-ace-jack-to-king, etc. as long as they are in the same order for each suit. I wrote a perl script to illustrate this, exactly as the feller does it in the video. I posted a video response on YouTube. Sunday, March 30. 2008Benchmark: PHP vs. Python vs. Perl vs. Ruby
Today, I was looking at a couple of PHP benchmarks (the one here for example), and they compared OOP benchmarks to Procedural benchmarks for the most part. I decided to write my own set of benchmarks using four of the most well-known web development languages that were ready-at-hand: PHP, Python, Perl, and Ruby. My benchmark also tests OOP vs. Procedural on a few terms: Execution speed and Raw lines of code written. I compare a visual estimate of memory usage between all four languages as well.
Now, one cannot draw very many conclusions from my benchmarks here, because the programs used don't really do anything useful, nor do they simulate "real-world" conditions, or practical use-cases. Remember, we learn multiple programming languages, not because of fads, but because it expands our own knowledge, and because some languages are better than others for some things; and it's helpful to be able to choose the right tool for the job. Keep in mind the golden rule of benchmarking: All benchmarks are flawed benchmarks. Friday, March 28. 2008Geert Wilders Releases 'Fitna'
As many of you are undoubtedly aware, today Dutch politician Geert Wilders finally released his controversial film entitled Fitna.
Fitna is an arabic word, which roughly translates to "strife" (usually used to indicate religious strife) according to what I've read (I don't speak Arabic.) After seeing the film, I think the title is quite fitting. The film contains highly graphic images, which some may find objectionable. However, the film is based on a few passages out of the Quo'ran, and on news reports of terrorist attacks by radical islamic groups in the US and Europe. This film has the potential to be taken largely out of context. Some people claim that the film could incite islamophobia, much like The Passion of the Christ could incite antisemitism. From my perspective, the film is not anti-islamic, but bears a warning against the spread of radical Islam, and the agenda of its proponents. Personally, I have a lot of respect for Muslims and their culture. Every Muslim I've ever met has been pleasant to talk with and open-minded. By no means are the majority Muslims "radical", but I must concur with Mr. Wilders that radical Islam must be stopped. Much like the Catholics did during the Crusades, radical islamists use their religion to justify murder and other terrorist actions against innocent people. This is the sort of film that one must judge for oneself. It certainly makes one think. As for Network Solutions taking Wilders' site offline the other day, I'd say that Mr. Wilders has just as much a right to free speech as the islamic extremists on behalf of whom NS was all too happy to play host. NS should grow a pair and take a stand in favor of freedom of speech. To the broadcasters who wouldn't air his film: Grow a pair. Edit: 3/30 It appears that LiveLeaks has removed fitna, and replaced it with a statement as to why. Moreover, the English version of Fitna is still able to be seen at: Google Video and fitnathemovie.com. Fortunately I have a copy of the Dutch version which I may host here on my server. Wednesday, February 20. 2008Yahoo and Microshaft -- a shotgun wedding from hell
By now, I'm sure everyone's heard about the M$ - Yahoo acquisition offer. I'd been following it since day one. Though, thankfully, Yahoo's board was smart enough to refuse the offer, though I would say that given conditions at the time, it was a generous offer.
In the wake of the whole situation, I've found a blog post that really hit home. Nick, a Yahoo employee, made some very interesting points on his blog post entitled "Yahoos won't work for Microsoft". In said post, he postulates that many Yahoo employees would have left had the deal gone through. That was something that I, too, had surmised. What really hit home most of all was one single line: I love Yahoo!, and I am proud to be a Yahoo! I will not work for Microsoft. I’d be embarassed to admit that I worked for Microsoft, and having it on my resume would be detrimental to my career. That is a point that echoes what I have said for the last 8 years. I will never get a Microsoft certification, because we all know, an MCSE is like a broken condom - 99.9% ineffective. Granted there are some MCSEs who were forced into it, and are actually halfway-decent engineers (hence the 0.1%), and I cannot find fault with those people. Moreover I, myself, will never join their ranks. Sure, I could go off on the whole "What comprises a true engineer" rant, as I normally would, but that would go way off topic for this post. I, myself, will never work for Microsoft, or any company they acquire; nor will I ever utilize any Microsoft technologies (beyond what I need to reverse engineer things in order to write open-source equivalents.) To do so would be utterly shameful, blatant abandonment of my principles, and absolutely unforgivable. Microsoft's closed-minded way of thinking is so absolutely backward from today's industry, that it really makes you wonder how long true developers will allow themselves to be suckered into it. The only companies that push Microsoft products / technologies are those looking to either make a quick buck, gain revenue from support contracts after the fact (because it's going to break -- either by programmer error, system error, or user error), or have their heads crammed so far up their asses they haven't been out to see what the state of the industry currently is. Open-source represents the epitome of collaborative development -- an absolute necessity in today's industry. A developer can learn more, by participating in open source projects than from a year of college taking (mainly) Microsoft-oriented classes. The unique element to the open-source model is collaboration with any number of developers across the globe, all with different levels of experience and different backgrounds. Keep in mind, you can write open-source code for Windows, but, why limit yourself? Kudos to Yahoo for rebuking Microsoft and standing up for the creative minds they've employed, and also for their shareholders, whom M$ would have simply written off. Tuesday, January 29. 2008PSX-GS 1.0 Released
Today, I'm releasing PSX-GS -- a plugin for epsxe and other PSEmu-compatible emulators on Linux to allow the use of Game Shark / Pro Action Replay codes. Winblows users have had this functionality long enough!
PSX-GS is licensed under the GNU General Public License (version 2) (or later), and has been tested with epsxe 1.6.0. You'll need a fairly recent GTK 2 build in order for the UI portion to work properly. Note that codes with correct formatting and improper addresses may crash the emulator. Be sure to read the README. You can download it here: Source Code, 32-bit x86 Binary Here's a brief walk-through of how to use it. Saturday, December 29. 2007Genealogy Research
I've done quite a bit of genealogy research recently, and have married up my research with PhpGedView to share my research with the world. You can access it here.
Saturday, December 1. 2007TI-Basic Syntax for VimSunday, November 18. 2007Dynamic Content in both Firefox and IE
The Problem
As we all know, the HTTP standard defines a multipart/x-mixed-replace MIME type, which is supported in all Mozilla-based browsers, but not in IE. This mime-type allows a content generator to dynamically replace the current content with different content. Each part of the stream can have its own MIME type, so you could use this feature to stream images, HTML pages, or anything else supported by the browser. With the need to generate such content, I set about to solve this task, for which there seems to be no solution. My requirements to fix this are as follows: 1. Has to be simple yet elegant 2. Has to support both Mozilla-based browsers and IE 3. Has to practically duplicate the effect of using x-mixed-replace. The Solution First, we have to flush the content regularly. In PHP, we use flush(), and in perl setting the auto-flush flag is sufficient ($| = 1;). Second, we need to instruct the browser not to cache content on the page, as it would be pointless, and could possibly interfere. We do that by setting the Cache-Control HTTP header to no-cache. Third, your script should do whatever it needs to do, but send updates back to the client within the Keep-Alive interval, even if it just sends a carriage return. Fourth, Your script completes, and sends one final update to the client to change the content. The fourth step really is the key to it all, so I'll elaborate in detail: Mozilla-based browsers (e.g. Firefox, Safari) and IE allow for the document.body.innerHTML property to be changed (naturally). Both also will allow you to send more than one body element, and will execute the onload handler upon parsing that element. Note, however, that it will not allow you to do: <body onload="document.body.innerHTML = this.innerHTML"><!-- content here --> So naturally, you can get around this by: <body onload="document.body.innerHTML = document.getElementById('gitrdone').innerHTML"> <div id="gitrdone"> <!-- Content Here --> </div> </body> In most cases, this will work just fine. If you want to say, change the title, or modify the head, you won't be able to do anything like: <body onload="document.firstChild.firstChild.innerHTML = document.getElementById('gitrdone').innerHTML"> <div id="gitrdone"> <title>New Title</title> </div> </body> OR <body onload="document.firstChild.innerHTML = document.getElementById('gitrdone').innerHTML"> <div id="gitrdone"> <head><title>New Title</title></head> <body> <!-- Content Here --> </body> </div> </body> Niether update as expected in Firefox, and neither will work in IE (because the first two nodes(html and head) are read-only.) You can see an working example of this here. With the source here. Saturday, November 17. 2007ICQ Spam, to hell with you!On a daily basis, I'm getting ICQ spam advertising a russian dating site. I'm about fed up with it. Perhaps I should enlist the help of Roy D. Mercer in my quest for vengance... As for what exactly I'm going to do about the problem, I'm not sure at this point. But you never know what's going to happen when I get a big enough case of the red ass! The ideal solution:
(Page 1 of 2, totaling 23 entries)
» next page
|
Calendar
LinksContact Me
QuicksearchSyndicate This Blog |