How To Link And Embed YouTube Videos Starting At Specified Times

YouTube has a feature that allows you to specify the starting time of embedded and linked videos. This is really useful when you want to help a reader watch or listen at a precise starting point in a long video.

The way this works is that you follow up the URL with a “#t=___” argument where you fill in the ___ section with a string that represents the starting time. This can be either a number representing seconds or a string of numbers and characters that specify a time in hours, minutes, and seconds. For example, if you want to start playing at a 1 hour, 16 minutes, and 2 seconds into a video then you would use the start time specifier of “#t=1h16m02s” or “#t=4562″ (as 1 hour 16 minutes and 2 seconds is 4562 seconds) in the URL after the video identifier.

Here are examples of this syntax for both embedding and linking:
Continue reading

Posted in YouTube | Tagged , | Leave a comment

Avoid Linux Page Allocation Failures By Adjusting Virtual Memory Configuration

Sometimes on a Linux web server you may see memory allocation failures in your /var/log/syslog file. This can happen even when there is spare RAM and swap. On a server running Apache or Nginx, they may look something like this:


Jul 15 07:10:30 hostname kernel: swapper/1: page allocation failure: order:3, mode:0x20
Jul 15 07:10:30 hostname kernel: Pid: 0, comm: swapper/1 Not tainted 3.4.2-kernelversion1234 #1
Jul 15 07:10:30 hostname kernel: Call Trace:
Jul 15 07:10:30 hostname kernel: [] ? warn_alloc_failed+0x98/0x100
Jul 15 07:10:30 hostname kernel: [] ? __alloc_pages_nodemask+0x4d8/0x6e0
Jul 15 07:10:30 hostname kernel: [] ? T.874+0x31/0xe0
Jul 15 07:10:30 hostname kernel: [] ? T.871+0x91/0x250
Jul 15 07:10:30 hostname kernel: [] ? cache_alloc_refill+0x24e/0x290
Jul 15 07:10:30 hostname kernel: [] ? __kmalloc+0xbe/0xd0
Jul 15 07:10:30 hostname kernel: [] ? pskb_expand_head+0x12e/0x240
Jul 15 07:10:30 hostname kernel: [] ? kmem_cache_free+0x42/0x60
Jul 15 07:10:30 hostname kernel: [] ? __pskb_pull_tail+0x4d/0x2a0
Jul 15 07:10:30 hostname kernel: [] ? netif_skb_features+0xaf/0xc0
Jul 15 07:10:30 hostname kernel: [] ? dev_hard_start_xmit+0x1ed/0x410
Jul 15 07:10:30 hostname kernel: [] ? nf_iterate+0x6c/0x90
Jul 15 07:10:30 hostname kernel: [] ? sch_direct_xmit+0xba/0x180
Jul 15 07:10:30 hostname kernel: [] ? ip_finish_output2+0x280/0x280
Jul 15 07:10:30 hostname kernel: [] ? dev_queue_xmit+0xff/0x340
Jul 15 07:10:30 hostname kernel: [] ? ip_local_out+0x18/0x20
Jul 15 07:10:30 hostname kernel: [] ? tcp_transmit_skb+0x395/0x660
Jul 15 07:10:30 hostname kernel: [] ? tcp_write_xmit+0x1dd/0x500
Jul 15 07:10:30 hostname kernel: [] ? __tcp_push_pending_frames+0x24/0x90
Jul 15 07:10:30 hostname kernel: [] ? tcp_rcv_established+0xfb/0x610
Jul 15 07:10:30 hostname kernel: [] ? tcp_v4_do_rcv+0xbb/0x190
Jul 15 07:10:30 hostname kernel: [] ? tcp_v4_rcv+0x6bd/0x7a0
Jul 15 07:10:30 hostname kernel: [] ? ip_local_deliver_finish+0x97/0x220
Jul 15 07:10:30 hostname kernel: [] ? ip_rcv+0x330/0x330
Jul 15 07:10:30 hostname kernel: [] ? ip_rcv_finish+0xd7/0x340
Jul 15 07:10:30 hostname kernel: [] ? __netif_receive_skb+0x2c3/0x350
Jul 15 07:10:30 hostname kernel: [] ? netif_receive_skb+0x1f/0x70
Jul 15 07:10:30 hostname kernel: [] ? handle_incoming_queue+0x1a1/0x270
Jul 15 07:10:30 hostname kernel: [] ? xennet_poll+0x224/0x570
Jul 15 07:10:30 hostname kernel: [] ? _raw_spin_unlock_irqrestore+0x11/0x20
Jul 15 07:10:30 hostname kernel: [] ? net_rx_action+0xea/0x1a0
Jul 15 07:10:30 hostname kernel: [] ? __do_softirq+0x7c/0x110
Jul 15 07:10:30 hostname kernel: [] ? irq_enter+0x70/0x70
Jul 15 07:10:30 hostname kernel:   [] ? irq_exit+0x66/0x90
Jul 15 07:10:30 hostname kernel: [] ? xen_evtchn_do_upcall+0x1d/0x30
Jul 15 07:10:30 hostname kernel: [] ? xen_do_upcall+0x7/0xc
Jul 15 07:10:30 hostname kernel: [] ? hypercall_page+0x3a7/0x1000
Jul 15 07:10:30 hostname kernel: [] ? xen_safe_halt+0xf/0x20
Jul 15 07:10:30 hostname kernel: [] ? default_idle+0x1c/0x40
Jul 15 07:10:30 hostname kernel: [] ? cpu_idle+0x4a/0x80
Jul 15 07:10:30 hostname kernel: Mem-Info:
Jul 15 07:10:30 hostname kernel: DMA per-cpu:
Jul 15 07:10:30 hostname kernel: CPU    0: hi:    0, btch:   1 usd:   0
Jul 15 07:10:30 hostname kernel: CPU    1: hi:    0, btch:   1 usd:   0
Jul 15 07:10:30 hostname kernel: CPU    2: hi:    0, btch:   1 usd:   0
Jul 15 07:10:30 hostname kernel: CPU    3: hi:    0, btch:   1 usd:   0
Jul 15 07:10:30 hostname kernel: Normal per-cpu:
Jul 15 07:10:30 hostname kernel: CPU    0: hi:  186, btch:  31 usd: 129
Jul 15 07:10:30 hostname kernel: CPU    1: hi:  186, btch:  31 usd:  85
Jul 15 07:10:30 hostname kernel: CPU    2: hi:  186, btch:  31 usd:  28
Jul 15 07:10:30 hostname kernel: CPU    3: hi:  186, btch:  31 usd: 164
Jul 15 07:10:30 hostname kernel: active_anon:12649 inactive_anon:40482 isolated_anon:0
Jul 15 07:10:30 hostname kernel: active_file:37627 inactive_file:19347 isolated_file:0
Jul 15 07:10:30 hostname kernel: unevictable:0 dirty:11 writeback:0 unstable:0
Jul 15 07:10:30 hostname kernel: free:8971 slab_reclaimable:2680 slab_unreclaimable:1874
Jul 15 07:10:30 hostname kernel: mapped:10980 shmem:8204 pagetables:651 bounce:0
Jul 15 07:10:30 hostname kernel: DMA free:2088kB min:84kB low:104kB high:124kB active_anon:0kB inactive_anon:8kB active_file:3232kB inactive_file:1764kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15808kB mlocked:0kB dirty:0kB writeback:0kB mapped:20kB shmem:0kB slab_reclaimable:40kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
Jul 15 07:10:30 hostname kernel: lowmem_reserve[]: 0 500 500 500
Jul 15 07:10:30 hostname kernel: Normal free:33796kB min:2816kB low:3520kB high:4224kB active_anon:50596kB inactive_anon:161920kB active_file:147276kB inactive_file:75624kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:512064kB mlocked:0kB dirty:44kB writeback:0kB mapped:43900kB shmem:32816kB slab_reclaimable:10680kB slab_unreclaimable:7496kB kernel_stack:1000kB pagetables:2604kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
Jul 15 07:10:30 hostname kernel: lowmem_reserve[]: 0 0 0 0
Jul 15 07:10:30 hostname kernel: DMA: 38*4kB 154*8kB 44*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 2088kB
Jul 15 07:10:30 hostname kernel: Normal: 4229*4kB 1802*8kB 152*16kB 1*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 33796kB
Jul 15 07:10:30 hostname kernel: 68212 total pagecache pages
Jul 15 07:10:30 hostname kernel: 3021 pages in swap cache
Jul 15 07:10:30 hostname kernel: Swap cache stats: add 315367, delete 312346, find 239079/265626
Jul 15 07:10:30 hostname kernel: Free swap  = 477752kB
Jul 15 07:10:30 hostname kernel: Total swap = 524284kB
Jul 15 07:10:30 hostname kernel: 133104 pages RAM
Jul 15 07:10:30 hostname kernel: 0 pages HighMem
Jul 15 07:10:30 hostname kernel: 5882 pages reserved
Jul 15 07:10:30 hostname kernel: 72851 pages shared
Jul 15 07:10:30 hostname kernel: 98932 pages non-shared
Jul 15 07:10:30 hostname kernel: SLAB: Unable to allocate memory on node 0 (gfp=0x20)
Jul 15 07:10:30 hostname kernel:  cache: size-32768, object size: 32768, order: 3
Jul 15 07:10:30 hostname kernel:  node 0: slabs: 1/1, objs: 1/1, free: 0

