<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Someguy123's Pointless Blog]]></title><description><![CDATA[A blog dedicated to the random thoughts from Someguy123, including PHP evangelism, cryptocoins and various technology information.]]></description><link>http://blog.someguy123.com/</link><generator>Ghost 0.7</generator><lastBuildDate>Thu, 09 Apr 2026 05:48:57 GMT</lastBuildDate><atom:link href="http://blog.someguy123.com/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Hacking the Belkin F5D7632-4 (Part 3: Let's play with UART)]]></title><description><![CDATA[<h4 id="normalbootprocesslog">Normal boot process log</h4>

<script src="https://gist.github.com/Someguy123/e64eaa4f5d7ba7e1719a6a1b7b5bf265.js"></script>

<h4 id="accessingthehiddenconsole">Accessing the hidden console</h4>

<p>Originally I thought that the console was completely hidden and maybe used over that 10101 port. Fortunately I found <a href="http://www.sat.dundee.ac.uk/~arb/belkinadsl/">this page</a> about a similar model, which described pressing <code>shift-0</code> to access the console.</p>

<p>Tested it out, and sure enough you CAN in-fact</p>]]></description><link>http://blog.someguy123.com/hacking-the-belkin-f5d7632-4-part-2-the-hardware-3/</link><guid isPermaLink="false">cbc98190-9520-44d8-857c-e75de8920b81</guid><dc:creator><![CDATA[Someguy123]]></dc:creator><pubDate>Fri, 15 Jul 2016 20:39:00 GMT</pubDate><content:encoded><![CDATA[<h4 id="normalbootprocesslog">Normal boot process log</h4>

<script src="https://gist.github.com/Someguy123/e64eaa4f5d7ba7e1719a6a1b7b5bf265.js"></script>

<h4 id="accessingthehiddenconsole">Accessing the hidden console</h4>

<p>Originally I thought that the console was completely hidden and maybe used over that 10101 port. Fortunately I found <a href="http://www.sat.dundee.ac.uk/~arb/belkinadsl/">this page</a> about a similar model, which described pressing <code>shift-0</code> to access the console.</p>

<p>Tested it out, and sure enough you CAN in-fact access the console by pressing SHIFT-0 while the router is booted up (not in recovery).</p>

<p>Here's the main menu:</p>

<script src="https://gist.github.com/Someguy123/6a52205861b5dd87eff0fd29a17510e2.js"></script>

<p>If we press <code>Firmware Upgrade</code>, you'll notice that the router connects to <code>192.168.2.100</code> (a hard coded IP address) via TFTP looking for a firmware upgrade. This could allow you to potentially flash custom firmware that the Web UI might not allow you to.</p>

<pre><code>Firmware upgrade from: 192.168.2.100
RUNTASK id=22 TFTPget...
</code></pre>

<p>From some of the debugging messages, we can also see something called <code>Belkin EZ-Install</code>, and that it's trying to close the port (maybe this is what port <code>10101</code> is?):</p>

<pre><code>&gt;&gt; Belkin EZ-Install API Timeout!  Close listening port ...
</code></pre>

<p>Here's the system menu, showing the "gConfig" first, and then the cisco-looking routing table:</p>

<script src="https://gist.github.com/Someguy123/fe7657d070c26bff04a9d2d0aa483eeb.js"></script>

<p>Using the <strong>SOLOSW</strong> menu, we're able to access various options, most importantly the "Demo CLI", which allows us to dump the <strong>ENTIRE firmware.</strong> (even more than what comes with the belkin firmware files from their site) </p>

<p>I believe this firmware actually includes the firmware of the in-built ADSL modem, as I've noticed a lot more detail, for example, what looks like firmware for the <code>CX94610</code> SOC.</p>

<script src="https://gist.github.com/Someguy123/23801ae1393c102d06fcd2ba84baaae2.js"></script>

<p><strong>Important:</strong> If you plan on dumping your firmware, be aware that <strong>it can take up to 2 hours</strong>. In my case it had taken roughly 1 hour and 30 minutes, using <code>screen</code> with -L to save the screenlog.</p>

<p>Once the dump was completed, I opened the screenlog in VIM and extracted the firmware hexdump into it's own file.</p>

<p>Next I used <code>xxd</code> to convert the hexdump back into binary format.</p>

<pre><code>xxd -r &lt; firmware.ascii &gt; fw.bin
</code></pre>

<p>For those interested, here's the <code>binwalk</code> output of our nice fresh 4.7mb fw.bin:</p>

<script src="https://gist.github.com/Someguy123/234d543b38cfe7c17c6fa3f893a45391.js"></script>

<p>And of course, here's the download link: <a href="https://mega.nz/#!k94QyYTA!TyM8lHAZflQBxv92piEu0Iw11I36GgPZjXSsAwAcgf0">https://mega.nz/#!k94QyYTA!TyM8lHAZflQBxv92piEu0Iw11I36GgPZjXSsAwAcgf0</a></p>

<h4 id="bootloadermenu">Bootloader Menu</h4>

<p>To get into the bootloader, simply hit space as soon as you are prompted by the boot process. May take a few tries to get timing right.</p>

<p>Unfortunately the bootloader is quite crippled. Practically no commands work other than <code>reset</code> and <code>help</code>.</p>

<script src="https://gist.github.com/Someguy123/36add6a6c8eb4eb7b698d78208f0fa6f.js"></script>

<h3 id="recoverymodeuartlog">Recovery Mode UART Log</h3>

