Learning git
I've been using subversion
for at least a decade now. I was going to switch to a git
-based project so wanted to learn. I think I finally get the differences, especially with the "index." These are the resources I used:
- A one-hour preview talk from 2007 by Randal Schwartz (of perl fame)
- The Thing About Git by Rtan Tomayko was a good intro to the usage side
- Think Like (a) Git by Sam Livingston-Gray was an excellent site that I used that really helped me understand the (graph) theory, the way it all comes
And finally:
Goodbye Netflix
Wow. I just checked, and I've had Netflix since 08/10/2001. Over thirteen years. Longer than my marriage. Two houses ago. I'm down to the cheapest one-at-a-time plan, and I still get around to it every three or four months.
I think it's time to say goodbye.
But here's how they get you to stay:
Based on your 1698 ratings, this is the list of movies and TV shows you've seen.
Yeah… thirteen and a half years of data that I don't want to lose! And that's my main account - I have two other profiles too. I searched the 'net for a solution, and came up with a lot. None worked. GreaseMonkey ones. PHP ones. None worked.
This was the closest: https://gist.github.com/tloredo/8483682
But I don't have a Mac, so I needed to manually capture that info. Ninety pages of ratings. So I used DownThemAll!. I opened the download manager manually, and for the URL I used http://dvd.netflix.com/MoviesYouveSeen?pageNum=[1:90]
- I had manually determined 90 with some trial and error. This saved all the pages to files named MoviesYouveSeen.htm
and then MoviesYouveSeen_NNN.htm
.
I modified the script to read these HTML files instead of launching Safari. After that, the ratings were off - every movie in the file would have the rating of the first in the file. So I tweaked that. For some reason, some don't show a rating in the HTML, even when these were supposedly rated. Some are "No Interest," but others, I just don't know what happened. So I have it output 0.0
if it couldn't figure it out - a 99% solution.
Here are my changes from the gitlab (17 Jan 2014) version (depending on screen width, you might have to scroll way down):
-
.py
old new 1 #!/bin/env python 2 # Original @ https://gist.github.com/tloredo/8483682 1 3 """ 2 4 Scrape a user's Netflix movie ratings by automating a Safari browsing 3 5 session (with the user already logged in). The ratings are written … … 106 108 107 109 from jinja2 import Template 108 110 from lxml import html 111 import re 112 113 fname_regex = re.compile(r'(\w+?)_?(\d+)?\.(\w+)') 114 rating_regex = re.compile(r'You rated this movie: (\d)\.(\d)') 109 115 110 116 111 117 # AppleScript functions asrun and asquote (presently unused) are from: … … 159 165 All values are strings. 160 166 """ 161 167 # Load the page, grab the HTML, and parse it to a tree. 162 script = ASTemplate.render(URL=url, DTIME=dtime) 163 reply = asrun(script) 168 reply = '' 169 try: 170 with open(url) as infile: 171 for str_ in infile: 172 reply += str_ 173 except IOError: 174 return [], None 175 176 164 177 tree = html.fromstring(reply) 165 178 rows = tree.xpath('//table[@class="listHeader"]//tr') 166 179 … … 180 193 # changing from page to page. For info on XPath for such cases, see: 181 194 # http://stackoverflow.com/questions/8808921/selecting-a-css-class-with-xpath 182 195 # rating = data[3].xpath('//span[@class="stbrMaskFg sbmfrt sbmf-50"]')[0].text_content() 183 rating = data[3].xpath('//span[contains(concat(" ", normalize-space(@class), " "), " stbrMaskFg ")]')[0].text_content() 184 rating = rating.split(':')[1].strip() # keep only the number 196 rating_cut = rating_regex.match(data[3].text_content()) 197 rating = '0.0' 198 if rating_cut: 199 rating = "%s.%s"%(rating_cut.group(1), rating_cut.group(2)) 200 185 201 info.append((title, year, genre, rating)) 186 202 187 203 # Next URL to load: 188 next_elem = tree.xpath('//li[@class="navItem paginationLink paginationLink-next"]/a') 189 if next_elem: 190 next_url = next_elem[0].get('href') 191 else: # empty list 192 next_url = None 204 fname_cut = fname_regex.match(url) 205 if fname_cut: 206 if None == fname_cut.group(2): 207 num = 0 208 else: 209 num = fname_cut.group(2) 210 next_url = "%s_%03.f.%s"%(fname_cut.group(1),int(num)+1,fname_cut.group(3)) 211 else: 212 print "Regex failed." 213 next_url = None 214 193 215 194 216 return info, next_url 195 217 196 218 197 219 # Use this initial URL for DVD accounts: 198 url = ' http://dvd.netflix.com/MoviesYouveSeen'220 url = 'MoviesYouveSeen.htm' 199 221 # Use this initial URL for streaming accounts: 200 222 # url = 'http://movies.netflix.com/MoviesYouveSeen' 201 223
This renders a lot of the script useless, but there's no benefit in making the diff
larger so I didn't trim anything else.
Here's when I ran it across my "TV Queue" account - yeah they're not all TV, sometimes I accidentally rated things with the wrong profile:
$ ./ScrapeNetflixRatings.py Scraping MoviesYouveSeen.htm 1: Garmin Streetpilot 2610/2650 GPS (2003) [Special Interest] - 1.0 2: Six Feet Under (2001) [Television] - 0.0 Scraping MoviesYouveSeen_001.htm 3: The Thief of Bagdad (1924) [Classics] - 4.0 4: The Tick (2001) [Television] - 4.0 5: Michael Palin: Pole to Pole (1992) [Documentary] - 0.0 6: Kung Fu: Season 3 (1974) [Television] - 0.0 7: Danger Mouse (1981) [Children & Family] - 3.0 8: Farscape (1999) [Television] - 3.0 9: Helvetica (2007) [Documentary] - 3.0 10: Hogan's Heroes (1965) [Television] - 3.0 11: The Lion in Winter (2003) [Drama] - 3.0 12: Monty Python: John Cleese's Best (2005) [Television] - 3.0 13: Sarah Silverman: Jesus Is Magic (2005) [Comedy] - 3.0 14: Stephen King's It (1990) [Horror] - 3.0 15: Superman II (1980) [Action & Adventure] - 3.0 16: Superman: The Movie (1978) [Classics] - 3.0 17: Tom Brown's Schooldays (1951) [Drama] - 3.0 18: An Evening with Kevin Smith 2 (2006) [Comedy] - 0.0 19: Crimewave (1986) [Comedy] - 2.0 20: Huff (2004) [Television] - 2.0 21: Aqua Teen Hunger Force (2000) [Television] - 1.0 22: The Boondocks (2005) [Television] - 1.0 Scraping MoviesYouveSeen_002.htm 23: Ricky Gervais: Out of England (2008) [Comedy] - 5.0 24: Robot Chicken (2005) [Television] - 5.0 25: Robot Chicken Star Wars (2007) [Comedy] - 5.0 26: Rome (2005) [Television] - 5.0 27: Scrubs (2001) [Television] - 5.0 28: Stewie Griffin: The Untold Story (2005) [Television] - 5.0 29: Spaced: The Complete Series (1999) [Television] - 0.0 30: Alice (2009) [Sci-Fi & Fantasy] - 0.0 31: Best of the Chris Rock Show: Vol. 1 (1999) [Television] - 4.0 32: The Critic: The Complete Series (1994) [Television] - 4.0 33: Dilbert (1999) [Television] - 4.0 34: An Evening with Kevin Smith (2002) [Comedy] - 4.0 35: John Adams (2008) [Drama] - 4.0 36: King of the Hill (1997) [Television] - 4.0 37: The Lone Gunmen: The Complete Series (2001) [Television] - 4.0 38: Neverwhere (1996) [Sci-Fi & Fantasy] - 4.0 39: Robin Hood (2006) [Television] - 4.0 40: The Sand Pebbles (1966) [Classics] - 4.0 41: The Sarah Silverman Program (2007) [Television] - 4.0 42: The Silence of the Lambs (1991) [Thrillers] - 4.0 Scraping MoviesYouveSeen_003.htm 43: Alias (2001) [Television] - 5.0 44: Alien (1979) [Sci-Fi & Fantasy] - 5.0 45: Band of Brothers (2001) [Drama] - 5.0 46: Bleak House (2005) [Drama] - 5.0 47: Brisco County, Jr.: Complete Series (1993) [Television] - 5.0 48: Code Monkeys (2007) [Television] - 5.0 49: Coupling (2000) [Television] - 5.0 50: Dead Like Me (2003) [Television] - 5.0 51: Deadwood (2004) [Television] - 5.0 52: Family Guy (1999) [Television] - 5.0 53: Family Guy: Blue Harvest (2007) [Television] - 5.0 54: Firefly (2002) [Television] - 5.0 55: Futurama (1999) [Television] - 5.0 56: Futurama the Movie: Bender's Big Score (2007) [Television] - 5.0 57: The Great Escape (1963) [Classics] - 5.0 58: Greg the Bunny (2002) [Television] - 5.0 59: How I Met Your Mother (2005) [Television] - 5.0 60: MI-5 (2002) [Television] - 5.0 61: My Name Is Earl (2005) [Television] - 5.0 62: Police Squad!: The Complete Series (1982) [Television] - 5.0 Scraping MoviesYouveSeen_004.htm
Thanks a ton to the original author, and the full version is attached here for posterity.
Strange Software Install Issue (Installer silently hangs)
I've been having a strange install issue with the ATI Catalyst software. It's documented here on the AMD site: http://forums.amd.com/game/messageview.cfm?catid=279&threadid=125401&forumid=11
However, forums like that have a great history of disappearing when I need them most, so a summary is also now here.
Setup was totally hanging. I tried all kinds of things to trace what was happening. Then this wonderful post came along:
From Wiink:
I signed up to post in this thread since I was having the exact same issue and was really frustrated over it. I have a 4890 and have always used Ati graphics cards, never had any issues and drivers always installed flawlessly until one day i decided to update from 9.8 to the current 9.12.
I'd go through the usual uninstall methods using the ati uninstaller and then follow up with driver sweeper. Click on the exe for the 9.12 suite and it would unpack/extract then an hourglass for about 5 seconds and then nothing. I would see InstallManagerApp.exe running in the taskmanager and my hdd light would be lit, but that was about it….no install. Tried many times and nothing worked. Drove me absolutely crazy. Checked and re-checked all the cleanup, c++ redist and .net stuff….All in order and still same results - nothing.
Then I came across this thread about not having full admin permission for registry changes needed for some software installs even though I am the only user and Admin of this pc. When installing the 9.12 Catalyst Suite, it needs to change something in the registry that was now being blocked , so I ran this fix posted here and my problems were solved immediately on both my Vista and my XP Pro machines. Just remember to create a fresh system restore point before applying it. I was so happy to have the issue fixed I had to share. It specifies Vista in the post, but it worked for my Xp Pro as well flawlessly. Took about 20 minutes and fixed! And sorry for the wall of text. Just do a reboot after running the cmd file and try to install the catalyst 9.12 suite again, should work now.
Post by Michael G. Simmons: http://social.msdn.microsoft.com/forums/en-US/vbexpress2008prerelease/thread/c273b0e1-7f46-4065-afaf-4edf285d2531
There is a quick fix for this and any other permission issues that occur with Vista. I've seen this happen with several different installs under Vista including VS 2005 and Orcas. The problem is for some reason regisry permissions are given to the user msiserver. You can reset each entry manually, but that is a major pain. It's much easier just to fix the entire registry by using the SubInACL utility. Basically, you can use the utility to add administrator permissions to every key in the registry.
- Download and install the SubInACL utility.
2.Create a new text file named fix_registry_permissions.cmd and add the following text to it and save it.
cd /d "%programfiles%\Windows Resource Kits\Tools" subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f /grant=system=f subinacl /subkeyreg HKEY_CURRENT_USER /grant=administrators=f /grant=system=f subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f /grant=system=f subinacl /subdirectories %SystemDrive% /grant=administrators=f /grant=system=f subinacl /subdirectories %windir%\*.* /grant=administrators=f /grant=system=f
- Run the file by double-clicking on it.
That's it. It will take several minutes to finish, but at the end all registry keys will be accessable to the administrator and system, as it should be.
My Dell XPS Gen 3 won't boot from CD-ROM!
To: Some friends of mine.
Any ideas on this head-scratcher?
My Dell XPS (getting really old, I know) won't boot from CD-ROM. I have tried 3-4 different CDs. One of the CDs has multiple boot images on it and none of them boot.
Here's the weird part - I can get the boot loaders to work! The Ghost ones will say "
Loading PC-DOS...
" and then the CD drive just stops spinning. The multiboot one gives me all the menus, but as soon as it tries to launch something, it hangs in the same way. Even good ol' DOS 6.22 says "Loading MS-DOS...
" and hangs. I tried my CentOS 4 installer DVD - I get the boot menus, I type "linux rescue
" and then it just sits there.
My config is multiple SATA drives and two PATA CDs. I have even disabled the master and then I have the same issue with the secondary (it won't touch the secondary if the master is enabled, even if no CD in master). Same thing.
And here it gets even weirder… I booted from a USB key with Ghost on it just fine; I'm doing my backups now. WTF?!?!
Various suggestions came back… then a few days later, I found the solution!
You've GOT to be shitting me… I fixed it!
I didn't install this BIOS release from over 4 years ago (I have
A06
), but look at the changelog:
"
1. Prevent boot issues when USB devices with media readers are present.
"
Lo and behold, I plugged my monitor in a few weeks ago. Which has a (useless) built-in USB hub and media reader! I never would've expected something like that to happen! So my guess is that the BIOS tries to enumerate the drives somehow to map to INT13 and hangs up! When I yanked the USB cable from the monitor, CDs booted just fine!!?!?
I thought the USB hub was useless before because it powers off with the monitor - now it is a downright HINDRANCE!
Some interesting httpd rewriting with perl
<VirtualHost *> ServerName svn.whatever ServerAlias svn <Perl> #!/usr/bin/perl my $svn_path = "/var/svn"; my $svn_location = ""; my $trac_path = "/var/trac"; opendir(SVN_ROOT, $svn_path) or die "Cannot open $svn_path"; while (my $name = readdir(SVN_ROOT)) { if ($name =~ /^[[:alnum:]]+$/) { $Location{"$svn_location/$name"} = { DAV => "svn", SVNPath => "$svn_path/$name", AuthType => "Basic", AuthName => "\"Subversion login\"", AuthUserFile => "$trac_path/access.user", AuthGroupFile => "$trac_path/access.group", Require => "group $name", }; } } closedir(SVN_ROOT); __END__ </Perl> </VirtualHost>
Marlin P Jones
I used to buy geek crap from these guys all the time
wikipedia.org
This site is AWESOME.
It's trying to be a collective knowledge base of the world.
Sounds cheesy, don't it?
I can click this link http://en.wikipedia.org/wiki/Special:Randompage all frikken DAY!
How else would I learn about http://en.wikipedia.org/wiki/Snus ?
What's so cool is that ANYONE can contribute. In fact, if you looked up 'Prospect' this morning you wouldn't see my hometown in CT. Why? Well, somebody else wrote up an article (actually, a bot that pulled the data from gov't servers) but never added it to the 'disambiguity' page. So I just did. And NOW if you search for 'Prospect', you'll see a link to the Prospect, Connecticut page.
Finding pinouts
Found this online today when looking for PCI pinouts…
http://www.repairfaq.org/
More specifically…
http://www.repairfaq.org/REPAIR/
http://www.repairfaq.org/REPAIR/F_Pinouts.html
Also useful is http://www.pinouts.ru/
Here's the PCI Spec I DID find...
The PCI (Peripheral Component Interconnect) Bus This file is not intended to be a thorough coverage of the PCI standard. It is for informational purposes only, and is intended to give designers and hobbyists an overview of the bus so that they might be able to design their own PCI cards. Thus, I/O operations are explained in the most detail, while memory operations, which will usually not be dealt with by an I/O card, are only briefly explained. Hobbyists are also warned that, due to the higher clock speeds involved, PCI cards are more difficult to design than ISA cards or cards for other slower busses. Many companies are now making PCI prototyping cards, and, for those fortunate enough to have access to FPGA programmers, companies like Xilinx are offering PCI compliant designs which you can use as a starting point for your own projects. For a copy of the full PCI standard, contact: PCI Special Interest Group (SIG) PO Box 14070 Portland, OR 97214 1-800-433-5177 1-503-797-4207 There is also a spec for CompactPCI, which uses the same timing and signals, but uses a eurocard connector and format. This is not presently covered in any detail within this document. Pinout (5 volt and 3.3 volt boards) -12V 01 *TRST TCK +12V GND TMS TDO TDI +5V +5V +5V *INTA *INTB *INTC *INTD +5V *PRSNT1 reserved reserved 10 +I/O V (+5 or +3.3) *PRSNT2 reserved GND Key3.3 GND GND Key3.3 GND reserved reserved GND *RST CLK +I/O V (+5 or +3.3) GND *GNT REQ GND +I/O V (+5 or +3.3) 20 reserved AD31 AD30 AD29 +3.3V GND AD28 AD27 AD26 AD25 GND +3.3V AD24 C/BE3 IDSEL AD23 +3.3V GND AD22 AD21 AD20 AD19 30 GND +3.3V AD18 AD17 AD16 C/BE2 +3.3V GND *FRAME *IRDY GND +3.3V *TRDY *DEVSEL GND GND *STOP *LOCK +3.3V *PERR 40 SDONE +3.3V *SBO *SERR GND +3.3V PAR C/BE1 AD15 AD14 +3.3V GND AD13 AD12 AD11 AD10 49 AD9 GND Key5 GND GND Key5 GND AD8 52 C/BE0 AD7 +3.3V +3.3V AD6 AD5 AD4 AD3 GND GND AD2 +I/O V (+5 or +3.3) +I/O V (+5 or +3.3) *ACK64 60 *REQ64 +5V +5V +5V 62 +5V (64 Bit Bus Extension Only) reserved 63 GND GND C/BE7 C/BE6 C/BE5 C/BE4 +I/O V (+5 or +3.3) GND PAR64 AD63 AD62 AD61 GND +I/O V (+5 or +3.3) 70 AD60 AD59 AD58 AD57 GND GND AD56 AD55 AD54 AD53 +I/O V (+5 or +3.3) GND AD52 AD51 AD50 AD49 GND +I/O V (+5 or +3.3) AD48 AD47 80 AD46 AD45 GND GND AD44 AD43 AD42 AD41 +I/O V (+5 or +3.3) GND AD40 AD39 AD38 AD37 GND +I/O V (+5 or +3.3) AD36 AD35 AD34 AD33 90 GND reserved reserved reserved GND GND 94 reserved * - Active Low PCI slots are keyed so that a 3.3 volt card cannot be plugged into a 5 volt slot, and a 5.5 volt card cannot be plugged into a 3 volt card. Dual voltage cards are possible. Key3.3 - At this location, a key is present on 3.3 volt boards. On 5 volt boards, these pins are GND. Key5 - At this location, a key is present on 5 volt boards. On 3.3 volt boards, these pins are GND. Signal Descriptions: AD(x): Address/Data Lines. CLK: Clock. 33 MHz maximum. C/BE(x): Command, Byte Enable. FRAME: Used to indicate whether the cycle is an address phase or or a data phase. DEVSEL: Device Select. IDSEL: Initialization Device Select INT(x): Interrupt IRDY: Initiator Ready LOCK: Used to manage resource locks on the PCI bus. REQ: Request. Requests a PCI transfer. GNT: Grant. indicates that permission to use PCI is granted. PAR: Parity. Used for AD0-31 and C/BE0-3. PERR: Parity Error. RST: Reset. SBO: Snoop Backoff. SDONE: Snoop Done. SERR: System Error. Indicates an address parity error for special cycles or a system error. STOP: Asserted by Target. Requests the master to stop the current transfer cycle. TCK: Test Clock TDI: Test Data Input TDO: Test Data Output TMS: Test Mode Select TRDY: Target Ready TRST: Test Logic Reset The PCI bus treats all transfers as a burst operation. Each cycle begins with an address phase followed by one or more data phases. Data phases may repeat indefinately, but are limited by a timer that defines the maximum amount of time that the PCI device may control the bus. This timer is set by the CPU as part of the configuration space. Each device has its own timer (see the Latency Timer in the configuration space). The same lines are used for address and data. The command lines are also used for byte enable lines. This is done to reduce the overall number of pins on the PCI connector. The Command lines (C/BE3 to C/BE0) indicate the type of bus transfer during the address phase. C/BE Command Type 0000 Interrupt Acknowledge 0001 Special Cycle 0010 I/O Read 0011 I/O Write 0100 reserved 0101 reserved 0110 Memory Read 0111 Memory Write 1000 reserved 1001 reserved 1010 Configuration Read 1011 Configuration Write 1100 Multiple Memory Read 1101 Dual Address Cycle 1110 Memory-Read Line 1111 Memory Write and Invalidate The three basic types of transfers are I/O, Memory, and Configuration. PCI timing diagrams: ___ ___ ___ ___ ___ ___ CLK ___| |___| |___| |___| |___| |___| |___ _______ _________ FRAME |_________________________________| ______ _______ ______ ______ ______ AD -------<______><_______><______><______><______>--- Address Data1 Data2 Data3 Data4 ______ _______________________________ C/BE -------<______><_______________________________>--- Command Byte Enable Signals ____________ ___ IRDY |_________________________________| _____________ ___ TRDY |________________________________| ______________ ___ DEVSEL |_______________________________| PCI transfer cycle, 4 data phases, no wait states. Data is transferred on the rising edge of CLK. [1] [2] [3] ___ ___ ___ ___ ___ ___ ___ ___ CLK ___| |___| |___| |___| |___| |___| |___| |___| |__ _______ _________ FRAME |________________________________________________| A B C ______ ______________ ______ _____________ AD -------<______>---------<______________><______><_____________>--- Address Data1 Data2 Data3 ______ ______________________________________________ C/BE -------<______><______________________________________________>--- Command Byte Enable Signals Wait ____________ _____ ___ IRDY |__________________________________| |_______| Wait Wait ______________________ ______ ___ TRDY |_______| |_______________________| ______________ ___ DEVSEL |______________________________________________| PCI transfer cycle, with wait states. Data is transferred on the rising edge of CLK at points labled A, B, and C. Bus Cycles: Interrupt Acknowledge (0000) The interrupt controller automatically recognizes and reacts to the INTA (interrupt acknowledge) command. In the data phase, it transfers the interrupt vector to the AD lines. Special Cycle (0001) AD15-AD0 0x0000 Processor Shutdown 0x0001 Processor Halt 0x0002 x86 Specific Code 0x0003 to 0xFFFF Reserved I/O Read (0010) and I/O Write (0011) Input/Output device read or write operation. The AD lines contain a byte address (AD0 and AD1 must be decoded). PCI I/O ports may be 8 or 16 bits. PCI allows 32 bits of address space. On IBM compatible machines, the Intel CPU is limited to 16 bits of I/O space, which is further limited by some ISA cards that may also be installed in the machine (many ISA cards only decode the lower 10 bits of address space, and thus mirror themselves throughout the 16 bit I/O space). This limit assumes that the machine supports ISA or EISA slots in addition to PCI slots. The PCI configuration space may also be accessed through I/O ports 0x0CF8 (Address) and 0x0CFC (Data). The address port must be written first. Memory Read (0110) and Memory Write (0111) A read or write to the system memory space. The AD lines contain a doubleword address. AD0 and AD1 do not need to be decoded. The Byte Enable lines (C/BE) indicate which bytes are valid. Configuration Read (1010) and Configuration Write (1011) A read or write to the PCI device configuration space, which is 256 bytes in length. It is accessed in doubleword units. AD0 and AD1 contain 0, AD2-7 contain the doubleword address, AD8-10 are used for selecting the addressed unit a the malfunction unit, and the remaining AD lines are not used. Address Bit 32 16 15 0 00 Unit ID | Manufacturer ID 04 Status | Command 08 Class Code | Revision 0C BIST | Header | Latency | CLS 10-24 Base Address Register 28 Reserved 2C Reserved 30 Expansion ROM Base Address 34 Reserved 38 Reserved 3C MaxLat|MnGNT | INT-pin | INT-line 40-FF available for PCI unit Multiple Memory Read (1100) This is an extension of the memory read bus cycle. It is used to read large blocks of memory without caching, which is beneficial for long sequential memory accesses. Dual Address Cycle (1101) Two address cycles are necessary when a 64 bit address is used, but only a 32 bit physical address exists. The least significant portion of the address is placed on the AD lines first, followed by the most significant 32 bits. The second address cycle also contains the command for the type of transfer (I/O, Memory, etc). The PCI bus supports a 64 bit I/O address space, although this is not available on Intel based PCs due to limitations of the CPU. Memory-Read Line (1110) This cycle is used to read in more than two 32 bit data blocks, typically up to the end of a cache line. It is more effecient than normal memory read bursts for a long series of sequential memory accesses. Memory Write and Invalidate (1111) This indicates that a minimum of one cache line is to be transferred. This allows main memory to be updated, saving a cache write-back cycle. Bus Arbitration: This section is under construction. PCI Bios: This section is under construction. t (C) Copyright 1996 by Mark Sokos. This file may be freely copied and distributed, provided that no fee is charged. This information is provided "as-is". While I try to insure that the information is accurate, errors and typos may exist. Send corrections and comments to [email protected]. The latest version of this file may be found at http://www.gl.umbc.edu/~msokos1 References: "Inside the PCI Local Bus" by Guy W. Kendall Byte, February 1994 v 19 p. 177-180 "The Indispensible PC Hardware Book" by Hans-Peter Messmer ISBN 0-201-8769-3
Don't Plug a 10/100 Switch Into Your Phone!
Bad things happen.
I have a patch panel for structured wiring in my house. Took me a ½ hour to figure out why all my phones were dead - I had plugged the hub into the phone system! Oopsie!
Traceroute Sites
HUGE list of international tracert sites: http://www.traceroute.org/
USA sites: http://www.traceroute.org/#USA
Univ of MD: http://noc.net.umd.edu/cgi-bin/traceroute/trace
Strange Compression Comparisons
Well, if you're desparate to do bzip2 under windows, or pretty much any other cool GNU thing (find, grep, less, wget, etc) you can download them at http://gnuwin32.sourceforge.net/packages.html
C:\Documents and Settings\me>bzip2 —version bzip2, a block-sorting file compressor. Version 1.0.1, 23-June-2000.
- adm
Aaron D. Marasco wrote: > OK, a quick test. I just got a PowerPoint presentation. I am not going to mess with dictionary sizes or anything, leaving those default. > > PPT: 1,440,768 bytes (Original file) > ZIP: 1,311,093 (Dunno what did it, I received it this way) > RAR: 1,303,276 (RAR 3.20 beta 4, which does the 'new' RAR compression, default setting) > RAR: 1,303,241 (Same version, told it MAX compress "m5" command line) > ACE: 1,305,286 (2.0 compression, normal) > ACE: 1,309,770 (1.0 compression, normal) > ACE: 1,305,274 (2.0 compression, max) > GZ: 1,311,109 (Created by WinACE 2.5 max compression) > LZH: 1,440,901 (Created by WinACE 2.5 max compression) (-- this is BIGGER. This surprises me and tells me that PPT may already be compressed? > .TAR.GZ: 1,311,614 (Created by WinACE 2.5 max compression) > CAB: 1,304,092 (Created by WinACE 2.5 max compression) > ZIP: 1,310,299 (Created by WinACE 2.5 max compression) > JAR: 1,310,299 (Created by WinACE 2.5 max compression -- I think .JAR are just renamed .ZIP anyway) > BZ2: 1,337,976 (bzip2 Version 1.0.2 - I couldn't see a command line to change compression) > GZ: 1,310,209 (gzip -9 gzip 1.3 [1999-12-21]) (-- I've never seen GZIP be smaller than BZ2?!?!? > > And now sorted: > [root@neuvreidaghey shared]# sort -t' ' +1 tempo > RAR: 1,303,241 (Same version, told it MAX compress "m5" command line) > RAR: 1,303,276 (RAR 3.20 beta 4, which does the 'new' RAR compression, default setting) > CAB: 1,304,092 (Created by WinACE 2.5 max compression) > ACE: 1,305,274 (2.0 compression, max) > ACE: 1,305,286 (2.0 compression, normal) > ACE: 1,309,770 (1.0 compression, normal) > GZ: 1,310,209 (gzip -9 gzip 1.3 [1999-12-21]) (-- I've never seen GZIP be smaller than BZ2?!?!? > ZIP: 1,310,299 (Created by WinACE 2.5 max compression) > JAR: 1,310,299 (Created by WinACE 2.5 max compression -- I think .JAR are just renamed .ZIP anyway) > ZIP: 1,311,093 (Dunno what did it, I received it this way) > GZ: 1,311,109 (Created by WinACE 2.5 max compression) > .TAR.GZ: 1,311,614 (Created by WinACE 2.5 max compression) > BZ2: 1,337,976 (bzip2 Version 1.0.2 - I couldn't see a command line to change compression) > PPT: 1,440,768 bytes (Original file) > LZH: 1,440,901 (Created by WinACE 2.5 max compression) (-- this is BIGGER. This surprises me and tells me that PPT may already be compressed?
I think these are slightly skewed, but RAR just edged out ACE. Again, I think this is a recompression on compressed data. I would doubt that MS-CAB would normally beat ACE. This is not a directory of plaintext. You can even see that ACE can make GZip compat archives, but it was slightly larger than GZip itself. And ACE also made a smaller ZIP file than what I assume was WinZip.
And since I already bought WinACE, it's good enough.
CD-Rs bake in the sun!
OK, I had a silver CD-R (Imation 80min if you care) with MP3s. I left it in the car too much in the sun (now I flip the jewel cases over). One edge of it turned a nice golden color like the older CD-Rs are.
It had 5 CDs on it.
I have randomly sampled the files in my audio player, and they all sound fine and are as happy as can be.
Checked the SFVs of 4 of the 5.
Even though my sampling sounded fine, EVERY SINGLE FILE had a CRC failure.
Weird.
Keep yer CD-Rs in the shade!!!
Geek Reference Site
http://www.ncsu.edu/felder-public/kenny/home.html
I found it doing a quick search for entaglement, etc b/c of some questions I had regarding the book I am reading: http://www.amazon.com/exec/obidos/ASIN/0452284570/aarondmarascoaar/
Wireless Performance Stats
I cannot get this thing to connect with Encryption On using the SMC software, so I cannot turn on/off this 'Nitro' thing…
http://www.stanford.edu/~preese/netspeed/ was used to test. This program ROCKS!!! Server Linux, client WinXP Pro. 30 seconds per test, 8KB window (default) You can see there is a push and a pull test.
Server: iperf --format K --port 999 -s Client: iperf -c neuvreidaghey -r -t 30 -p 999 --format K 802.11g, with encryption on. ------------------------------------------------------------ [ ID] Interval Transfer Bandwidth [1892] local 192.168.1.169 port 2212 connected with 192.168.1.251 port 999 [1892] 0.0-30.0 sec 56408 KBytes 1880 KBytes/sec [1868] local 192.168.1.169 port 999 connected with 192.168.1.251 port 32785 [1868] 0.0-30.0 sec 60832 KBytes 2026 KBytes/sec 802.11g, with encryption off. ------------------------------------------------------------ [ ID] Interval Transfer Bandwidth [1888] local 192.168.1.169 port 2318 connected with 192.168.1.251 port 999 [1888] 0.0-30.0 sec 70120 KBytes 2337 KBytes/sec [1868] local 192.168.1.169 port 999 connected with 192.168.1.251 port 32787 [1868] 0.0-30.0 sec 81504 KBytes 2716 KBytes/sec
So I am getting 15-21 Mbps of 54 theoretical - THAT SUCKS!!! [27-38% efficiency]
802.11b, encryption off. ------------------------------------------------------------ [ ID] Interval Transfer Bandwidth [1888] local 192.168.1.169 port 2353 connected with 192.168.1.251 port 999 [1888] 0.0-30.0 sec 14176 KBytes 472 KBytes/sec [1868] local 192.168.1.169 port 999 connected with 192.168.1.251 port 32788 [1868] 0.0-30.0 sec 12640 KBytes 421 KBytes/sec
So that is 3.3-3.7Mbps of 11 theoretical - guess that G ain't so bad - it IS about 5x faster! [30-34%]
Just for shits, I switched the G router into B/G mixed mode environment… 802.11g (with b compat) [no encryption] [results about same as G only] I tried putting both NICs in the laptop at once, and things just got ugly. Guess with only one laptop I cannot get the B to interfere enough with the G… I will try that NITRO stuff again… maybe tomorrow, maybe this weekend.
Pound your hardware much harder than Prime95
Using M$'s official hardware pounder:
Mis-ID'd Hard Drive
Problem: I have an 80GB Maxtor hooked up to the on-board IDE using a nice fancy 80 pin rounded cable. My problem is that when I cold boot, it ID's the hard drive as a "MAXTOR ROMULUS" and then says error with the drive. I hit ctrl-alt-del and it reboots, properly IDs, and boots fine. Any ideas? I have messed with the IDE delay, up to 3 seconds didn't fix it…
Solution: Turns out that drive didn't like to be the 'Slave' without a 'Master'. Never saw that before and I have had Master-less drives before…