<?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:blogger='http://schemas.google.com/blogger/2008' 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-1935285647844781525</id><updated>2026-07-23T23:05:39.311-07:00</updated><category term="C++"/><category term="Sockets"/><category term="VHDL"/><category term="iphone"/><category term="scala"/><category term="tethering"/><title type='text'>Hello World Project</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://helloworldproject.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://helloworldproject.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>blogger0xCC</name><uri>http://www.blogger.com/profile/04484026276092295200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>13</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1935285647844781525.post-7791515130390079216</id><published>2021-01-07T12:40:00.004-08:00</published><updated>2021-01-07T12:40:44.899-08:00</updated><title type='text'> Setting up Rust on Windows 10 with MSYS2 without installing Visual Studio </title><content type='html'>&lt;h1 style=&quot;text-align: left;&quot;&gt;Setting up Rust on Windows 10 with MSYS2 without installing Visual Studio&amp;nbsp;&lt;/h1&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;1. Install MSYS2&lt;/p&gt;&lt;p&gt;2. Update MSYS2 and run : &lt;span style=&quot;font-family: courier;&quot;&gt;pacman -Sy &amp;amp;&amp;amp; pacman -Syu&lt;/span&gt;&lt;span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;and install git and gcc: &lt;/span&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;pacman -S git &amp;amp;&amp;amp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;pacman -S mingw-w64-x86_64-toolchain&lt;/span&gt;&lt;/p&gt;&lt;div&gt;3. Open the MSYS2 terminal and install the rust compiler with :&amp;nbsp;&lt;span style=&quot;font-family: courier;&quot;&gt;pacman -S mingw-w64-x86_64-rust&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;You may stop here but you will miss the &lt;/span&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;rustup package&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt; (which is not part of MSYS2) to manage the Rust compiler environment. To install &lt;/span&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;rustup&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;, follow the next steps.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;4. Clone the rustup git repository :&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;git clone git@github.com:rust-lang/rustup.git --depth=1&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;5. Compile and run rustup:&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;cd rustup&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;cargo run --release&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;6. Once rustup detects the previously installed rust compiler and asks to uninstall it before you can continue. So, open a new MSYS2 terminal and uninstall rust :&amp;nbsp;&lt;span style=&quot;font-family: courier;&quot;&gt;pacman -R mingw-w64-x86_64-rust&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;7. Now back to the rustup terminal, choose yes to continue the installation.&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;On the next question choose : custom installation and chose as host triple :&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;x86_64-pc-windows-gnu&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-family: inherit;&quot;&gt;&amp;nbsp;Now, press ENTER to finish the setup&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://helloworldproject.blogspot.com/feeds/7791515130390079216/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1935285647844781525/7791515130390079216' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/7791515130390079216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/7791515130390079216'/><link rel='alternate' type='text/html' href='http://helloworldproject.blogspot.com/2021/01/setting-up-rust-on-windows-10-with.html' title=' Setting up Rust on Windows 10 with MSYS2 without installing Visual Studio '/><author><name>blogger0xCC</name><uri>http://www.blogger.com/profile/04484026276092295200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1935285647844781525.post-4313094130412537479</id><published>2016-12-05T12:27:00.001-08:00</published><updated>2016-12-05T12:57:14.135-08:00</updated><title type='text'>Installing Tensorflow with GPU support on Ubuntu 16.04 </title><content type='html'>&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Installing Docker for running learning resources (eg Udacity MOOC)&lt;/h2&gt;
1. Head to the Docker installation webpage and install Docker https://docs.docker.com/engine/installation/linux/ubuntulinux/&lt;br /&gt;
&lt;br /&gt;
2. If you have a large second HDD, you might want to make sure all the docker images you use are stored on the large disk to preserve your precious SSD space.&lt;br /&gt;
For this, I found that creating a symbolic link to a new location on the second hard-drive disk worked best for me.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; a. Make sure that the large hard drive disk is mounted automatically when booting the disk&lt;br /&gt;
https://help.ubuntu.com/community/Fstab&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; b. Setup a symbolic link to a directory inside your large hard drive disk. Setting&lt;span style=&quot;background-color: #e9e9e9; color: #555b67; font-family: &amp;quot;helvetica&amp;quot; , &amp;quot;arial&amp;quot; , sans-serif; font-size: 14px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;background: rgb(248, 248, 248); color: #333333; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace; font-size: 14px;&quot;&gt;DOCKER_OPTS&amp;nbsp;&lt;/code&gt;did not work for me, but the symbolic link method worked:&lt;br /&gt;
https://forums.docker.com/t/how-do-i-change-the-docker-image-installation-directory/1169&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Installing Python Anaconda&lt;/h2&gt;
1. Follow the instructions here https://www.continuum.io/downloads&lt;br /&gt;
&lt;br /&gt;
2. Download this python script (It will update the PIP libraries useful to download and easily install Tensorflow later-on) &amp;nbsp;https://bootstrap.pypa.io/ez_setup.py&lt;br /&gt;
&lt;br /&gt;
3. Run the script in a Bash Terminal &quot;python ez_setup.py &quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Installing the GPU computing libraries&lt;/h2&gt;
&lt;br /&gt;
1. Install CUDA 8.0 following these instructions&lt;br /&gt;
http://askubuntu.com/questions/799184/how-can-i-install-cuda-on-ubuntu-16-04&lt;br /&gt;
&lt;br /&gt;
2. At the end of the process run the command &quot;ls /usr/local/cuda/&quot; to check that the installation has been successfully completed. You should see the following directories: &quot;include&quot; and &quot;lib64&quot;&lt;br /&gt;
&lt;br /&gt;
3. Restart your machine&lt;br /&gt;
&lt;br /&gt;
4. To install the NVIDIA CuDNN v5 library follow these instructions (it is mostly about creating an NVIDIA dev account, downloading an archive and copying the files inside ls /usr/local/cuda/&quot;):&lt;br /&gt;
http://askubuntu.com/questions/767269/how-can-i-install-cudnn-on-ubuntu-16-04&lt;br /&gt;
&lt;br /&gt;
5. Add the libraries to your environment variable PATH by adding at the end of the &quot;.bashrc&quot; file:&lt;br /&gt;
&lt;br /&gt;
# Added support for CUDA and CUDnn (NVIDIA GPU-accelerated library of primitives for deep neural networks)&lt;br /&gt;
LD_LIBRARY_PATH=&quot;/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64&quot;&lt;br /&gt;
export CUDA_HOME=&quot;/usr/local/cuda&quot;&lt;br /&gt;
export LD_LIBRARY_PATH&lt;br /&gt;
export PATH=&quot;$LD_LIBRARY_PATH:$PATH&quot; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
Installing Tensorflow with GPU support&lt;/h2&gt;
&lt;br /&gt;
To install Tensorflow, run the following:&lt;br /&gt;
# Ubuntu/Linux 64-bit, GPU enabled, Python 3.5&lt;br /&gt;
# Requires CUDA toolkit 8.0 and CuDNN v5. For other versions, see &quot;Installing from sources&quot; below.&lt;br /&gt;
$ export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-0.12.0rc0-cp35-cp35m-linux_x86_64.whl&lt;br /&gt;
$ sudo pip install --upgrade $TF_BINARY_URL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To test your installation of Tensorflow, run the following in a Bash Terminal&lt;br /&gt;
&lt;pre style=&quot;background: rgb(250, 250, 250); box-sizing: border-box; overflow: auto; padding: 30px;&quot;&gt;&lt;code class=&quot;lang-bash no-auto-prettify&quot; style=&quot;box-sizing: border-box; font-family: &amp;quot;Source Code Pro&amp;quot;, monospace; font-size: 14px; margin: 0px; padding: 0px; position: relative;&quot;&gt;$ python
...
&amp;gt;&amp;gt;&amp;gt; import tensorflow as tf
&amp;gt;&amp;gt;&amp;gt; hello = tf.constant(&#39;Hello, TensorFlow!&#39;)
&amp;gt;&amp;gt;&amp;gt; sess = tf.Session()
&amp;gt;&amp;gt;&amp;gt; print(sess.run(hello))
Hello, TensorFlow!
&amp;gt;&amp;gt;&amp;gt; a = tf.constant(10)
&amp;gt;&amp;gt;&amp;gt; b = tf.constant(32)
&amp;gt;&amp;gt;&amp;gt; print(sess.run(a + b))
42
&amp;gt;&amp;gt;&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;div&gt;
&lt;code class=&quot;lang-bash no-auto-prettify&quot; style=&quot;box-sizing: border-box; font-family: &amp;quot;Source Code Pro&amp;quot;, monospace; font-size: 14px; margin: 0px; padding: 0px; position: relative;&quot;&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;
&lt;div&gt;
&lt;code class=&quot;lang-bash no-auto-prettify&quot; style=&quot;box-sizing: border-box; font-family: &amp;quot;Source Code Pro&amp;quot;, monospace; font-size: 14px; margin: 0px; padding: 0px; position: relative;&quot;&gt;&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://helloworldproject.blogspot.com/feeds/4313094130412537479/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1935285647844781525/4313094130412537479' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/4313094130412537479'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/4313094130412537479'/><link rel='alternate' type='text/html' href='http://helloworldproject.blogspot.com/2016/12/installing-tensorflow-with-gpu-support.html' title='Installing Tensorflow with GPU support on Ubuntu 16.04 '/><author><name>blogger0xCC</name><uri>http://www.blogger.com/profile/04484026276092295200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1935285647844781525.post-7162871263087296838</id><published>2016-11-23T16:13:00.000-08:00</published><updated>2017-04-15T13:09:05.030-07:00</updated><title type='text'>Installing Ubuntu 16.04 on an Alienware Aurora R5</title><content type='html'>&lt;h2&gt;
Installing Ubuntu 16.04 LTS on an Alienware Aurora R5 with NVIDIA GPU support (Dual boot Windows)&lt;/h2&gt;
&lt;div&gt;
&lt;br /&gt;
I have compiled these instructions from my succesful installation on Nov 25.&lt;br /&gt;
&lt;br /&gt;
Would you be happy to live without Windows? If not use &lt;b&gt;Dual Boot.&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
This procedure is inspired from this DELL support page : &lt;a href=&quot;http://www.dell.com/support/article/uk/en/ukbsdt1/SLN301754/en&quot;&gt;http://www.dell.com/support/article/uk/en/ukbsdt1/SLN301754/en&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
You can refer to the &lt;a href=&quot;http://www.dell.com/support/article/uk/en/ukbsdt1/SLN301754/en&quot;&gt;link above&lt;/a&gt; for additional steps and to see useful screenshots. However, please, make sure to take care &lt;b&gt;about the &lt;span style=&quot;color: #cc0000;&quot;&gt;GPU-related&amp;nbsp;&lt;/span&gt;steps below.&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;h3&gt;
Re-installing Windows 10 with BIOS Secure Boot to OFF&lt;/h3&gt;
&lt;div&gt;
First, check that have only one disk installed in your machine. I have found that having one disk only makes it easier to re-install Windows.&lt;br /&gt;
&lt;br /&gt;
Secondly, an important step is to create two USB Recovery disks. Use two USB memory sticks bigger than 16 GB supporting the USB 3.0 standard (file copy will be much faster).&lt;br /&gt;
Use the first one to create a recovery disk for Windows 10, as a backup if the installation does not go as expected or if you want to get rid of Ubuntu.&lt;br /&gt;
And use the second USB stick to create a USB installation stick for Ubuntu. I used Rufus to create it.&lt;br /&gt;
Do not hesitate to backup your important files from windows.&lt;br /&gt;
&lt;br /&gt;
Shrink the windows partition to split the HDD space in half.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;If Windows was not installed with BIOS secure boot enabled&lt;/b&gt;, then, you can safely skip these steps to the &quot;&lt;b&gt;Installing Linux Ubuntu&quot; section below&lt;/b&gt;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
In the &lt;b&gt;BIOS&lt;/b&gt; (accessed by pressing F2 on computer startup) under SATA operation set AHCI. Also, set the BIOS to use the &lt;b&gt;UEFI &lt;/b&gt;Boot mode, &lt;b&gt;Secure Boot&lt;/b&gt; to &lt;span style=&quot;color: red;&quot;&gt;Off&lt;/span&gt; and set&amp;nbsp;the Boot setting option Legacy to Off.&lt;br /&gt;
&lt;br /&gt;
Plug the USB stick into the machine and reboot the computer.&lt;br /&gt;
On startup, press F12 to choose to boot over the USB stick and re-install Window 10.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;div style=&quot;-webkit-text-stroke-width: 0px; color: black; font-family: &amp;quot;Times New Roman&amp;quot;; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;&quot;&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;h3&gt;
Installing Linux Ubuntu 16.04 LTS next to Windows 10&lt;/h3&gt;
Shutdown the computer and&lt;b&gt; remove the NVIDIA &lt;span style=&quot;color: red;&quot;&gt;GPU &lt;/span&gt;from the Desktop machine &lt;/b&gt;and plug your computer monitor into the only available Display Port at the back of the Central Unit.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
This will allow us to use the default CPU display drivers when installing Ubuntu.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;/div&gt;
Now use the USB memory stick to install Ubuntu.&lt;br /&gt;
You can refer to the link to the DELL on how to partition your Hard-drive disk.&lt;br /&gt;
When installing Ubuntu, I created 3 other partitions inside the partition I freed under windows: &quot;boot&quot;, &amp;nbsp;&quot;/&quot; and &quot;swap&quot;.&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3&gt;
Configuring NVIDIA GPU Support in Ubuntu&amp;nbsp;&lt;/h3&gt;
&lt;div&gt;
After Ubuntu is installed, restart the machine and choose to use Ubuntu. Now install the NVIDIA drivers using this command:&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;sudo add-apt-repository ppa:graphics-drivers/ppa&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;sudo apt-get update&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;sudo apt-get install nvidia-375&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
(Note that the NVIDIA-CUDA-TOOLKIT package installs the Cuda compilation tools, release 8.0. This is useful for developing high performance computing routines. I am installing this because I am interested in improving my Machine Learning and Deep Learning&amp;nbsp;skills)&lt;br /&gt;
&lt;br /&gt;
Shutdown the computer and&lt;b&gt; insert your NVIDIA &lt;span style=&quot;color: red;&quot;&gt;GPU &lt;/span&gt;back into the machine&lt;/b&gt;.&lt;/div&gt;
&lt;div&gt;
Reboot the machine again to Ubuntu and run the following command to validate the GPU installation:&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;&quot;&gt;nvidia-settings&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
This command should open a configuration window listing your current GPU.&lt;br /&gt;
&lt;br /&gt;
Et voila!&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;
Shutdown Hangs Issue&lt;/h3&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
If your PC hangs when shutting down, press ESC on your keyboard and look at the displayed lines. If you recognise the following lines, in particular the bug from i2c_dw_isr in i2c-designware-core, then this solution can apply to you:&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;pre style=&quot;background-color: #f6f8fa; border-radius: 3px; box-sizing: border-box; color: #24292e; font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; font-stretch: normal; line-height: 1.45; margin-bottom: 16px; overflow: auto; padding: 16px; word-wrap: normal;&quot;&gt;&lt;code style=&quot;background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; display: inline; font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; line-height: inherit; margin: 0px; overflow: visible; padding: 0px; word-break: normal; word-wrap: normal;&quot;&gt;[OK] Reached target shutdown
 [ 143.1 ] : BUG: Unable to handle kernel NULL pointer dereference at     (null)
 [ 143.1 ] : IP:  [&lt;ffffffffc0c5ba59&gt;] i2c_dw_isr+0x349/0x730      [i2c-designware-core]
 [ 143.1 ] : PGD 0
 [ 143.1 ] : Ooops : 0000 [#1] SMP&lt;/ffffffffc0c5ba59&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Create a new file in order to deactivate the module:&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre style=&quot;background-color: #f6f8fa; border-radius: 3px; box-sizing: border-box; color: #24292e; font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; font-stretch: normal; line-height: 1.45; margin-bottom: 16px; overflow: auto; padding: 16px; word-wrap: normal;&quot;&gt;&lt;code style=&quot;background: transparent; border-radius: 3px; border: 0px; box-sizing: border-box; display: inline; font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px; line-height: inherit; margin: 0px; overflow: visible; padding: 0px; word-break: normal; word-wrap: normal;&quot;&gt; $ sudo gedit /etc/modprobe.d/blacklist-i2c-designware-core.conf&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
and copy the following line in the conf file:&amp;nbsp;&lt;span style=&quot;background-color: rgba(27, 31, 35, 0.0470588); color: #24292e; font-family: SFMono-Regular, Consolas, &amp;quot;Liberation Mono&amp;quot;, Menlo, Courier, monospace; font-size: 13.6px;&quot;&gt;install i2c-designware-core /bin/false&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Reboot the machine once, and then try shutting down again, now the computer should shutdown ok.&lt;/div&gt;
&lt;br /&gt;
You can delete &lt;span style=&quot;font-family: Courier New, Courier, monospace;&quot;&gt;/etc/modprobe.d/blacklist-i2c-designware-core.conf&lt;/span&gt; if this fix does not work for you.&lt;br /&gt;
&lt;br /&gt;
Feedback appreciated :+1: on &lt;a href=&quot;https://github.com/rdjondo/TensorFlowGPUonUbuntu/wiki/Installing-Ubuntu-16.04-LTS-in-Dual-Boot-with-NVIDIA-GPU-support&quot;&gt;Github&lt;/a&gt; !&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://helloworldproject.blogspot.com/feeds/7162871263087296838/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1935285647844781525/7162871263087296838' title='8 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/7162871263087296838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/7162871263087296838'/><link rel='alternate' type='text/html' href='http://helloworldproject.blogspot.com/2016/11/installing-ubuntu-1610-on-alienware.html' title='Installing Ubuntu 16.04 on an Alienware Aurora R5'/><author><name>blogger0xCC</name><uri>http://www.blogger.com/profile/04484026276092295200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1935285647844781525.post-1187112850324037104</id><published>2011-06-19T12:29:00.000-07:00</published><updated>2011-06-19T12:39:25.084-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="scala"/><title type='text'>How to create an executable from a Scala project</title><content type='html'>&lt;div&gt;I started to have fun with scala and I wanted to be able to package and launch a Scala executable.&lt;/div&gt;&lt;div&gt;It is an eclipse project and it is already using Maven for dependency resolution.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I found the following solutions (to confirm)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. Use SBT as a build tool. SBT seems to support the Maven pom.xml files for dependency resolution.&lt;/div&gt;&lt;div&gt;2. Use Gary Boone&#39;s &lt;a href=&quot;http://garyboone.com/2009/06/creating-single-file-runnable-jars-in-scala-and-eclipse/&quot;&gt;solution&lt;/a&gt; by wrapping the Scala project entry point into a Java static main function&lt;/div&gt;&lt;div&gt;3.  Use &lt;span class=&quot;Apple-style-span&quot; style=&quot;border-collapse: collapse; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; font-size: 14px; line-height: 18px; white-space: pre; &quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial; &quot;&gt;mvn assembly&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial; &quot;&gt;:&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); background-position: initial initial; background-repeat: initial initial; &quot;&gt;single &lt;/span&gt;&lt;/span&gt;plugin as described on &lt;a href=&quot;http://stackoverflow.com/questions/574594/how-can-i-create-an-executable-jar-with-dependencies-using-maven&quot;&gt;stackoverflow&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://helloworldproject.blogspot.com/feeds/1187112850324037104/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1935285647844781525/1187112850324037104' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/1187112850324037104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/1187112850324037104'/><link rel='alternate' type='text/html' href='http://helloworldproject.blogspot.com/2011/06/how-to-create-executable-from-scala.html' title='How to create an executable from a Scala project'/><author><name>blogger0xCC</name><uri>http://www.blogger.com/profile/04484026276092295200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1935285647844781525.post-3553222226700628037</id><published>2011-04-14T09:00:00.000-07:00</published><updated>2021-01-07T11:52:24.904-08:00</updated><title type='text'>Use Python to login to a secured website</title><content type='html'>&lt;div&gt;
&lt;/div&gt;&lt;div&gt;This Python 2 class logs in and connect to a secured website. The class inherit from thread so that it is possible to run multiple instance of the class.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;
&lt;/div&gt;&lt;div&gt;class CRReader(threading.Thread):&lt;/div&gt;&lt;div&gt;    &lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;data = None&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;headers = None&lt;/div&gt;&lt;div&gt;    &lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;def __init__(self, crNo, semaphore):&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;threading.Thread.__init__(self, name=crNo)&lt;/div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;self.loggedin = False
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;self.crNo = crNo
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;self.semaphore = semaphore&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;self.opener = None&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;self.status = None&lt;/div&gt;&lt;div&gt;        &lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;def login(self):&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;  &lt;/span&gt;if self.loggedin is False:&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;#print &#39;Login &#39; + self.crNo&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;url = &quot;https://example.com/login.php&quot;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;opts = {&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;&#39;username&#39;: &#39;John&#39;,&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;&#39;password&#39;: &#39;pass1&#39;,&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;}&lt;/div&gt;&lt;div&gt;         &lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;CRReader.headers = {&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;    &lt;/span&gt;&#39;User-Agent&#39;: &#39;Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12&#39;,&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&#39;Accept&#39;: &lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&#39;text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5&#39;,&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&#39;Accept-Language&#39;: &#39;en-gb,en;q=0.5&#39;,&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&#39;Accept-Charset&#39;: &#39;ISO-8859-1,utf-8;q=0.7,*;q=0.7&#39;,&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;&#39;Connection&#39;: &#39;keep-alive&#39;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;}&lt;/div&gt;&lt;div&gt;         &lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;CRReader.data = urllib.urlencode(opts)&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;request = urllib2.Request(url, CRReader.data, CRReader.headers)&lt;/div&gt;&lt;div&gt;         &lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;cookies = cookielib.CookieJar()&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;response = urllib2.urlopen(url)&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;cookies.extract_cookies(response, request)&lt;/div&gt;&lt;div&gt;         &lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;cookie_handler = urllib2.HTTPCookieProcessor(cookies)&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;redirect_handler = urllib2.HTTPRedirectHandler()&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;self.opener = urllib2.build_opener(redirect_handler, cookie_handler)&lt;/div&gt;&lt;div&gt;         &lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;response = self.opener.open(request)&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;   &lt;/span&gt;self.loggedin = True&lt;/div&gt;&lt;div&gt;        return self.opener&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://helloworldproject.blogspot.com/feeds/3553222226700628037/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1935285647844781525/3553222226700628037' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/3553222226700628037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/3553222226700628037'/><link rel='alternate' type='text/html' href='http://helloworldproject.blogspot.com/2011/04/use-python-to-login-to-secured-website.html' title='Use Python to login to a secured website'/><author><name>blogger0xCC</name><uri>http://www.blogger.com/profile/04484026276092295200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1935285647844781525.post-5969806890942829889</id><published>2011-04-03T15:32:00.000-07:00</published><updated>2011-04-03T15:33:56.622-07:00</updated><title type='text'>/etc/X11/xorg.conf</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;#To setup bigger resolutions with Ubuntu in a Virtual Machine&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;#Section &quot;Device&quot;&lt;/div&gt;&lt;div&gt;#Identifier &quot;VESA Framebuffer&quot;&lt;/div&gt;&lt;div&gt;#Driver &quot;vesa&quot;&lt;/div&gt;&lt;div&gt;#VideoRam 4096&lt;/div&gt;&lt;div&gt;# Insert Clocks lines here if appropriate&lt;/div&gt;&lt;div&gt;#EndSection&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Section &quot;Device&quot;&lt;/div&gt;&lt;div&gt;Identifier &quot;Configured Video Device&quot;&lt;/div&gt;&lt;div&gt;#Driver &quot;vboxvideo&quot;&lt;/div&gt;&lt;div&gt;EndSection&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Section &quot;Monitor&quot;&lt;/div&gt;&lt;div&gt;Identifier &quot;My Monitor&quot;&lt;/div&gt;&lt;div&gt;HorizSync 31.5 - 150.0&lt;/div&gt;&lt;div&gt;VertRefresh 75-85&lt;/div&gt;&lt;div&gt;EndSection&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Section &quot;Screen&quot;&lt;/div&gt;&lt;div&gt;Identifier &quot;Screen 1&quot;&lt;/div&gt;&lt;div&gt;Device &quot;VESA Framebuffer&quot;&lt;/div&gt;&lt;div&gt;Monitor &quot;My Monitor&quot;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;# If your card can handle it, a higher default color depth (like 24 or 32)&lt;/div&gt;&lt;div&gt;# is highly recommended.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;# DefaultDepth 8&lt;/div&gt;&lt;div&gt;# DefaultDepth 16&lt;/div&gt;&lt;div&gt;DefaultDepth 24&lt;/div&gt;&lt;div&gt;# DefaultDepth 32&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;# &quot;1024x768&quot; is also a conservative usable default resolution. If you&lt;/div&gt;&lt;div&gt;# have a better monitor, feel free to try resolutions such as&lt;/div&gt;&lt;div&gt;# &quot;1152x864&quot;, &quot;1280x1024&quot;, &quot;1600x1200&quot;, and &quot;1800x1400&quot; (or whatever your&lt;/div&gt;&lt;div&gt;# card/monitor can produce)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Subsection &quot;Display&quot;&lt;/div&gt;&lt;div&gt;Depth 8&lt;/div&gt;&lt;div&gt;Modes &quot;1680x1050&quot; &quot;1280x1024&quot; &quot;1024x768&quot; &quot;800x600&quot;&lt;/div&gt;&lt;div&gt;EndSubsection&lt;/div&gt;&lt;div&gt;Subsection &quot;Display&quot;&lt;/div&gt;&lt;div&gt;Depth 16&lt;/div&gt;&lt;div&gt;Modes &quot;1680x1050&quot; &quot;1280x1024&quot; &quot;1024x768&quot; &quot;800x600&quot;&lt;/div&gt;&lt;div&gt;EndSubsection&lt;/div&gt;&lt;div&gt;Subsection &quot;Display&quot;&lt;/div&gt;&lt;div&gt;Depth 24&lt;/div&gt;&lt;div&gt;Modes &quot;1680x1050&quot; &quot;1600x1200&quot; &quot;1600x1000&quot; &quot;1280x1024&quot; &quot;1024x768&quot; &quot;800x600&quot;&lt;/div&gt;&lt;div&gt;EndSubsection&lt;/div&gt;&lt;div&gt;Subsection &quot;Display&quot;&lt;/div&gt;&lt;div&gt;Depth 32&lt;/div&gt;&lt;div&gt;Modes &quot;1680x1050&quot; &quot;1600x1200&quot; &quot;1600x1000&quot; &quot;1280x1024&quot; &quot;1024x768&quot; &quot;800x600&quot;&lt;/div&gt;&lt;div&gt;EndSubsection&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;EndSection&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Section &quot;ServerLayout&quot;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;# The Identifier line must be present&lt;/div&gt;&lt;div&gt;Identifier &quot;Simple Layout&quot;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;# Each Screen line specifies a Screen section name, and optionally&lt;/div&gt;&lt;div&gt;# the relative position of other screens. The four names after&lt;/div&gt;&lt;div&gt;# primary screen name are the screens to the top, bottom, left and right&lt;/div&gt;&lt;div&gt;# of the primary screen. In this example, screen 2 is located to the&lt;/div&gt;&lt;div&gt;# right of screen 1.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Screen &quot;Screen 1&quot;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;EndSection&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;# commented out by update-manager, HAL is now used and auto-detects devices&lt;/div&gt;&lt;div&gt;# Keyboard settings are now read from /etc/default/console-setup&lt;/div&gt;&lt;div&gt;#Section &quot;InputDevice&quot;&lt;/div&gt;&lt;div&gt;#Identifier &quot;Configured Mouse&quot;&lt;/div&gt;&lt;div&gt;#Driver &quot;vboxmouse&quot;&lt;/div&gt;&lt;div&gt;#Option &quot;CorePointer&quot;&lt;/div&gt;&lt;div&gt;#EndSection&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://helloworldproject.blogspot.com/feeds/5969806890942829889/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1935285647844781525/5969806890942829889' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/5969806890942829889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/5969806890942829889'/><link rel='alternate' type='text/html' href='http://helloworldproject.blogspot.com/2011/04/etcx11xorgconf.html' title='/etc/X11/xorg.conf'/><author><name>blogger0xCC</name><uri>http://www.blogger.com/profile/04484026276092295200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1935285647844781525.post-3633237919001563181</id><published>2011-01-04T14:49:00.000-08:00</published><updated>2011-01-04T14:56:22.045-08:00</updated><title type='text'>iPhone Email Hack for data retrieval</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I wanted to send an email I typed in my iphone from a cybercafe without wifi access.&lt;/div&gt;&lt;div&gt;I just setup a adhoc wifi network and sshfs the whole file system. For ssh setup, see my previous blog post.&lt;/div&gt;&lt;div&gt;I discovered that email are clearly stored in : /private/var/mobile/Library/Mail&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And emails are stored as .emlx files.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To read those files use a mail client just like thunderbird or use a simple text editor.&lt;/div&gt;&lt;div&gt;You can use a base64 decoder to decode encrypted message part when necessary.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://helloworldproject.blogspot.com/feeds/3633237919001563181/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1935285647844781525/3633237919001563181' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/3633237919001563181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/3633237919001563181'/><link rel='alternate' type='text/html' href='http://helloworldproject.blogspot.com/2011/01/iphone-email-hack-for-data-retrieval.html' title='iPhone Email Hack for data retrieval'/><author><name>blogger0xCC</name><uri>http://www.blogger.com/profile/04484026276092295200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1935285647844781525.post-7766478468705419096</id><published>2010-09-22T16:50:00.000-07:00</published><updated>2010-10-11T15:36:13.785-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="iphone"/><category scheme="http://www.blogger.com/atom/ns#" term="tethering"/><title type='text'>With an iPhone jailbroken ios 4, how to setup tethering with ssh for free</title><content type='html'>&lt;div&gt;&lt;div&gt;Free tethering on iPhone with jailbroken IOS 4.0.1 and Ubuntu Linux. That is also possible on windows with putty.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;I. Preparing the operation, setup of the necessary programs&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. Install openSSH with cydia then reboot the iPhone&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. Install sshfs to browse all the iphone files easily (sudo apt-get install sshfs)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3. Download the fixed terminal (step not necessary)&lt;/div&gt;&lt;div&gt;http://code.google.com/p/mobileterminal/downloads/list which is useful for changing the default password right on the iphone.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4. Get the iphone address in the wifi settings &lt;/div&gt;&lt;div&gt;(let&#39;s say it is 192.168.0.101)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;5. Using sshfs, mount the iPhone filesystem :&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;mkdir myiphone &amp;amp;&amp;amp; sshfs root@192.168.0.101:/ myiphone&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;6. Copy the unziped Terminal application in &lt;/div&gt;&lt;div&gt;/var/stash/Applications folder of the iPhone filesystem then reboot the iPhone&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;7. Change the default password (alpine). See : http://iphoneoverdose.com/2008/how-to-change-the-default-alpine-ssh-password-on-your-iphone/&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;II. Tether now!&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. Create an AdHoc connection on Ubuntu with the following parameters:&lt;/div&gt;&lt;div&gt;security 40/128 bit key (That is the maximal security setting I was able to set)&lt;/div&gt;&lt;div&gt;ipv4 : link-local only&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. Connect Ubuntu to that connection&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3. Connect the iphone to the Ad Hoc connection&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4. On the iPhone open a new safari page then return to the settings to note the ip address&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;5. On Ubuntu, open the terminal then enter : ssh -ND 9999 root@192.168.0.101&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;6. On Ubuntu open firefox then fill in the iPhone&#39;s IP address (which you memorized earlier) into the SOCKS Host field, and put 1080 as the port number. Make sure all other proxy fields are blank.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;7. The proxy (the iphone) doesn&#39;t forward DNS, you will also have to change an advanced option in Firefox. In the Firefox URL bar, enter &quot;about:config&quot;In Filter, type &quot;socks&quot; and then double-click &quot;network.proxy.socks_remote_dns&quot; to make its value &quot;true&quot;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;That&#39;s all! Viva Internet everywhere!&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://helloworldproject.blogspot.com/feeds/7766478468705419096/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1935285647844781525/7766478468705419096' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/7766478468705419096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/7766478468705419096'/><link rel='alternate' type='text/html' href='http://helloworldproject.blogspot.com/2010/09/iphone-jailbroken-ios-4-easy-tethering.html' title='With an iPhone jailbroken ios 4, how to setup tethering with ssh for free'/><author><name>blogger0xCC</name><uri>http://www.blogger.com/profile/04484026276092295200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1935285647844781525.post-1656678143152010795</id><published>2009-06-16T19:35:00.000-07:00</published><updated>2016-10-29T06:33:51.423-07:00</updated><title type='text'>Toshiba NB 200</title><content type='html'>It&#39;s 2009, I&#39;ve acquired a brand new TOSHIBA NB 200 NetBook.&lt;br /&gt;
The first thing i did : install Ubuntu 04.09.&lt;br /&gt;
I had hard time to setup the wifi, but finally, i succeded. I have wireless internet now with my netbook! My wireless card is an Atheros 9285.&lt;br /&gt;
&lt;br /&gt;
Just followed the procedure described in the page : http://wireless.kernel.org/en/users/Download&lt;br /&gt;
And it worked like a charm.&lt;br /&gt;
1. Dowload&lt;br /&gt;
2. Compilation&lt;br /&gt;
3. Installation&lt;br /&gt;
4. Reboot&lt;br /&gt;
5. Connexion via ubuntu GUI&lt;br /&gt;
&lt;br /&gt;
Update, it&#39;s 2016, now, I have restarted my netbook which now uses Ubuntu 14.04. Problem, the sound does not work.&lt;br /&gt;
This is how I fixed it using the advice from this forum &lt;a href=&quot;https://ubuntuforums.org/showthread.php?t=1455705&quot;&gt;page&lt;/a&gt; :&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;sudo apt-get install alsa-base
sudo apt-get install pulseaudio&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
sudo gedit /etc/modprobe.d/alsa-base.conf&lt;br /&gt;
then add at the end of the file: &lt;br /&gt;
options snd-hda-intel model=auto </content><link rel='replies' type='application/atom+xml' href='http://helloworldproject.blogspot.com/feeds/1656678143152010795/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1935285647844781525/1656678143152010795' title='2 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/1656678143152010795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/1656678143152010795'/><link rel='alternate' type='text/html' href='http://helloworldproject.blogspot.com/2009/06/toshiba-nb-200.html' title='Toshiba NB 200'/><author><name>blogger0xCC</name><uri>http://www.blogger.com/profile/04484026276092295200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1935285647844781525.post-7140972341819549501</id><published>2008-05-28T16:10:00.000-07:00</published><updated>2008-05-29T09:46:34.373-07:00</updated><title type='text'>Home network, IP adress behind a router, how it works?</title><content type='html'>If you&#39;re using a router to access the Internet, then, maybe, you have noticed that your computer IP address is not the same seen from a computer or server outside your local network. Your router is hiding your local adress and permit the sharing of one single access to the Internet.&lt;br /&gt;&lt;br /&gt;How is it working?&lt;br /&gt;&lt;a style=&quot;&quot; onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://farm1.static.flickr.com/71/176544388_c75afe829b.jpg?v=0&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 204px; height: 134px;&quot; src=&quot;http://farm1.static.flickr.com/71/176544388_c75afe829b.jpg?v=0&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;The router uses a technique named NAPT (Network Address Port Translator).&lt;br /&gt;NAP ... What?&lt;br /&gt;Typically, several computers are linked to one router in a Small or Home Office (SOHO).  This router has only one IP address and is providing this single access to the SOHO computers.&lt;br /&gt;Let&#39;s say that, in fact, SOHO is Pr. John Doe&#39;s local network. Pr. John Doe has one nice black and silver brand new laptop featuring a huge hard drive disk and the latest processor. He owns as well, one slow and an old dusty computer he uses from time to time to browse the net. Let call the first computer, computer B like Brilliant and the second one, computer C like Crappy.&lt;br /&gt;A is the name of the router. Computers B and C are linked to the router A. A,B,C constitute a local network. In this network, Pr. Doe&#39;s choose the following addresses:&lt;br /&gt;A: 255.168.1.1&lt;br /&gt;B: 255.168.1.2&lt;br /&gt;C: 255.168.1.3&lt;br /&gt;&lt;br /&gt;The address seen by an external device: 23.45.67.86. This address has been given by John Doe&#39;s ISP (Internet Service Provider).&lt;br /&gt;John Doe is now connecting to the Internet using his powerful laptop. His home page is google.com (IP :  64.233.169.99).&lt;br /&gt;The router A has already assigned &quot;identification numbers&quot; to B and C, named ports.&lt;br /&gt;So, every communication initiated by B will be stamped &quot;port 1&quot;.&lt;br /&gt;And as well, every communication initiated by C will be stamped &quot;port 2&quot;.&lt;br /&gt;B requests a connection to google.com (IP :  64.233.169.99).&lt;br /&gt;IP datagram contains (unit of information on the Internet)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP address source&lt;/li&gt;&lt;li&gt;Port source (after the colon in the example)&lt;/li&gt;&lt;li&gt;IP address destination&lt;/li&gt;&lt;li&gt;Port destination (after the colon in the example)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;the message&lt;br /&gt;{src: 255.168.1.2 : 80 | dest: 64.233.169.99 : 80 | HTTP/1.0 GET}  is sent to the router A.&lt;br /&gt;Then, router A replaces the IP address source and the Port source by his external adress. And, in order to trace the communication, A replaces the source port by 1. The message emitted is then:&lt;br /&gt;{src: 23.45.67.86 : 1 | dest: 64.233.169.99 : 80 | HTTP/1.0 GET}&lt;br /&gt;When the reply comes from google, the router knows that the response must be sent to A because the message contains destination port 1.&lt;br /&gt;&lt;br /&gt;This is how Pr. Doe&#39;s brand new computer communication is not mixed up with old and crappy computer&#39;s messages. This is how we are all able to share only one IP adress with a router.&lt;br /&gt;&lt;br /&gt;source :  &lt;a href=&quot;http://www.faqs.org/rfcs/rfc3022.html&quot;&gt;http://www.faqs.org/rfcs/rfc3022.html&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://helloworldproject.blogspot.com/feeds/7140972341819549501/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1935285647844781525/7140972341819549501' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/7140972341819549501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/7140972341819549501'/><link rel='alternate' type='text/html' href='http://helloworldproject.blogspot.com/2008/05/home-network-ip-adress-behind-router.html' title='Home network, IP adress behind a router, how it works?'/><author><name>blogger0xCC</name><uri>http://www.blogger.com/profile/04484026276092295200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1935285647844781525.post-5915535267090214203</id><published>2008-05-28T14:32:00.000-07:00</published><updated>2008-05-28T15:14:24.918-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><category scheme="http://www.blogger.com/atom/ns#" term="Sockets"/><title type='text'>Sockets</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://upload.wikimedia.org/wikipedia/en/3/38/Inside_and_Rear_of_Webserver.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;&quot; src=&quot;http://upload.wikimedia.org/wikipedia/en/3/38/Inside_and_Rear_of_Webserver.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;For a software engineer, a socket is a network interface. Programs talking to each other are sharing the same thread.&lt;br /&gt;&lt;br /&gt;There are two communication modes :&lt;br /&gt;connected :  Stream Sockets&lt;br /&gt;unconnected :  Datagram Sockets&lt;br /&gt;&lt;br /&gt;In connected mode, the excellent quality of transmission is achieved using &lt;a href=&quot;http://en.wikipedia.org/wiki/Transmission_Control_Protocol&quot;&gt;TCP&lt;/a&gt;.&lt;br /&gt;Web browsing with HTTP, for example, is actually using TCP. TCP is informationlossless! The information reach the final destination in the original order and no data is lost.&lt;br /&gt;&lt;br /&gt;The protocol used by Datagram Sockets is UDP. A packet retrieving information must be implemented.</content><link rel='replies' type='application/atom+xml' href='http://helloworldproject.blogspot.com/feeds/5915535267090214203/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1935285647844781525/5915535267090214203' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/5915535267090214203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/5915535267090214203'/><link rel='alternate' type='text/html' href='http://helloworldproject.blogspot.com/2008/05/sockets.html' title='Sockets'/><author><name>blogger0xCC</name><uri>http://www.blogger.com/profile/04484026276092295200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1935285647844781525.post-2856998767644283039</id><published>2008-05-19T11:28:00.000-07:00</published><updated>2016-11-24T04:32:21.232-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="C++"/><title type='text'>A discussion about &quot;delete this&quot; in C++</title><content type='html'>To test your C++ programming experience and curiosity, a pop quiz question could be : what can you say about the C++ expression &quot;delete this&quot;?&lt;br /&gt;
In C++, &quot;this&quot; keyword is used in  object member functions and is a pointer to the curent object.&lt;br /&gt;
As a beginner, the answer seemed to be obvious to me: how the language can allow an object to commit suicide? Impossible, I thought.&lt;br /&gt;
However, it&#39;s possible to &quot;delete this&quot;. Deleting the current object does not cause compilation errors. Although &quot;delete this&quot; is accepted by compilation, its usage can lead to logic errors. Indeed, if this suicide is absolutely necessary, the following rules must be observed:&lt;br /&gt;
&lt;br /&gt;
1. The object must be created via dynamic allocation using new operator.&lt;br /&gt;
2. No member function of the object is invoked on &quot;this&quot; object after suicide.&lt;br /&gt;
3. No member object of &quot;this&quot; object is called after suicide.&lt;br /&gt;
4. Nothing will use &quot;this&quot; object after suicide.&lt;br /&gt;
&lt;br /&gt;
PS:  I once tried to violate rule #3, and the result was not surprising: Wonderful Death Blue Screen crash followed by an automatic restart! Nice!</content><link rel='replies' type='application/atom+xml' href='http://helloworldproject.blogspot.com/feeds/2856998767644283039/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1935285647844781525/2856998767644283039' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/2856998767644283039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/2856998767644283039'/><link rel='alternate' type='text/html' href='http://helloworldproject.blogspot.com/2008/05/discussion-about-delete-this-in-c.html' title='A discussion about &quot;delete this&quot; in C++'/><author><name>blogger0xCC</name><uri>http://www.blogger.com/profile/04484026276092295200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1935285647844781525.post-5457036670939730821</id><published>2008-03-25T15:38:00.000-07:00</published><updated>2008-04-26T08:04:57.675-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="VHDL"/><title type='text'>Begginners :  How to learn VHDL!</title><content type='html'>&lt;a href=&quot;http://en.wikipedia.org/wiki/Vhdl&quot;&gt;VHDL &lt;/a&gt;is one of the most Hardware Description Language used. This  Description Language has many advantages over the others:&lt;br /&gt;VHDL has powerful synthesis functions allowing a strong and friendly design reuse methodology.&lt;br /&gt;This single advantage is so strong designers should not look aside. Good digital designs are generic a parameterizable. They are easy to maintain, reuse and help to produce complex system quicker.&lt;br /&gt;&lt;br /&gt;So, How to learn VHDL?&lt;br /&gt;&lt;br /&gt;1. Learn Boolean algebra/ Boolean logic&lt;br /&gt;This will give you a better comprehension about the logic of a digital circuit and an overview  on how computation is done on basic circuits.&lt;br /&gt;&lt;a href=&quot;http://en.wikibooks.org/wiki/Digital_Circuits&quot;&gt;http://en.wikibooks.org/wiki/Digital_Circuits&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. Learn Finite state machine and Sequential Logic.&lt;br /&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Finite_state_machine&quot;&gt;http://en.wikipedia.org/wiki/Finite_state_machine&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Those two notions are absolute prerequisite to start coding in VHDL.&lt;br /&gt;&lt;br /&gt;This done, you can start a VHDL tutorial and then you&#39;re ready for the next chapters.&lt;br /&gt;&lt;span style=&quot;font-size:130%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://helloworldproject.blogspot.com/feeds/5457036670939730821/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1935285647844781525/5457036670939730821' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/5457036670939730821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1935285647844781525/posts/default/5457036670939730821'/><link rel='alternate' type='text/html' href='http://helloworldproject.blogspot.com/2008/03/begginners-what-wikipedia-is-not.html' title='Begginners :  How to learn VHDL!'/><author><name>blogger0xCC</name><uri>http://www.blogger.com/profile/04484026276092295200</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>