Archive for October 2007
CakePHP 1.2 Access Control Lists
Posted by: JDS
Are they different enough from 1.1 ACLs that the 1.1 code does not apply?
So, I cannot get ACLs to fucking work. First of all, CakePHP: Why am I using the still-beta 1.2? Well, it is (1) because there are so many improved nice new features that I did not want to not have them, (2) the Cake team's "beta" is actually quite stable, and (3) I did not want to climb the learning curve twice.
Okay, so, then does the code on this page http://bakery.cakephp.org/articles/view/real-world-access-control not apply to CakePHP 1.2 ACLs? This is by far the clearest, simplest description of CakePHP ACL implementation (and ACLs in general) that I've found but it doesn't fucking work! Aarrgh!
I found this page http://bakery.cakephp.org/articles/view/how-to-use-acl-in-1-2-x and that is helpful, except for the follwoing questions now:
Why is there a call to $acl->create() at all? I tried these examples without that call and it seems like the create() call is not needed.
Does create() even do anything at all?
Has create() been superceded by save()?
Did save() exist in ACL 1.1?
Allright, maybe if I ever get a chance I'll add the answers to these questions.
CakePHP Bakery: A Good idea, poorly implemented.
Posted by: JDS
Or, at least /incompletely/ and /buggily/ implemented.
Being a Linux user, the first question I ask when using a website that doesn't work is: "Is this because I am using desktop Linux?" In other words, "Would this website, which is apparently broken, actually work in, say, MSIE on Windows or Safari on Mac?"
Now, regarding the Cake Bakery, I ask myself this question all the time. Because the Bakery is very, very buggy. Broken, even.
Articles disapear randomly
Articles come up with blank pages all the time, for no apparent reason
Code snippets are often buggy and incomplete (not the Bakery's fault, per se)
Little things don't work like I imagine they should. Like "Comments" on articles -- why can't you use anything but letters in the comment title??? That's just plain dumb.
Article dates are often impossibly incorrect. 12-31-1969, for example, or, 1-22-1999. 1999?? CakePHP did not exist then, AFAIK.
The "Search" form does not work all the time (i.e. randomly blank results pages similar to the randomly blank articles pages)
The "Search" form really, really, really should have a "Go" or "Submit" button. Why the fuck does it not have a Submit button??
and so on...
Why the fuck don't large corporate software solutions have screenshots?
Posted by: JDS
Open Source software projects almost always have screenshots. Large corporate software products almost always do not. Why??
Examples
Corporate
Interwoven Teamsite
CA products
Open Source
MamboOS CMS
Why I think I should stick to HTML 4.01 STRICT and not use XHTML
Posted by: JDS
Okay, so, XHTML has been the newest, "best" version of HTML for what, six, seven years now? But I still don't see valid reasons to us it for an HTML website intended for public consumption. Here is why. Mostly this bulleted list is so I can have a handful of talking points when some new kid says, "We gotta be using XHTML 1.0!" False!
Okay, so, this has been discussed before. Some references:
http://hixie.ch/advocacy/xhtml
http://www.webmasterworld.com/forum21/12026.htm
Reasons
Browsers still have troubles with the application/xhtml+xml MIME type.
Serving XHTML as HTML to support non-xhtml supporting browser removes any advantage of using XHTML
HTML 4.01 STRICT is a very strict, very well supported, very functional HTML definition that does everything that general HTML consumption needs.
Must use core DOM methods in JS
HTML comments differences
Other general incompatibilities.
XHTML can be transformed into HTML 4.01 strict with, say, XLS. But this strikes me as unnecessary overhead unless one has needs that can only be addressed by using XML.
Y'know, just because a technology exists, and is the newest thing, does not make it the best thing to use, in any given situation, or, even, ever.
Comparing Flash to Silverlight
Posted by: JDS
I am neither a Flash nor a Silverlight nor a .NET developer. So in trying to figure out what is analogous to what, I have worked up this chart.
Silverlight? Flash? WTF? Why do companies push new technologies when existing ones already do everything the new one does? Okay, well, whatever, that's irrelevant to the post at hand, which is, in the new world of Silverlight development, what is the Flash (or Java) equivalent?
I think a good description of Silverlight, using existing equivalents as analogy, is something like, "Flash but using XAML and VB.NET (well, or Python (cool!) or Ruby (also cool!)) instead of SWF and Actionscript".
Here goes
Silverlight Component Flash Equivalent Java Equivalent Comments
Resources
http://www.carto.net/papers/svg/comparison_flash_svg/
Anonymous surfing with JanusVM
Posted by: JDS
Wow! It works. But I have some questions and some complaints (about the anonymous surfing itself, not about JanusVM, the software which enabled anonymous surfing).
So JanusVM is this software that allows you to browse the web anonymously. Really, really anonymously, as in, your IP address changes every few minutes, traffic is encrypted, and network packets are routed differently every time your IP address changes. I mean, this is like bulletproof anonymity. Specifically, JanusVM is a Virtual Machine that basically creates a little anonymizer server right on your computer that you can connect to and thus encrypt and hide all of your IP traffic.
(The
JanusVM Website has
more information on what you need to get started -- basically you need VMWare, and VPN client software).
But as it turns out, there are some problems with anonymous Web surfing.
- Google, just as an example, now thinks I am searching from a computer in Germany... or Korea, or France, or wherever the IP address block is. That's fine, except Google automatically routes search requests to the country-specific Google bots, and you get the search results back in German, Korean, French, etc. Yikes!
- Surfing is NOTICABLY slower!
- Other problems with websites, such as cookies not being saved or created properly, the browser user agent is not represented accurately, etc.
Okay, so? Well, maybe no big deal, all of those problems. I think that anonymous surfing must be used appropriately. Surfing porn at the public library? Then maybe fully anonymous surfing is in order. Connecting to your bank or credit card company website? Well, maybe connect directly, as the banks and credit card companies do not look kindly on anonymous connections. Understandably so.
I also have some questions.
- How can I tell if my traffic is really encrypted?
- Does ALL TCP traffic get sent through the JanusVM? Like, say, SSH? Or just web traffic?
Cisco VPN Client Patch
Posted by: JDS
Cisco VPN client (version < 4.8.00) for Linux is broken. Needs a patch. Here is how to get and install it.
Apparently the Cisco VPN client is broken for newer versions of the Linux kernel. Will it ever be fixed? If it is fixed, will JHU ever provide the fixed version? The answer to both of those questions is "unlikely". Fucking anti-open source people.
Allright, so, there is some good things about Open Source, and that is the ability of the community to provide patches. Now, I don't know if the Cisco VPN client is technically Open Source, but the source code is there (i.e. the installation is compiled code not binary copy) and someone has created a patch for it.
And the patch worketh, and Tux said, "let there be VPN access," and it was good, if a little choppy with a tendency to drop connections.
Thank you, Tuxx-Home.At!!
For the linkularily challenged, here are the steps:
- Untar the VPN Client
# tar xzf vpnclient-linux-4.8.00.0490-k9.tar.gz
- Download the patch
# wget -q http://tuxx-home.at/projects/cisco-vpnclient/vpnclient-linux-2.6.22.diff
- Change to the vpnclient directory
# cd vpnclient
- Apply the patch
# patch <../vpnclient-linux-2.6.22.diff
patching file frag.c
patching file interceptor.c
patching file IPSecDrvOS_linux.c
patching file linuxcniapi.c
patching file linux_os.h
Now the patch has been applied and you can safely install the client
#./vpn_install