<script src="https://gist.github.com/Someguy123/bb306a0f87d7c9e1ececa11768854a55.js"></script>

<p>Note that when you press a key during recovery mode, you will be shown “I’m still alive …"</p>

<p>When pressing SHIFT-E while in recovery, we're also presented with a list of firmware/RAM(?) addresses.</p>

<script src="https://gist.github.com/Someguy123/f157cd79f99fa84ad5f414009d388570.js"></script>

<hr>

<p>So far this is all I know about this router. I've spent the past few days collecting resources, and trying to understand the router through poking and prodding, and this may now be the most thorough sources of information about this model.</p>

<p>Due to the CPU, I don't believe it's possible to run OpenWRT or DD-WRT on here. If anyone has any more information, feel free to email me (info+belkin at someguy123 dot com).</p>]]></content:encoded></item><item><title><![CDATA[Hacking the Belkin F5D7632-4 (Part 2: The hardware)]]></title><description><![CDATA[<h2 id="hardware">Hardware  </h2>

<ul>
<li><strong>Model:</strong> Belkin F5D7632-4</li>
<li><strong>RAM:</strong> 16MB SDRAM (ISSI IS42S16400B-7TL)</li>
<li><strong>CPU:</strong> 264mhz Conexant CX94610-11Z ARM SOC (Same as used in Xavi 6978)</li>
<li><strong>Flash Storage:</strong> 2MB</li>
<li><strong>Wireless:</strong> 2.4ghz a/b/g - with external antennae (not removable)</li>
<li><strong>Ports:</strong>
<ul><li>4x 100mbit Ethernet (Connected to Realtek RTL8306S chip)</li>
<li>Standard ADSL port (built-in modem)</li></ul></li></ul>]]></description><link>http://blog.someguy123.com/hacking-the-belkin-f5d7632-4-part-2-the-hardware/</link><guid isPermaLink="false">b7fd58a3-0300-4e05-8573-e76c824baa51</guid><dc:creator><![CDATA[Someguy123]]></dc:creator><pubDate>Fri, 15 Jul 2016 20:37:35 GMT</pubDate><content:encoded><![CDATA[<h2 id="hardware">Hardware  </h2>

<ul>
<li><strong>Model:</strong> Belkin F5D7632-4</li>
<li><strong>RAM:</strong> 16MB SDRAM (ISSI IS42S16400B-7TL)</li>
<li><strong>CPU:</strong> 264mhz Conexant CX94610-11Z ARM SOC (Same as used in Xavi 6978)</li>
<li><strong>Flash Storage:</strong> 2MB</li>
<li><strong>Wireless:</strong> 2.4ghz a/b/g - with external antennae (not removable)</li>
<li><strong>Ports:</strong>
<ul><li>4x 100mbit Ethernet (Connected to Realtek RTL8306S chip)</li>
<li>Standard ADSL port (built-in modem)</li>
<li>12V/1A DC Adapter port</li></ul></li>
</ul>

<h4 id="openingthedevice">Opening the device</h4>

<p>Remove the two visible screws on back to open. <strong>You do not need to remove the rubber feet, however you do need to put a lot of force into the plastic to unclip it.</strong> I recommend using a curved plastic prying tool (e.g. the curved prying tool from iFixIt works great), or a guitar pick if that’s not available.</p>

<p><img src="https://i.imgur.com/epP5PjZ.jpg" alt=""></p>

<p>Split from the back using your hands, then split at each side by putting your tool under the edge of the sides and twist to unclip. Front can be painful to remove, but it will come off easily once you’ve unclipped both sides.</p>

<p><img src="https://i.imgur.com/JsTBRux.jpg" alt=""></p>

<p>If you want to access the underside of the board for whatever reason, there is just one screw in the centre of board to hold it in place.</p>

<h4 id="relateddevices">Related Devices</h4>

<p>The belkin router is very similar to the SMC7904WBRA, however it has a Conexant SOC/CPU instead of a TI CPU. It uses the exact same pin layout for UART.</p>

<p>More information: </p>

<ul>
<li><a href="https://wiki.openwrt.org/toh/xavi/xavi_7968">https://wiki.openwrt.org/toh/xavi/xavi_7968</a></li>
<li><a href="https://wiki.openwrt.org/toh/smc/smc7904">https://wiki.openwrt.org/toh/smc/smc7904</a></li>
</ul>

<h4 id="connectingtouart">Connecting to UART</h4>

<p>The router has a 10-pin JTAG port located in the bottom right of the board. It may be possible to switch the port from UART mode, to JTAG mode with a jumper.</p>

<p>Luckily, the router comes with a full header on the 10-pin JTAG, so no soldering required.</p>

<p>Connect GND to the first top left pin (with the wifi antennae facing away from you), RX to the 3rd, TX to the 4th.</p>

<p><strong>Do not connect VCC pin (3.3v), it causes the device to lock up.</strong></p>

<p><img src="https://i.imgur.com/ZcKKDhD.jpg" alt=""></p>

<p>UART runs at <strong>38400 BAUD with 8n1</strong> (NOT 115200 BAUD like the SMC7904WBRA)</p>

<p>Example on OSX/Linux:</p>

<pre><code>sudo screen /dev/ttyUSB1 38400.-parenb.-cstopb.cs8
</code></pre>

<p>By default, you cannot enter anything into the console. By pressing SHIFT-0 you'll be able to access the real console, and do various tasks. <strong>Check out the next part for more details about this.</strong></p>

