<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5723071326347641991</id><updated>2012-01-16T01:23:59.585+02:00</updated><title type='text'>Carry Flag</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>51</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-1816180484524985871</id><published>2011-01-29T19:43:00.002+02:00</published><updated>2011-01-29T19:46:58.942+02:00</updated><title type='text'>OS X IP alias</title><summary type='text'>To avoid reconfiguring interfaces for repeated router setups, decided to find out how to add an IP alias in Mac OS X:sudo ifconfig en1 alias 192.168.1.195 netmask 255.255.255.0aplawrence.com</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/1816180484524985871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2011/01/os-x-ip-alias.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/1816180484524985871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/1816180484524985871'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2011/01/os-x-ip-alias.html' title='OS X IP alias'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-1460172932692468747</id><published>2011-01-26T17:17:00.002+02:00</published><updated>2011-01-26T17:22:09.243+02:00</updated><title type='text'>gdb tricks</title><summary type='text'>Excellent gdb examples at ksplice.com blog.gdb --argsdirectoryset substitute path-ggdb3 to gdb optimized debug symbols; macro expand </summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/1460172932692468747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2011/01/gdb-tricks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/1460172932692468747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/1460172932692468747'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2011/01/gdb-tricks.html' title='gdb tricks'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-5235494578983371076</id><published>2010-09-18T10:00:00.000+03:00</published><updated>2010-09-18T11:00:06.124+03:00</updated><title type='text'>Linux SPI</title><summary type='text'>My notes while reading about Linux and SPI.De facto - no standardization like i2c/smbus.Master/slave like i2cFaster clock 10MHz vs 400kHz i2cFull duplex, unlike i2c.Daisy chaining (in addition to / instead of) wired-AND bus like i2c.Dedicated chip select signals instead of i2c addressing.Linux software support only applies to master side, like i2c.Four clocking modes (?)- CPOL - clock starts low(</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/5235494578983371076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/09/linux-spi.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/5235494578983371076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/5235494578983371076'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/09/linux-spi.html' title='Linux SPI'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-9057694008237337508</id><published>2010-08-20T07:48:00.000+03:00</published><updated>2010-08-20T07:48:00.709+03:00</updated><title type='text'>Filter selection through pipe in Emacs</title><summary type='text'>Emacs has this wonderful feature of filtering a selection through a unix pipe. It's just a bit hard to remember how to invoke.C-u M-| command RET</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/9057694008237337508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/08/filter-selection-through-pipe-in-emacs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/9057694008237337508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/9057694008237337508'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/08/filter-selection-through-pipe-in-emacs.html' title='Filter selection through pipe in Emacs'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-9170215753835700280</id><published>2010-08-19T07:12:00.000+03:00</published><updated>2010-08-19T07:12:00.559+03:00</updated><title type='text'>RPM cheat sheet</title><summary type='text'>list installed packages, dpkg -l rpm -qainfo on an installed package, dpkg -s rpm -qicontents of an installed package, dpkg -L rpm -q -lpackage where a file belongs to, dpkg -S rpm -q -fextract package contents without installing, dpkg -x rpm2cpio file.rpm | cpio -idv</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/9170215753835700280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/08/rpm-cheat-sheet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/9170215753835700280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/9170215753835700280'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/08/rpm-cheat-sheet.html' title='RPM cheat sheet'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-1944259472473287500</id><published>2010-08-08T22:38:00.002+03:00</published><updated>2010-08-08T22:41:53.735+03:00</updated><title type='text'>debugging makefile variables</title><summary type='text'>To debug makefile variable assigments. Use make -p (--print-data-base) to see which values get assigned to variables and where.Need to add to reading list: Managing projects with GNU make.</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/1944259472473287500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/08/debugging-makefile-variables.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/1944259472473287500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/1944259472473287500'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/08/debugging-makefile-variables.html' title='debugging makefile variables'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-7345646002365135864</id><published>2010-08-04T07:25:00.000+03:00</published><updated>2010-08-04T07:25:00.164+03:00</updated><title type='text'>OpenSSH host key signature fingerprint</title><summary type='text'>Note to self. It's ssh-keygen that can dump the host key fingerprint in a format suitable for PuTTY security alert comparisons. ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/7345646002365135864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/08/openssh-host-key-signature-fingerprint.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/7345646002365135864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/7345646002365135864'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/08/openssh-host-key-signature-fingerprint.html' title='OpenSSH host key signature fingerprint'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-6357126151445077701</id><published>2010-06-24T15:26:00.005+03:00</published><updated>2010-06-24T15:26:00.387+03:00</updated><title type='text'>Linux i2c</title><summary type='text'>My notes while reading Linux kernel i2c source code and the documentation.i2c-devimplements the character devices for userspace, a generic, "remote controlled" i2c chip driverioctl to select slaveread()/write() for a subset of smbus operationsi2c-tools with library functionsi2c adapterA host bus adapter instanceclass - allow probing for slave devices in class: HWMON, TV, DDC, SPDnr    - 'id' </summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/6357126151445077701/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/06/linux-i2c.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/6357126151445077701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/6357126151445077701'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/06/linux-i2c.html' title='Linux i2c'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-3266398009978595601</id><published>2010-06-17T11:26:00.000+03:00</published><updated>2010-06-17T11:26:00.368+03:00</updated><title type='text'>LDD3 notes: Networking</title><summary type='text'>My notes while reading Linux Device Drivers 3rd edition, network drivers.General and setupNetwork devices have no /dev entry pointdifferent namespacefile operations don't make sense on network interface. Why? I think they could.[alloc|register|unregister|free]_netdevalloc_netdev variants alloc_[eth|fc|fddi|tr]devseparate [ltalk|fc|fddi|hippi|tr]_setupprivate data not a pointer to driver allocated</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/3266398009978595601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/06/ldd3-notes-networking.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/3266398009978595601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/3266398009978595601'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/06/ldd3-notes-networking.html' title='LDD3 notes: Networking'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-3588082886883820351</id><published>2010-06-12T20:56:00.001+03:00</published><updated>2010-06-12T20:57:59.387+03:00</updated><title type='text'>Free UML tools</title><summary type='text'>Excellent summary of freely available UML tools, with screenshots.http://www.devcurry.com/2010/06/free-open-source-uml-tools.html</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/3588082886883820351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/06/free-uml-tools.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/3588082886883820351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/3588082886883820351'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/06/free-uml-tools.html' title='Free UML tools'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-5841824937234720411</id><published>2010-06-10T07:34:00.003+03:00</published><updated>2010-06-10T07:34:00.605+03:00</updated><title type='text'>LDD3 notes: TTY</title><summary type='text'>My notes while reading Linux Device Drivers 3rd edition, TTY drivers.TTY drivers are a generic implementation of a serial port interface with loose coupling of hardware access and data formatting.It is a char device composed oftty core for user space char device interfaceline discipline for data formattingtty driver for hardware accesswrite can be called from interrupt context.must succeed for </summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/5841824937234720411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/06/ldd3-notes-tty.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/5841824937234720411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/5841824937234720411'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/06/ldd3-notes-tty.html' title='LDD3 notes: TTY'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-4574061158465320173</id><published>2010-06-08T19:04:00.000+03:00</published><updated>2010-06-08T22:17:43.961+03:00</updated><title type='text'>iMovie event library on a network drive, NAS</title><summary type='text'>I was shocked to find that iMovie '09 would not allow storing event libraries on networked disks. The AFP volume would show up, but remain non-functional with a yellow exclamation sign.There are plenty of instructions for hacking around the limitation with clumsy symbolic links. I discovered a much simpler approach, using an undocumented (?) setting built right into iMovie:"Allow Network Volumes"</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/4574061158465320173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/06/imovie-event-library-on-network-drive.html#comment-form' title='40 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/4574061158465320173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/4574061158465320173'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/06/imovie-event-library-on-network-drive.html' title='iMovie event library on a network drive, NAS'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>40</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-938439741432484032</id><published>2010-06-08T07:50:00.000+03:00</published><updated>2010-06-08T07:50:00.277+03:00</updated><title type='text'>Mac Time Machine with Linux server</title><summary type='text'>Finally, an easy way to have Time Machine accept a Linux server as a backup disk.Upgrade to Ubuntu 10.4.Install netatalkAdd option "tm" to a share in AppleVolumes.default config file.No need to mess withManually created sparsebundlesShoehorn settings like TMShowUnsupportedNetworkVolumes The key is to have netatalk version 2.0.5 or above.                             </summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/938439741432484032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/06/mac-time-machine-with-linux-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/938439741432484032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/938439741432484032'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/06/mac-time-machine-with-linux-server.html' title='Mac Time Machine with Linux server'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-9091804437715875368</id><published>2010-06-03T07:02:00.000+03:00</published><updated>2010-06-03T07:02:00.810+03:00</updated><title type='text'>LDD3 notes: DMA</title><summary type='text'>My notes while reading Linux Device Drivers 3rd edition, Memory mapping and DMA.Kernel addressingPhysical address Logical AddressVirtual addressBus address (physical address as understood by the DMA peripheral) __pa() , __va() for low memory onlyConceptsPFN - page frame number. (virtual or physical) address / page sizestruct page'handle' to a page of memory. page_address() macro to get virtual </summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/9091804437715875368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/06/ldd3-notes-dma.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/9091804437715875368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/9091804437715875368'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/06/ldd3-notes-dma.html' title='LDD3 notes: DMA'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-5680187330046739173</id><published>2010-05-27T07:10:00.003+03:00</published><updated>2010-05-27T07:10:00.335+03:00</updated><title type='text'>LDD3 notes: Driver Model</title><summary type='text'>My notes while reading Linux Device Drivers 3rd edition.2.6 device model addresses aspects common to all types of devices:Power managementUserspace communications /sysfsHotplugging w/ udevDevice classesObject lifecycleKobject, Kset, Subsystemkobject per object, belongs to a ktype.kset for a collection of kobjects of same typeSubsystem as a high-level portion of the kernel as a whole: block, </summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/5680187330046739173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/05/ldd3-notes-driver-model.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/5680187330046739173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/5680187330046739173'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/05/ldd3-notes-driver-model.html' title='LDD3 notes: Driver Model'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-6780534800005985108</id><published>2010-05-20T22:13:00.000+03:00</published><updated>2010-05-20T22:13:00.415+03:00</updated><title type='text'>LDD3 notes: USB</title><summary type='text'>My notes while reading Linux Device Drivers 3rd edition.Generalnaming: root_hub-hub_port[-hub_port]:config.interfacewrite to bConfigurationValue will switch configuration &amp; bound driver  URBs skbuff analogyqueued, async, acknowledgedusb_alloc_urb(), usb_fill_[int|bulk]_urb(), usb_submit_urb()transfer buffers must be kmalloc():ed, not static or automatic     device_id's can match specific vendor/</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/6780534800005985108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/05/ldd3-notes-usb.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/6780534800005985108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/6780534800005985108'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/05/ldd3-notes-usb.html' title='LDD3 notes: USB'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-2888252744919309506</id><published>2010-05-19T07:40:00.000+03:00</published><updated>2010-05-19T07:40:00.687+03:00</updated><title type='text'>vmware player network configuration</title><summary type='text'>Vmware player 3.0.1 is a surprisingly capable and free virtualization environment. "Player" in the name is a bit misleading as many of the restrictions in earlier versions have been lifted.However, network configuration tool is not installed by default and needs to be manually extracted.Richard at f5 devcentral provides the details:You can install it manually by extracting it from the install </summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/2888252744919309506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/05/vmware-player-network-configuration.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/2888252744919309506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/2888252744919309506'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/05/vmware-player-network-configuration.html' title='vmware player network configuration'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-2187303021972434055</id><published>2010-05-13T22:11:00.000+03:00</published><updated>2010-05-13T22:11:00.968+03:00</updated><title type='text'>LDD3 notes: Data types</title><summary type='text'>My notes while reading Linux Device Drivers 3rd edition. size_t vs ssize_t for negative values as error codes  C99 [u]intptr_t, integer which would fit a pointer. Not used in Linux. Similar to eCos cyg_addrword.  fixed size integers u8..s32 within kernelioctl structures shared with userspace use prefix __u8 _t Typedefs for portability onlyout of fashioninconvenient printk use Important constants:</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/2187303021972434055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/05/ldd3-notes-data-types.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/2187303021972434055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/2187303021972434055'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/05/ldd3-notes-data-types.html' title='LDD3 notes: Data types'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-5826100518257330955</id><published>2010-05-06T22:07:00.000+03:00</published><updated>2010-05-06T22:07:00.665+03:00</updated><title type='text'>LDD3 notes: Memory</title><summary type='text'>My notes while reading Linux Device Drivers 3rd edition.Allocation Flags - GFP_KERNEL - system call, i.e. behalf of a process running in kernel -&gt; may sleep - GFP_ATOMIC - won't sleep, but has limited memory available  Slab caches for quick allocation of constant size objects ( == object pool ) - a.k.a lookaside cache - ctor/dtor can be called in atomic context, indicated by a flag  Mempool - a </summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/5826100518257330955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/05/ldd3-notes-memory.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/5826100518257330955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/5826100518257330955'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/05/ldd3-notes-memory.html' title='LDD3 notes: Memory'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-4687294437777737560</id><published>2010-05-04T12:39:00.003+03:00</published><updated>2010-05-04T12:55:15.417+03:00</updated><title type='text'>Insert a picture by reference in MS Word</title><summary type='text'>I've always disliked manual, repetitive tasks with MS Word. There is one less to worry about, now that I've found about inserting and linking pictures.In insert picture file dialog, select "Insert and Link", tomake a link referencing the original file to keep it automatically updated when the picture changes.have an embedded copy in the document to avoid broken links when sending out the Word </summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/4687294437777737560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/05/insert-picture-by-reference-in-ms-word.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/4687294437777737560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/4687294437777737560'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/05/insert-picture-by-reference-in-ms-word.html' title='Insert a picture by reference in MS Word'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-2743847750272444852</id><published>2010-04-29T22:04:00.000+03:00</published><updated>2010-04-29T22:04:00.252+03:00</updated><title type='text'>LDD3 notes: Passage of time</title><summary type='text'>My notes while reading Linux Device Drivers 3rd edition.Jiffies get_jiffies_64()comparison macros: time_after/beforejiffies &lt;-&gt; timeval / timespecget_cycles()short busy waits n/u/mdelay() 1ms/1s resolution sleeps msleep(), ssleep() Working with 1/HZ resolution sleeps wait_event_timeout() - returns timeout left, never negativeset_current_state(interruptible), schedule_timeout()in_atomic(), </summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/2743847750272444852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/04/ldd3-notes-passage-of-time.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/2743847750272444852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/2743847750272444852'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/04/ldd3-notes-passage-of-time.html' title='LDD3 notes: Passage of time'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-8367819724444170258</id><published>2010-04-26T11:11:00.000+03:00</published><updated>2010-04-26T11:11:00.130+03:00</updated><title type='text'>RCU</title><summary type='text'>Reading a few LWN articles on RCUs (1 2 3) really shed some light on their properties and use.On read-intensive scenarios, it's more efficient to replace read/write locking with an RCU. This is possible because all Linux platforms have atomic pointer read/write operations.Read critical sectiondereferences pointers through a mechanism with platform specific memory ordering guarantees: </summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/8367819724444170258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/04/rcu.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/8367819724444170258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/8367819724444170258'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/04/rcu.html' title='RCU'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-7717893393710116871</id><published>2010-04-22T22:01:00.000+03:00</published><updated>2010-04-22T22:01:00.197+03:00</updated><title type='text'>LDD3 notes: Concurrency</title><summary type='text'>My notes while reading Linux Device Drivers 3rd edition.Reasons to pay attention to concurrencyEarly kernels had no SMP, no pre-emption -&gt; enough to protect from interruptsSMP and pre-emption both pose similar concurrency requirements, even though you'd be willing to ignore the other one.shared resources -&gt; avoid    semaphores: sema_init, up, down (declare_mutex) read/write semaphore pairs: </summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/7717893393710116871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/04/ldd3-notes-concurrency.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/7717893393710116871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/7717893393710116871'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/04/ldd3-notes-concurrency.html' title='LDD3 notes: Concurrency'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-5709197718570847710</id><published>2010-04-15T21:56:00.000+03:00</published><updated>2010-04-15T21:56:00.437+03:00</updated><title type='text'>LDD3 notes: Debugging</title><summary type='text'>My notes while reading Linux Device Drivers 3rd edition.printk_ratelimit() tells if we're not flooding the logKernel configuration CONFIG_DEBUG_SLAB -&gt; canary killedCONFIG_DEBUG_SPINLOCK_SLEEP -&gt; potential sleeps with spinlocks detectedCONFIG_DEBUG_INFO, CONFIG_FRAME_POINTER for gdb debugging seq_file - kernel in-memory file buffer, similar to open_memstream or ostringstream. a cleaner interface </summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/5709197718570847710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/04/ldd3-notes-debugging.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/5709197718570847710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/5709197718570847710'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/04/ldd3-notes-debugging.html' title='LDD3 notes: Debugging'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-446042442499176087</id><published>2010-04-08T21:53:00.000+03:00</published><updated>2010-04-08T21:53:00.925+03:00</updated><title type='text'>LDD3 notes: Device registration and operations</title><summary type='text'>My notes while reading Linux Device Drivers 3rd edition. register_chrdrv replaced with cdev_add(), cdev_del() and struct cdev  register_chrdev_region, alloc_chrdev_region, unregister_chrdev_region to statically, dynamically pick a contiguous block of dev_t's i.e. major and minor numbers.assign them a device name ( /dev/devices and sysfs )no need to know major/minor numbers at open look at inode-&gt;</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/446042442499176087/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/04/ldd3-notes-device-registration-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/446042442499176087'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/446042442499176087'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/04/ldd3-notes-device-registration-and.html' title='LDD3 notes: Device registration and operations'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-7594797716146059621</id><published>2010-04-01T21:45:00.003+03:00</published><updated>2010-04-01T21:45:00.414+03:00</updated><title type='text'>LDD3 notes: Compiling and loading modules</title><summary type='text'>My notes while reading Linux Device Drivers 3rd edition. out of tree module makefile boilerplate with dual purpose standalone: invokes kernel tree modules targetreferenced by M: acts like in-tree kbuild makefile disposable sections with __init, __initdata, __exit   module loading races register facilities only when really ready to take callsat failure, previously registered facilities can be in </summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/7594797716146059621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/04/ldd3-notes-compiling-and-loading.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/7594797716146059621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/7594797716146059621'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/04/ldd3-notes-compiling-and-loading.html' title='LDD3 notes: Compiling and loading modules'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-7732218860668704856</id><published>2010-03-25T15:47:00.000+02:00</published><updated>2010-03-25T15:47:00.503+02:00</updated><title type='text'>Shared libraries and ELF</title><summary type='text'>I just finished reading How to write Shared Libraries by Ulrich Drepper, a very nice guide to understanding the details of dynamic linking and use of ELF format with Linux.ELF structure like program header and segmentsClear explanation of GOT and PLT with concrete examplesTypes of relocations: relative, symbol relocation and evils of TEXTRELTracing dynamic linking w/ LD_DEBUGconcept of gnu-hash </summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/7732218860668704856/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/03/shared-libraries-and-elf.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/7732218860668704856'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/7732218860668704856'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/03/shared-libraries-and-elf.html' title='Shared libraries and ELF'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-7786636667495654372</id><published>2010-03-24T07:48:00.003+02:00</published><updated>2010-03-24T07:48:00.171+02:00</updated><title type='text'>gnu binutils</title><summary type='text'>I decided to read through the man pages of binutils, to see if there's something interesting I've never come across.  The only things that were not previously very familiar were the c++filt and addr2line tools. Anyway, here are the notes I made while reading about each of the tools in the binutils package.ar and ranlibmanage archives: static libraries of compiled object files. Most often these </summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/7786636667495654372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/03/gnu-binutils.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/7786636667495654372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/7786636667495654372'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/03/gnu-binutils.html' title='gnu binutils'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-1681271074013076656</id><published>2010-03-22T14:22:00.004+02:00</published><updated>2010-03-22T14:22:00.284+02:00</updated><title type='text'>Dangers of C library</title><summary type='text'>I just read through Ulrich Drepper's Defensive Programming article. He highlights dangers of C library, provides safer alternatives for commonly used idioms and introduces a number of tools for pinpointing problems in code.These are my rather unstructured notes of things most interesting to me.Syntax for forward declarations within paramer list and array size annotation for future checks  int </summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/1681271074013076656/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/03/dangers-of-c-library.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/1681271074013076656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/1681271074013076656'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/03/dangers-of-c-library.html' title='Dangers of C library'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-2095830995972114450</id><published>2010-03-18T16:36:00.001+02:00</published><updated>2010-03-18T16:36:00.160+02:00</updated><title type='text'>Booting Linux over JTAG</title><summary type='text'>Note to self. A working gdb script to boot Linux kernel on an atmel board over JTAG.Unfortunately this is not completely automatic. u-boot needs to be interrupted for loading the uImage through gdb. U-boot can then be resumed and kernel booted with  bootm 0x22000000.Also, either the emulator needs to be configured to ignore data aborts or kernel futex support to be disabled.target remote emulator</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/2095830995972114450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/03/booting-linux-over-jtag.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/2095830995972114450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/2095830995972114450'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/03/booting-linux-over-jtag.html' title='Booting Linux over JTAG'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-5113543735119923564</id><published>2010-03-14T12:13:00.003+02:00</published><updated>2010-03-14T12:13:00.205+02:00</updated><title type='text'>Optimizing with gcc</title><summary type='text'>My notes while reading Optimizing applications with gcc &amp; glibc by Ulrich Drepper.__extension__ to mark intentional use of GNU extension.poor mans 'lambda' (({ })) predicate to determine if parameter value is constant at runtime: __builtin_constant_p()mark pure functions with __attribute__((__const__))mark functions which never return with __attribute__((__noreturn__))__stdcall__ attribute on x86</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/5113543735119923564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/03/optimizing-with-gcc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/5113543735119923564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/5113543735119923564'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/03/optimizing-with-gcc.html' title='Optimizing with gcc'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-1571407318400983492</id><published>2010-03-13T12:59:00.004+02:00</published><updated>2010-03-13T12:59:01.745+02:00</updated><title type='text'>Eclipse CDT</title><summary type='text'>I'll have to try out the Eclipse CDT sometime- integration of native            development tools such as the GNU Autotools: Linux Tools- a plugin to explore remote system files through Eclipse: eclipse-rse</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/1571407318400983492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/03/eclipse-cdt.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/1571407318400983492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/1571407318400983492'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/03/eclipse-cdt.html' title='Eclipse CDT'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-6073594808323536102</id><published>2010-03-10T10:45:00.001+02:00</published><updated>2010-03-10T10:45:00.136+02:00</updated><title type='text'>64bit PC's and memory</title><summary type='text'>Just to refresh my knowledge on the PC platforms, I read the excellent Wikipedia article on the 64-bit x86.PC processors and 64-bitnessThe current 64-bit instruction set is a backwards compatible extension to the Intel instruction set. It is implemented in all typical processors from all common vendors. It has multiple confusing names, all meaning the same: Intel 64, amd64, EM64T, x86_64, x86-64,</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/6073594808323536102/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/03/64bit-pcs-and-memory.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/6073594808323536102'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/6073594808323536102'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/03/64bit-pcs-and-memory.html' title='64bit PC&apos;s and memory'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-4353548845322943926</id><published>2010-03-08T07:00:00.001+02:00</published><updated>2010-03-08T07:00:01.610+02:00</updated><title type='text'>Linux Kernel in a nutshell</title><summary type='text'>Although I've been working with Linux kernel for ages, I decided to browse through Linux Kernel in a nutshell, an excellent book on the practical things regarding working with the kernel. There certainly were things that I was not aware of. Here are my notes on these things.Using a read-only source tree with O=/path/to/build/output Some basic static analysis with sparse with C=1 or C=2.</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/4353548845322943926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/03/linux-kernel-in-nutshell.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/4353548845322943926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/4353548845322943926'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/03/linux-kernel-in-nutshell.html' title='Linux Kernel in a nutshell'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-2848124504792047382</id><published>2010-01-23T03:46:00.001+02:00</published><updated>2010-02-11T15:46:15.385+02:00</updated><title type='text'>USB logic analyzer from Saleae</title><summary type='text'>Yesterday I received my Logic, an affordable USB-attached logic analyzer.The software for Mac OS X is in early stages with very basic capture functionality only. But it already helped me troubleshoot one system.I've used its Windows software in the past, which is much better. I hope the features like integrated protocol analyzers will be soon be part of the Mac package as well.</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/2848124504792047382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2010/01/usb-logic-analyzer-from-saleae.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/2848124504792047382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/2848124504792047382'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2010/01/usb-logic-analyzer-from-saleae.html' title='USB logic analyzer from Saleae'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-2707918569055646878</id><published>2009-12-31T21:36:00.002+02:00</published><updated>2009-12-31T21:38:02.635+02:00</updated><title type='text'>Safari beachballing solved</title><summary type='text'>Safari 4 on Snow Leopard seemed to be getting slower each day. Especially opening the top sites view could hang with a beach ball for a minute.Fortunately all this was solved simply by changing the default RSS reader from Safari to Mail.</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/2707918569055646878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2009/12/safari-beachballing-solved.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/2707918569055646878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/2707918569055646878'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2009/12/safari-beachballing-solved.html' title='Safari beachballing solved'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-4299984216277969305</id><published>2009-12-15T07:00:00.000+02:00</published><updated>2009-12-15T07:00:01.922+02:00</updated><title type='text'>IGEP or beagleboard</title><summary type='text'>Beagleboard would be an interesting toy. If it only had Ethernet. IGEPv2 seems like a good alternative. Roughly the same specs and price, with Ethernet included.</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/4299984216277969305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2009/12/igep-or-beagleboard.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/4299984216277969305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/4299984216277969305'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2009/12/igep-or-beagleboard.html' title='IGEP or beagleboard'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-3239295967926112964</id><published>2009-11-23T07:43:00.002+02:00</published><updated>2009-11-23T07:43:00.410+02:00</updated><title type='text'>beautiful ascii graphics</title><summary type='text'>Text is graphics is text:JavE - a graphics editor for editing textsditaa - DIagrams Through Ascii Art ASCIIO - draw ASCII charts using a GUI</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/3239295967926112964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2009/11/beautiful-ascii-graphics.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/3239295967926112964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/3239295967926112964'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2009/11/beautiful-ascii-graphics.html' title='beautiful ascii graphics'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-3446123538944176670</id><published>2009-11-05T07:32:00.002+02:00</published><updated>2009-11-05T07:32:00.108+02:00</updated><title type='text'>Progress bar on any unix pipe</title><summary type='text'>pv adds progress bar to any unix pipe. There's a nice tutorial on it by Peter Krumins.</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/3446123538944176670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2009/11/progress-bar-on-any-unix-pipe.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/3446123538944176670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/3446123538944176670'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2009/11/progress-bar-on-any-unix-pipe.html' title='Progress bar on any unix pipe'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-6466817642896034609</id><published>2009-10-26T07:45:00.000+02:00</published><updated>2009-10-26T07:47:31.549+02:00</updated><title type='text'>Windows App Store / apt-get for Windows</title><summary type='text'>I don't see myself switching back to Windows, but these could turn out useful at work or with family.Windows software installation is no fun after getting used to Debian Linux or macports. These tools together could be a poor mans apt-get for Windows:PcDecrapifier - To unload the unwanted preloaded software.Ninite - To easily load all the common software.BaseShield - An alternative to Ninite, </summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/6466817642896034609/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2009/10/windows-app-store-apt-get-for-windows.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/6466817642896034609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/6466817642896034609'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2009/10/windows-app-store-apt-get-for-windows.html' title='Windows App Store / apt-get for Windows'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-2131674173216540269</id><published>2009-10-20T07:11:00.000+03:00</published><updated>2009-10-20T07:11:00.113+03:00</updated><title type='text'>public samba share</title><summary type='text'>I've often found it difficult to set up a public shared directory using Samba, so that windows workstations could access it easily without passwords or anything.This time I tried these excellent instructions and it worked right away on a debian lenny/sid box and Windows XP.Configuring anonymous public shares with Samba 3</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/2131674173216540269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2009/10/public-samba-share.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/2131674173216540269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/2131674173216540269'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2009/10/public-samba-share.html' title='public samba share'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-1246671457077933980</id><published>2009-10-15T07:31:00.002+03:00</published><updated>2009-10-15T07:31:00.538+03:00</updated><title type='text'>Subversion repository fix</title><summary type='text'>A locally accessed subversion repository is a bit fragile on unix permissions.It might work fine for first 1000 revisions, and then suddenly all svn operations fail with an error:    svn: Can't move '/home/svn/...' to  '/home/svn/...': Permission deniedFortunately this is easy to fix by making sure the- shared directories have group 'svn'- shared directories have mode 2775- and that the svn is </summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/1246671457077933980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2009/10/subversion-repository-fix.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/1246671457077933980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/1246671457077933980'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2009/10/subversion-repository-fix.html' title='Subversion repository fix'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-3223335323218070972</id><published>2009-10-01T07:07:00.002+03:00</published><updated>2009-10-24T16:54:28.403+03:00</updated><title type='text'>easy debian server monitoring</title><summary type='text'>Finally I ran into a tool to quickly set up monitoring of a Debian server."aptitude install munin"It graphs more than I was hoping for, including: disk space, cpu load, network and even disk smart parameters.Basic configuration of alerts is simple, edit /etc/munin/munin.conf- Uncomment and edit a contact -line- Determine name of plugin to configure, for example "cpu"  - it's the suffix after </summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/3223335323218070972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2009/09/easy-debian-server-monitoring.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/3223335323218070972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/3223335323218070972'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2009/09/easy-debian-server-monitoring.html' title='easy debian server monitoring'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-580605013399346700</id><published>2009-09-30T07:11:00.001+03:00</published><updated>2009-10-24T16:52:19.179+03:00</updated><title type='text'>iTunes and car audio synchronization.</title><summary type='text'>My car has a USB socket for MP3/AAC audio, but so far it has been to much of a trouble to regularly fill up a flash drive with music and podcasts. iTuneMyWalkman is originally made for synchronizing a mobile phone, but it seems to work great with any flash drive.Only thing better would be an iPod dock on the dashboard.</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/580605013399346700/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2009/09/itunes-and-car-audio.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/580605013399346700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/580605013399346700'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2009/09/itunes-and-car-audio.html' title='iTunes and car audio synchronization.'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-6742421153264993006</id><published>2009-09-29T07:33:00.000+03:00</published><updated>2009-09-29T07:33:00.213+03:00</updated><title type='text'>From Parallels to VirtualBox</title><summary type='text'>I had Parallels 3.0 for running Linux virtual machines on my Mac. Upgrade to Snow Leopard would have required the purchase of upgrade to Parallels 4.0.Instead, I tried uninstalling Parallels and setting up Sun VirtualBox 3.0.6. This works fine with Snow Leopard and the whole system with the virtual machines running feel much more responsive.Unfortunately I had to discard the old virtual machines </summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/6742421153264993006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2009/09/from-parallels-to-virtualbox.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/6742421153264993006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/6742421153264993006'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2009/09/from-parallels-to-virtualbox.html' title='From Parallels to VirtualBox'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-7585340252544634089</id><published>2009-09-28T07:08:00.000+03:00</published><updated>2009-09-28T07:08:00.107+03:00</updated><title type='text'>Diagrams without drawing</title><summary type='text'>I've always preferred keyboard over mouse, so I've found these tools very interestingsdedit: quick sequence diagram editor.umlgraph a tool for declarative specification and drawing of UML class and sequence diagrams.</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/7585340252544634089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2009/09/diagrams-without-drawing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/7585340252544634089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/7585340252544634089'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2009/09/diagrams-without-drawing.html' title='Diagrams without drawing'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-3513198982912757475</id><published>2009-09-27T07:36:00.000+03:00</published><updated>2009-09-27T07:36:00.465+03:00</updated><title type='text'>Robust bash scripts</title><summary type='text'>A practical guide to making your bash scrips a bit more robust.</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/3513198982912757475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2009/09/robust-bash-scripts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/3513198982912757475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/3513198982912757475'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2009/09/robust-bash-scripts.html' title='Robust bash scripts'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-7969819584398203351</id><published>2009-09-26T07:34:00.001+03:00</published><updated>2009-09-26T07:34:00.690+03:00</updated><title type='text'>Reading on git</title><summary type='text'>Pro Git, an online book on git.Git Magic.</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/7969819584398203351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2009/09/reading-on-git.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/7969819584398203351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/7969819584398203351'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2009/09/reading-on-git.html' title='Reading on git'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-3121353552322058521</id><published>2009-09-25T07:33:00.000+03:00</published><updated>2009-09-25T07:33:00.509+03:00</updated><title type='text'></title><summary type='text'>Qucs a Quite Universal Circuit Simulator, is a circuit simulator with graphical user interface.</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/3121353552322058521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2009/09/qucs-quite-universal-circuit-simulator.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/3121353552322058521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/3121353552322058521'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2009/09/qucs-quite-universal-circuit-simulator.html' title=''/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-957209965283538429</id><published>2009-09-24T10:18:00.000+03:00</published><updated>2009-09-24T10:18:00.164+03:00</updated><title type='text'>Open Test Lab</title><summary type='text'>CE Linux Forum  Open Test Lab seems like a nice effort for automated testing of Linux on various embedded platforms.</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/957209965283538429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2009/09/open-test-lab.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/957209965283538429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/957209965283538429'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2009/09/open-test-lab.html' title='Open Test Lab'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5723071326347641991.post-6075386624279321938</id><published>2009-09-23T10:30:00.000+03:00</published><updated>2009-09-23T10:31:58.917+03:00</updated><title type='text'>Software Carpentry</title><summary type='text'>An open source intensive introduction course to basic software development practices for scientists and engineers</summary><link rel='replies' type='application/atom+xml' href='http://carryflag.blogspot.com/feeds/6075386624279321938/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://carryflag.blogspot.com/2009/09/software-carpentry.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/6075386624279321938'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5723071326347641991/posts/default/6075386624279321938'/><link rel='alternate' type='text/html' href='http://carryflag.blogspot.com/2009/09/software-carpentry.html' title='Software Carpentry'/><author><name>Puffin</name><uri>http://www.blogger.com/profile/18421902991450363985</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
