Domain: icarusindie.com
Stories and comments across the archive that link to icarusindie.com.
Comments · 67
-
Software Rendering in Four Languages
http://code.icarusindie.com/
The tutorials there show how to do software rendering in Javascript, PHP, C++ and Java. In Javascript, C++ and Java it gets into advanced raycasting. All three languages have a wolf3d clone. -
But does it run...
Bunnies?
If it's fast enough for advanced software rendering in higher level languages (Bunnies is Java) then it would be very good tool for teaching programming on. I've learned a lot of math creating these sorts of programs and it's been a lot more interesting than just doing math problems. I'm sure there's hardware to do the rendering on these things but that takes a lot of the learning out of programming.
Hopefully the OLPC will come preinstalled with programming tools or they will be readily available. -
Is caching fixed yet?
Go to
http://www.wolf5k.com/
and play the game. Then go to
http://code.icarusindie.com/index.php?section=js&p age=lesson4
The graphics from your wolf5k session will replay until the frames run out. Then the tutorial may or may not work.
You can also simply reload the wolf5k game and your previous game will replay until the frames run out and then you'll actually be able to play the new game session.
IE hasn't supported the XBM format since early version 6.0 (unpatched install of Win2K). A patch for 6.0 removed XBM support. Prior to that, IE was one of the few browsers that could correctly run the code.
Since FF is the only browser I know of that supports XBM, it'd be nice if the developers would fix this problem. -
It was fast
http://www.icarusindie.com/DoItYourSelf/rtsr/inde
x .php?section=ffi&page=sqrt
That page compares the time it takes to calculate the sqrt various ways including Carmacks. Short version is that modern processors are significantly faster since it can be done in hardware. It may still be useful in cases where the processor doesn't have the sqrt function available.
His version took 428 cycles compared to 107 cycles doing it in hardware on the same system. -
About 60% of visitors have javascript enabled
http://www.freeringtoneheaven.com/ has tracked over 70,000 ips and about 64% have javascript enabled. At http://www.icarusindie.com/ with 78,000 ips tracked only about 38% have javascript enabled.
The only reason FRH is higher is because visitors were required to have javascript enabled in order to download ringtones. That restriction has been removed. Icarus Indie has never required javascript to be enabled. It just keeps statistics. The sites keep track by using javascript to switch an image from a jpg to a php script. Those without js just see the jpg and those with see the image returned by the php script which also updates the database to indicate the ip has js enabled.
AJAX may be cool but if you use it you better have a good reason to convince people to turn javascript on or you're just going to lose visitors.
There were all kinds of Javascript security issues not too long ago and people still don't trust it. -
Sue Them
http://suntasiasucks.icarusindie.com/
I recently sued Suntasia for violating the TCPA and settled in my favor. The whole story is posted on the site. I got less than I requested but they hired a very expensive lawyer which they have to pay for so I got what I wanted: money out of their pockets.
The hard part is figuring out who they are since all you have, if you're lucky, is the phone number. After that you have to do your homework on the law and try not to be intimidated by their lawyer if they hire one. Suntasia is rather infamous around the states so information was pretty easy to find. A phone number was all we needed to get started.
If they're not doing anything illegal then all you can do is not answer your phone or request they stop calling you. They don't have to honor the national list but I'd be very surprised if any organization could get away will calling you after you specifically told them not to. And those requests go into effect immediately. -
I've had those for years
http://www.icarusindie.com/Literature/Library/
It's not overtly advertised as such but my collection started by looking up books that were banned at some time and then finding them on the gutenburg project and hosting them myself. I also have some books that I just thought were interesting and worth having.
UPenn has been directly some traffic my way from their banned book site here
http://onlinebooks.library.upenn.edu/banned-books. html
Maybe this is Google's feeble attempt at making up for suppressing speech elsewhere in the world. -
Re:The real question is...
see that is laughable - you can't draw a curve and you are calling this the graphics drawing level
More correctly, this is a document drawing level. No one ever expected HTML/CSS to go beyond simply displaying textual data to users. As a result, it still needs some beefing up. But for regular use, the lack of things like curved objects is not a show-stopper. The fact that the document elements are solid objects is actually kind of nice, because you're *not* redrawing the screen every time. You just shift your elements around and the web browser figures the rest out.
Also, as I said before, SVG provides a nice solution to the lack of curved objects and rotation. The advantages to SVG are:
1. The image can be built in memory, then displayed.
2. Modifications can be made by walking the XML DOM Tree.
3. SVG is a good intermediary or long term format for storing drawing data.
Point #3 is rather important. Consider the case of a DHTML SpreadSheet application. If you wanted to create a Pie Chart, you can either have the server generate you an image (slow) or create an SVG on the fly (fast). Since you created the image as an SVG, you can then shunt the raw XML data back to the server for optional translation and long term storage. The server could even take the spreadsheet data and generate you an Excel file to email your coworkers.
It's quite an amazing paradigm shift.
P.S. There is some existing work demonstrating the use of dynamically generated images. The game at the link I've provided creates a new XBM image for every frame. (Info) While I don't recommend using HTML for Wolf3D, this method works perfectly for business applications. -
A real world example: mod_proxy_html
Mod Proxy HTML with Binary for free
The author of this module charges 50 British pounds for the binary. However, since he released it under the GPL anybody (including myself) can compile and undersell the author. In my case I decided to go with the price of free.
On top of that, since I only supply the win32 binary, I offer everything you need to know to compile the module yourself. This way you can get the latest source (if my copy happens to be out of date) and compile it yourself and still save 50 British pounds.
The only reasons this author is still being paid for a binary from him are
a) people don't know you can get it for free
b) people want to support the author
c) people are afraid that my version is "tainted"
d) people can't compile the module themselves
e) people think my version is out of date
An effective way to destroy the income flow of a GPL author is to advertise, ensure it's not tainted, make it unnecessary to have to compile, and keep it up to date.
That leaves only those people who want to support the author.
This is why the GPL is a terrible way to make a living. If you release it under the GPL it can be sold for less than the author's asking price by anyone. The authors do all the work and everyone else in the world can profit from it or simply remove the possibility of the author to make a decent amount.
It took less than two weeks for my mod_proxy_html page to show up on Google on the front page right under the author's page.
The GPL quite simply fixes the price at 0 and there's nothing the author can do about it except change their license agreement.
-
code first, then comment
If you need comments to understand your own code, then your code is sloppy and you should fix that problem first. Writting sloppy code is like having bad handwritting. Fix your handwritting. Comments get out of date and are a topic all their own. Someone who writes sloppy code will probably write sloppy worthless comments as well.
You should also code first because you know what a function is supposed to do. When it does exactly what it's supposed to do then comment it. Otherwise your comments will be more along the lines of wishful thinking and lead to more confusion.
You should understand the language well enough that you can keep in your head everything the code is doing and if not, understand the language well enough to be able to read the code to see what it's doing. Comments are not going to help you debug a function. You need to be able to read the code itself to be an effective debugger. Only once it is debugged can you confidently place in comments that say what the function does. Otherwise, it's just wishful thinking.
The most commenting I do before writing a function is a rough outline of the steps the function needs to go through. Only after the function is done and does exactly what it's supposed to do, do I comment it.
I've gone back to code (thousands of lines) I wrote in BASIC 10 years ago and can understand exactly what's going on despite there being no comments. Same with stuff I've written in C/C++. Comments are not essentional if you can read code like a book. Which, a professional programmer should be able to do.
www.wolf5k.com has an obfuscated version of Wolf3D written in Javascript. I went through and deobfuscated the code, figured out exactly what it does and then commented it. I then took the deobfuscated version and translated it to C++. I did the same with the Gavare ioccc ray tracer although the results havn't been posted on-line yet.
Deobfuscated Wolf5K
If you want practice reading "bad" code, deobfuscating programs is great practice.
Ben -
That's a good idea actually
If you want visitors to not block your ads you have to come up with a way to cripple the site if the ads are not displayed. Unfortunatly ad blocks are client side and can't always be detected by the server.
Ads indirectly cover costs (large sites get paid because they can claim X amount of people see the ads per month, not per click or per sale) and images are a very big bandwidth hog. So if a visitor doesn't want to look at ads then Yahoo saves some money by not showing images either. And as a possible bonus the web-site looks so terrible that the user stops blocking their ads just so the images load.
I havn't needed to implement it on my site yet but checking whether or not Javascript is enabled on the client side is quite trivial.
Server Side Javascript Check
Once the server knows if Javascript is disabled on the client side the possibilities are pretty endless. Most ads (like AdSense) rely on Javscript so knowing javascript is enabled is important.
-
Re:Anti-Planet
-
Re:Anti-Planet
-
Anti-Planet
Anti-Planet Screenshots. Anti-Planet is a FPS rendered entirely using ray tracing. It requires an SSE compatible processor (PIII and above. AMD only recently implemented SSE in their processors). This has been out long before Doom 3 and runs on systems Doom 3 couldn't possibly run on and the graphics tricks it does are just now being put into raster graphics based games.
That, along with Wolf 5k inspired me to start working with software rendering. I think ray tracing will eventually be the way real time graphics are rendered in order to keep upping the bar for realism.
Real Time Software Rendering
I'm working on tutorials covering software rendering topics. The tutorials start by deobfuscating and fully documenting Wolf5K, cover some basic ray tracing and are now going through raster graphics since the concepts used for raster graphics apply for ray tracing as well. I'll be returning to do more advanced ray tracing stuff later. The tutorials also cover an enhanced version of Wolf5K written in C++ that is true color and has no texture size limitations.
-
Anti-Planet
Anti-Planet Screenshots. Anti-Planet is a FPS rendered entirely using ray tracing. It requires an SSE compatible processor (PIII and above. AMD only recently implemented SSE in their processors). This has been out long before Doom 3 and runs on systems Doom 3 couldn't possibly run on and the graphics tricks it does are just now being put into raster graphics based games.
That, along with Wolf 5k inspired me to start working with software rendering. I think ray tracing will eventually be the way real time graphics are rendered in order to keep upping the bar for realism.
Real Time Software Rendering
I'm working on tutorials covering software rendering topics. The tutorials start by deobfuscating and fully documenting Wolf5K, cover some basic ray tracing and are now going through raster graphics since the concepts used for raster graphics apply for ray tracing as well. I'll be returning to do more advanced ray tracing stuff later. The tutorials also cover an enhanced version of Wolf5K written in C++ that is true color and has no texture size limitations.
-
Server Side Java-Script check
Server Side Java-Script check
All you need is PHP and mySQL (or equivelant) and a few lines of code. On my own site, revenue covers costs so I'm not worried about people blocking Google AdSense by killing Java-Script.
This was just an exercise to devise an effective way it could be done.
If the javascript counter doesn't match the page counter you can pretty much do whatever you want at that point. You can require a payment to allow the user to visit the site, you can just refuse to show content until they turn on javascript, or you can simply use it for statistical purposes to see how many visitors aren't using Java-script.
Once you know what the user's browser is doing on the server side, the possibilities are pretty endless. -
Why pay?
50,000+ free MIDI Ringtones
I can't believe people actually pay for ringtones. There are countless MIDI sites out there so there's no shortage of tones. The only challenge is getting it to your phone. I found that takes only about a dozen lines of code. A cell phone user can then WAP to the site, enter the ID number of the tone and a generic file retrieval script that works with any system sends the file to the phone and you're done. PHP doesn't require anything special to transfer a file to a phone versus a PC.
I transfer out about 900 MIDI files per day and the bandwidth cost is negligable. I average about 40MB of transfer per day. So I don't really see how pay sites justify it besides the fact there are suckers out there.
It took you a month to get 3000 people to waste money on a tone. It's taken me since December 16th, 2004 for over 63000 MIDI files to be downloaded from my site.
On my site, I recognize that a MIDI on the phone is no different than a MIDI on your computer so not only is it the largest collection of ringtones on the net, it's also one of the largest MIDI sites on the net.
I don't know why more MIDI sites don't offer a simple WAP script.
I use my own site quite a bit to get tones. If I want a ringtone, I hunt down the MIDI and post it on my own site rather than digging through annoying ringtone sites. The only charge is what the phone company charges per KB of data transfer. Which, in my case, is 3 cents per KB.
Certainly beats wasting another couple bucks for something I know for a fact doesn't cost the site owner a dime. It's like restaurants charging two bucks for a cup of soda that costs less than 1 penny per ounce of syrup. CO2 is also negligable in cost per cup. A cup of soda contains mostly water.
-
50,000+ free midi ringtones
Here
All I wanted was one ringtone; The Lonely Shepherd. And nobody had it so I whipped up a little test site just for me so I could transfer the midi to my phone. Ringtones are huge and many sites have them but they're mostly annoying with ads and a rediculous amount of clicks just to get a tone. Since I had all kinds of MIDIs I decided to throw them all onto the site and pretty it up a bit with the focus on simplicity.
It hasn't taken too long for it to become one of the largest sections on the site and it only took about a weekend to code. mySQL holds all the plaintext found in MIDI files so you can find what you're looking for a lot easier and also checks to see if the file is explicitly copyright ((c) or copyright appears in the file) and doesn't allow it to be accessed if it is.
There are actually over 100,000 midi files on the server. Dupes (MD5 hash check) and copyrighted files aren't counted in the available count.
Prior to custom ringtones everyone would check their phone to see if it was theirs that was ringing. With a unique tone you know if it's you or not without going for the phone.
-
Fun with databases
The F-Word in released code for major games.
It's found in Quake 2, Quake 3 and others.
I put up to half a meg of plain text files into the database for searching purposes. It's not difficult to find. You could use TextPad to search an entire code tree to clean up the comments prior to releasing it if you don't already have a repository with search capabilities.
It would also be a pretty trivial task to write a script to pull out all the comments and locations to make it easy to review and clean.
Employees would then just need to know that comments are subject to company communications policy. If you aren't allowed to use curse words in an e-mail then you shoudn't be allowed to do it in code. It's not professional.
-
Old education videos
And That's the Way It Was
At the bottom of the paper is a list of URLs to old education videos at archive.org
For my Education Psychology class I had to do a research paper on motivation then and now. "The Drop Out" is especially good. The short version is that nothing has changed. The only "change" is the amount of education needed to succeed. In the video High School is enough but in todays society, college is needed. But why kids drop out is still the same.
The problem is the myth that things have changed and that "old" people don't understand what the kids are going through.
The most successful schools are those which address not only the educational needs of students but also the social development needs. "The Drop Out" was made 10 years earlier but virtually quotes the hierarchy of needs. So yes it is possible and a very good idea for the older generation to guide the younger generation without being a "know it all nanny" putting the students off.
Historically, it's only the counselors that have been taught this stuff. Now, all teachers are getting educated on how to work with students in social matters.
-
My license agreement
I've written dozens of tutorials on software rendering (and am writing more) and this is the license I use for the code:
---------------
This code is free as in freedom. Nobody had to die for it, true, but you are in no way restricted in what you do with the code. You can even reimplement the code and call it your own without worrying about violating some kind of imaginary rights you think I have. You can use this code without giving up your right to do as you please with your own code that you have written. You are not forced to deny the reality that everything you do is based on something and you do not have an automatic legal obligation to give credit to every source of ideas you come across in your lifetime.
You may freely use and distribute the code presented in these tutorials under any license EXCEPT the GPL or any other license which denies authors their right to do as they please with their own code. You will never have to disclose this source or any source based on this code. For example, if you use any of the code in these tutorials to make a product and you release the product under the GPL, that license is null and void and the code to your product will be PUBLIC DOMAIN until you come up with another license to release it under that does not violate the rights of another person who may come across your work and learn from it. This code may not be used in conjunction with any GPL (or similar license) code due to their restrictive nature that directly conflicts with this license agreement and what it is to be free.
Unless you make significant changes to the provided code such that it is unrecognizable as my own you must provide credit somewhere that is visible to the user. I imagine you've written at least one research paper and understand the difference between plagerism and expressing your own ideas based on what you learned from a source or few.
You may NOT redistribute the tutorials. They are Copyright Icarus Independent 2004. If you like what you see, please link to them. Do not copy them. You may only redistribute the source code presented as subject to the above terms.
------------
That's freedom.
-
Wolf 5K Dissected
Wolf5K is a Javascript clone of Wolf3D in 5Kbytes. I deobfuscated it and posted a series of tutorials on how it works here. There is also a C++ translation and enhancment series of tutorials here. Full ready to compile source is included for all tutorials.
The task of deobfuscating code is quite tedius but not too daunting. The main thing is getting the whitespace back in so you can see where all the functions begin and end. You then have to understand the language well enough that you can read the code and figure out what's going on without hints from comments or descriptive variables.
For Wolf5K I just started by working on the simple functions first and then by process of elimination worked my way through the code and finished with the raycasting function.
Translating it all to C++ was then quite easy because by then you have a very good grasp of how the code is suppost to work.
-
Wolf 5K Dissected
Wolf5K is a Javascript clone of Wolf3D in 5Kbytes. I deobfuscated it and posted a series of tutorials on how it works here. There is also a C++ translation and enhancment series of tutorials here. Full ready to compile source is included for all tutorials.
The task of deobfuscating code is quite tedius but not too daunting. The main thing is getting the whitespace back in so you can see where all the functions begin and end. You then have to understand the language well enough that you can read the code and figure out what's going on without hints from comments or descriptive variables.
For Wolf5K I just started by working on the simple functions first and then by process of elimination worked my way through the code and finished with the raycasting function.
Translating it all to C++ was then quite easy because by then you have a very good grasp of how the code is suppost to work.
-
I make more money with AdSense than subscriptions
But if my AdSense revenue goes away, I'll go back to subscriptions. I even have my pages set so that ads only appear a fraction of the time (50-80%) which cuts down on ad impressions and actually increases revenue.
Making Sense of Google AdSense
You can't adblock your way out of subscriptions. There is no bandwidth fairy. It costs content providers real money to host things.
You're either going to allow the advertisers to pay for the costs by "suffering" through some ads or pay for it yourself.
Lots of major sites already are going to the dual model of free content and paid premium content.
The money has to come from somewhere. Either the provider is rich (or the web-site is cheap to run) and willing to cover all the costs themselves, the advertisers cover costs, or the visitors cover costs.
Most big sites pick one of the last two.
Ben -
Use OpenArt like
WorldPaint
Anyone can plot pixels so eventually it's got to turn into something you can use.
-
Re:Maybe Pop Goes the GMail worries them?
maybe i shouldn't.... http://www.icarusindie.com/
-
My F9/11 review
Fahrenheit 9/11 Review
I paid my $6.50 and saw the film. The above is my full review.
----------------
The next conspiracy theory deals with the Bin Laden family. Moore pretends this is new information yet this was revealed long ago. The Bush administration has a relationship with the Bin Laden family. They're very wealthy oil tycoons. But they don't have much of a relationship with their son, Osama. On September 13th they were flown out of the country. What he fails to mention is that the flight restrictions were being lifted on the 13th. The reason they were flown out was because they were being harassed. Moore spends a great deal of time showing old cop films about interrogating witnesses. What Moore fails to consider is that while the Bin Laden family was flown out of the country for their own safety, they were not necessarily out of contact with the White House. In fact he doesn't even ask the question "has the Bush administration talked to them?" He never bothers to find out whether or not the Bush Administration is still in contact with the Bin Laden family. If Bush is trying to protect Osama somehow then it's pretty odd that the first official reports blame him and a war is started against him and his organization within two months. The other important point that Moore doesn't bother to consider is that it was not Bush that authorized the Bin Laden's to leave the country but Richard Clarke. On May 26, 2004 Clarke told The Hill newspaper:
"I take responsibility for it. I don't think it was a mistake, and I'd do it again."
...
"It didn't get any higher than me," he said. "On 9-11, 9-12 and 9-13, many things didn't get any higher than me. I decided it in consultation with the FBI."
http://www.hillnews.com/news/052604/clarke.aspx
I guess we can excuse Moore's ignorance on the issue since Richard Clarke came clean on it most likely after Moore had finished editing his film and history. What Moore also failed to consider is that fact that the Bin Laden family was actually talked to. But that's very inconvenient for Moore since those old cop movie clips provided a bit of humor for his farce.
------------
The FBI did actually talk to the Bin Laden family and then said it was okay to let them leave. Clarke then authorized their flights out. Whether or not the Bush Administration is still in contact with them (very likely) is never considered by Moore. That on top of the fact Moore never bothered to find out who actually let them leave the country or why.
Ben -
That's too easy
I'm currently working on what will be a large number of tutorials that go through the process of building a graphics API with pure software rendering. Starting with JavaScript and eventually will get into C and ASM.
JavaScript 3D
The most recent lesson (written Friday) demonstrates how to do texture mapping. With a color key to boot.
With OpenGL and DirectX already being used with pretty much everything I don't think Java3D is going to go very far. It has no real advantage on the desktop. The problem is that most devices that rely on Java like Cellphones don't have a large enough screen to make 3D really useable. And they certainly don't have the hardware acceleration.
Where Java3D might have a chance, developers are probably better off sticking to software rendering and 2D games with some 3D effects like lighting, alpha blending and whatnot.
I'd imagine they're making it open source because they realize that without a community to call it their own there's probably not going to be much of a fan base to get anything practical (read: that can make money) done with it. If anything goes wrong, Sun isn't really out anything.
Ben -
Re:"click here" domains
Current List of Domains
At the time of this posting it's at 2209 domains. In a day or so it should go up several dozen when I do an update.
Cool, think I'll adopt that list, add hotmail.com and aol.com to it, and that should be me sorted ;-) -
"click here" domains
I filter based on those.
Current List of Domains
At the time of this posting it's at 2209 domains. In a day or so it should go up several dozen when I do an update.
It's the only thing in a spam that can't be obfuscated or it simply won't work. At best they can do one to one character codes. Occasionally a spammer will try to be clever and request the user copy and paste the link into their browser. I tend to catch those when I examine what got through but the pay off from those is probably so low that the spammer goes back to links. It's hard enough to get someone to click.
The other advantages of blocking based on click-me domains is that the header is irrelavent (it doesn't matter where it came from) and that it's the only thing that costs the spammer real money. And it's the only thing guarenteed not to be in a legitimate e-mail ever.
I've gotten several occuraces of dictionary words inbetween the same obvious spam domain entry. It's quite simple to see which are the filler to fool fully automated anti-spam systems and which are the real links.
The long and shot of it is that if you can use it, so can spammers. Charging thousands for a .mail domain is just dense and turns e-mail into a commodity controlled by big business instead of what is basically seen as something for everyone.
You have to deal with spam within the rules that spammers set. You can't invent rules and then pretend spammers are going to follow them. After an update it takes a few days for the spam to pick up again. If major players would stop worrying about where spam was coming from and start dealing with where it's pointing to, this problem would be a lot more managable.
I've started sending my hotmail spam off to my mail server to help build the filter. It'd be nice if other people were building reliable lists so that I could premptively filter more domains. Nobody really takes it seriously though. They'd rather blacklist countries since it's "easy."
Ben -
Alternate ports
Cox blocks port 25 inbound and outbound. It used to be an outbound block only until MyDoom showed up.
This is why Indie-Mail (which is colocated with another ISP) runs the SMTP server on ports 25 and 28. I didn't care to have to run my mail through Cox.
Other people who run public mail servers would be smart to offer that feature. It allows their legitmate customers a way to avoid having to run all their mail through their ISP and doesn't do anything to help spammers.
Unless everybody used the same alternate port enough that e-mail viruses just started using the alt port and the standard.
Ben -
less centralized servers
This isn't even the beginning of the end of email. It's simply becomming less and less workable to run a single mail server system with a large amount of users. Small time mail servers aren't targeted by spammers. Universities are heavily targeted because there are lots of users all going to a common domain.
It's the same reason users of major ISPs are more likely to be probed for vulerabilities.
I've found the method of filtering based on the "Click-Me" domains to be the most effective with virtually no false positives (zero is a realistic number).
I've found that setting up a secure public mail system is cake. Mercury Mail is free and handles well. A single check box set by default is all it takes to keep it from being an open relay. Students of the university could probably do rather well offering their own e-mail services to students. Mercury Mail's filtering system is quite robust.
MM supports IMAP/POP3/SMTP and alternate ports as well as SSL on all them. Adding a web-based front end also isn't that difficult if you know what you're doing. There's actually one built in and a more robust version coming.
I already have a few hundred users on Indie-Mail and the amount of bandwidth used per day is pretty negligable.
Ben -
For those who don't want to wait 6 months
Indie-Mail is up and running. No storage limits as long as you don't treat it like a file server. IMAP/POP3/Web access. SMTP has an alternate port for those using ISPs with port 25 blocked. You can also do a full text search on all your e-mails. All methods of access can be utilized with an SSL connection. And there are no ads.
Spam filtering is based on domains contained in the messages. You can view the current domain filter list at the site. And McAfee virus scan is running to ensure no virus infected e-mails make it to your inbox.
This service is however brought to you by the letters 'A' and 'D.' Icarus Independent offers lots more than just e-mail.
Ben -
For those who don't want to wait 6 months
Indie-Mail is up and running. No storage limits as long as you don't treat it like a file server. IMAP/POP3/Web access. SMTP has an alternate port for those using ISPs with port 25 blocked. You can also do a full text search on all your e-mails. All methods of access can be utilized with an SSL connection. And there are no ads.
Spam filtering is based on domains contained in the messages. You can view the current domain filter list at the site. And McAfee virus scan is running to ensure no virus infected e-mails make it to your inbox.
This service is however brought to you by the letters 'A' and 'D.' Icarus Independent offers lots more than just e-mail.
Ben -
Re:The battle has begun
I suffer from Websense at work as well, but I can get to the indie-mail site by using the URL https://imail.icarusindie.com. (Note the https://.)
I first read about indie-mail a few weeks ago during the first Gmail flare-up, and it's pretty cool. I haven't decided whether or not to switch primary email duties to the new account I created there or not (I have a paid account with fastmail.fm which I have been happily using for a couple of years, but recently have been butting up against the 16MB "Member" account limit), but I have redirected a number of messages to the new inbox and played around with the search -- it works great. The interface is very sparse and clean -- no folders, just an inbox (which can be sorted by date, sender, etc.) and search box.
Very nice. Free also. Can also get nice short usernames since the service has not been clogged up like the big providers... -
you don't know
how many rods are in a mile? 320.
A number of people have successfully signed up so it's not a consistent problem. I ran into the problem once myself and then it magically went away. I created an account with a non secured connection and then creating accounts with the secured connection worked fine without changing anything.
If you're having trouble signing up with the OpenSSL secured version use
The non secured version
The site fully functions both with http and https since not all browsers support certificates and I havn't figured out what makes it choak with https on an inconsistant basis.
BTW, "missing entries" means that one of the form entries wasn't set. The only ones it checks for that error are the username, two password entries and the challengeid.
Ben -
This isn't new
Arizona State requires one semester of digital design (with the final project being to build a simple 4 bit programmable computer in LogicWorks) and then x86 or 6800 assembly before moving on to higher languages.
I was able to build a 4 bit random number generator in LogicWorks (that has a non repeating sequence of hundreds of 4 bit numbers) along with an 8x8 programmable LED display and other parts required to put together a Tamagochi.
OpenTama project complete with all the schemetics for all the parts I've assembled down to the gate level. The only thing missing I can think of off the top of my head is the state machine to drive it all.
The final project in Assembly is a "stop watch."
I highly doubt ASU is the only university to start off the Computer Science degree with how to build a computer before learning how to program it.
Ben -
No
if your solution involves invading my pocketbook or my privacy, it's not a solution at all.
I simply filter based on links that e-mails contain and I get virtually no spam. And new spam domains that manage to get through are quickly added to the rule file.
The header doesn't matter. Who sent it doesn't matter. Nobody gets any bounces. The server just eats it.
Write up and souce/binaries to automate yanking out links for consideration for filtering.
"so why wouldn't idea this work?"
Because it's a shitty idea. E-mail is free. Deal with it. If you want to have some moronic pay to send system feel free to set it up and watch as no one in their right mind uses it.
SMTP is so easy and open that it's not going away. If asshats like yourself want to set up a fee based e-mail system. That's fine. My SMTP server will remain under the current free system. If the rest of the internet switches to something incompatible and retarded, I guess I'll just have to start handing out accounts to people so they can circumvent the idiocy. It's not challenging at all to run multiple mail servers if needed.
The problem of SPAM is not worth sacrificing free and privacy over as some nerds have decided.
Ben -
I'm sorry
I didn't realize the world stopped revolving.
Maybe you would like to discuss Mars 24 hours a day but I don't. Other things do happen you know that are interesting to talk about as well.
MOLA->BT Everything you need to know to get MOLA data converted over to the BT format to be loaded into a terrain engine.
It's quite facinating when you realize the entire city of Phoenix could fit into one of those larger craters. Many people find it hard to fathom just how bad it would be if Earth got hit by a decent sized asteroid.
But, this is a topic about Legos. I don't know of any forums dedicated to talking about Mars, but I bet Google does.
Ben -
A More Sensible Solution
Instead of blocking spammers, just filter out the links they include in e-mails. They can't be obfuscated because they won't work if they are and countless spammers use the same domains to host their affiliate pages and/or ad images.
Block one IP, you block nobody you wanted to because the spammer that sent it doesn't use it anymore. Block one URL and you've just blocked dozens if not hundreds of spams regardless of who's advertising it.
Includes source for automating the process as much as possible
It takes just a few minutes to go through any number of e-mails and remove all the legitimate domains that were linked to and then to update the Mercury Mail rule file.
SPEWS is retarded and counterproductive. IPs are a finite resource and are reused constantly. You cannot realisticly block spammers by blocking IPs. SPEWS has probably done more damage to the internet by it's idiocy than spammers have. It's about time some of the businesses that are being hurt by them form a class action lawsuit. Or, even better, everyone should just stop using them until they pull their heads out of their asses and start being productive instead of just an internet bully.
I found a simple solution that results in getting virtually no spam. And any spam I do get is taken care of on the next update. I have a domain that was getting lots of spams now pointing to a catchall at my home IP. Since I had no legitimate e-mail addresses using that domain it's now a very effective way to preemptivly block links before a spammer tries to use them in a spam sent to one of my real e-mail addresses.
No solution is going to make spam dissappear entirly. The idea is to make it go away as much as possible so it's down to a reasonable level without causing collateral damage. SPEWS has taken the stance to act like an idiot and then blame the ISPs for SPEWS being retarded. There's no excuse or need to block IPs. Especially ones in use by people who have never sent spam.
The best part about blocking links is that the header is meaningless. Every line of it could be forged but if the e-mail contains a link to a blocked domain it will not get through.
Ben -
I use that method
includes sourcecode
Mercury Mail's session logs indicate a closed connection to indicate where e-mails begin and end but if you're using something else there's a RinetD mod with source which logs e-mails in such a way so that ripping through them is easy.
My filter is all of 23KB and I get virtually no spam. I update every once in awhile when a spam gets through.
I also have a couple sub-domains that point to a spamcan on my home connection which I use to bait spammers so I can preemptively filter them out without paying for the bandwidth.
Ben -
You pulled the trigger
"THEY are the ones that are costing you money"
No, they're not. Blacklists cost legitimate businesses and ISP customers money because blacklists are run by incompetent people that think they're in charge of the internet. There are better ways to block spam than by napalming an ISP. They're not solving anything. They're just making the problem worse by annoying and possibly destroying the businesses of more innocent people than spammers.
And nobody said I was blacklisted. But I stongly suggest that those who have been start a class action lawsuit. It would also be a good idea to avoid ISPs that make use of these idiotic blacklists. I'd rather be at an ISP that takes an intelligent stand on SPAM.
Maybe it will finally wake up the idiots in charge of the lists so they finally do something productive to stop spam. Blacklisting IPs of countless innocent people over an IP that the spammer is most likely not using anymore is idiotic and irresponsible.
If it invades my privacy, my pocket book, or napalms a village it's not a solution.
The people running programs that fingerprint spam are actual solutions. Why? Because the stop SPAM. Not spammers. Fuck the spammers. You can never stop them. But you can stop their messages by filtering intelligently. Trying to stop people from sending any and all e-mails is just dense.
I get virtually no spam simply by filtering the URLS spammers use. It's simple and if Joe Spammer suddenly gets a genuine interest in my site and wants to talk to me, he can. But if he sends spam advertising URLS I've filtered they don't get through. And it doesn't matter who Joe Spammer is. If an URL does get through, it's caught with the next update and countless spammers are taken care of. All without blocking a single IP.
More Info Here
Ben -
If it's so spam friendly,
why aren't they complying?
Because if they complied current big name filters would stop being idiotic and counterproductive and actually block spammers at a reasonable level of accuracy.
Stop being stupid and blocking IPs. It's counterproductive. You're throwing napalm on an ant hill and most of the time, the ant you're going after has already moved somewhere else.
It should be a punishable offense for such idiots who block legitimate IP from sending e-mails. If a company is using an ISP that happened to get a spammer onboard and the company ends up being blacklisted and losing business, the makers of the blacklist should rightfully be sued for lost business and denial of services. Imaine if a citizen set up a road block on a highway just because they heard criminals used it. When cops break into the wrong house, they get sued. So should blacklist runners.
It is not YOUR job to deny ME the ability to send e-mail just because someone on my IP range sent spam.
I've found simply filtering out links that spams contain is perfectly fine at getting rid of spam. And if spammers want to e-mail me, they still can. I only block their advertisments. That's the idea. You block the spam, not the person or legitimate e-mail.
I'd like to see lawsuits start being brought against blacklist runners and won. Their method is in many cases as reported on slashdot but not called as such, criminal.
A simple means to block spam Countless spammers link to the same URLs so block the URLs and you block countless spammers. Block 1 IP and you maybe block a spammer, and most likely piss off a legitimate user who's now using that IP.
Ben -
They obviously had too much to drink
They thought charging to send e-mails is
a) new
b) a good idea
Charging for e-mails is going to work just as well charging for instant messaging. Fuck you if you think you're getting my credit card number just so I can send an e-mail. I'm sure the kids who can't get credit cards are going to just love this idiotic little plan.
"Information wants to be free"
Unless it's an e-mail. And why? Because old grandpa asshat decided it was "the price to pay to fight spam."
I'll stick to filtering links.
I'm down to maybe one or two spams a day and all I do is update my filters, which takes all of a few minutes, and I'm free of all like spam. I block dozens of spams a day.
Here's a crazy idea, stick to the ideas that don't invade my privacy and my pocket book.
Ben -
My simple solution to spam
Spammers need images to get past word filters and to make an ad "stand out." Images can't be sent with the e-mail so src tags are used. href tags are also used for links they expect people to click on. "http://" is a unique identifier that absolutly cannot be obfuscated or it will not work. You can add a lot of junk before an @ symbol but eventually the real link must be there. Simply block that link and poof, no more spam from spammers advertising using that domain. You can block countless spammers by blocking a single 100% unique URL that no legitimate e-mail will ever contain.
The full write up of my take on what I see as horribly flawed ways to combat spam and source code for the custom programs I use to strip links out of e-mails.
I have an example of spam posted there where everything is just a mess in the e-mail. The headers are forged, the text is all obfuscated. But there, clear as day is an "HTTP://"
Poof, killed the spam domain. And there's no way to circumvent my method except by not having links of any form in the e-mail. If you put a link in a spam, I will find it and I will block it.
Ben -
Let's see here
you set up a system of software developement modeled after communism and you're shocked to find out that people are taking advantage of you. Communism didn't work out so well in Russia either for the same reason. You have a lot of people doing all kinds of work for little to nothing and anyone can get all the benefits with no strings attached. Because that's how the system is defined. Free. As long as companies follow the guidlines they're doing nothing wrong and you can expect nothing in return.
And you aren't being taken advantage of. The software was offered for free. You volunteered your time to work on it. You don't demand compensation and actively oppose it in many cases. You got every you could expect to get from taking part in this system. How many OSS authors sell their software in some form? Practically none. They depend on donations and then whine when they go broke and can't afford to let people keep downloading it for free.
htaccess is a beautiful thing. It makes charging a small fee for access simple and easy to do. Or you could take advantage of my "Get Paid" hosting where I handle the subscription, bandwidth, diskspace and you take a cut of the subscription fee. It's free money for those who submit files I accept to host.
And if you do it yourself you don't have to worry about bandwidth usage and paying middle men. If you want to provide a free download alternative, pop the file on Kazaa with your home connection you pay a flat rate for. Hit up bittorrent, e-mule, any other number of P2P apps. That's what they're there for.
These obvious means to aquire funds for your project aren't being taken advantage of. And you expect corporations to foot the bill.
Sorry but the OSS model doesn't differentiate between those who have and those who have not.
If I'm broke or a millionaire I can use any OSS I want without paying a dime. If you don't like the fact that it's possible, legal and guilt free, change the system. Isn't that what we're telling the RIAA and MPAA?
Ben -
been done: Spam Can
Spam Can
It gobbles up any e-mail sent on port 25 and logs everything from the e-mail itself, all the headers and the originating IP. It doesn't care where the e-mail claims it's comming from or where it's supposed to go.
I'm not sure why this is an "open" project since Spam Can was thrown together in VB in about an hour. The most difficult part was getting it to go to the system tray.
The obvious problem is that you can't run this and a real mail server at the same time. And real mail servers (like Mercury Mail) can already do catch alls.
And if you're not running a real e-mail server, why run a fake one to waste your own bandwidth? Good luck convincing millions of people to run these (without having a tell that spammers can look for) making looking for open relays not feasible.
Spammers also already know right where to get a valid relay; They get a nice e-mail from the infected machine.
Ben -
Sounds like Qwest
They're plenty helpful until you have an actual problem that requires real effort on their part to fix. Then they refuse to talk to you. My rant on my attempt to get a 1Mbit line installed is posted at
The Rabbit Hole
under August 7th. As a result of their stupidity and with-holding information that was necessary in my decision for the second line to begin with (if I had known I couldn't get 1Mbit I would have canceled the entire order) I'm giving them the finger and going with Cox digital cable for my internet connection and moving my web-server to colo with my ISP which is very helpful even when problems are not so small.
There's always "good company" "evil company" stories because it depends on the problems you have. I had no real opinion of Qwest after using them for nearly 3 years until I tried to get the 1Mbit line. Now I'll go out of my way to not use them for anything. I understand that big problems happen occasionally and I have no issue with that. But I refuse to deal with a company that can't handle those big problems in a professional manner.
I'd hate to be a Qwest customer the next time a big problem comes up and so I'm going to make sure I'm not.
Ben -
Virtual Boy == Pong of 3D Systems
It being monocrome wasn't a huge issue since GameBoy had been monocrome for years and was hugely popular.
The main technical problem was that they cramed the CPU and display all into one box. They claimed it was portable but because of that, it wasn't really. It was uncomfortable to play for long periods of time. You couldn't play it in a car. I later picked a second system up for $30 and ripped it apart to create the HMD VB.
HMD VB
Basically I just took out all the extra weight and put some straps on it so it was wearable.
The other problem was lack of games. Only a few were any good and those were too short.
LCDs are cheap enough now (~$200 to build a two LCD headset yourself) that they don't need to use mirrors which cause headaches and if they make a lightweight headset connected to at least a GameBoy Advance quality base (or even just use a standard connector that can be disconnected and plugged into the GameCube) they'll have a major product.
The main thing would be that it works with the GameCube in order to have a large library all ready to go. Then it has to be under $100 (unless it's a complete system). And it has to be light weight and comfortable and not retarded looking.
But who knows maybe they've got something completely different up their sleeves.
Ben -
Pick Your Poison
The more people who refuse to help cover the costs of web-sites passivly by viewing ads, the more sites that are going to force people to pay actively with subscriptions or whatnot.
Speaking from experience, subscriptions work really well, even for a not so major web-site like IcarusIndie.com
Currently I just use banner ads for intersite advertising (my site is huge), to allow other game development sites to get some free exposure and to plug web-sites I'm a fan of. I still have a number of text ads you'd never notice unless you clicked on them to get statistics on how well they work (at least for exposure). I've yet to make a dime on them.
As a result of using subscriptions I have a lot more bandwidth available to offer more free stuff.
Like this Survey on who people think the US should attack and tons of material including video on the war
So, block all you want. It's a very simple thing to go to a subscription model. For sites that are struggling with bandwidth usage and costs, I highly recommend it.
Ben