<p>You can also access the bootloader during early boot by pressing space (scroll down to "Bootloader Menu" section)</p>

<h4 id="accessingrecoverymode">Accessing Recovery Mode</h4>

<p>Recovery mode is used if your main firmware gets corrupted. It allows you to flash a new firmware file onto the device.</p>

<ol>
<li>Unplug the router.  </li>
<li>Hold down the reset button.  </li>
<li>Plug the power in (while holding reset).  </li>
<li>Wait for all LEDs to go green.  </li>
<li>You should now be able to access the firmware flash tool at 192.168.2.1 via Ethernet. </li>
</ol>

<p>Note: This does not get you into any console via the UART, nor does it allow access via Telnet or SSH.</p>

<h2 id="continuedpart3playingwithuarthttpblogsomeguy123comhackingthebelkinf5d76324part2thehardware3"><a href="http://blog.someguy123.com/hacking-the-belkin-f5d7632-4-part-2-the-hardware-3/">Continued: Part 3 (Playing with UART)</a></h2>]]></content:encoded></item><item><title><![CDATA[Hacking the Belkin F5D7632-4 Router (Part 1: The Firmware)]]></title><description><![CDATA[<h2 id="software">Software  </h2>

<p>The <strong>Belkin F5D7632-4</strong> was a router released across Europe (and possibly the US) in 2004-2005(?). It supports 2.4ghz Wireless a/b/g, and has a built in ADSL2+ Modem.</p>

<p><blockquote class="imgur-embed-pub" lang="en" data-id="a/gc4un"><a href="//imgur.com/gc4un"></a></blockquote><script async src="//s.imgur.com/min/embed.js" charset="utf-8"></script></p>

<p>The router runs an awkward VXWorks-based firmware, produced by Broadcom, and modified by Belkin. It uses an IP/MAC-based</p>]]></description><link>http://blog.someguy123.com/hacking-the-belkin-f5d7632-4-router/</link><guid isPermaLink="false">5df5fcec-0036-4a3c-9b00-d1289cce6868</guid><dc:creator><![CDATA[Someguy123]]></dc:creator><pubDate>Fri, 15 Jul 2016 00:56:55 GMT</pubDate><content:encoded><![CDATA[<h2 id="software">Software  </h2>

<p>The <strong>Belkin F5D7632-4</strong> was a router released across Europe (and possibly the US) in 2004-2005(?). It supports 2.4ghz Wireless a/b/g, and has a built in ADSL2+ Modem.</p>

<p><blockquote class="imgur-embed-pub" lang="en" data-id="a/gc4un"><a href="//imgur.com/gc4un"></a></blockquote><script async src="//s.imgur.com/min/embed.js" charset="utf-8"></script></p>

<p>The router runs an awkward VXWorks-based firmware, produced by Broadcom, and modified by Belkin. It uses an IP/MAC-based authentication system, with just a password to login (default is blank). The firmware is comprised of mostly static <code>.stm</code> pages, with <code>.exe</code> files located in cgi-bin which do the actual work.</p>

<p>A quick NMAP scan will reveal TCP port <code>80</code>, and sometimes TCP port <code>10101</code> which is some sort-of internal Belkin service that has not yet been deciphered. <strong>There is NO telnet or SSH port.</strong></p>

<p>There are three unlisted pages in the firmware, which might help you out:</p>

<p><img src="https://i.imgur.com/bh9bwqX.jpg" alt="">
<strong>production.stm</strong> - “Mass Production” Allows you to change the MAC address and default IP address of the router, among some other things.</p>

<p><img src="https://i.imgur.com/E9OrNEB.jpg" alt="">
<strong>advanced.stm</strong> - Various advanced features, such as Wireless Beacon timing, some more firewall controls, as well as QoS settings. The page claims “these features are not supported”.</p>

<p><strong>engineer.stm</strong> - I found this in the actual firmware file. However, I haven’t managed to get it to open on the WebUI. The firmware on the router refuses to admit that it exists. Seems to be mainly a statistics page.</p>

<h4 id="breakingdownthefirmware">Breaking down the firmware</h4>

<p>The firmware is in the same format as the <strong>SMC7904</strong>, which is a bunch of ZIP files glued together, one after another.</p>

<p><a href="http://cache-www.belkin.com/support/dl/f5d7632-4v4_uk_4.01.09.bin">Latest Firmware BIN from Belkin</a></p>

<p><a href="https://mega.nz/#!xwhTSKJR!cbd6kUvgLcoM-onev7taeg7L86Uc4PirmtN1y-0RKkw">Firmware Mirror (MEGA)</a></p>

<p>Using the tool <code>binwalk</code>, you can extract the 4 ZIP files and obtain their contents, which are the following:</p>

<ul>
<li>345K     <strong>ar0700db.bin</strong> (???)</li>
<li>357K     <strong>ar0700mp.bin</strong> (???)</li>
<li>854K     <strong>pfs.img</strong> (main firmware file, containing images, css, and STM files. custom PFS/0.9 format)</li>
<li>2.2M     <strong>soho.bin</strong> (other main firmware file, containing the actual EXE files, kernel, config, etc. - unknown format)</li>
</ul>

<p>Browsing through <code>soho.bin</code>, you will find all sorts of strange things, for example, some sort-of telnet or serial console (search for “gConfig”), which I have not managed to access, since telnet is disabled, and there is no console available over UART other than the bootloader.</p>