Your problem may involve a virtual memory setting that is too low. To check for this, at a Linux shell prompt execute:


cat /proc/sys/vm/min_free_kbytes

You can also check this with the sysctl program:


sysctl vm.min_free_kbytes

If you see a value under about 8192, there is a good chance the page allocation failures can be reduced or eliminated by raising this setting. Some virtual private server (VPS) providers are recommending even larger settings such as 16384. Some server tuning guides recommend even higher values, 656636 or larger, on systems with gigabytes of RAM. However, such large settings are probably not suitable for small dedicated server or VPS installations with less than 1GB RAM.

To change the setting, edit the /etc/sysctl.conf file to add the following line:
Continue reading

Posted in Linux | Tagged , , , , , | Leave a comment

Governments Among Top Internet Censors According to Google

Google has recently published its latest Transparency Report that discloses to the public information on “take down” operations that Google is demanded to do for reasons such as violations of copyright law, terms of service agreements, and government requests. Google often refuses to act upon demands that are not in compliance with law, even when the party making the demands is a government. Despite often being criticized for invading people’s privacy and “spying” on them via its extensive data collection and search indexing systems, Google on the whole appears to be doing a lot to protect the freedom of the Internet by pushing back against government tampering with content and search capabilities on the Internet.

Some of the requests coming from governments are legitimate. Such requests may be made to shut down criminal operations, remove pirated content, or remove confidential information (such as banking and identity information) being used for criminal purposes.

