Blog to TypePad via Gmail forwarding, so you have a searchable copy in Gmail, and an easy to remember address
Blog to TypePad via Gmail forwarding, so you have a searchable copy in Gmail, and an easy to remember address
Posted at 09:46 AM | Permalink | Comments (0) | TrackBack (0)
Character encoding and decoding numeric entities
HTML URL Description
---- --- ----------------------
  %20= space
! %21=! exclamation point bang
" %22=" quote aka double quote
# %23=# pound sign hash sign
% %25=% percent
& %26=& ampersand
' %27=' apostrophe aka single quote
( %28=( left parenthesis open paren
) %29=) right parenthesis close paran
* %2A=* asterisk star
+ %2B=+ plus
- %2D=- minus hyphen
. %2E=. period
/ %2F=/ forward slash (backslash = %5C)
0-9 %30-%39 = digits 0 - 9 zero through nine
: %3A=: colon,,, ; %3B=; semicolon
< %3C=< less than,,, > %3E=> greater than
= %3D== equals
? %3F=? question mark
@ %40=@ at sign
A-Z %41-%5A = upper case letters A - Z
[, ] %5B=[, %5D=] square brackets
\ %5C=\ backslash (forward slash = %2F)
^ %5E=^ carrot,,,,, %5F=_ underscore
a-z %61-%7A = lower case letters a - z
{ %7B={, } %7D=} curley braces curly brackets
| %7C=| vertical bar
~ %7E=~ tilde tidle
Posted at 05:45 PM in Web/Tech, xml | Permalink | Comments (0) | TrackBack (0)
Supposedly on the market very soon, goggles plus add-on camera accessory.
PhasAR, AR = Augmented Reality
http://www.engadget.com/2009/03/25/vuzix-dips-toes-in-augmented-reality-makes-video-eyewear-cool-a
Main company site:
http://www.vuzix.com
But product not listed on their site yet. No API info. Also have commercial and military products.
Very cool goggles, realtime special effects
Russian scientists, academic research (not commercial)
Walk around and see your world in ASCII, live, AKA "Matrix vision"
http://englishrussia.com/?p=1377#more-1377
Posted at 06:38 PM in cool gadgets, Image Processing, Science, Web/Tech | Permalink | Comments (0) | TrackBack (0)
Update: 4/21/09: This is another good link, on UTF-8 bitmasks, multiple URL encodings for the same character, multilevel decoding, and hiding Javascript in encoded URLs:
http://www.technicalinfo.net/papers/URLEmbeddedAttacks.html
If you worry much about security, this is a very interesting read.
----
If you work with UTF8, one of the variable width encodings for Unicode, it can be a pain to decode a sequence. I prefer to think of it in terms of bit masks rather than algebraically, but Wikipedia only goes up to the 4 byte sequence.
This is my shorthand for up to 31 bytes of source data expressed in six bytes, not that I can imagine when you'd need that?
Multi-byte sequences have an initial byte whose upper most bits tell you how long the sequence is, and then the rest of the bits are data. Each subsequent extended byte always has a 2 bit header of "10".
Basically each time you extend the sequence the header bits sequence in the lead byte increase in length by 1 bit, and the new byte contributes 6 bits; so each additional byte adds a net of only 5 bits of storage.
You might find these pages less cryptic:
http://en.wikipedia.org/wiki/Utf-8#Description
http://www1.tip.nl/~t876506/utf8tbl.html
Legend for each Group
Range (bits, decimal range, UTF-8 sequence length)
Marker Bits bits(decimal)
Bitmasks (with , byte groupings from the RIGHT)
1-7 Bits / 0-127 1 byte
0 (zero marker)
0111-1111
8-11 Bits / 2,047 2 bytes
110(192) 10(128)
0001-11,11 0011-1111
12-16 Bits / 65,535 3 bytes
1110(224) 10(128) 10
0000-1111 0011-11,11 0011-1111
17-21 Bits / 2,097,151 4 bytes
1111-0(240) 10(128) 10 10
0000-0111 0011-,1111 0011-11,11 0011-1111
- - - Wikipedia's table stops here - - -
22-26 Bits [2,097,152 - 67,108,863] 5 bytes
1111-10(248)
1111-10 10(128) 10 10 10
0000-0011 00,11-1111 0011-,1111 0011-11,11 0011-1111
27-31 Bits [67,108,864 - 2,147,483,647] 6 bytes
1111-110(252)
1111-110 10(128) 10 10 10 10
0000-0001 0011-1111 00,11-1111 0011-,1111 0011-11,11 0011-1111
Be careful, UTF-16 is also variable width, and is not represented here, but I suspect it looks similar to the casual observer.
Posted at 05:33 PM in Web/Tech | Permalink | Comments (0) | TrackBack (0)
Update: 3/28/09 3D scanner and printers shown by Jay Leno in his garage:
---
MCor Prints with paper and glue and razor blades
http://www.slashgear.com/mcor-matrix-3d-printer-uses-regular-paper-0722025/
http://blog.wired.com/gadgets/2008/11/3d-printer-feed.html
Fab@Home for $3k
http://blog.wired.com/gadgets/2007/04/fabhome_open_so.html
ShapeWays online via plastic, can also sell designs online, cool templates, 5 materials
http://www.ohgizmo.com/2009/01/09/ces-2009-shapeways-brings-3d-designing-and-printing-to-consumers/
(more on YouTube)
Support FAQ
http://www.shapeways.com/support/faq
Materials
http://www.shapeways.com/about/material-options
ThingLab UK, prints in COLOR, and they do 3D scannning
http://www.coolest-gadgets.com/20071230/inkjet-prints-in-3d/
http://www.thinglab.co.uk/gallery.php
PrintTo3D.com
ZCorp.com
IdeaLab Desktop Factor (from 2007)
http://www.coolest-gadgets.com/20070507/3d-printing-on-the-horizon/
Alaris
http://news.cnet.com/8301-17938_105-10077150-1.html
Objet.com also from 2007
http://www.objet.com/
Posted at 02:33 AM in cool gadgets, Science | Permalink | Comments (0) | TrackBack (0)
Myvu 640x480, will have 24 degrees of view, crystal, available at Best Buy?
http://www.gadgetell.com/tech/comment/spotted-new-unnamed-myvu-video-goggles-at-ces-2009/
* Vuzix (sic vusix) Vuzix Wrap 920AV, "Quantum optics", 60 inch screen at 9 feet, optional head tracking, optional stereo cameras over USB
http://www.notebooks.com/2009/01/10/vuzix-wrap-920av-ces-2009/
http://ces.cnet.com/8301-19167_1-10127213-100.html?tag=mncol;title
older model 310?
http://www.gizmowatch.com/entry/vuzix-av310-video-goggles-are-first-widescreen-169-3d-viewing-glasses/
22Moo (CES 2008?) rubber eye caps for totally enclosed field of view
http://www.coolest-gadgets.com/20080110/22moo-and-yellow-mosquito-video-goggles/
3D Visor from eMagin (from Amazon) 800x600 head tracking, 40 degree field of view, 105 inch display at 12 feet
http://www.amazon.com/eMagin-Z800-3DVisor-Digital-Display/dp/B000CCYL3S/
I-O Display i-Glasses (from Amazon, expensive!)
http://www.amazon.com/I-O-Display-i-glasses-VIDEO-mounted/dp/B00026I1P8/
Their company site:
http://www.i-glassesstore.com/
iPod Video Glasses ('07?)
http://www.coolest-gadgets.com/20070823/coolest-ipod-accessory-the-ipod-video-goggles/
Hongshi Siano
http://www.pcadvisor.co.uk/news/index.cfm?newsid=108809
VR goggles, video glasses, virtual reality, 3D portable video
Head Mounted Display from Wikipedia
http://en.wikipedia.org/wiki/Head-mounted_display
Very wide field of view
http://www.sensics.com
Longer list, 3D site and HMD Head Mounted Displays what they call "helmets"
>http://www.stereo3d.com
http://www.stereo3d.com/hmd.htm
Posted at 01:28 AM in cool gadgets, Image Processing | Permalink | Comments (0) | TrackBack (0)
So on my second trip to SecondLife I decided to try the teleport feature, after finding possibly interesting places related to technology and the future, etc.
Every time I tried to teleport I'd get:
"could not teleport"
etc etc
"you may need to log back in"
So of course I tried that, logged out, exited, started the program back up, logged back in, repeated the search, tried to teleport, same error.
And of course their support pages are useless, as was Google. I can tell I'm not the first person to hit this error, but not really any definitive explanation. Note that there are many other types of teleport failure messages.
However, when I tried to teleport to one of the cities advertised on the billboards, that DID work.
Based on that and one of the posts I read, I believe the "could not teleport" ... "you may need to log back in" means that the other world or region you're trying to get to is down.
The frustrating thing is that, *if* that's the case, why not just say that? Since I hit this error in my second hour of Second Life, and I got the same error for several different places, it appears to be a very common thing.
Many other aspects of Second Life seem either needlessly confusing or of poor quality (graphics, UI design, etc). But I'll play around with it a bit more, possibly for business related reasons...
Their search feature needs a total makeover for one thing...
Posted at 10:51 AM in Second Life, whining | Permalink | Comments (0) | TrackBack (0)
Abbreviations like "4u4" and "3u8" refer to different Red Hat versions / releases / updates. They do not refer to multiple CPUs or cores, RAID configurations or memory, etc. However, they do not represent kernel versions. For example 3u8 is not a shorthand for kernal 3.8; that was actually 2.4.21-47 and 4u4 was 2.6.9-42.
Red Hat Enterprise Linux is also referred to as RHEL. The various suffixes of Zoot, AS, Pensicola, ES, Panama, WS and Taroon also indicate different releases.
Wikipedia article on versions:
http://en.wikipedia.org/wiki/Red_Hat_Enterprise_Linux#Version_history
Posted at 08:46 AM | Permalink | Comments (0) | TrackBack (0)
Symptom:
Your new HP 2370p convertible tablet ships with both Windows XP Tablet Edition and Vista Business. But if it comes preinstalled with XP and you convert to Vista by installing the Vista DVD, you might find that most devices don't work.
In particular, the choices for screen resolution are only 800x600 and 1024x768 (or something like that) whereas the native resolution of the wide screen is more like 1280x800.
More seriously, not only does Wifi doesn't work, but the integrated ethernet port won't work even when plugged into a wired network.
What's going on!? :-)
Not to panic, you just need to finish the install by running the second DVD that HP gives you. That second disk has all the drivers for fancy hardware devices. You want the HP Drivers disk for Vista (be careful, you'll also have a similar CD for XP in the box with an almost identical label)
Once you get all of that second ndisk installed, your screen and ethernet point will work fine, as well as the finger print scanner, etc.
Mark
PS: From a previous blog, if you are upgraded from XP on that machine, make sure to BOOT from the Vista install DVD - don't just run it from XP - it will appear to work, but the language may be messed up, see my other post.
Posted at 05:03 PM | Permalink | Comments (0) | TrackBack (0)
A really nice laptop / convertible. I'm running Vista Business.
But sometimes when I was scrolling, especially with the job dial in the side, the screen would flicker a bit. Granted, I have it cranked up to max brightness (and an extended battery to compensate)
Updating the drivers did not fix the problem.
The fix I found was to tweak the power saving mode of the video graphics; the flickering seems to be caused by something to do with the power saving mode. You only have to crank it up one or two notches, not all the way, to fix the problem, so just experiment a bit.
Right click on the Desktop (or tap and hold) -> Graphics settings (or something like that) -> you want the Intel branded control panel
On that blue and white control window there are 4 tabs on the left. I think it's the tab second down. Then on the bottom right corner is a button for Power Settings. A bit hard to find.
Try adjusting the slider to one click down from Best Performance / Worst Battery.
And a theory:
I get this bug has been around for a while, but previous laptops used thin CF tubes for backlighting, which I suspect mask the flickering a bit. But the HP is one of the new LED backlit displays, and LEDs are very flicker prone (or, to split hairs, will more accurately mirror rapid electrical fluctuations)
Mark
Posted at 04:54 PM | Permalink | Comments (2) | TrackBack (0)
Update: 11/6/08: The problem is back... after the machine slept / hibernated overnight. Well... I think this is at least a clue. I'll have to call HP I guess.
----
The new HP tablet is really nice, but I was having a problem that when it was sleeping in tablet configuration, and I would wake it back up, it would come up briefly in portrait mode, then flash, then go into landscape mode with half the screen black. It did this back and forth screen orientation change pretty consistently. One time it even got worse once and half the Windows desktop was permanently black except for the task bar.
Very annoying and updating all the drivers didn't help.
But after reading some posts on the web about other weird problems, I tried a suggestion which worked for other problems.
Do a full shutdown. Then remove both batteries (I had the extended battery installed as well) and also unplug the thing, so totally off and unpowered. And then mush the power switch to On a few more times to drain all residual power.
Then reinstall the batteries and power on. It's been working great so far. For the record, I had also updated the drivers as I said.
Mark
PS: On this tablet, if you go into custom power settings, under "Lid and Power Button", you can have the laptop Sleep instead of Hibernate, which is nice, as the tablet fires back up much quicker. Doesn't look like you need the Hybrid sleep however.
PPS: The fingerprint reader, used to unlock the thing, also seems sluggish, it sometimes doesn't wake up very quickly. This didn't seem to help fix that.
Posted at 04:45 PM | Permalink | Comments (0) | TrackBack (0)
It might also appear that Vista is coming up in Spanish, since many English speakers might not recognize that is Portuguese.
Although the HP 2730p was supposed to ship with Vista Business preinstalled, mine actually came with XP Tablet edition instead. It might be that I was one of the earlier customers to get the Gobi mobile chipset for accessing Verizon, who knows.
Anyway, I used an external DVD drive to install Vista. Imagine my surprise when it didn't come up on English; I certainly didn't choose anything other than English, and California is not in the same Timezone as Brazil. Apparently the DVD for the Americas comes with English, Spanish, French and Portuguese; I suspect when it gets it wrong, it takes the first one in alphabetical order, which would be "BR-PT" (Brazilian Portugese)
Anyway, long story short, don't waste your time with Control Panel, language packs and "LIP" files.
Just re-install, this time you'll be starting FROM Vista.
You see, since I was using a non-HP DVD drive, I started the Vista install from an XP Tablet cmd window, instead of booting from the DVD. I believe it was this initial state that messed up the install, since as far as I can tell it's the ONLY difference between the failed and sucessful installs.
And if I were to try it again, from an XP system, I'd certainly try booting from the external DVD.
To HP's credit, their tech support person did try to help, and worked with me on the phone for quite some time, though they had no record of this, and agreed that it should have dome with Vista installed anyway. Ultimately it was me just trying the re-install, and they were off the phone at that point, so I don't have any way to update them on the fix.
A very nice laptop / tablet / convertible btw.
Posted at 09:27 AM in Windows | Permalink | Comments (2) | TrackBack (0)
This is a digital hologram that changes its view as you walk past it. To be clear, the book never actually existed, it's just an animated 3-D model in a computer that was then rendered, but still cool.
Posted at 02:23 PM in Image Processing | Permalink | Comments (0) | TrackBack (0)
Sounds pretty cool, though I have not tried it.
WebAnywhere:
http://webanywhere.cs.washington.edu
via Web Guild
http://www.webguild.org/2008/07/web-based-screen-reader-allows-blind-to-surf-web.php
Posted at 09:23 PM in Windows | Permalink | Comments (0) | TrackBack (0)
Old news to some, but there's more than just 301 and 302.
Java does list most of these, though not in order, so easy to overlook, and oddly 307 is not listed.
Wikipedia lists 7 redirect codes:
http://en.wikipedia.org/wiki/URL_redirection#HTTP_status_codes_3xx
Java has names for most of these in java.net.HttpURLConnection constant fields, though not 307:
http://java.sun.com/j2se/1.4.2/docs/api/java/net/HttpURLConnection.html#field_summary
Table of status codes and named Java constants (301 and 302 are the standard ones of course):
Posted at 04:27 PM in Java | Permalink | Comments (0) | TrackBack (0)
I worry about stuff sometimes... no surprise to people who know me... A few possible civil liberties related issues get me thinking...
These have to do with very innocuous things that would not even be noticed most of the time. BUT, if you are stopped or detained for any other reason, these things can be added on to make you appear suspect. And since folks can be held longer in certain circumstances, which could also be more broadly applied in the future, these start to get a bit scary.
1: I think someday having cash in your pockets will be suspicious, since most transactions will be electronic. Having cash won't be be illegal, but suspect. Lots of questions about why... If it's in $20's, then were you planning to buy something illegal? And if you have change, you must have bought something with your $20's - is that vendor trying to avoid paying sales tax? etc. Even now, having too much cash on you can be viewed as drug related activity and property ceased without due process - of course it's quite a leap to just having $40 in your pocket.
2: As we gather more and more data, the likelihood of perfectly innocent coincidences will skyrocket. Mis-applied statistics will be used. "Sir, we noticed you drove past a mosque yesterday. And last week you were within 2 blocks of another mosque - what are you planning!?" The fact that you didn't even know they were there won't matter. The capacity to log data about your every activity and movement is increasing very rapidly, odd coincidences WILL happen, and statistics are still not well understood by many.
3: Sir, we picked you up in a neighborhood which is predominantly of (ethnic group xyz). What were you doing there? The catch is, here in California, there is no majority race anymore, and each county varies, so almost by definition anywhere you travel through won't be inhabited by your race or religious group. I certainly don't mind this, part of the draw of the Bay Area actually, but it's another bogus add-on for suspicion.
I hope these things do not come to pass, but sometimes the trends seem to point that way.
Even now, our traffic laws act as a writ of assistance for law enforcement. Virtually everybody drives over the speed "limit". And if you drive under it, they can cite you for unsafe driving, because you are not going with the flow of traffic. And if you got just under the speed limit, well, that's a profiling match for people running drugs! So no matter what speed you drive at, if they want to pull you over, they can turn that into a reason. In reality I don't think this is done very often, and if cops abused it I suspect it would make the local news, but it's still an odd situation.
Heck, even writing topical blog entries that contain certain keywords could flag you for a quick review... oops, gotta go! :-)
Posted at 10:43 AM | Permalink | Comments (1) | TrackBack (0)
This is long and about 7 years old, but a great article / sample chapter. It has lots of nuts and bolts.
It starts here, part 1 of 9:
http://www.onjava.com/pub/a/onjava/excerpt/java_xslt_ch5/index.html
Other parts of note:
Part 2 has "hello world" for XSLT with Xalan and Saxon
Part 3 does the same thing with JAXP which allows you to switch XSLT processors between Xalan and Saxon by just using Java properties.
Part 5 talks about files vs. URLs / URIs and how to convert back and forth (usefull even if you're not doing XSLT, streams, readers, etc.)
Parts 5, 6, 7 and 8 talk about turning CSV data into XML for processing by writing a custom SAX parser that turns CSV record and field breaks into SAX start and end token events, and then sends it to DOM, XSLT, etc. Nice to see a full example of this, although I don't think it will handle CSV generated from Excel when it has nested linebreaks in the cell, but that could be added.
And for the finale, part 9 gives THREE WAYS to interface in-memory JDOM structures with JAXP for XSLT transforms, wow!
Lots of useful "how to" info, though may be a bit out of date.
Posted at 09:36 PM in Java, xml | Permalink | Comments (0) | TrackBack (0)
A nice intro to a bunch of science stuff. Talks about the different types of signals used in metal detectors and the frequency response of various materials, eddy currents, skin effect, etc.
Posted at 07:45 AM in Science | Permalink | Comments (0) | TrackBack (0)
I was frustrated that when I tried to reduce the font size on our home page with CSS, it didn't work. I had tried a bunch of things, using percent, "em" units, pixels, etc. This was a problem in both IE and Firefox. I had even tried using the FireBug plugin to debug it.
It turns out that content inside of tables, which is all of the content on our home page, is set by the font-size for tbody, vs. body. Oddly, the other attributes such as font-family and color can be set just in body, but size must be set for tbody.
So this will give you red text, but will NOT reduce the size of content in tables:
body {
color: #80000;
font-size: 0.9em;
}
But this fixes the problem:
body, tbody {
color: #80000;
font-size: 0.9em;
}
I haven't seen an explanation for this online yet, and it seems very specific to the size directive, and had the same problem in two completely different browsers. Weird.
Posted at 06:20 PM in Web/Tech | Permalink | Comments (0) | TrackBack (0)
First a quick review: PHP can convert strings into numbers with the handy this handy function:
$secs = strtotime( "June 18, 2008" );
This will give you an integer representing the number of seconds since January 1st, 1970 (actually, just before midnight December 31st, 1969), referred to as the Unix epoch.
Then you can convert this from seconds into a Julian Date / Julian Day with the PHP function UnixToJD(). The absolute value of this second number is very helpful, it'll be over 2 million, but you can reliably subtract two Julian dates to get the number of days between them.
$jd = UnixToJD( $secs );
Now for the problem, what about dates prior to 1970? This is where things partially break, but there is a workaround (at least for dates > 1901).
First the good news, strtotime STILL WORKS, so you can do:
$negativeSecs = strtotime( "June 18, 1964" );
And you'll get a big negative number, which is fine.
But this breaks:
$jd2 = UnixToJD( $negativeSecs );
You will always get the same date back, effectively UnixToJD( 0 );
But the Julian date range extends way earlier than 1970, more than 2 million days earlier. So the above date in 1964 DOES have a valid, positive Julian day associated with it.
Now for the workaround:
Convert the Unix time, in seconds, into days by simply dividing by the number of seconds in a day, and either rounding off or truncating the value. This is valid for both positive and negative dates. I'll call this "Unix epoch days", the number of days since 1970, and for dates prior to 1970 it's just a negative value.
Then just "add" the Unix days (which will be positive or negative) to the base Julian day for 1/1/1970.
The only odd issue I've found is an "off by one" error caused by the timezone. So if you use this method, try it with dates after 1970 first, and compare the results to using UnixToJD().
And what is the base Julian day? It's either 2440587 or 2440588. I had tried UnixToJD( 0 ), but then the date math is sometimes off by one day when I do subtractions between dates. 2440588 seems to work, but may be affected by timezone and daylight savings time, so beware!
Converting from Unix seconds to days is not quite as easy as a simple division. When you convert a string with a time into seconds, I think it assumes midnight in the local timezone and then adds an offset to correct for what it would be in GMT. So you need to remove that correction before you devide, or you'll have a fractional component.
The revised code goes something like this:
Old way:
$jd1 = UnixToJD( StrToTime( "June 18, 2008" ) ); // OK
$jd2 = UnixToJD( StrToTime( "June 18, 1964" ) ); // Wrong! Prior to 1970
New way:
// Simple constants
$SECS_IN_DAY = 3600 * 24;
$BASE_JD = 2440588; // or 2440587, play with UnixToJD(0)
// Timezone stuff...
// WRONG: $tmpDateObj = date_create();
// Update: Use the specific date, since it will correct for Daylight Savings Time for THAT specific date
$tmpDateObj = date_create( "June 18, 2008" );
$TZ = date_timezone_get( $tmpDateObj );
$TZ_NAME = timezone_name_get( $TZ ); // If you care
$TZ_OFFSET = timezone_offset_get( $TZ, $tmpDateObj ); // Can be positive or negative, but just add it in
// Update: Could also use:
// $TZ_OFFSET = date_offset_get( $tmpDateObj );
// Now the calculations
$jd3 = $BASE_JD + (StrToTime( "June 18, 2008" )+$TZ_OFFSET) / $SECS_IN_DAY;
$jd4 = $BASE_JD + (StrToTime( "June 18, 1964" )+$TZ_OFFSET) / $SECS_IN_DAY; // Adding a negative number is OK
If jd3 or jd4 has a fractional component, 123.4567890, don't just use the int or round functions, you've got something else going on with timezones or daylight saving.
Dates around 1901 / 1902 or earlier will not work, even with this workaround, as they are outside the range of even the negative numbers. The date range is approximately 1970 +/- 67.5 years
Also, some machines don't support negative datetimes at all. And of course all of this assumes you're using a recent PHP5. This code was tested on BSD in PHP5, in the California US timezone during the summer (WITH daylight savings)
Posted at 11:41 AM in Web/Tech | Permalink | Comments (0) | TrackBack (0)
Java based Toad clone:
Oracle SQL Developer (ALSO works with OTHER DATABASES as well !!!)
http://www.orafaq.com/wiki/SQL_Developer
http://www.oracle.com/technology/products/database/sql_developer/index.html
Posted at 06:35 PM in Databases and SQL | Permalink | Comments (0) | TrackBack (0)
I was creating test accounts today, to use in testing facebook apps.
Though you normally are not allowed to have multiple accounts, it is allowed if you are a FaceBook developer. You create the initial account, and then convert it to a "test" account by visiting this URL:
http://www.facebook.com/developers/become_test_account.php
Anyway, I was creating test accounts, and to make them easier to remember I was using birthdays of real people who are now deceased. Some of the people were born in years like 1902 and 1908.
On the initial signup screen, FaceBook DOES have those years listed in its dropdown list of Years, though you have to scroll a bit. But it will NOT ACCEPT BIRTHDATES from 1902 or 1908. It complains "please enter a valid date".
Well, this IS a valid date, a 100 year old person could still want to use facebook, not too many, but it *could* happen. AND it's one of the choices ON THEIR FORM, so presumably somebody at FaceBook thought it was valid at some point.
Fear not centenarians - there is a workaround! If you add 10 years to the initial birthday on the signup screen, making it 1918 instead of 1908 for example, you CAN then edit it back to 1908 once you've completed the signup process and verified your email, etc. You do this by editing your profile. It appears to be the same form, with the same choices, and this time it accepts it.
So is this a big deal? It's certainly not FB's target demographic, though they are attracting older users these days in the US, and always had older users in some countries.
One criteria for ranking the priority of bugs at a company is the number of people who are affected. Just considering the US and Japan, Wikipedia puts the combined estimated total at about 85,000 centenarians. If only 1% of them were online, that would still be 850 potential users, and given the popularity of FaceBook, maybe 1/4 would try to use it, so maybe 200 people. That might seem small, but equal access is not there to project the majority, and although the numbers are really small, this could result in a high profile news item on a local TV station, the headlines would make for a good sound bite. So the potential for bad PR disproportionate.
Another criteria for ranking the priority of bugs is whether there is an easy workaround or not. In this case there is, read below, but the initial signup experience takes on an "unwelcoming" tone.
Also, maybe a 100 year old person wouldn't suddenly wake up and start using the Internet, but imagine somebody who had been in the technology field as a profession, and started using PC's back in the 1980s, whey they were perhaps 75 years old, a much more likely scenario, and had kept using them. They could still be online. Also consider that an elderly person might be getting help from a younger person to do the initial setup; senior citizens could certainly have interesting stories to share online, even if they aren't doing the actual typing. Even younger disabled people sometimes have their caregiver doing the typing and mousing for them.
I think FaceBook could make a couple easy changes to fix this bug:
1: Don't put years in the drop down list on the initial screen that will be rejected. This seems the most obvious start.
Or better still:
2: In the error message, explain that if they really ARE that old then Welcome to facebook and you can update your age in the Profile page.
Or even:
3.a: Use the Guinness Book of Records to find the oldest person and accept years up to that oldest known living person. Along with...
3.b: If the age is more than 2 or 3 standard deviations off from the mean, politely ask "are you sure" ?
Just my 2 cents.
Posted at 08:57 PM in FaceBook | Permalink | Comments (0) | TrackBack (0)
There's been talk about cable and satellite providers over compressing video streams to jam more channels onto their cables and dishes, but I had subconsciously chalked that up to videophile whining and hadn't noticed it too much myself.
But today's running of Star Trek on KBCW channel 44 (Bay Area, 3pm on Sunday 5/11/08) was ABSURD. They've got the compression set WAY TOO HIGH. I'm on an analog / standard def setup with an RCA tuner, but other channels look fine.
GIANT compression bands danced around any flat surface, looking sort of like off-color Moire patterns. And the SOUND was even ringing a bit in places for over compression.
So it's Mother's day, and this isn't sports, so I guess it got flagged as a lower priority (eligible for high compression), but I'm paying for this signal and this is the show I chose to watch. Though these compression artifacts look different than the old pre-cable pre-satallite analog interference, they were on a par with bad rabbit ears today, which is unacceptable for a paid service.
I wouldn't think channel 44 would have originated the programming with this high of a compression, as they have fixed slots allocated. This also seems to be a fairly new problem, I haven't noticed it for Star Trek in weeks past. I did call Direct TV, the person I got wasn't sure about what I was talking about, but she did listen and did check with her supervisor; she took notes and said she would pass it on.
DirecTV should not compress signals to the point where they look worse than the old free rabbit ears days, not for paid service.
Posted at 07:19 PM in AV Audio and Video | Permalink | Comments (0) | TrackBack (0)
There are now 8 Gig SD cards on the market, called HDSC. Even better, you can get them with a BUILT IN USB connector on the other end. One end has the SD pin contacts, the other end has USB port contacts that are hidden away under a folding plastic flap.
The only trick is getting the Treo 700p to see all 8 Gigs.
Amazon has both the 8 Gig and 4 Gig convertible SD/HDSC/USB cards. The 8 Gig one needs the hack, the 4 gig one doesn't!
4 Gig (no hack): http://www.amazon.com/SanDisk-SDSDPH-004G-A11-15MB-Ultra-Plus/dp/B000UZJ0O2
8 Gig (needs hack): http://www.amazon.com/SanDisk-SDSDPH-008G-A11-15MB-Ultra-Plus/dp/B0012W7HGA
This guy has pretty good instructions.
http://blog.treonauts.com/2007/02/treo_8gb_hdsc_c.html
In case his blog goes away, here's the 2 key links, but READ HIS INSTRUCTIONS!!!
ZFile manager: http://software.treonauts.com/product.asp?id=6011
8 Gig driver: http://software.treonauts.com/product.asp?id=10523
Both files are free, and you do not need to even register, pick "download as guest" if you're in a hurry.
The only weird thing is that Palm reports either no memory available, or negative memory available, but applications still seem to work. The camera and a few of my favorite games still seem to run correctly. The camera now reports 7000+ available pictures. I'm now at a bit over 5 Gigs (copied over some test files)
So, you have a Palm with 8 Gigs of memory.
AND, if you get the dual connector style card, you also have an 8 Gig USB Thumb Drive with you at all times! Pop it out of the phone, crack the hinge, and pop it into your favorite USB port. Move files over, pull out, fold back flat, and back into the Palm.
With that much space, I wondering if these SanDisk Ultra II Plus cards would boot a PC? Modern PC's can boot from external drives on USB ports. *Some* USB thumb drives will also work... though some don't.
So in addition to having an 8 Gig Palm and 8 Gig thumb drive, you could also potentially have one of those portal virtual Linux boxes with all the portal apps. Walk up to somebody's computer, pop a chip out of your phone plug it into their computer, reboot, and your phone's memory card is now running Linux on their machine. Pretty cool, though I have NOT tried this yet.
We're livin' in the future.. future... future.....
Update Mon 5/12/08: Somehow the Treo no longer recognizes the card, it offers to format it when I insert it, but then it gives an error if I say yes. Inserting it into the PC with the USB end shows the files are still there, looking fine.
I'm not sure of the cause. I did move the card a bunch of times between PC and Treo. And I had accidentally downloaded an Audible title to the phone's internal memory because the card wasn't in there.
When I have time I'll try adding the PRC file again, etc. But this is a bit unsettling. At least the data is still there.
Posted at 12:39 PM in Palm OS and Treo 700p | Permalink | Comments (0) | TrackBack (0)
When you record meetings or webinars with GotoMeeting (or GotoWebinar) they can use either their own format, or convert to a more general format after the recording is done.
The codec for the native Goto Meeting format is called "G2M2" and be downloaded here:
https://www1.gotomeeting.com/codec
Presumably using this codec you could then load and convert the video after the fact as well, though I have not tried it.
It's better to change it ahead of time in GotoMeeting with Tools / Recording / Settings and then select the second option, the more general format, the radio button "Record to Widnows Media Player file"
Posted at 03:07 PM in AV Audio and Video | Permalink | Comments (0) | TrackBack (0)
Note: This didn't go very smoothly, so these are RAW NOTES, but in the end I did fix it!!! (scenario 3 below). The notes from the original thread were a bit vague / wrong details, so this is at least a bit more to go on.
In the course of trying to startup an Oracle database you might get an error like:
ORA-01157: cannot identify/lock data file 11 - see DBWR trace file
ORA-01110: data file 11: 'D:\ORACLE_DATA\CUSTOMER\DB.ORA'
This has to do with Oracle looking for a data file associated with one of its databases that it can't get to any more. There are 3 general cases:
1: The file is there, but the OS has it locked by some other process, or there's a permission issue, etc.
Fix: operating system issue, permissions, or reboot to clear processes, etc.
2: The file is not there, it was deleted, but you want to recover it!
Fix: See this thread and scroll down to Sept 15 2005 7:12 posting. I did not try this.
3: The file is not there, it was deleted, and you don't care. It's an old database that somebody knew was obsolete, so they just deleted it. Oracle doesn't like that!
Fix: See the same thread but scroll a bit up to the Sept 15 6:46 posting.
# 3 is the case I'm in. The data was old and was blown away. I just need to tell Oracle not to worry about it.
This is what I'm trying, from this thread (6:46 posting)
Before you start, you need to know where Oracle stores its control files. And to find that out, I looked in the ora.ini file, so you'll need to find that.
Oracle ini I found:
D:\oracle\admin\(dbname)\pfile\init.ora.1111200217029
Look in there to find the control_file location, on line 34 I have:
control_files=("D:\oracle_data\stack\CONTROL01.CTL", "D:\oracle_data\stack\CONTR
OL02.CTL", "D:\oracle_data\stack\CONTROL03.CTL")
So the "control files" mentioned in the thread I mentioned above are in D:\oracle_data\stack. We'll need to know this later.
(from Command Prompt, with sqlplus in path d:\oracle\ora92\bin)
sqlplus /nolog
(then inside SQL)
alter database backup controlfile to trace;
OR is it...
alter database backup controlfile to trace as 'some/path' REUSE;
I think the "reuse" parameter has them take out all the cruft, so that you can rerun it.
(in another command window)
Looked in file system, found D:\oracle\admin\stack\udump\stack_ora_700.trc Use DIR /OD to see the most recent files, and compare against current system time.
(then in ANOTHER command window)
cd D:\oracle_data\stack
(remember, this was where we found the control files in an earlier step)
mkdir ctrl_bak
copy *.ctl ctrl_bak\
del *.ctl
In the second command window, with the trc file, make a copy of it. CALL THE ORIGINAL stack_ora_700.trc.BAK. We will be modifying stack_ora_700.trc
It needs to not have a bunch of cruft comments in it (I think that's what the reuse does).
And then on the first line you need to ADD this: (see this page, search for controlfile)
connect / as sysdba
BTW If you wanted to do that on the command line it would be:
sqlplus "/ as sysdba"
Now from a command prompt we will restore the control file from this human readable backup:
sqlplus /nolog @stack_ora_700.trc
Not sure you need this next one ....
(now back in SQL)
startup nomount;
I eventually had to reboot. But after that it worked!
You can also check the control files directory and notice that your 3 .CTL files are back.
Posted at 07:42 PM in Databases and SQL | Permalink | Comments (0) | TrackBack (0)
The advice on the web is to wait a while until Oracle has time to startup properly, which can take a while. The admin tools won't connect either. But if after waiting and waiting it still doesn't work, you may need to get out the crow bar.
I got a bit further with the info from this posting:
(from OS command prompt)
sqlplus /nolog
(then at SQL prompt)
shutdown
(get message saying database is not open)
startup
The last startup command will often get things going. OR it will tell you why it's so darn unhappy. In my case there's some old database it's trying to access that is no longer on the disk.
ORA-01157: cannot identify/lock data file 11 - see DBWR trace file
ORA-01110: data file 11: 'D:\ORACLE_DATA\CUSTOMER\DB.ORA'
For me that's an obsolete database, so now I just need to find the command to tell Oracle to not worry about it. More later...
Posted at 05:47 PM in Databases and SQL | Permalink | Comments (0) | TrackBack (0)
Note 1: I know this sounds too weird to be true, but I saw it consistently.
Note 2: Yes, I'm aware that there are other ways to add an hour to a datetime interval, it's a long story, see prev post.
I had a table with two TIMESTAMP fields. Adding an hour's worth of seconds to one field would reset the OTHER field to the current date and time.
So I'd do a select on start_time and end_time from my log table. Both are fine.
Then I would do:
mysql> update log_table set end_time = from_unixtime( unix_timestamp( end_time
) + 3600 );
You'll notice I'm just changing the end_time field.
Then I'd do a select of both values and it would show that START time was now all set to the current date and time. I recreated this a bunch of times. I also dropped and recreated the table and indexes. I also dropped and recreated with no index for either field, just in case it was something weird with indexing.
Changing the field from type TIMESTAMP to type DATETIME fixed the problem. All of my problems vanished with making that one change.
I really think this is a bug. I'm running 5.0.51a-community-nt MySQL Community Edition. I suspect it has something to do with TIMESTAMP's defined behavior when it gets a null value, to return the current date and time. But it doesn't explain the "cross talk" between fields - I'm guessing that stems from some type of query evaluator/executor and maybe cached/uncached garbage from somewhere... but who know!
Workaround: DATETIME = good, TIMESTAMP = bad (at least when using multiple date / time fields in the same talbe)
Posted at 06:42 PM in Databases and SQL | Permalink | Comments (0) | TrackBack (0)
September 1752
S M Tu W Th F S
1 2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Pretty cool. From PostgreSQL doc page.
Posted at 01:38 PM in Databases and SQL | Permalink | Comments (0) | TrackBack (0)
In many databases and computer languages dates and times can be treated like floating point numbers. For example, 3.5 is understood to mean 3 and a half days, or 3 days and 12 hours.
This can be handy in a database, for example to roll all the dates in a table forward by some arbitrary amount of time. In most databases you can just directly add floating point numbers to date / time values. Although MySQL has a wealth of date and time arithmetic built in, it doesn't seem to allow for this. It wants you to use minutes or seconds, etc.
The workaround is to temporarily use the UNIX_TIMESTAMP() and FROM_UNIXTIME() and deal with seconds instead of floating point numbers. I little extra coding on the Java side as well.
So for example in Oracle I could just say:
UPDATE log_table SET end_time = end_time + 0.506851;
In PostgreSQL it's a bit more complicated, you can't just add a float:
UPDATE log_table SET end_time = end_time + (0.506851 * INTERVAL '1 day')
In MySQL you need different syntax AND you need to recalculate the value beforehand, so I would say:
UPDATE log_table SET end_time = FROM_UNIXTIME( UNIX_TIMESTAMP(end_time)+43792 );
Where 43792 seconds = 0.506851 * 12 * 60 * 60
That is 0.506 days times 12 hours times 60 minutes times 60 seconds
And it's assumed that end_time is of type DATETIME or TIMESTAMP. This will NOT WORK with just DATE or TIME fields.
I guess you could probably do something like:
UPDATE log_table SET end_time = FROM_UNIXTIME( UNIX_TIMESTAMP(end_time)+ 0.506851 * 24 * 3600);
BUT there's probably some casting needed as well, I doubt that'll work as is.
And I'm not wild about doing the calculation in every line, though maybe it's no big deal, I haven't benchmarked it.
Note that the PostgreSQL trick of multiplying a floating point number times the INTERVAL of 1 day doesn't seem to work in MySQL. I've tried 3 variants with parenthesis, etc. So these do NOT work:
UPDATE log_table SET end_time = DATE_ADD(start_time, 0.506851 * INTERVAL '1' DAY );
UPDATE log_table SET end_time = DATE_ADD(start_time, ( 0.506851 * INTERVAL '1' DAY) );
UPDATE log_table SET end_time = DATE_ADD(start_time, 0.506851 * (INTERVAL '1' DAY) );
The only other trick is that if you're building your SQL string in Java, you need to tell it to NOT use scientific / exponential notation. So you do NOT want 4.3792E4.
To convert a float or double in Java to a String that you can then stuff into SQL you can use:
// Start with approx half of a day (an arbitrary floating point number)
double myDelta = 0.506851;
// Convert to Seconds
double newDelta = myDelta * 3600 * 24;
// Format to a rounded string, with no scientific notation
java.text.NumberFormat nf = java.text.NumberFormat.getInstance();
// Turn off fancy number formatting
nf.setGroupingUsed( false );
nf.setMinimumFractionDigits( 0 );
nf.setMaximumFractionDigits( 0 );
// And now the final String
String deltaStr = nf.format( newDelta );
If somebody comes up with a more direct route, please let me know. The MySQL INTERVAL values for days seem to only accept integers.
Posted at 12:37 PM in Databases and SQL, Java | Permalink | Comments (0) | TrackBack (0)
We're looking to buy a new laptop for Miles, his Fujitsu ultra-portable finally died. The reviews for the new Thinkpad X300 have been great, especially for business travelers, and you can get it with Verizon Wireless built in.
We live in Silicon Valley and wanted to actually see one. Fry's doesn't carry Lenovo.
After looking around Lenovo's site to find a local dealer, you're brought to a PDF file. That's stupid, all we want is phone numbers and/or URLs, a PDF is annoying overkill. But OK, you open the PDF at http://shop.lenovo.com/ISS_Static/merchandising/US/PDFs/Lenovo_TopSeller_Catalog.pdf
They list two ways to find a dealer:
1: Use their Web site finder: http://bplocator.lenovo.com/et.cfm?eid=934
or
2: Use their phone number: 1-888-76-THINK
We tried the web interface, with Miles' Cupertino zip code and the options we thought were appropriate - NOTHING, no results. Of course like any badly designed app, it doesn't clearly tell you that, it just keeps returning you to the same search form. So let's get this straight, in the middle of Silicon Valley, there are no thinkpad distributors? Obviously an unreasonable answer.
So we tried the phone number.
We tried FOUR CALLS to that number. HORRIBLE distorted VOIP compression. We tried from two different phone lines. This is the worse phoneline quality I have ever personally heard.
The person has an accent, sounded Indian to me, but the distortion on the line made him incomprehensible. It sounded like digital compression errors to me, but I'm not an expert. And this was on a Sunday, so very little web traffic. We did manage to tell him what we wanted, and he had two dealers in our area - obviously the web form was wrong. He tried to give us their phone numbers. After more than a half dozen attempts to understand the 10 digit phone number for the first dealer, we moved on to the next vendor.
We tried calling the 888 number for the first dealer. It's a porn line, or dating line. Obviously we got the number wrong, after many many many attempts to understand him, on a wired Polycom desktop phone. I don't know if it's their handsets, or the VOIP provider, or their ISP, who knows. The second dealer was closed on Sunday.
So let's get this straight. Lenovo has launched a new laptop that is getting great reviews, and tops out at over $3,000 retail. BUT they've outsourced the dealer locater hotline to some group that is unintelligible.
But to save a few dollars per call, they've sabotaged business users who are ready to buy their product. Lenovo will lose thousands of sales because of this incompetence, possibly costing them millions of dollars. So how much money did this outsourcing save them? :-)
This is so stupid.
Of course if the Web locator had worked, we wouldn't have needed to call. Lenovo acquired the ThinkPad line from IBM, which runs all those commercials touting their ecommerce infrastructure, so you'd think a simple web app would be do-able, but no.
Whatever.
Posted at 03:49 PM in Incompetence in Businesses | Permalink | Comments (1) | TrackBack (0)
In versions of Office prior to Office 2007, you would have used the Format menu to change font colors. But of course like most of the other menus you're used to, they've gotten rid of that menu too. Now you're directed to the "Design" button panel.
But when you're editing your link text, you'll notice a handy little semi-transparent window that shows up near your text. How cool! You don't even need to go up to the menus anymore, they bring it to you! As you move your mouse towards the ghostly font formatting menu, it becomes less transparent, and you can click on it. And hooray, it includes font colors!
Except... IT COMPLETELY IGNORES the colors you choose in that little hovering options box. There are 3 different colors there, but none will change the color of your link text. No warming is given, no explanation, it's lets you go through all the motions, and then just silently refuses to do it.
Instead, they want you to create an entirely new Color Theme to change that text color of your highlighted link. They do clone the current one you have. Microsoft has a video and text description of how to do this.
This does have the advantage of changing ALL of your links, which is usually what you want; in the old Power Point it was kind of a pain to hunt for each link and change its color. I don't know how you would have links in different colors if you needed that - maybe use plain text and add colors and underlining.
The video is quite amusing. The narrator claims this is really easy to do... and offers two suggestions. The first method goes by a bit fast if you're not used to PPT 2007, and the dailog boxes are a bit "busy". But the second method, involving "matching color formulas" is a hoot. If you listen to the entire video in one fell swoop, it really does sound like techno-babel at its finest.
I do understand that the new methods are meant to give a most consistent look to all the links in all the slides in your deck. But I fault Microsoft for the following items that could have been address:
1: For them to proactively bring up a formatting menu with color options, and then SILENTLY IGNORES THOSE CHOICES, is simply unforgivable. They should either suppress the menu, or explain to me why they are ignoring me AND offer to fix it the "right way".
Adobe Photoshop has a nice warning when highlighting and copying pixels, if you are accidentally on the wrong level. It notices that you've taken an action, but it also notices that it didn't have any effect. At this point it pops up a helpful warning dialog box explaining that your action had no effect, and suggesting why the cause might be. VERY HELPFUL on Adobe's part.
2: In Powerpoint's Design / Themes / Color menu, which I did wander around, it would never occur to me to "Create New Theme Colors..." just to change the color of one piece of text. That dropdown menu shows a long list of pallets which appear to let you change the entire color theme of all of your slides! And they present a bunch of canned themes, none of which I wanted; I just wanted to was to change just one item. And the "Create New...", being at the bottom of that menu, looked like something I would only use if I (a) Wanted to change all colors of all items on all slides, AND (b) wasn't happy with ANY of their predefined sets of colors. So that path of menus seems "drastic" on TWO levels of logic, whereas what I wanted was to change just 20 characters on one slide.
So when I did buzz around that area, their prescribed menu paths seemed very drastic, whereas what I wanted seemed quite simple, so it looked like the completely wrong direction to go in.
Office 2007 needs lots and lots of refinements to recover from all theses changes. They confuse experienced users, and I would argue are not really much more helpful to new users either.
The idea of button bars / menu ribbons, or whatever they call them, is a nice idea, but Office's implementation is so confused that it serves neither experienced nor novice users well.
Posted at 03:26 PM in Microsoft Office | Permalink | Comments (0) | TrackBack (0)
In my continued quest to help folks find where Microsoft has hidden all the menu items we've learned to use over the years, the latest is Edit -> Undo. Who knows! I've given up looking for this one. It's not on the "Home" tab, nor on the stupid round flag button in the upper left corner, at least not that I've seen.
But thank goodness you can still use Control-Z. This will do the same thing as the old Edit -> Undo. (Hold down the control key and press letter Z)
By the way, Google Docs has a nice "revision history" tab, sort of like having multiple Edit / Undo levels.
If you are running Office 2003 or before, do not upgrade to Office 2007, YOU WILL HATE IT!!!!! They have broken everything.
Posted at 02:39 PM in Microsoft Office | Permalink | Comments (0) | TrackBack (0)
Answered this for a friend, thought I'd post it here, I was suprised there were 10. BTW, some of these are very lame, I'm not suggesting that they are all practical. This is for TWO computers; if you have more than 2, or if you also want to get to the Internet, things change and some of the options fall out.
- - to Stacey - -
1: Network port to network port, with a SPECIAL cable, a "cross-over Ethernet cable", *usually* red or orange, but color is no guarantee of wiring (special cable not needed on VERY new computers with Gigabit, but I doubt you have that)
2: Network port to network port with 2 regular Ethernet cables and a hub or switch (a box)
3: Wifi to Wifi in "peer" mode, but does not use security/encryption. Extreme Nerds could also setup a non-peer client-server mode, which would be secure, but beyond my normal realm of nerdy-ness.
4: USB to USB with a SPECIAL cable, has the same USB plug on both ends AND a small fat oval plastic puck in the middle of the cable, this is sometimes called a "USB laplink cable" or a "USB to USB networking cable
5: Firewire to Firewire with a **generic** Firewire cable. If you have a cable with the proper plugs that will plug into both PCs (or pc and mac) it will probably work
Oh and what the heck....
6: On old computers, you could use a null-modem SERIAL cable (RS232 null modem / patch cable / cross over cable)
7: If you have 2 phone lines, you can go modem to modem
8: If both laptops have an IR port (infrared port), you can sometimes network that way.
9: You may be able use Bluetooth to bluetooth, though I haven't done that
10: And of course "sneaker net", with CDs, floppies, or a USB Thumb Drive
Posted at 10:40 AM in Computer Networking | Permalink | Comments (1) | TrackBack (0)
In previous posts I've already whined about the "removal" (hiding) of the File menu, where the Print... menu has gone, the replacement of the File -> Page Setup... menu and how to set Landscape printing.
If you've used Office '07 you've probably noticed that, instead of menus, Office 2007 has these button tabs, or menu-button-panel things. Kind of a nice idea for new users, but can be confusing for folks who are used to the old menus.
For example, once you've visited the Page Layout or View tabs, you might be wondering where the Formatting and Edit menus went? Simple formatting and Edit -> cut / copy / paste now live on the "Home" button bar.
Of course, if you've every used a Microsoft product before, you might think it would be under something like "Formatting" and "Edit". Like, if View and Page Layout have changed from menus into those button bar tabs, then there should be a button bar for Formatting, and another for Edit commands, right? Well... apparently not. Those are considered "Home" functions now. If you had sharp eyes, you might have noticed that you started on the Home tab when you fired up Word (or Exel, Power Point, etc).
This is a particularly odd wording choice. Something called "Home" sounds like a web browser thing, like maybe something that would bring up your home page, or maybe the Microsoft Office support home page, but certainly nothing to do with editing. Or maybe "Home" would be where the File menu is, like creating or opening files when you first startup the program? Wrong again, those functions are now on that weird circle flag thing in the upper left corner.
I mentioned at the start that replacing menus with the newer tabbed button bars *could* be a nice idea, especially for new users. But Office 2007 misses the mark. Some of the tabs are poorly named, and they've removed the most common ones that any experienced users would look for. When when Apple or Google docs gets around to this, they'll do it right.
Although Office 2007 has some improvements, I am floored by the number stupid changes they've made that confuse anybody who's ever used their products before. Some stunningly bad ideas.
Posted at 09:57 PM in Microsoft Office | Permalink | Comments (0) | TrackBack (0)
In previous posts I've already whined about the "removal" (hiding) of the File menu, where the Print... menu has gone, and the replacement of the File -> Page Setup... menu.
Another common task is how to just get your document to print in Landscape mode (wide instead of tall).
In Office 2003 you would do:
File -> Page Setup
(new dialog comes up)
click Landscape radio button
This has also been moved to the new Page Layout button / menu thingy.
Under the Page Layout area, look about 1/4 of the way over, for the "Orientation" icon with the dropdown arrow, it's between "Margins" and "Size". It has the options for Portrait and Landscape you're looking for.
By the way, once you've done this, where did all the formatting and font stuff go!? :-)
No worries, that's back under the "Home" menu button panel thingy.
Of course, if you've ever used a Microsoft product before, you might think it would be under something like "Formatting".
And something called "Home" sounds like a web browser thing, like maybe something that would bring up your home page, or maybe the Microsoft Office support home page, but no, it's where the formatting and copy / cut / paste commands are now located.
Although Office 2007 has some improvements, I am floored by the number stupid changes they've made that confuse anybody who's ever used their products before. Some stunningly bad ideas.
Posted at 09:42 PM in Microsoft Office | Permalink | Comments (0) | TrackBack (0)
In their continued effort to destroy their own software, Microsoft got rid of the File menu in Excel 2007. Well... no, not really, it's still there, they took the label off, and now it looks like a decoration. They replaced it with a rounded circle in the upper left corner with a little picture of 4 colored squares. It looks like a bit like the Microsoft "flag", except with squares instead.
MOST, but not all, of the old File menu's options are there, like "Save", "Save As..." and "Print...". So "File -> Print..." is now under the round circle flag thingy in the upper left corner.
Note that, even though Print... has been moved there, the File -> Page Setup... is NOT there, those features who have been separated out and moved 2/3rds of the way across the screen.
Although Office 2007 has some improvements, I am floored by the number stupid changes they've made that confuse anybody who's ever used their products before. Stunningly bad ideas.
Posted at 09:18 PM in Microsoft Office | Permalink | Comments (0) | TrackBack (0)
In their continued effort to destroy their own software, Microsoft hid the File menu in Excel and Word 2007.
They took the label off and replaced it with a rounded circle in the upper left corner with a
little picture of 4 colored squares; it looks like a bit like the
Microsoft "flag", except with squares instead.
But this File menu replacement (the round button with the little flag) doesn't have Page Setup... on it! Nor is there something like a "Print Setup..." under the Print menu.
So instead the main window now has a "menu tab" called Page Layout. More noticeable, but not where veterans would expect. If you click it, you get a bunch of icons. Would it have been a big deal to leave Page Layout in the circle-file-menu replacment menu as well? Or as an option under the main Print menu?
But wait, you still need to translate all the things you've learned into these new buttons.
How would you set the page width, to print all of your columns on one page?
In Excel 2003 it would be:
File -> Page Setup
(new dialog comes up)
Scaling: Fit to: 1 page(s) wide
In Excel 2007 it would be:
Click over to the "Page Layout" button menu.
Look about 2/3rds of the way over to the right, under the "Scale to Fit" section (labels are BELOW their button group, instead of above)
Change the "Width: Automatic" dropdown to "1 page"
If you've never used Microsoft Office before, this probably makes as much sense as the old way. But really, how many gainfully employed people have never used a Microsoft product prior to Office 2007 ? There are some, young people, or people with their first computer (and if that's you, welcome on board by the way!), but they've broken it for everybody else.
Although Office 2007 has some improvements, I am floored by the number stupid changes they've made that confuse anybody who's ever used their products before. Stunningly bad ideas.
Posted at 09:14 PM in Microsoft Office | Permalink | Comments (0) | TrackBack (0)
In their continued effort to destroy their own software, Microsoft got rid of the File menu in Excel 2007. Well... no, not really, it's still there, they took the label off, and now it looks like a decoration. They replaced it with a rounded circle in the upper left corner with a little picture of 4 colored squares. It looks like a bit like the Microsoft "flag", except with squares instead.
MOST, but not all, of the old File menu's options are there, like "Save", "Save As..." and "Print...". I'll blog separately about where they hidden some of the other basic everyday features. On what planet is a circle with 4 squares more "obvious" than the word "F i l e" ? If you had NEVER used a computer before, I suppose "File" isn't very obvious either, but it's not 1980, so that argument doesn't hold.
Although Office 2007 has some improvements, I am floored by the number stupid changes they've made that confuse anybody who's ever used their products before. Stunningly bad ideas.
Posted at 08:50 PM in Microsoft Office | Permalink | Comments (0) | TrackBack (0)
When using the GNU tar utility on Redhat today I was getting:
5694 Aborted tar --verbose --append --gzip --file myfile.tarz .......
I believe this is caused by trying to append to a compressed tar file.
It's OK on the first command, with the --gzip (-z) and --create (-c)
But when I try to add to that file with --gzip and --append, I get the error.
If I remove the --gzip from both commands (and take the "z" out of the file extension), it seems to work as expected.
I imagine I could compress the resulting tar file after all the appends are done.
Posted at 03:40 PM in Linux | Permalink | Comments (0) | TrackBack (0)
Problem:
You have a directory with the files:
file
file1
file22
file333
file456xyz
You'd like to match "file" followed by one or more digits, but NOT by using the asterisk, because that will match any other characters, and not by repeating [0-9] multiple times, because you're not sure how many digits there could be.
In this example, I want to match file1, file22 and file333, but I do NOT want file or file456xyz
In regex / regular expressions, you would use the postfix modifier / operator plus (+), as in file[0-9]+, or in older regex parsers that don't have plus, you could still do file[0-9][0-9]*.
But these won't work in the unix shell in bash.
Answer:
Bash file globbing patterns have an extended syntax option that allows for a prefix modifier syntax similar to that in regex, but you've got to turn it on to use it.
First call the shell options, to set extended glob patterns:
shopt -s extglob
Then try this pattern:
ls file+([0-9])
The plus has a similar meaning to what it has in regex, but is placed before the parenthesis, instead of after, and you must use parens even if you only have one character class.
If you haven't set the extended shell option you'll get a syntax error:
(from a different shell where the shopt command hasn't been issued)
ls file+([0-9])
bash: syntax error near unexpected token `('
Again, if you see this error, it's easy to fix, just do:
shopt -s extglob
And you'll probably want that in your shell script if you're writing a program, etc.
IF we had known we would only have, for example, 3 digits, we could have got away with:
ls file[0-9][0-9][0-9]
Or the fancier:
ls file[:digit:][:digit:][:digit:]
or
ls file[=0=][=0=][=0=]
or
ls file[=1=][=2=][=3=]
etc. See the man pages for bash under Pattern Matching
But again, this wouldn't work if weren't guaranteed to have exactly 3 digits.
Google searches keep referring back to regex and grep, which does NOT use the same syntax, so in this case you're better off with the man pages.
Posted at 07:49 PM in Linux | Permalink | Comments (0) | TrackBack (0)
Sometimes it's nice to generate a filename based on the current date and time.
In the Unix bash shell, you call the date command with a format string in back ticks
mystring=`date "+%y%m%d-%H%M%S"`
Or for just the date portion:
mystring=`date "+%y%m%d"`
Posted at 07:01 PM in Linux | Permalink | Comments (0) | TrackBack (0)
The only feature I use in Google Browser Sync Firefox plugin is the function that synchronizes your bookmarks / favorites between multiple machines running Firefox.
I was impressed that even allows you to rearrange bookmarks in the Manage Bookmarks screen and will accurately reflect the changes in link folders on other machines. I was worried that it might get confused, and that after organizing links on one machine, they would be duplicated on the other machines in both the old and new locations. But this problem didn't happen, and it worked like a champ.
This is probably not the first utility that does this one Windows, and my mac friend Nick tells me that Safari has had this for a while too.
My only enhancement requests:
1: Combine this with the "notebook" feature.
2: Make the links searchable.
3: Allow me to view, search and organize from my Google account online, like if I'm on somebody else's machine and don't want to install the plugin.
4: Also handle sync'ing with IE on Windows
But good stuff!
Posted at 04:42 PM | Permalink | Comments (0) | TrackBack (0)
Wolfram has a free reader for Mathematica notebook files. (81 megs) For the captcha they have solve a tiny math problem, vs. typing in distorted text.
They also have a bunch of free interactive math demos. Each link is a full category of demos, not just a single demo, so click around.
Posted at 08:58 AM in Mathematics | Permalink | Comments (0) | TrackBack (0)
On Windows XP Pro
Start -> All Programs -> Accessories -> Entertainment
Notice that "Volume Control" is listed.
If clicked, it brings up the system volume control panel.
OK... I gotta give this round to Steve Jobs. Bill, you really need to get out more. :-)
I'm surprised the Mac/PC commercials haven't used this gem.
Posted at 01:32 AM in Windows | Permalink | Comments (0) | TrackBack (0)
There have been quite a few posts about the new GlowPaint by the company MPK Co., using their Litroenergy technology that uses "betavoltaic" energy to glow for 12 years with no need to "charge it up" with light. Very cool stuff. And it can glow in almost any color you'd like.
The power source is radioactive gas sealed inside of tiny glass and plastic spheres; the radiation is in the form of electrons, which causes the glow, and which stay sealed inside the extremely crush resistant micro capsules. The tiny spheres can molded into plastic or included into paint.
But on MPK's site, they talk about how their paint is NOT radioactive. I suspect this claim refers to their older, more traditional line of glow in the dark paint that you needed to "charge up" in bright light.
And I have a prediction:
Despite being potentially dangerous and completely untested, I wonder if small amounts of this stuff will be included in human tattoos. Think about it. A dragon tattoo is drawn, with the eyes left blank, and then small deposits of Red Glow Paint beads are put under the skin for the eyes. The color red travels very efficiently through thin layers of skin, and would give the dragon tattoo glowing red eyes (in the dark or low light). The effect will only last 10 years or so, only visible in the dark, and who knows possibly cause fatal radiation poisoning, but I suspect that won't stop everyone. If the spheres are as indestructible as they say, who knows, maybe it won't kill 'ya.
Posted at 07:45 PM | Permalink | Comments (1) | TrackBack (0)
Russell Butek has an excellent article on the IBM web site about the various options for declaring SOAP services with WSDL. Though he goes through many of the combinations, I wanted a much shorter cheat sheet table.
There are 3 main factors, which give a total of 8 possible combinations (though in reality some are not valid).
This is the summary table I came up with (last row is the commonly used combination):
| State | Combo | Used | Note | ||
|---|---|---|---|---|---|
| 0: | RPC | Encoded | Unwrapped: | Seldom | Used with special data / graphs that need true references, and where a reference to an object can appear more than once. |
| 1: | RPC | Encoded | Wrapped: | Never | Wrapped implies Literal |
| 2: | RPC | Literal | Unwrapped: | Seldom | In the very rare case: Used if you have overloaded methods AND different methods with same args. Example: Have A(i), A(f,f) and B(f,f); two methods called A, and two methods with args (f,f). Maybe bad idea to overload anyway. |
| 3: | RPC | Literal | Wrapped: | Never | Although Wrapped implies Literal, in practice, Wrapped only used with Doc / Literal (wasteful w RPC / Literal) |
| 4: | Document | Encoded | Unwrapped: | Never | Nobody follows this style. It is not WS-I compliant. |
| 5: | Document | Encoded | Wrapped: | Never | Wrapped implies Literal |
| 6: | Document | Literal | Unwrapped: | Seldom | Used if you have overloaded methods (two methods with same name but different args). Maybe bad idea to overload anyway. |
| 7: | Document | Literal | Wrapped: | Loved by Microsoft and WS-I (disambiguation committee). Also gives a soap:body with one node, which also gives the name of the method. The tradeoff is a more complex wsdl | |
A really helpful article. I found the link to it from Jive's Clearspace Web Services Dev Guide.
Posted at 02:39 PM in xml | Permalink | Comments (0) | TrackBack (0)
Background:
Computers can be used to calculate the actual exposure pattern of a hologram mathematically, without ever having used a real object or laser exposure. There are various reasons for wanting to do this. The patterns would look sort of like fingerprint swirls, if you could see them, but they are usually so tiny you would typically need a special microscope.
The problem (among many others!):
Although you can calculate this pattern of fringes with math, actually "printing" them to film (so you can actually view it) is darn near impossible. Even a high resolution laser printer is still a thousand times too coarse to get a good exposure.
People DO use laser printers. The holograms they get are viewed at a great distance, and only barely refract light. So it's good for a proof of concept, but not for the "cool" holograms people dream of.
Microfiche readers to the rescue?
Normally a microfiche reader (or microfilm reader) takes a tiny square of film and magnifies it, and then projects it onto a screen. The magnification is impressive (TODO: find my notes)
But my idea had been to use the reader in REVERSE; shoving light through in the other direction, having it greatly reduced, and then exposing a piece of film where the microfiche would normally be. Then the film is moved to the next tiny "frame", and a new image is exposed. Repeated thousands of times, the entire fringe pattern would be built up.
Steps:
Some optimizations:
A lamer idea might be to just print out all the squares of the hologram on paper, tape them up on a wall, and photograph them in blue light. This would allow for substantial photographic reduction, though would incur substantial labor, and I'm not sure camera optics are that good.
I would be curious to hear if anybody has heard of this being actually attempted.
Posted at 06:57 PM in Science | Permalink | Comments (0) | TrackBack (0)
The goal is to expose some command line applications to somebody using a browser, in a very controlled manner of course.
Outline:
I have not found exactly this.
I did find some promising leads:
Still looking for a better CGI to "command line" adapter framework. Comments welcome. Yes, security would be an issue.
Posted at 06:27 PM in Linux | Permalink | Comments (0) | TrackBack (0)
Intel is listed as having patent # 6941521, filed 3/29/02, granted 9/6/05.
Method for dynamically generating a user interface from XML-based documents
Basically, describe a UI in XML, and have it "rendered" as an actual GUI, perhaps in SWING or AWT, .net, etc. And I had thought that you'd also need to make references to event handler routines, perhaps in some other class file.
I'm not a lawyer, and I don't know the timeline of other such efforts, so no slight at Intel intended, but I had thought this was a well established idea prior to '02 ?
For example, isn't XUL mostly that? In my notes I had:
Comments welcome, maybe there's some detail of it that's different, or maybe in '02 it was really new.
Posted at 06:05 PM in xml | Permalink | Comments (0) | TrackBack (0)