<h4 id="extractingthepfsimg">Extracting the PFS.IMG</h4>

<p>Thanks to Domen Puncer, you can extract the proprietary PFS/0.9 format used by various routers. Simply compile the C file using “gcc pfs.c -o pfs” and you’re good to go.</p>

<p><a href="http://www.cba.si/pfs/">http://www.cba.si/pfs/</a></p>

<p>While you cannot extract the EXE files, you can see the EXE file names, and you can extract the STM files which give you some insight into the firmware.</p>

<script src="https://gist.github.com/Someguy123/15012771af9183be3dd258bf8e3f6cad.js"></script>

<h2 id="continuedpart2hardwarehackinghttpblogsomeguy123comhackingthebelkinf5d76324part2thehardware"><a href="http://blog.someguy123.com/hacking-the-belkin-f5d7632-4-part-2-the-hardware/">Continued: Part 2 (Hardware hacking)</a></h2>]]></content:encoded></item><item><title><![CDATA[What's new in LiteVault]]></title><description><![CDATA[<p>LiteVault is an online Litecoin wallet service which handles your wallet in-memory using Javascript. Your unencrypted private keys never touch the server and you are in complete control of your funds at all times. <a href="https://www.litevault.net">https://www.litevault.net</a></p>

<p>Recently, LiteVault has had a massive User Interface overhaul, however some changes</p>]]></description><link>http://blog.someguy123.com/whats-new-in-litevault/</link><guid isPermaLink="false">7f32771a-5fce-4fea-92c7-b6031314223d</guid><dc:creator><![CDATA[Someguy123]]></dc:creator><pubDate>Fri, 27 Feb 2015 19:19:06 GMT</pubDate><content:encoded><![CDATA[<p>LiteVault is an online Litecoin wallet service which handles your wallet in-memory using Javascript. Your unencrypted private keys never touch the server and you are in complete control of your funds at all times. <a href="https://www.litevault.net">https://www.litevault.net</a></p>

<p>Recently, LiteVault has had a massive User Interface overhaul, however some changes may not be immediately obvious. Here's what's new:</p>

<h2 id="newfrontpage">New Front Page  </h2>

<p><img src="http://i.imgur.com/4ovRohC.png" alt=""></p>

<p>We've had a professional designer re-build the frontpage to be more corporate, clean, and stand out more. The front page is a lot less cluttered, and will attract a lot more users than the old basic bootstrap design.</p>

<h2 id="walletredesigncolortags">Wallet Redesign + Color Tags  </h2>

<p><img src="http://i.imgur.com/a0TEd2k.png" alt=""></p>

<p>The actual wallet page has been re-designed to be more clean and usable, and matches well with our new design.</p>

<p>We've added a new unique feature, <strong>color tags</strong>, which are a set of 3 colours generated from your address that will always stay the same, these tags allow you to visually identify an address quickly, without having to look at the balance or compare the first few characters of the address.</p>

<p><img src="http://i.imgur.com/7NNVbOy.png" alt=""></p>

<p><strong>QR Codes</strong> have been requested for a while. Clicking the "QR" button in the options column will bring up a screen similar to above, this lets you scan the QR code on a Litecoin mobile wallet app, so that you don't need to enter the address by hand and risk typos.</p>

<p>Another much needed change is that the private keys are now hidden behind a "view private key" button. On top of this, per-address balance is now visible on the <strong>Receive</strong> page, instead of only on the <strong>Send</strong> page. Because of the large user interface overhaul, these small changes have been backlogged until now.</p>

<p><img src="http://i.imgur.com/UZo9PgU.png" alt="">
<strong>Message Signing</strong> is another important feature we've added. This allows you to sign a message using your address to prove ownership. This feature is required for various Litecoin services, such as pools, to prove you own your withdrawal address when you want to change it.</p>

<p>The list of transactions will now automatically update every set number of seconds, previously this was a static list that only updated after you logged in.</p>

<p>A small bug was fixed where the address list on the <strong>Send</strong> tab would reset to the first address every 20 seconds, removing your selection.</p>

<h2 id="backendfixes">Backend Fixes  </h2>

<p><strong>(Including Cross-Browser Fixes)</strong></p>

<p>While not visible to a lot of users, there have been a lot of backend tweaks and fixes to allow LiteVault to work better in non-webkit browsers such as FireFox and Internet Explorer.</p>

<p>LiteVault is primarily optimized for Chrome, because of this, sometimes small bugs slip past the testing cycle that are only apparent in browsers such as <strong>Firefox</strong> or <strong>Internet Explorer</strong>. If you have found any bugs which seem to affect a certain browser, or a group of browsers, please send an email to <strong>info+litevault [at] someguy123 dot com</strong>, or let us know via the various contact methods at <a href="https://www.litevault.net/contact">https://www.litevault.net/contact</a></p>

<h2 id="conclusion">Conclusion  </h2>

<p>Overall we've added a lot of much needed features, and fixed numerous bugs affecting daily usage of LiteVault. The new design brings LiteVault to a stable state, with enough features for daily usage. We hope that you enjoy using LiteVault and have a great experience.</p>

<p><strong>If you like <a href="https://www.litevault.net">LiteVault</a>, please remember to donate.</strong> We don't run ads or have any method of monetary gain apart from donations. Without your help, LiteVault cannot continue to run, servers are expensive, and development time is based on how many people donate (more donations means a more stable, featureful, secure, and faster LiteVault).</p>