Unfortunately, many government requests to take down blogs, videos, and search engine results are nothing more than violations of free speech as the content in question is not criminal. Such requests are often attempts to quash political dissent or to aid in cover up of government misconduct and crimes.

Governments all across the world are attempting to censor content by demanding that Google restrict search results, remove blogs, and remove videos containing political speech and information that exposes government misconduct. According to its own reporting, Google generally denies these requests unless it can find the content violates a terms of service agreement with a user such as by clearly promoting violence.


Google Transparency Report: Crazy YouTube videos, other content

In the most recent reporting period from July 2011 to December 2011, requests by US government to push Google to censor the Internet were up by 103%. Many of these requests were refused by Google on the grounds they were improper. Google even refused to comply with court orders it apparently deemed as improper, unreasonable, or inaccurate. In the previous reporting period from January 2011 to June 2011, US government requests to censor the Internet were up by 70%. Many of these requests were from two police departments demanding that Google remove YouTube videos of police brutality and content that they claimed defamed law enforcement officials. Google denied the requests. On the whole, Google complies with less than half of take down requests from US government.
Continue reading

Posted in censorship, Free Speech, Government Abuse | Tagged , , , , , , , , | 1 Comment

ASUS KGPE-D16 BIOS Update 2202 Enables S3 Sleep Mode

ASUS has released a BIOS update version 2202 as of April 20, 2012 that enables the S3 sleep mode. S3 sleep uses very little power to maintain RAM contents in order to allow rapidly resuming use of the computer.

I have only had a short time to try it out so far. On a Linux workstation running Ubuntu 11.10, it seems to work semi-reliably at sleeping and resuming over a few tries. So far I had one failed resume, similar to the failure rate on a previous BIOS version. I suspect this may be a flaw in the Linux kernel resume. When it does work, it takes about half a minute to resume.

When you install this BIOS update, you will have to manually restore all your BIOS settings which is a hassle but shouldn’t take you more than maybe 15 to 20 minutes to update and restore your settings manually if you didn’t change many of them from defaults.

I selected the “auto” sleep state in the BIOS. There are also “S1 only” and “S3 only” options.

When suspended (sleeping), the power consumption drops to around 11 to 12 watts. That’s about 7 watts more than the same workstation powered off but with the ASMB4-iKVM remote management processor still running.

