- Disable UseDNS
- Give the -u0 option in /etc/default/ssh
SSHD_OPTS=-u0
Computer hardware, software and networking diary. Linux system administration, broadband, software configuration management, web tools.
SSHD_OPTS=-u0
Posted by
chnrxn
at
4:26 PM
0
comments
I wanted a standalone AP-client/Ethernet converter/Wireless bridge. I couldn't find a suitable product on the market (with my budget of < US$50). The products I did manage to find were either too expensive, too old, not available, or too over-featured (remember you heard this term here!).
Well, there were a few: like the Zyxel G-570S which cost S$99 (too expensive), Engenius ECB-1220R which was not yet available (but the price seems alright at S$75). Asus WL-320gE/WL-330-gE looked like they fit the bill too, but was too expensive.
The Linksys WGA54 was an obsolete, EOL product. Last firmware was in 2005, and it doesn't support WPA. I bought 3 of them only to find out that they worked quirky too. There was no way to get the signal strength, for example.
I came back to something that I've overlooked for a while, because the published product specs didn't support an AP client mode - the Dlink DIR-300. It was based on an Atheros AR2317 which IS supported by DD-WRT, which had client mode wireless, which was a full linux distribution (something which I was right at home with), and it was both CHEAP (S$50) and readily available. So I popped over to Challenger on the weekend, bought one unit, and brought it into the office today to get it converted.
It wasn't too daunting after all. It took me a few tries and reboots to get the DD-WRT firmware properly flashed onto the board, and a couple more steps later we are in business. I got my wireless AP client up and running.
I was able to connect to an AP using WPA2-PSK via the webpages. The only complaint I had about the interface was that it put the onus of knowing the security settings on the user, and did not detect the suitable configuration for the AP. It had telnet (how about SSH?), but the username and password did not match the web-based login. AP scanning works well. I could use the iwconfig and iwlist commands to scan for access points and get the signal strengths. Just perfect for my wireless testing. I could even do performance testing from the router itself.
Acknowledgements
Posted by
chnrxn
at
5:35 PM
5
comments
This is what I have always been talking about (but failed to achieve/implement/convince). It's way overdue that application programmers use a common library API to manage configuration settings instead of having to reinvent the wheel a million times. I have heard all the arguments before, and I have an explanation for each and every one. So come on and flame me, but of course I would rather have an engaging discussion.
If Elektra were a girl, she'd be the one I'd marry. (based on first impressions till date)
Elektra is a universal hierarchical configuration store, with related goals like GConf and the Windows Registry. It allows programs to read and save their configurations with a consistent API, and allows them to be aware of other applications' configurations, leveraging easy application integration. The whole point of it is to tie applications together, so that they can co-operate and share their user-preferences.
The developers are associated to unix philosophy and the very practical point consists of writing a configuration library. Every software needs this functionality, it is not easy to do it right and performant and we want to avoid any unnecessary code duplication.
Posted by
chnrxn
at
11:02 AM
1 comments
Saw this on OSNews.Com. Users of AVG Anti-Virus beware:
Dutch, French, Italian, Portuguese, and Spanish users of the popular anti-virus software AVG have discovered a nasty surprise. AVG has mistakenly identified a core Windows system file, user32.dll, as a Trojan, and summarily deletes it, b0rking Windows. AVG has announced they're working on a fix.Interestingly, I cannot find this on AVG's website, neither in the News or Updates section. So judge for yourself.
Posted by
chnrxn
at
7:15 PM
0
comments
Labels: news
I've just found this article on AnalogZone featuring the custom ASIC (IT3107) of my Netgear ReadyNAS Duo, which contains a SPARC-based core along wth integrated NAS circuitry. Apparently the IT3107 supports 4 SATA controllers (argh, I should have gotten a 4-bay NAS instead, but the cost would be prohibitive at this stage).
Here is an excerpt from the article on some of its major features (I didn't know this before):
Infrant's basic concept is to integrate all the functions required to support a small RAID array with the electronics required to put the data on a 10/100/1000BaseT network, and to throw in a print server function for good measure. They've already rolled out a product to address the higher-priced SMB-level market which supports up to eight SATA drives. They're now introducing the ExpandaNAS IT3107, a consumer-grade device with half the SATA drives for the SoHo and consumer market. Depending on what works best for your needs, Infrant will happily sell you either the raw chip or a complete OEM-able board that only requires a case, power supply and disks. And power won't be too much of a problem since power consumption for the IT307 is only 5 W.
Powered by a 32-bit SPARC-based RISC core (with several extensions that we'll look at shortly) the chip supports RAID 0/1/5 operation for up to four SATA drives. Its network connection is a single Gbit Ethernet port. A PCI host interface and a pair of USB interfaces for supporting peripherals such as printers complete the I/O complement.
Rather than pass disc data through the CPU, its disc interface bypasses the PCI bus and uses DMA to shove blocks of data from the drives to the on-chip 64 bit DRAM controller. This leaves most of the SPARC's processing power available to manage the disks, handle the print serve tasks, and support its GbE connection at full rate. Infrant has also enhanced the chip's performance by beefing up the SPARC processor's instruction set. While its instruction set is still SPARC v8-compatible, the processor has had the way it executes several instructions optimized to keep critical segments in the fast lane. They also equipped the CPU with additional hardware logic including a hardware table walk-through for lookups, a lock-down cache, and a 3DES encryption core.
Posted by
chnrxn
at
7:06 PM
0
comments
I'm letting go of my Asus Pundit-R barebone of 3 years (see the specs on the right).
It is basically working, but intermittently does not POST (I found that taking out the cover helps), probably due to a loose SDRAM chip or slot.
Make me a reasonable offer (my reserved price is SGD$150), and I will include a ViewSonic 15" CRT monitor (needs 5mins to warm up), Western Digital Jumbo Buffer (8MB) 60GB and Pioneer DVD Rewritable into the bundle. Make me a good offer and I will throw in my Canon D646ex flatbed scanner.
Note, there is no bundled Windows OS. I can install and update Ubuntu for you if you like. I have been running the machine as my Linux workhorse.
Please leave a comment or email me privately at cohawk (at) yahoo (dot) com.
Posted by
chnrxn
at
6:55 PM
0
comments
Labels: classifieds, sale
Anyone who has been a web developer for any amount of time would understand how tricky it is to get web pages to render correctly on different browsers, especially when the user base has a varied installation of browsers.
Installing a new version of IE replaces the previous version, so this is not encouraging at all for the adventurous (of which developers by nature are) who like to install cutting edge versions of software to test drive.
I've just thought about this problem myself, and viola, it turns out that I am too late! The problem has already been solved.
Here's a quote from TredoSoft:
Ever wanted to test your website in various versions of Internet Explorer?Get the Multiple IE installer.It is possible to run Internet Explorer in standalone mode without having to over-write previous versions thanks to Joe Maddalone who came up with a way of achieving that in November 2003. Basically, Internet Explorer is run by exploiting a known workaround to DLL hell - which was introduced in Windows 2000 and later versions - called DLL redirection.
Posted by
chnrxn
at
1:57 AM
0
comments
Labels: development, msie, web
First it was Singnet and their "nobody needs more than 21Mbps" rubbish. Then Starhub is finding excuses for their inability to handle congestion from multiple users in the same area.
All the things mentioned in this page are true. But, it is a deliberate attempt to confuse users to prevent them from knowing the real truth.
I just signed up with Starhub's 8Mbps MaxOnline Express Plus plan, which comes with a complimentary 1Mbps mobile broadband plan. I've found that the mobile broadband was actually FASTER!
This is not the first time I have noticed this, but today I have decided to take down my results.
Using 2Wire's SpeedTest I obtained 3 readings from mobile broadband and cable modem each. The time was around 9pm today (Monday evening).
With mobile broadbamd, I had:
1.17Mbps
1.21Mbps
1.33Mbps
With cable modem, I had:
161.40kbps
190.70kbps
127.50kbps
Surprisingly, I am getting the full download speed from my 1Mbps mobile broadband connection, which is 10 times faster than the supposedly much faster 8Mbps cable connection.
No more excuses, Starhub. I have performed
Posted by
chnrxn
at
10:24 PM
0
comments
Do you still think that Javascript belongs only in the web browser? Think again!
JSDB is JavaScript for databases, a scripting language for data-driven, network-centric programming on Windows, Mac, Linux, and SunOS. JSDB works with databases, XML, the web, and email. It is free and open-source. Use it as a JavaScript shell, to run CGI programs, or as a web server.Do all your scripting with ONE language. JSDB is built on a standalone JavaScript shell for various operating systems, Linux, Windows, Mac. Suddenly, even web developers have the power to develop real applications without going into the complexities of Visual Studio.
Posted by
chnrxn
at
4:38 PM
0
comments
Labels: javascript, jsdb, scripting, wxjavascript
Have you ever wanted to give some step-by-step instructions to people on how to use some programs, or even their own computer, and get frustrated because you had to write lines upon lines of text, throwing in a couple of screenshots which most people have no patience to read or are unable to follow?
Desktop Video capture is the way to go. CamStudio deservedly came up tops on a Google search for "desktop video capture". There are lots of other software packages, but they either cost money, and they simply DO NOT WORK.
CamStudio works, and it's free. Best of all, it generates SWF output for you that you can embed into your website, or upload to Youtube right away. Consider making a donation if it helps you.
It's rather trivial to compile Squashfs-Tools under Cygwin. With this comes a host of benefits for developers, i.e. lay people can make their own modifications, and roll their own images without bothering the developers to run mksquashfs for them under Linux.
I know most people are not going to compile their own (although I don't see the big difficulty), so I have packaged the binaries for Squashfs 3.4, which are available here.
Anyway, this is the patch against squashfs3.4:
Update: I've submitted the patch to the official Sourceforge page:
https://sourceforge.net/tracker/index.php?func=detail&aid=2465952&group_id=63835&atid=505343
Index: squashfs3.4/squashfs-tools/unsquashfs.c
===================================================================
--- squashfs3.4/squashfs-tools/unsquashfs.c (revision 4)
+++ squashfs3.4/squashfs-tools/unsquashfs.c (revision 5)
@@ -49,9 +49,11 @@
#include <sys/time.h>
#ifndef linux
+#ifndef __CYGWIN__
#define __BYTE_ORDER BYTE_ORDER
#define __BIG_ENDIAN BIG_ENDIAN
#define __LITTLE_ENDIAN LITTLE_ENDIAN
+#endif /* __CYGWIN__ */
#else
#include <endian.h>
#endif
@@ -252,6 +254,7 @@
void sigwinch_handler()
{
+#ifndef __CYGWIN__
struct winsize winsize;
if(ioctl(1, TIOCGWINSZ, &winsize) == -1) {
@@ -259,6 +262,9 @@
columns = 80;
} else
columns = winsize.ws_col;
+#else
+ columns = 80;
+#endif
}
@@ -2411,6 +2417,9 @@
if(sigprocmask(SIG_BLOCK, &sigmask, &old_mask) == -1)
EXIT_UNSQUASH("Failed to set signal mask in intialise_threads\n");
+#ifdef __CYGWIN__
+ processors = atoi(getenv("NUMBER_OF_PROCESSORS"));
+#else /* __CYGWIN__ */
if(processors == -1) {
#ifndef linux
int mib[2];
@@ -2431,6 +2440,7 @@
processors = get_nprocs();
#endif
}
+#endif /* __CYGWIN__ */
if((thread = malloc((3 + processors) * sizeof(pthread_t))) == NULL)
EXIT_UNSQUASH("Out of memory allocating thread descriptors\n");
Index: squashfs3.4/squashfs-tools/read_fs.c
===================================================================
--- squashfs3.4/squashfs-tools/read_fs.c (revision 4)
+++ squashfs3.4/squashfs-tools/read_fs.c (revision 5)
@@ -36,9 +36,11 @@
#include <sys/mman.h>
#ifndef linux
+#ifndef __CYGWIN__
#define __BYTE_ORDER BYTE_ORDER
#define __BIG_ENDIAN BIG_ENDIAN
#define __LITTLE_ENDIAN LITTLE_ENDIAN
+#endif /* __CYGWIN__ */
#else
#include <endian.h>
#endif
Index: squashfs3.4/squashfs-tools/global.h
===================================================================
--- squashfs3.4/squashfs-tools/global.h (revision 4)
+++ squashfs3.4/squashfs-tools/global.h (revision 5)
@@ -71,4 +71,9 @@
typedef squashfs_inode_t squashfs_inode;
typedef squashfs_block_t squashfs_block;
+#ifdef __CYGWIN__
+#include <sys/termios.h>
+#define FNM_EXTMATCH (1 << 5)
#endif
+
+#endif
\ No newline at end of file
Index: squashfs3.4/squashfs-tools/mksquashfs.c
===================================================================
--- squashfs3.4/squashfs-tools/mksquashfs.c (revision 4)
+++ squashfs3.4/squashfs-tools/mksquashfs.c (revision 5)
@@ -49,10 +49,12 @@
#include <fnmatch.h>
#ifndef linux
+#ifndef __CYGWIN__
#define __BYTE_ORDER BYTE_ORDER
#define __BIG_ENDIAN BIG_ENDIAN
#define __LITTLE_ENDIAN LITTLE_ENDIAN
#include <sys/sysctl.h>
+#endif /* __CYGWIN__ */
#else
#include <endian.h>
#include <sys/sysinfo.h>
@@ -3161,6 +3163,9 @@
signal(SIGUSR1, sigusr1_handler);
+#ifdef __CYGWIN__
+ processors = atoi(getenv("NUMBER_OF_PROCESSORS"));
+#else
if(processors == -1) {
#ifndef linux
int mib[2];
@@ -3172,7 +3177,6 @@
#else
mib[1] = HW_NCPU;
#endif
-
if(sysctl(mib, 2, &processors, &len, NULL, 0) == -1) {
ERROR("Failed to get number of available processors. Defaulting to 1\n");
processors = 1;
@@ -3181,6 +3185,7 @@
processors = get_nprocs();
#endif
}
+#endif /* __CYGWIN__ */
if((thread = malloc((2 + processors * 2) * sizeof(pthread_t))) == NULL)
BAD_ERROR("Out of memory allocating thread descriptors\n");
@@ -3422,7 +3427,6 @@
return FALSE;
}
-
*new = init_subdir();
if(stickypath)
*new = add_subdir(*new, stickypath);
Posted by
chnrxn
at
2:40 PM
0
comments
Did I also mention I bought the Linksys WRT310N Wireless-N Gigabit router for $109 during one of the hourly timeslots at Sitex which allowed the first 5 customers to get a discount from the show price of $159 (RRP $199)? Not a bad deal considering the Dlink DIR-655 is going for over $200, and the Belkin N1 Vision is going for $225 as well. The 310 is just one step down from it's sibling 610 in terms of features. The 610 has an additional 5GHz radio which allows it to avoid the spectrum congestion in the 2.4GHz space, crowding with mircowaves and other wireless access points.
The irony of the matter is, my home network may be Gigabit enabled, but I cannot enjoy it!!! Because my laptop is NOT Gigabit! Sony SZ483N !@#$% has a Marvell Yukon (gigabit line) Fast Ethernet chip! My NAS is gigabit, my router is gigabit, and even my work laptop is gigabit! Argh!!! I guess this is what I have to contend with by going for looks. There is always something deficient about something small, slim and pretty.
Ahh, there is new firmware for my Linky. Time to dowload! Haha.
Posted by
chnrxn
at
12:38 AM
0
comments
I signed up with Starhub yesterday for their MaxOnline Express Plus. Comes with up to 8Mbps (usual disclaimer mumbo jumbo applies) download with SpeedBoost at selected partner sites of up to 100Mbps. A free home phone line and 1Mbps mobile broadband is also included. All for a price of $59.92. SIM card fee: $37.45, one-time service activation fee: $34.10.Actual bandwidth is dependent on hardware, software, Internet traffic and destination server.
The cable modem provided is NOT 100Mbps (DOCSIS 3) capable. Which means you have to get your OWN DOCSIS 3 cable modem to be able to access Yahoo! (happens to be one of the partner sites) at 100Mbps. I have not been able to load any speedtest page successfully to test out my connection, but the intuitive feel is that Yahoo does seem to be faster than DSL. So does HardwareZone, and especially VR-Zone.
I got a nice big CDROM called MaxOnline User Guide. Inside the 650MB CD there is a grand total of 17.7MB worth of PDF files (only one actually). Is this necessary? I'd rather they provide a thumbdrive, it is more practical since the drive can be reused, and the manual tends to go out of date anyway.
A digression about how this 100Mbps thing is possible. Singapore has a local Singapore-ONE network which is powered by a speedy backbone. When accessing the SpeedBoost sites, you are actually accessing the local servers. The company itself does not have to own the servers in the localities concerned, even though Yahoo! itself may in fact own servers in Singapore. Akamai installs servers in Singapore that cache popular websites like Yahoo, CNN, etc. If you are interested enough, take a peek at the HTTP headers when visiting these websites, you will see that they are being cached by Akamai. However, you are still accessing the most up-to-date information from the main servers, because Akamai constantly checks with the main server for the most updated pages, and fetches new ones as necessary.
The 3.5G USB dongle for the mobile broadband is HUGE. Makes me just want to use my phone. Caveat: if i put the SIM card into my phone, I lose cellular connectivity as the 3.5G is for data only.
Sending SMS from the 3.5G SIM card costs 5 cents a message. I feel this has to be made more explicit. I knew about this only because I asked.
Does Starhub still practise port blocking?
Bummer: I called Singnet earlier today asking to terminate my Singnet account, and I was told I can only do that in Feb 2009! That means I will be paying an extra $33 a month for another 2 months. Any takers?
I'm escaping from Singtel into the demonic arms of Starhub, what kind of escape is that?
Posted by
chnrxn
at
4:32 PM
0
comments
Labels: broadband
Heh. I simply have to talk about this - smart people think alike! I read this on Joel Spolsky's Inc article "How Hard Could It Be?: My Style of Servant Leadership"
management's job is to get things out of the way so that all the great people we've hired can get work done.This is something I have personally believed in, and professionally practiced. A lot of managers simply assign tasks to their engineers/subordinates, set them deadlines, and left them as they were, nary lifting a finger to help, and reprimanding their people without even a clear knowledge of the situation.
... working hard to make Fog Creek Software a place where authority and respect are earned and not bestowed. A place where management is an administrative function ...
Posted by
chnrxn
at
1:50 AM
0
comments
Labels: management
THE PLACE to get the inside scoop on everything ReadyNAS. Find previews and reviews of new features, tutorials, and information you won’t get anywhere else. Well, maybe you will, but not easily and not in one happy place like this. Do give us feedback on the ReadyNAS Community Forum and let us know if you would like to see topics not covered here. Enjoy!
Posted by
chnrxn
at
2:51 PM
0
comments
Javascript, also known as ECMAScript, is the world's primary programming language for web sites and applications. The Internet "breathes" Javascript and with Ejscript, it can now be set free to become a language that exceptionally is well suited to embedded and web applications outside a browser.
Ejscript™ is a compact, fast and powerful implementation of Javascript. Use it in applications, devices, server side web scripting, or anything outside the browser that your imagination can dream up.
With classes, interfaces, optional strong typing, type checking, namespaces, modules, getters, setters, iterators and a rich system library -- Ejscript is the ideal language for a host of embedded applications.
Posted by
chnrxn
at
2:47 PM
0
comments
Having just visited Sitex 2008, I came back with a bunch of brochures. Interestingly, as I was clearing out my old stuff, I found a copy of D-Link's Sitex 2007 brochure (ONE year ago), and to my amazement, discovered that prices have not dropped much, but instead has increased for the DIR-655 router!
Look here: The DIR-655 is selling for $175 (show price).
Then take a look at the brochure below, from this year's exhibition: The DIR-655 is going for $225 (show price), and $189 (trade-in price), which is even MORE EXPENSIVE than last year!
Hmm, well, I'd expect D-Link to tell me the hardware has been upgraded, etc, leading to better performance, blah, but seriously, this is the exact same router, the same features!
Bad D-Link marketing ...
Posted by
chnrxn
at
11:25 PM
0
comments
Windows Vista comes with this swanky slick user interface called Aero (transparency et. al.) I thought my 'new' laptop with 2.16GHz CPU and 2GB RAM should be able to handle it. Nah! Somehow my old Compaq Evo 620C felt faster with it's 1.5GHz and 512MB RAM.
Just yesterday, I had some sense to switch back to the Windows Standard display scheme, and boy, did the parachute break!
Windows Vista and Windows 7 (and later) should really run a first time wizard warning users (especially speed aficionados like me) about the performance penalty (yes, I go for looks too) and provide an option to disable Aero, or at least provide the user an option to optimize aesthetics or performance.
Posted by
chnrxn
at
8:48 PM
0
comments
I became a proud owner of a Netgear ReadyNAS Duo last night, having bought it at the Sitex Exhibition 2008 (in Singapore). Price: S$439 with a bundled 500GB Seagate Barracuda 7200.11.
(This picture contains my current setup. The silver box contained a 250GB Western Digital external drive, the front USB port is connected to a failed Seagate 2.5inch drive taken out from my laptop, which I am still trying to recover data from.)
I was in the market for a 2-bay Network Attached Storage device. The hard disk on my Sony Vaio SZ-483 failed on me after 9 months, taking some of my photos along with it, including some vacation photos and baby photos of my niece. =( People really have to learn things the hard way.
The uninitiated may wonder what this unit has that can't be fulfilled by portable storage offerings from Western Digital, Maxtor or Seagate. Having a built-in processor and memory takes a huge load off your PC or laptop. Having a shared network storage means that several computers can access shared files all in one place, instead of having to carry a USB drive around. Of course, if you only ever have one PC (which is also true in my case), you probably would not appreciate the benefits of a central storage system.
The key consideration was the hack-ability of the unit - I wanted to be able to extend the box with my own applications and services. A close contender was a Qnap TS-209 II as Qnap also had their own Qpkg development system, besides the fact that Qnap specializes in network storage all this while and have built a full range of storage systems. I also spent some (thankfully not a lot) time looking at the Dlink DNS-323 (and it's 4-bay 343), but after reading reviews on Amazon, realized that it was not a serious contender at all for the things I wanted to do.
The balance was tipped in Netgear's favour for a practical reason - because the Duo was selling for $439 bundled with a 500GB hard disk, and it was available at the exhibition. The QNAP was nowhere to be found, and it's retail price is rather high, just for the enclosure itself. The Netgear also had local support in Singapore (which I doubt would be helpful). Both have development systems (although ReadyNAS is positioned more strongly as a cross compilation platform than the QNAP), and the QNAP seemed to come with more features bundled, i.e. Joonla, phpMyAdmin, WordPress, DDNS etc. This is not really an issue for me since I am able to install these myself, but it is indeed a hassle to have to do so much work just to get something functional. ReadyNAS also seems to want to protect the user while QNAP sets out to be developer friendly from the start. For someone else who just wanted to be up and running in no time, then I would recommend the QNAP.
Update: Bummer! The ReadyNAS Duo uses DDR SDRAM, and not DDR2. DDR prices have gone through the roof in recent times due to limited supply. Now what am i to do?
According to this review on SmallNetBuilder, SSH/telnet access to the TS 209 was exposed in the web configuration, while ReadyNAS's RAIDiator made you go through hoops to install add-ons to do the same thing.
Going for the same price at Sitex was the Asus Eee Box B202.
This was another contender for my budget since it could double as an entertainment PC as well as NAS functionality, Running at 20W, it is even more power efficient than the NAS, but keep in mind that there is only one 2.5inch 80GB hard disk. Functionality won out in the end, since I didn't really need another PC, I really wanted a capable network storage system, and I'm not willing to shell out good money for the XP license on the Eee Box.
Posted by
chnrxn
at
4:04 PM
0
comments
I've found a useful website which shows you the look of your HTML in real-time as you type it.
It is very useful as it saves the user time from switching between editor and browser to review the changes.
Beware though, if you are using IE8 and you toggle Compatibility View for that page. It will reload, and you will lose all your HTML. So make frequent copies of your code into Notepad, or my current favourite Programmer's Notepad.
Posted by
chnrxn
at
3:43 PM
3
comments
It's good to know that companies are taking the step to widen their reach by having a presence on the web. No offense, but I found this rather amusing.
Posted by
chnrxn
at
11:51 PM
0
comments
Labels: humour
Your text-select (I-beam) cursor may become invisible on an application with a black background. My affected application was PuTTY, something that I use daily in the course of my work.
Using the integrated video Intel 945GM Express (Mobile) gave me this problem, but not with the external Nvidia accelerator (yeah I have a good laptop).
Even Simon Tatham knows about this 'bug'
At first I thought that the 945GM did not support a hardware cursor, but that is actually not the case.
Well, this turns out that it is not a bug related to PuTTY. It is a bug in the video driver. The most likely explanation was this:
I've seen this same problem personally on a GeForce2MX, and I investigated it carefully. I believe it is a bug in the GeForce2MX video driver. The I-beam cursor is supposed to invert whatever colour is underneath it, but it mistakenly inverts black to black. (My suspicion is that each RGB value x is mapped to 256-x instead of 255-x, or some equally easy typo.)
Posted by
chnrxn
at
12:46 PM
0
comments