<p>LTC: LNWEjx3DKSAWKX5fkWfCwa2tWSQeo7ZmnR <br>
BTC: 17PPTHmS8N34KYKdDc4Gn1psabteGS8EE3</p>]]></content:encoded></item><item><title><![CDATA[Someguy123's Technology Set Up]]></title><description><![CDATA[<p>As a developer I have a rather standard set-up, a PC running <strong>Windows 8</strong>, my Macbook Pro 13" (2013) running <strong>OSX 10.10 (Yosemite)</strong>, and my phone which is a <strong>Google/LG Nexus 5 32GB (with 4G)</strong>. </p>

<p>Detailed information:</p>

<h3 id="desktop">Desktop</h3>

<ul>
<li><strong>OS:</strong> Windows 8 64-bit</li>
<li><strong>RAM:</strong> 8GB (2x4gb) Corsair XMS3 1600mhz</li></ul>]]></description><link>http://blog.someguy123.com/someguy123s-technology-set-up/</link><guid isPermaLink="false">80241432-4124-4273-a6e5-63c78d6a165d</guid><dc:creator><![CDATA[Someguy123]]></dc:creator><pubDate>Sun, 09 Nov 2014 01:24:59 GMT</pubDate><content:encoded><![CDATA[<p>As a developer I have a rather standard set-up, a PC running <strong>Windows 8</strong>, my Macbook Pro 13" (2013) running <strong>OSX 10.10 (Yosemite)</strong>, and my phone which is a <strong>Google/LG Nexus 5 32GB (with 4G)</strong>. </p>

<p>Detailed information:</p>

<h3 id="desktop">Desktop</h3>