To get the BIOS update, visit the ASUS website page for KGPE-D16, click on the Downloads tab, then expand the BIOS versions available and pick 2202. You can unzip the file and put the ROM image on a USB flash drive, then use the ASUS EZ Flash 2 feature in the BIOS to upgrade to this new version. But remember, when you do this all your BIOS settings will be lost so be sure to write down anything you had to change from default.

For more information on other ASUS KGPE-D16 observations and tips, see “Gotchas” With ASUS KGPE-D16 Motherboards.

Posted in Hardware, Motherboards | Tagged , , , , | 2 Comments

Femtocell Technology Could Improve Wireless Network Bandwidth Inexpensively

In today’s Internet-centric world, effective free speech depends upon people being able to easily access the Internet anywhere they go at reasonable speeds. But in the US, wireless carriers have failed to keep up with their growing user bases and their networks are suffering:

  • Carriers are clamping down on wireless plan limits, often by dropping unlimited bandwidth plans or implementing throttling schemes that disable mobile devices from being able to provide anything but very slow web browsing with no streaming audio or video.
  • Carriers have failed to build out infrastructure to adequately support growing user bases with high-speed wireless data services.
  • Coverage gaps still exists in even densely populated areas in big cities. Consider how in hilly areas of large population centers (California’s big cities, for instance) you often can’t get a wireless signal in certain areas unless you are willing to walk or drive a thousand feet or more to get to a better coverage zone.
  • Spectrum goes to waste as big carriers such as AT&T gobble up available spectrum and then sit on it, leaving it unavailable for carriers and their customers that could use it.
  • “White space” spectrum (the gaps between bands such as active TV and radio stations in a particular market) could help provide improved coverage and bandwidth, but it sits unused because of inefficient competition between spectrum owners and unreasonable FCC actions and inactions.

Solving the Wireless Bandwidth Crunch

There’s a solution to this problem that lies in using existing technology with new systems that allow devices to hope between varying sizes of wireless cells within a “supernetwork” of bandwidth that is offered by a variety of traditional carriers, new carriers such as cable TV companies, and private homes and businesses. The solution relies upon using a range of network cell sizes, frequencies, and RF transmitter powers to blanket any area with multiple overlapping cells used for different purposes.

Femtocell technology (referring to very tiny wireless cells) has gained a bit of traction with devices from Sprint, Verizon, AT&T, and others that allow people to fill in wireless phone coverage gaps at their homes or businesses with Internet-connected devices that cover up to around a 50 meter range around the device. Sometimes these devices are provided for free to customers with poor coverage problems, other times they are sold with an up-front cost plus monthly fees to customers who have coverage but want better performance for their wireless devices. Estimates are that about two million such devices were deployed in the US by the end of 2011.
Continue reading

Posted in Free Speech, Networking, Wireless Networks | Tagged , , , , , , , , , , | Leave a comment

Cases for Dual Processor AMD Opteron and Intel Xeon Servers and Workstations, A Comparison of Rosewill RSV-L4000 Server Chassis and Cooler Master HAF 932 Workstation Chassis

If you’re building a mid-range to high-end server or workstation using a dual or quad processor motherboard, one of the challenges you face is finding a case for the system. Many dual or quad processor boards are using SSI-EEB form factors measuring 13 inches by 12 inches in size which is much larger than the typical ATX sized mainboard. As a result, there are not nearly as many options for computer cases.

Two cases I’ve used with good results for AMD Opteron 6100 and 6200 series builds using the ASUS KGPE-D16 dual processor motherboard are the Rosewill RSV-L4000 server chassis (Rosewill is a Newegg house brand) and the Cooler Master HAF 932 workstation chassis. Here I’ll give you some comparisons between the cases to help you pick for your application.

Rosewill RSV-L4000 Server Chassis

The Rosewill RSV-L4000 is a very nice and inexpensive rack mount server chassis. It measures 4RU in height. That’s a nice height for a rackmount case in my opinion because it allows mounting quite a few hard drives plus the use of moderately large CPU heatsink assemblies.

The chassis comes with mounting ears and front pull-out handles. Slide-out rails are an optional accessory.

Four rubber feet are mounted on the bottom, so even if you don’t rack mount you could stack two or three of these successfully so long as they are in a location where they won’t be likely to be knocked over.

Also, you have to consider weight if you stack. They could crush a flimsy table if they are fully loaded with several hard drives (up to 15 hard drives if you use 5 in 3 hotswap cages), dual processors, and large power supplies that are likely to be used with a case like this.

Motherboard Mounting

The motherboard area can hold either ATX or SSI-EEB motherboards. For the ASUS KGPE-D16, 7 out of 9 screw holes are in the correct positions. You’ll need to use plastic board spacers such as the StarTech Plastic Snap-In M3 motherboard standoffs for the other two screw holes. Or if you have the appropriate machine tools and skills, you could use a tap-and-die set to make additional screw holes for the included metal motherboard spacers.

Internally, there is a large metal crossbrace along the top of the chassis in the middle. It solidifies the chassis and is up high enough to keep it out of the way of full-size PCI Express cards. It also clears most CPU heatsinks, for instance the Noctua NH-U9DO that is one of my favorites for Opteron processors. One nice thing to do with this crossbrace is to use it to tie down cables securely using velcro straps or plastic zip ties. For instance, it’s handy to use it to route PCI Express power cables from the power supply over to a video cards.
Continue reading

Posted in Computer Case, Hardware | Tagged , , , , , , , , , , | 4 Comments

“Gotchas” With ASUS KGPE-D16 Motherboards

I’m going to be keeping a list of problems I’ve noted with various applications of ASUS KGPE-D16 motherboards and will be updating this posting as I gather more information. I’ll also be including notes on compatible interface cards and operating system software.

None of these problems I’ve found so far are killers, but if you know about them ahead of time it might help you to avoid certain hardware configurations that don’t appear to work properly or get less than optimal performance.

Given that I have access to only a limited number of systems and components to swap around, some of these observations are based upon one or two systems that I’ve observed working as described. So it’s possible that certain problems could be something particular to a single motherboard or add-in card. However, given the information I have at the moment, it’s my belief that these observations are generally applicable.

Use Dual or Single Rank DIMMs If Possible

When you select RAM, if you want top RAM speed and plan to populate both DIMM sockets per channel than you absolutely need single or dual rank DIMMs. You can often save around $5 per DIMM by buying quad rank DIMMs, but then you lose at least one speed grade (i.e., 1333 MHz drops to 1066 MHz) when populating two DIMMs per channel.

For more information on selecting DIMMs for this motherboard, see Choosing ECC DIMMs for AMD Opteron Workstation or Server.

BIOS 2005 and Later Remove S3 Sleep Mode

In BIOS version 0902 and earlier with Opteron 6100 processors, the sleep mode options include S3 sleep which powers down most of the hardware in the computer. Reportedly there is a bug in AMD BIOS code that caused ASUS engineering to disable the S3 sleep mode in the newer 2005 and 2006 BIOS versions that are required for the Opteron 6200 series processors. I do not yet know what the bug is. S1 sleep still works, but saves much less power than S3 sleep.
Continue reading

Posted in Hardware, Motherboards | Tagged , , , , , , , , , , , , , , | 7 Comments

AMD Opteron Roadmap for G34 and C32 Sockets Include Planned Opteron 6300 and 4300 Series Chips

One of the strengths of the AMD Opteron platform in recent years has been how AMD continues to improve the processors without changing the sockets. That means you can take a C32 or G34 motherboard built a couple of years ago, remove the Opteron 4100 or 6100 series processor, and pop in a brand new Opteron 4200 or 6200 series chip for a performance boost without having to change much of anything else in the system aside from simple BIOS and operating system updates.

Contrast that with Intel’s server chips. Every time they release a new line, it comes with a new socket requiring new motherboards. Intel’s approach makes starting with a small server and easily growing it to a massive server impractical without wholesale replacement of the server.

Intel’s low-end to mid-range server chips have also been incapable of driving adequate amounts of memory, often topping out at 32GB spread over two DDR3 channels. AMD’s G34 socket support for four DDR3 channels means it can easily handle double to quadruple the memory of comparably priced Intel server processors.

In 2012 and 2013, AMD plans to continue this gradual evolution. Right now they are working on new C32 and G34 socket processors that are codenamed “Abu Dhabi” for the G34 chip and “Seoul” for the C32 chip. Speculation is they may be called the Opteron 4300 and 6300 series when the ship. AMD claims they will feature another 10% to 15% performance boost over comparable 4200 and 6200 series processors.
Continue reading

Posted in Hardware, Motherboards, Processors | Tagged , , , , , , | Leave a comment