<ul>
<li><strong>OS:</strong> Windows 8 64-bit</li>
<li><strong>RAM:</strong> 8GB (2x4gb) Corsair XMS3 1600mhz</li>
<li><strong>Motherboard:</strong> ASUS Sabertooth 990FX (Original, not R2)</li>
<li><strong>CPU:</strong> AMD Phenom II x6 1075T (I haven't updated to any of the FX series because I have yet to find any application or game which makes effective use of my existing CPU power)</li>
<li><strong>GPU:</strong> AMD Sapphire HD6870 (I'm too cheap to upgrade this, but it plays most games on reasonably high settings)</li>
<li><strong>Case:</strong> Coolermaster HAF-X</li>
<li><strong>Disk:</strong> Samsung 840 SSD (250GB) + Seagate 3TB for storage</li>
<li><strong>Keyboard:</strong> Custom WASDKeyboards V2 ISO Keyboard with Blue Key Switches and Red O-Rings (pic: <a href="https://i.imgur.com/uevuIpJ.png">https://i.imgur.com/uevuIpJ.png</a> )</li>
<li><strong>Headset:</strong> Previously the <strong>Roccat Kave</strong> which I stoppsed using due to consistent microphone issues despite 3 full headset replacements over 2 years (thanks Amazon), currently using a <strong>Sennheiser PC 363D</strong></li>
</ul>

<h3 id="macbook">Macbook</h3>

<p>My Macbook is the Retina 2013 MBP with a 256GB SSD, 8GB of RAM, an i5, and Intel Iris graphics. I have been running Yosemite since the DP7 Beta.</p>

<p>I use an <a href="http://www.amazon.co.uk/gp/product/B00ALC6BV4">iPearl CLEAR Hard Shell</a> case to help reduce damage to my Macbook, plus it comes with some good quality stands on the bottom which makes typing more comfortable on a desk.</p>

<p>The reason I purchased a Macbook over any Windows laptop was simply because I had never tried OSX before, I decided it would give me a better feel of OSX compared to any hackintosh solution, and it did.</p>

<h3 id="whydoiuseosxfordevelopment">Why do I use OSX for development?</h3>

<p>I've found OSX to be a much better development environment than Windows for several reasons, one of the most important being that <strong>iTerm 2</strong> beats any terminal that I've ever used on both Windows and Linux; with both iTerm 2 and Oh-My-Zsh the terminal stays out of my way and allows me to be productive when working in the command line. </p>

<p>Another important difference is that I've found keyboard shortcuts are extremely consistent across applications unlike on Windows, something as simple as Cmd-C (Copy) working in every application including the terminal was much needed, <em>reducing the unexpected context switches</em> (e.g. on Windows and Linux, I would often accidentally terminate a command line application trying to copy using Ctrl-C).</p>

<p><strong>Homebrew</strong> and <strong>Cask</strong> were also very familiar to myself having used package managers in Linux so often. While Windows does have <strong>NuGet</strong> and <strong>Chocolatey</strong>, they aren't as well known as Homebrew is for Mac developers, almost any application on OSX can be found in Homebrew/Cask, even some paid development tools such as PHPStorm can be downloaded and installed with a simple <code>brew cask install phpstorm</code></p>

<p>As a Web Developer, I've found comfort in OSX because everything works so smoothly. I use <strong>PHPStorm</strong> to develop my web applications, <strong>Vagrant</strong> via <strong>Laravel Homestead</strong> to test them locally in an Ubuntu-based VM, and <strong>Sequel Pro</strong> which is FREE to manage all of my databases (which is a lot less clunky than the equivelent <strong>HeidiSQL</strong> on Windows, and saves me setting up PHPMyAdmin).</p>]]></content:encoded></item><item><title><![CDATA[Atom Builds for Windows]]></title><description><![CDATA[<p>After struggling to build <a href="http://atom.io">Atom</a> on windows, I've finally managed to make a redistributable package for it. Unfortunately there's no official release for Windows yet, so I had to take matters into my own hands.</p>

<p>This build was tested on both Windows 7 and 8. If you're having issues with</p>]]></description><link>http://blog.someguy123.com/atom-builds-for-windows/</link><guid isPermaLink="false">c9b3b0b6-ff37-4aaf-9b0b-b95df587175b</guid><dc:creator><![CDATA[Someguy123]]></dc:creator><pubDate>Fri, 09 May 2014 02:31:00 GMT</pubDate><content:encoded><![CDATA[<p>After struggling to build <a href="http://atom.io">Atom</a> on windows, I've finally managed to make a redistributable package for it. Unfortunately there's no official release for Windows yet, so I had to take matters into my own hands.</p>

<p>This build was tested on both Windows 7 and 8. If you're having issues with the build that aren't in other versions of Atom (e.g. the mac version), please email <code>info #at# someguy123.com</code> with details, and I'll try to help out. I'm also in the <code>##atom</code> channel on Freenode IRC as <strong>Someguy123</strong> if you use IRC.</p>

<p><font color="red"><strong>Note</strong>: This blog post is deprecated, the builds now have their own website, <a href="http://atom.someguy123.com">Click Here</a></font></p>

<p><strong>Disclaimer</strong> Use at your own risk. I am not the creator of Atom, I do not work for Github, so I am not responsible for any damages caused by using the application. This application is provided with NO WARRANTY from myself.</p>

<h1 id="notescrolldownforthetroubleshootingsectionifyourehavingtroublemakingthebuildwork">NOTE: Scroll down for the Troubleshooting section if you're having trouble making the build work.</h1>

<p>If you want to install packages, you also need to install <a href="http://www.visualstudio.com/en-us/downloads/download-visual-studio-vs#DownloadFamilies_4">Visual Studio 2010 C++ Express (free from Microsoft)</a></p>

<p><a href="https://mega.co.nz/#!x0xyVZZJ!ytQJjuNCuVECTJNYP2nglv1t-SGhLr_P7HJhi2woYXk">Download Latest Atom Build 2014-05-24 Atom 0.100.0-e7c1d20</a></p>

<pre><code>MD5: 69251BDF49B1D24044469DDE3CDB4D95
SHA-1: 746DEDBC0C84381227478E14F98F5A5267FD1381
SHA-256: 601AB804F06C2897368CEBAD06C7A5C18D57CE72FB4E72FB91D6FB99BEF93A59
</code></pre>

<hr>

<p><strong>Archived Builds</strong></p>

<ul>
<li><a href="https://mega.co.nz/#!Ip5niYjY!7iu4Dxsmjre7J6nj1hykr71L0ruTRR9I59ITiBape7U">Archived Build 2014-05-20 (Atom v0.97.0-2c5af98)</a> (MD5: 3612AA5A12C485758601272E361BF7F8)</li>
<li><a href="https://mega.co.nz/#!olwUVB7b!Bxm4uQ4tras168aapdKBBSssQ5_XaE7y4vIAkQz76WE">Archived Build 2014-05-17 (v0.96.0 commit a83a6e5)</a> (MD5: B4AFD2C1C5496BCA4FCE17D9DF3FEE63)</li>
<li><a href="https://mega.co.nz/#!ZhQnjDRY!-7kr8dnjGgvyorH-j4LRlWtOh-coVY-qDcV-LjACtyg">Archived Build 2014-05-14 (v0.95.0 commit c77a6b1)</a> (MD5: 4E43C8504F4D18045A826E0CFB988BD6)</li>
<li><a href="https://mega.co.nz/#!lgxxXTxb!nXQk7fA_BsTaEm0yRIXIAcgWy6hJJCj7w-9dkSxLJis">Archived Windows Build 2014-05-12 (v0.95.0 commit 3f0640f)</a> (MD5: F19C74F2EDA560D2AE446389A936A2F4)</li>
<li><a href="https://mega.co.nz/#!51BVAbxQ!L5P4UswD29CrtQvcRszsGMIecvjhqFZp8-8CtJpIm_s">Archived Windows Build 2014-05-10 (version fix) (commit c79ef047)</a> (md5: A6051395993026CC940A750C88821E47) (NOTE: If you're using the previous version with the same commit, you don't need to download this one. Just edit <code>resources\app\package.json</code> on line 4 to <code>"version": "0.94.0-c79ef04",</code>)</li>
<li><a href="https://mega.co.nz/#!No40RDSI!OVGNnZ7vq9iiB6kNyii9ecp64UZ9vgWN78RVKh2-adk">Archived Windows Build 2014-05-10 (commit c79ef047)</a> (MD5: 62CA5F7EE9AB6857FBACE8F7DB288F8D)</li>
<li><a href="https://mega.co.nz/#!Z0xzCQTD!I1RAPb9axIIDmrbEjiNE2bCKDRWWF-6wRFzIFjOLxOg">Archived Windows Build 2014-05-09 (commit ce5c29fb47)</a> (md5: DF9BABE6A1DD39B0988853A507839AC8)</li>
</ul>

<p>Want to thank me? I accept bitcoin @ <code>1SomguYYsdeBFYv9ujGt1V64PwssXco5z</code> <br>
<strong>Screenshots</strong></p>

<p>Screenshot running on Windows 8: <br>
<img src="http://i.imgur.com/Xyk2Lfu.png"> <br>
Screenshot working on a clean install of Windows 7 (with mvc runtimes): <br>
<img src="http://i.imgur.com/dvcoV02.png"></p>

<h2 id="troubleshooting">Troubleshooting:  </h2>

<p><strong>Error: MSVCP100.DLL is missing</strong></p>

<p>Any form of "MSVP*.DLL" error means you haven't got the Visual C++ 2010 runtime installed. </p>

<p>These executables were built with Visual Studio 2010 and so they require the runtime to work.</p>

<p>Because Atom is a 32-bit application, you'll need to download the 32-bit runtime even if you're on 64-bit. You may already have the runtime installed if you've installed recent applications or games.</p>

<p><a href="http://www.microsoft.com/en-us/download/details.aspx?id=5555">Download 32-bit MSVC 2010 Runtime</a></p>

<p><strong>File path too long</strong></p>

<p>This error is common if you're extracting to a long path name like your Desktop. I recommend extracting it so that the base directory is <code>C:\Atom</code> or whichever drive you prefer, as this prevents long path name errors. <br>
If that still doesn't work, please <a href="https://news.ycombinator.com/item?id=7721749">read this comment on HN</a> for more information.</p>

<p><strong>Packages won't install. They complain about Visual Studio</strong></p>

<p>If you want to install packages, you also need to install <a href="http://www.visualstudio.com/en-us/downloads/download-visual-studio-vs#DownloadFamilies_4">Visual Studio 2010 C++ Express (free from Microsoft)</a>. If you already have an existing version of VS2010 or VS2012, you don't need to do this.</p>

<p><strong>I installed Visual Studio to a non-standard location, and now atom won't find it</strong></p>

<p>You can edit <code>atom-build\Atom\resources\app\apm\node_modules\atom-package-manager\lib</code> on around line 90 with something like <code>vs2010Path = "H:/VS2010/Common7/IDE";</code> and then restart Atom. Remember to use forward slashes rather than backslashes.</p>]]></content:encoded></item><item><title><![CDATA[The Litecoin Block Explorer now runs an Electrum Server]]></title><description><![CDATA[<p>After hearing that Electrum was released for Litecoin <a href="https://litecointalk.org/index.php?topic=18608.msg153253;boardseen#new">a few days ago</a> I decided to set up an Electrum server. The <a href="http://explorer.litecoin.net">Litecoin Block Explorer</a> is already used by many, and is known for it's reliability and speed, I thought it'd be a good idea to run an Electrum server too.</p>]]></description><link>http://blog.someguy123.com/the-litecoin-block-explorer-now-runs-an-electrum-server/</link><guid isPermaLink="false">6ce57d01-c564-425a-b461-a3d03099c969</guid><dc:creator><![CDATA[Someguy123]]></dc:creator><pubDate>Sat, 12 Apr 2014 13:43:29 GMT</pubDate><content:encoded><![CDATA[<p>After hearing that Electrum was released for Litecoin <a href="https://litecointalk.org/index.php?topic=18608.msg153253;boardseen#new">a few days ago</a> I decided to set up an Electrum server. The <a href="http://explorer.litecoin.net">Litecoin Block Explorer</a> is already used by many, and is known for it's reliability and speed, I thought it'd be a good idea to run an Electrum server too.</p>

<p>If you don't know what Electrum is, Electrum is a thin-client for cryptocoins, recently Pooler from the Litecoin Community has ported it over for Litecoin, and quite a few Electrum servers have been launched. Electrum allows for a seperate server to handle the blockchain and transactions, while your private keys stay on your own computer, so the server can't steal your coins.</p>

<p>As of today (2014-04-12) you can now add <strong>explorer.litecoin.net</strong> to your Electrum client, and enjoy the speed Electrum provides.</p>

<h1 id="notethisguideisoutdatedelectrumincludestheblockexplorerbydefaultthankstoircbootstrapping">NOTE: This guide is outdated. Electrum includes the block explorer by default thanks to IRC bootstrapping.</h1>

<p>After you've <a href="https://litecointalk.org/index.php?topic=18608.msg153253;boardseen#new">set up Electrum</a>, you can continue using the default servers, but if you want to use the Block Explorer's server, all you need to do is click on the Green or Red circle in the bottom right to open up the network servers, untick "<strong>Auto-connect</strong>", and then  enter in the Server text box "<strong><em>explorer.litecoin.net</em></strong>". You can leave the port as 50002 (default), and the Protocol is SSL. Click OK to save.</p>

<p><img src="http://i.imgur.com/fcFb4rf.png"></p>

<p>Once you've set that up, you can go ahead and use your addresses like normal. I tested it out by sending 10 LTC to myself from another wallet, and it worked great. It had instantly shown up in my wallet with a nice notification in my tray. Perfect: <br>
<img src="http://i.imgur.com/cy1sBfZ.png"></p>

<p>I think Electrum is one of the greatest improvements for Litecoin so far; downloading the blockchain has always been a hassle, even with Bootstrap.dat. Electrum makes this experience much faster, and allows a new user to get into Litecoin without waiting hours to sync their client, using several GB of disk space, and it also uses a lot less RAM making it great for even less powerful computers. I'm personally switching to this myself (at least until something like blockchain.info's wallet comes out), as it's a much smoother experience in my opinion.</p>

<p>I'm hoping to keep the Explorer's Electrum server running for a long time, but it depends on community support. If few people use the Electrum server, and nobody wants to donate (The addresses are in the banner in console), then it may be taken down. Otherwise I will keep it running fast, secure, and reliably for as long as it needs.</p>

<pre><code>If you want to keep the Explorer's Electrum server running, PLEASE donate. 
The addresses are:

LVXXmgcVYBZAuiJM3V99uG48o3yG89h2Ph for litecoin, and

1SoMGuYknDgyYypJPVVKE2teHBN4HDAh3 for Bitcoin.
Thank you.
</code></pre>]]></content:encoded></item><item><title><![CDATA[Dispelling the hate against PHP]]></title><description><![CDATA[<p>Over the past few months I've developed many applications in the PHP framework <a href="http://laravel.com">Laravel</a>. Laravel is essentially a rails-like framework for PHP. I've personally never used Ruby on Rails as I found that installing Rails is a huge pain compared to the simplicity of <code>apt-get install apache2 php5</code>, and figured</p>]]></description><link>http://blog.someguy123.com/dispelling-the-hate-against-php/</link><guid isPermaLink="false">3d3c3bce-2096-4bde-b627-a3dcbc9c5778</guid><dc:creator><![CDATA[Someguy123]]></dc:creator><pubDate>Thu, 10 Apr 2014 13:38:10 GMT</pubDate><content:encoded><![CDATA[<p>Over the past few months I've developed many applications in the PHP framework <a href="http://laravel.com">Laravel</a>. Laravel is essentially a rails-like framework for PHP. I've personally never used Ruby on Rails as I found that installing Rails is a huge pain compared to the simplicity of <code>apt-get install apache2 php5</code>, and figured out that most things that Ruby on Rails can do, Laravel already has it.</p>

<p>Unfortunately simply because <strong>it's PHP</strong> it puts developers coding in (insert latest trendy language/framework here) off.</p>

<h3 id="phpisinsecure">PHP is insecure!!!</h3>

<p>No. No it's not. PHP is as secure as any other dynamically typed language such as Ruby or Python. If you think PHP is bad, what about some of the <a href="http://blog.trendmicro.com/trendlabs-security-intelligence/java-zero-day-exploit-and-ruby-on-rails-vulnerabilities/">huge exploits</a> <a href="https://groups.google.com/d/topic/rubyonrails-security/tfp6gZCtzr4">in rails</a> over the past year, which caused a certain <a href="https://bitcointalk.org/index.php?topic=135919.0">bitcoin exchange</a> to lose a large amount of users funds.</p>

<p>There hasn't been any major security hole in PHP  as bad as those for several years now.</p>

<h3 id="phphasnopackagemanagerrubyhasgemsandpythonhaspip">PHP has no package manager. Ruby has gems, and python has PIP.</h3>

<p>Actually, PHP has evolved a lot, <a href="http://getcomposer.org/">Composer</a> has been around for a few years, and thanks to the growth of Laravel, more and more people are using it. <strong><a href="http://packagist.org">Most packages</a> are already available in composer,</strong> and the community is thriving.</p>

<p>Adding a package is as simple as adding the repository name to your <code>composer.json</code>, giving it a version, and then running <code>composer update</code></p>

<pre><code>    "require": {
        "monolog/monolog": "1.2.*"
    }
</code></pre>

<h3 id="okaysomaybeitsnotasbadfordevelopingnowbutphpisslow">Okay, so maybe it's not as bad for developing now, but PHP is slow!</h3>

<p>PHP is on par in speed terms with Python and Ruby for most applications. Infact in some cases it's faster than them. If you're comparing PHP to something like <a href="http://pypy.org/">PyPy</a> then a better comparison would be to HHVM (Hip-Hop VM).</p>

<p>Thanks to HHVM, PHP can be extremely fast, and it currently has <a href="http://hhvm.com/blog/3611/tracking-parity">close to 100% compatibility</a> with most PHP packages in composer, including frameworks such as Symfony, Laravel, and Codeigniter.</p>

<p>PHP with HHVM is battle tested and usable in almost all cases now, this has been proven by Facebook, who have created HHVM and are <a href="http://en.wikipedia.org/wiki/HipHop_for_PHP#HipHop_Virtual_Machine_.28HHVM.29">using it in production</a> to run the actual Facebook site.</p>

<p>I'll be posting some statistics soon to show how much of a big difference HHVM made to a certain high-speed gambling site I worked for. (basic info: went from handling over 1000 bets per second per server with nginx+fcgi, to <strong>over 50,000 bets per second</strong> per server with raw HHVM)  </p>

<h3 id="andframeworks">And frameworks?</h3>

<p>There's many good frameworks for PHP in 2014. Two of the most popular and up-to-date frameworks are <a href="http://laravel.com">Laravel</a> and <a href="http://symfony.com/">Symfony</a>. There a lot of other good frameworks, such as <a href="http://www.yiiframework.com/">Yii</a>, and <a href="http://cakephp.org/">CakePHP</a>, but in my opinion Laravel and Symfony are the most feature complete frameworks for PHP at the current moment.</p>

<h3 id="conclusion">Conclusion</h3>

<p>The PHP ecosystem has evolved from the horrid mess it was a decade ago. I recommend that people try it out again with a modern framework, as I've seen many developers who've moved away from PHP to Ruby, Python, and Node, and then came back once they seen how great PHP is with a  recent framework which uses all the nice features of recent PHP versions, as well as <a href="http://www.wired.com/wiredenterprise/2014/03/facebook-hack/">Hack</a>, Facebooks new language based on top of PHP.</p>]]></content:encoded></item></channel></rss>