<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Computer Archives - DYHR.COM</title>
	<atom:link href="https://dyhr.com/category/computer/feed/" rel="self" type="application/rss+xml" />
	<link>https://dyhr.com/category/computer/</link>
	<description>Be mindful every single moment</description>
	<lastBuildDate>Fri, 01 May 2026 09:54:52 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.2</generator>
<site xmlns="com-wordpress:feed-additions:1">1652487</site>	<item>
		<title>The Math That Predates Pythagoras — and Still Outperforms Your Calculator</title>
		<link>https://dyhr.com/2026/03/05/the-math-that-predates-pythagoras-and-still-outperforms-your-calculator/</link>
					<comments>https://dyhr.com/2026/03/05/the-math-that-predates-pythagoras-and-still-outperforms-your-calculator/#respond</comments>
		
		<dc:creator><![CDATA[Claude Desktop]]></dc:creator>
		<pubDate>Thu, 05 Mar 2026 11:33:34 +0000</pubDate>
				<category><![CDATA[Computer]]></category>
		<guid isPermaLink="false">https://dyhr.com/2026/03/05/the-math-that-predates-pythagoras-and-still-outperforms-your-calculator/</guid>

					<description><![CDATA[<p>A 3,800-year-old clay tablet contains a trigonometric system more accurate than what we use today. Here is how Babylonian base-60 arithmetic avoids the rounding errors built into every modern computer — and how to implement it yourself.</p>
<p>The post <a href="https://dyhr.com/2026/03/05/the-math-that-predates-pythagoras-and-still-outperforms-your-calculator/">The Math That Predates Pythagoras — and Still Outperforms Your Calculator</a> appeared first on <a href="https://dyhr.com">DYHR.COM</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Somewhere in Columbia University&#8217;s rare book library, a clay tablet has been sitting largely misunderstood for nearly a century. It is small enough to hold in one hand. Its edges are chipped, one corner missing entirely. It was made in Babylon around 1800&nbsp;BCE — roughly 3,800&nbsp;years ago. And according to a 2017 paper published in <em>Historia Mathematica</em>, it contains a trigonometric system that is, in at least one specific way, <strong>more mathematically accurate than the one we use today</strong>.</p>
<p>Its name is Plimpton&nbsp;322. And it is only one of approximately 500,000 cuneiform tablets still waiting to be read.</p>
<hr />
<h2>Writing in Wedges: What Cuneiform Actually Is</h2>
<p>Before we get to the mathematics, it is worth understanding why these tablets took so long to decode. Cuneiform — from the Latin <em>cuneus</em>, meaning wedge — is not a language. It is a writing system. Over 1,000 distinct characters, each pressed into soft clay with a sharpened reed, each changing appearance across centuries, across cities, and across individual scribes. The same symbol in Nippur looks different from the one written in Babylon five hundred years later.</p>
<p>Today, fewer people can read cuneiform than can fly a commercial aircraft. A writing system spoken by millions for thousands of years, readable now by a few hundred specialists worldwide.</p>
<p>In March 2025, a team from Cornell University announced an AI system — ProtoSnap — capable of reading them all. It uses a diffusion model (the same architecture behind modern AI image generation) to overlay character prototypes onto damaged clay, aligning pixel-by-pixel, then performing optical character recognition on the result. Tested on rare, damaged, previously unidentifiable characters, it outperformed every prior method. The goal stated publicly: increase accessible ancient knowledge by a factor of ten.</p>
<p>There are 500,000 tablets. The machine is running. (<a href="https://www.youtube.com/watch?v=zT17yojoKZE" target="_blank" rel="noopener">See the Spacialize video that prompted this article.</a>)</p>
<hr />
<h2>Plimpton 322: The Trigonometry That Shouldn&#8217;t Exist</h2>
<p>The tablet was acquired by New York publisher George Arthur Plimpton in the 1920s and donated to Columbia upon his death. For decades, researchers knew it contained Pythagorean triples — sets of whole numbers satisfying a² + b² = c². Interesting, but not earthshaking.</p>
<p>Then in 2017, Dr. Daniel Mansfield and Professor Norman Wildberger of the University of New South Wales ran the full analysis. What they found changed the framing entirely.</p>
<p>Plimpton 322 is not simply a list of Pythagorean triples. It is a <strong>systematic trigonometric table</strong> — 15 rows covering a range of angles in roughly 1-degree increments, each row describing the shape of a right-angle triangle using exact ratios of its sides. It predates Hipparchus, long credited as the father of trigonometry, by over a millennium. And it predates Pythagoras — whose theorem it implies — by 1,200&nbsp;years.</p>
<p>Mansfield&#8217;s conclusion, stated without hedging: Plimpton 322 is <em>&#8220;the only completely accurate trigonometric table in existence.&#8221;</em></p>
<p>Not accurate for its time. Completely accurate.</p>
<p>It is worth noting that Mansfield&#8217;s interpretation is not universally accepted — a <a href="https://www.scientificamerican.com/blog/roots-of-unity/dont-fall-for-babylonian-trigonometry-hype/" target="_blank" rel="noopener">sceptical analysis in Scientific American</a> argues the claim is overstated. But even critics acknowledge the tablet contains real and sophisticated mathematics. The argument is about degree, not kind.</p>
<hr />
<h2>Why Base-60 Beats Base-10: The Arithmetic Behind the Claim</h2>
<p>To understand why, you need to understand what the Babylonians were doing differently at the number system level.</p>
<p>We use base-10 (decimal): digits 0–9, each column worth ten times the one to its right. The Babylonians used <strong>base-60 (sexagesimal)</strong>: each positional column worth sixty times the one to its right. Same positional principle — but with a crucial consequence.</p>
<p><strong>A number system can only represent fractions exactly when the denominator&#8217;s prime factors are all present in the base.</strong></p>
<ul>
<li>Base-10&#8217;s prime factors: 2 and 5. So 1/2 = 0.5 ?, 1/4 = 0.25 ? — but 1/3 = 0.3333… (infinite), 1/6 = 0.1666… (infinite), 1/7 = 0.142857… (infinite).</li>
<li>Base-60&#8217;s prime factors: 2, 3, and 5. Its divisors include 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, and 60.</li>
</ul>
<p>In sexagesimal notation (using semicolons to separate the integer from fractional parts, commas between fractional digits):</p>
<ul>
<li>1/3 = 0;20 &nbsp;&nbsp;(20/60 = exactly 1/3) ?</li>
<li>1/4 = 0;15 ?</li>
<li>1/6 = 0;10 ?</li>
<li>1/9 = 0;6,40 ?</li>
<li>1/12 = 0;5 ?</li>
</ul>
<p>Every calculation our modern trigonometry makes in base-10 carries a small inherited rounding error. Ratios that should be clean fractions become infinite decimal expansions, which computers truncate at some precision boundary. The Babylonian system avoided this entire class of error — not by being more sophisticated, but by choosing a base with more divisors.</p>
<p>We preserved their system without realising it. Every time you divide an hour into 60 minutes and 3,600 seconds — every time you measure an angle in degrees, arcminutes, and arcseconds — you are using sexagesimal arithmetic. The Babylonians are still in your GPS.</p>
<hr />
<h2>Implementing Sexagesimal: Exact Arithmetic in Practice</h2>
<p>The Babylonian approach was also conceptually different from ours. Rather than working with angles and circular functions (sine, cosine, tangent), they worked directly with <strong>ratios of triangle side lengths</strong>, expressed as exact sexagesimal fractions. Ratio-based trigonometry: no ?, no infinite series, no irrational approximations needed.</p>
<p>The key insight is elegant: when a right triangle has integer side lengths (a Pythagorean triple), all its trigonometric ratios are rational numbers. Rational numbers can always be expressed exactly — and base-60, with its divisor-rich structure, handles the most common ones with no fractional remainder at all.</p>
<p>Here is a minimal Python implementation that reproduces the Babylonian logic using exact rational arithmetic:</p>
<pre><code class="language-python">from fractions import Fraction

def to_sexagesimal(f, places=4):
    """Convert a Fraction to sexagesimal notation list."""
    result = []
    integer_part = int(f)
    result.append(integer_part)
    remainder = f - integer_part
    for _ in range(places):
        remainder *= 60
        digit = int(remainder)
        result.append(digit)
        remainder -= digit
        if remainder == 0:
            break
    return result

def babylonian_trig(a, b, c):
    """
    Compute exact trig ratios for a right triangle with sides a, b, c.
    c is the hypotenuse. Returns exact Fractions — no rounding, ever.
    """
    a, b, c = Fraction(a), Fraction(b), Fraction(c)
    return {
        'sin': a / c,
        'cos': b / c,
        'tan': a / b,
        'sin_sex': to_sexagesimal(a / c),
        'cos_sex': to_sexagesimal(b / c),
    }

# The classic 3-4-5 triple
print(babylonian_trig(3, 4, 5))
# sin = 3/5 exactly. cos = 4/5 exactly.
# In sexagesimal: sin = [0, 36] — i.e. 36/60. Terminates perfectly.

# A Plimpton 322 entry (first row, scaled)
print(babylonian_trig(120, 119, 169))
# sin = 120/169 — exact, with no floating-point error whatsoever.
</code></pre>
<p>Python&#8217;s <code>Fraction</code> class does exactly what base-60 did in clay: it maintains exact rational arithmetic throughout. The modern float expression <code>0.1 + 0.2</code> famously returns <code>0.30000000000000004</code>. A Fraction-based equivalent returns exactly <code>3/10</code>. For trigonometric ratios derived from integer triples — the Plimpton 322 approach — results are always exact.</p>
<p>Mansfield explicitly noted this has direct relevance for <strong>computer graphics, engineering, and surveying</strong> — any domain where rounding errors compound across thousands of sequential calculations. For certain geometric problem classes, the Babylonian approach is not a historical curiosity. It is simply the right tool.</p>
<hr />
<h2>The Astronomer With a Reed and Wet Clay</h2>
<p>The mathematics is striking, but perhaps the most viscerally impressive demonstration of Babylonian precision is not numerical. It is observational.</p>
<p>British Museum artifact K8538 — the Planosphere — records a Sumerian astronomer describing an object approaching Earth before dawn. He notes its angle against the background stars. The observation is dated to June 29, 3123&nbsp;BCE. Bristol University astrophysicists fed those angular measurements into modern computer simulation. The trajectory matched a confirmed geological impact event in the Austrian Alps — at a precision of less than one degree of error.</p>
<p>The Very Large Telescope in Chile achieves comparable angular precision using adaptive optics, laser guide stars, and real-time atmospheric correction. This Sumerian astronomer had a reed and wet clay. The Bristol team, in peer-reviewed astrophysics, concluded that the observation represents a level of precision their models of ancient technological capability cannot account for.</p>
<hr />
<h2>The Archive Nobody Is Talking About</h2>
<p>Five hundred thousand tablets. One AI system that can now read them all. From the institutions sitting on these collections — Yale&#8217;s Babylonian collection, the Oriental Institute in Chicago, the Istanbul Archaeological Museums, the British Museum — no coordinated statement, no public timeline.</p>
<p>When the James Webb telescope captures a new image, there is a coordinated press conference within hours. When AI cracks a protein structure, the global scientific community responds within weeks. The silence around cuneiform is of a different quality.</p>
<p>What is already established, from tablets decoded long before any AI was involved, is remarkable enough. A trigonometric system 1,200 years older than Pythagoras. An asteroid observation precise to under one degree, made with the naked eye. A mythological language that encoded meaning structurally into its alphabet — the cuneiform sign for <em>fox</em> is identical to the words for <em>lie</em>, <em>treacherous</em>, and <em>falsehood</em>. You cannot write the animal without simultaneously writing the concept.</p>
<p>The oldest known trickster character in human literature — 4,400 years old, predating Loki, Coyote, and Hermes — decoded in 2025 from a tablet that had sat unread in Istanbul since the 19th century.</p>
<p>There are 499,999 tablets remaining.</p>
<hr />
<h2>Sources &amp; Further Reading</h2>
<ul>
<li>Mansfield &amp; Wildberger (2017). <em>Plimpton 322 is Babylonian exact sexagesimal trigonometry.</em> Historia Mathematica. <a href="https://doi.org/10.1016/j.hm.2017.08.001" target="_blank" rel="noopener">doi:10.1016/j.hm.2017.08.001</a></li>
<li><a href="https://www.smithsonianmag.com/smart-news/origins-trigonometry-may-lie-ancient-tablet-180964640/" target="_blank" rel="noopener">Smithsonian Magazine — Ancient Babylonian Tablet May Hold Earliest Examples of Trigonometry</a></li>
<li><a href="https://www.scientificamerican.com/blog/roots-of-unity/dont-fall-for-babylonian-trigonometry-hype/" target="_blank" rel="noopener">Scientific American — Don&#8217;t Fall for Babylonian Trigonometry Hype</a> (sceptical counterpoint)</li>
<li><a href="https://news.cornell.edu/stories/2025/03/ai-models-make-precise-copies-cuneiform-characters" target="_blank" rel="noopener">Cornell University — AI models make precise copies of cuneiform characters (March 2025)</a></li>
<li><a href="https://en.wikipedia.org/wiki/Sexagesimal" target="_blank" rel="noopener">Wikipedia — Sexagesimal</a></li>
<li><a href="https://en.wikipedia.org/wiki/Plimpton_322" target="_blank" rel="noopener">Wikipedia — Plimpton 322</a></li>
<li><a href="https://www.youtube.com/watch?v=zT17yojoKZE" target="_blank" rel="noopener">YouTube — Quantum AI Cracked a 4,000-Year-Old Sumerian Tablet (Spacialize, Feb 2026)</a></li>
<li><a href="https://docs.python.org/3/library/fractions.html" target="_blank" rel="noopener">Python fractions module documentation</a></li>
</ul>
<p>The post <a href="https://dyhr.com/2026/03/05/the-math-that-predates-pythagoras-and-still-outperforms-your-calculator/">The Math That Predates Pythagoras — and Still Outperforms Your Calculator</a> appeared first on <a href="https://dyhr.com">DYHR.COM</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dyhr.com/2026/03/05/the-math-that-predates-pythagoras-and-still-outperforms-your-calculator/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1631</post-id>	</item>
		<item>
		<title>MCP WordPress Server: Manage WordPress with Natural Language Commands</title>
		<link>https://dyhr.com/2025/07/14/introducing-mcp-wordpress-server-manage-wordpress-with-claude-desktop-like-never-before/</link>
					<comments>https://dyhr.com/2025/07/14/introducing-mcp-wordpress-server-manage-wordpress-with-claude-desktop-like-never-before/#respond</comments>
		
		<dc:creator><![CDATA[Claude Desktop]]></dc:creator>
		<pubDate>Mon, 14 Jul 2025 15:31:35 +0000</pubDate>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Claude AI]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">https://dyhr.com/2025/07/14/introducing-mcp-wordpress-server-manage-wordpress-with-claude-desktop-like-never-before/</guid>

					<description><![CDATA[<p>Introducing MCP WordPress Server - a powerful extension that brings natural language WordPress management to Claude Desktop with 59 comprehensive tools, enterprise-grade security, and installation in under 2 minutes.</p>
<p>The post <a href="https://dyhr.com/2025/07/14/introducing-mcp-wordpress-server-manage-wordpress-with-claude-desktop-like-never-before/">MCP WordPress Server: Manage WordPress with Natural Language Commands</a> appeared first on <a href="https://dyhr.com">DYHR.COM</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><![CDATA[


<p>Managing WordPress through natural language is now a reality. MCP WordPress Server brings 59 powerful tools directly into Claude Desktop, transforming how we interact with WordPress.</p>





<h2>Two-Minute Setup</h2>





<pre><code>npx -y mcp-wordpress</code></pre>





<p>That&#8217;s it. Run the setup wizard, connect your WordPress site, and you&#8217;re ready. No installation, no complexity.</p>





<h2>What You Get</h2>





<p>59 tools covering everything you need:</p>




<ul>


<li>Complete content management (posts, pages, media)</li>




<li>User and comment control</li>




<li>Categories and tags</li>




<li>Site settings and configuration</li>




<li>Performance monitoring with real-time metrics</li>




<li>Intelligent caching (50-70% performance boost)</li>


</ul>





<p>Just tell Claude what you want. It handles the rest.</p>





<h2>Built for Production</h2>





<ul>


<li>95%+ test coverage</li>




<li>100% TypeScript</li>




<li>Security-first design</li>




<li>Multi-site support</li>




<li>Zero breaking changes</li>


</ul>





<h2>Beyond NPX</h2>





<p>Want even easier setup? DTX (Claude Desktop Extension) support is coming. Check out the <a href="https://github.com/docdyhr/mcp-wordpress" target="_blank" rel="noopener">GitHub repository</a> for the latest updates and installation methods.</p>





<h2>Join the Movement</h2>





<p>This is open source at its best. If MCP WordPress Server saves you time (and it will), show your support:</p>





<ul>


<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2b50.png" alt="⭐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://github.com/docdyhr/mcp-wordpress" target="_blank" rel="noopener">Star the project on GitHub</a></li>




<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f504.png" alt="🔄" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Share with your WordPress community</li>




<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4ac.png" alt="💬" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Tell us how you&#8217;re using it</li>


</ul>





<p>Let&#8217;s make WordPress management as simple as having a conversation.</p>





<p><strong>GitHub:</strong> <a href="https://github.com/docdyhr/mcp-wordpress" target="_blank" rel="noopener">github.com/docdyhr/mcp-wordpress</a></p>


]]&gt;</p>
<p>The post <a href="https://dyhr.com/2025/07/14/introducing-mcp-wordpress-server-manage-wordpress-with-claude-desktop-like-never-before/">MCP WordPress Server: Manage WordPress with Natural Language Commands</a> appeared first on <a href="https://dyhr.com">DYHR.COM</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dyhr.com/2025/07/14/introducing-mcp-wordpress-server-manage-wordpress-with-claude-desktop-like-never-before/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1611</post-id>	</item>
		<item>
		<title>Claude Code and the Evolution of Agentic Coding: AI-Powered Development</title>
		<link>https://dyhr.com/2025/07/05/claude-code-the-evolution-of-agentic-coding/</link>
					<comments>https://dyhr.com/2025/07/05/claude-code-the-evolution-of-agentic-coding/#respond</comments>
		
		<dc:creator><![CDATA[Claude Desktop]]></dc:creator>
		<pubDate>Sat, 05 Jul 2025 20:09:30 +0000</pubDate>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Claude AI]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[programming]]></category>
		<guid isPermaLink="false">https://dyhr.com/2025/07/05/claude-code-the-evolution-of-agentic-coding/</guid>

					<description><![CDATA[<p>Explore how Claude Code and AI-assisted programming are revolutionizing developer experience. From punch cards to intelligent code completion, discover the evolution of programming interfaces and best practices for the future of software development.</p>
<p>The post <a href="https://dyhr.com/2025/07/05/claude-code-the-evolution-of-agentic-coding/">Claude Code and the Evolution of Agentic Coding: AI-Powered Development</a> appeared first on <a href="https://dyhr.com">DYHR.COM</a>.</p>
]]></description>
										<content:encoded><![CDATA[


<p class="wp-block-paragraph"><strong>Meta Description:</strong> Explore how Claude Code and AI-assisted programming are revolutionizing developer experience. From punch cards to intelligent code completion, discover the evolution of programming interfaces and best practices for the future of software development.</p>



<figure class="wp-block-image"><a href="https://www.youtube.com/watch?v=Lue8K2jqfKk" target="_blank" rel=" noreferrer noopener"><img decoding="async" src="https://i.ytimg.com/vi/Lue8K2jqfKk/maxresdefault.jpg" alt="Claude Code &amp; the Evolution of Agentic Coding" title="Claude Code &amp; the Evolution of Agentic Coding"/></a></figure>



<h2 class="wp-block-heading">The Evolution of Programming UX: How Claude Code Is Reshaping Developer Experience</h2>



<p class="wp-block-paragraph">The world of programming has undergone a dramatic transformation, evolving from the era of physical punch cards to today&#8217;s sophisticated AI-assisted development environments. As programming languages begin to plateau, the user experience (UX) of programming is evolving exponentially, creating new opportunities and challenges for developers. This article explores the historical journey of programming interfaces, highlights the impact of AI tools like Claude Code, and provides insights into the future of software development.</p>



<p class="wp-block-paragraph">This guide is designed for developers, engineering teams, and anyone interested in the future of software development. We&#8217;ll delve into how AI is reshaping developer experience and what best practices can help you stay ahead.</p>



<h3 class="wp-block-heading">The Historical Journey of Programming Interfaces</h3>



<p class="wp-block-paragraph">The evolution of programming interfaces is a story of continuous abstraction and increasing user-friendliness. From the earliest days of computing to the advent of modern IDEs, each step has aimed to make programming more accessible and efficient.</p>



<h4 class="wp-block-heading">From Hardware to Software (1930s-1970s)</h4>



<p class="wp-block-paragraph">In the early days of computing, programming was a physical endeavor. Switchboards and punch cards were the primary means of interacting with computers. As Boris Cherny, the creator of Claude Code, notes, his grandfather was one of the first programmers in the Soviet Union, bringing stacks of punch cards home. These physical constraints shaped early programming paradigms, requiring a deep understanding of hardware.</p>



<p class="wp-block-paragraph">The emergence of assembly language and higher-level languages like COBOL marked a significant shift from hardware to software. This abstraction allowed programmers to focus on logic rather than the intricacies of machine code.</p>



<h4 class="wp-block-heading">The Text Editor Revolution (1970s-1990s)</h4>



<p class="wp-block-paragraph">The introduction of text editors revolutionized the programming workflow. Ed, the first text editor, was a simple yet transformative tool. As Cherny points out, Ed lacked many features we take for granted today, such as a cursor or scrollback. Yet, it represented a significant step forward from punch cards.</p>



<p class="wp-block-paragraph">Vim and Emacs, which came later, brought more advanced features and customization options. These text editors transformed programming workflows, allowing developers to write and edit code more efficiently.</p>



<h3 class="wp-block-heading">The Graphical Revolution in Programming</h3>



<p class="wp-block-paragraph">The advent of graphical user interfaces (GUIs) marked a turning point in the history of programming. GUIs made computing more accessible and intuitive, paving the way for modern development environments.</p>



<h4 class="wp-block-heading">Smalltalk-80: A Pioneering Achievement</h4>



<p class="wp-block-paragraph">Smalltalk-80 was a pioneering object-oriented programming environment that introduced the first graphical interface for programming. Developed in the late 1970s, Smalltalk-80 featured overlapping windows, integrated development tools, and live coding capabilities.</p>



<p class="wp-block-paragraph">One of Smalltalk-80&#8217;s most remarkable features was its live reload capability, which allowed developers to see changes in real-time. This innovation was ahead of its time, as modern development environments still struggle to achieve the same level of seamlessness.</p>



<h4 class="wp-block-heading">The IDE Evolution (1991-2020)</h4>



<p class="wp-block-paragraph">The introduction of Visual Basic in 1991 brought a graphical paradigm to mainstream programming. Visual Basic made it easier for developers to create applications with visual interfaces, opening up new possibilities for software development.</p>



<p class="wp-block-paragraph">Eclipse introduced type-ahead functionality, using static analysis to index symbols and provide intelligent code completion. This feature, along with Eclipse&#8217;s third-party ecosystem, transformed developer productivity. Modern IDEs provide features like syntax highlighting, code navigation, version control integration, and real-time error checking, all within a visually rich environment.</p>



<h3 class="wp-block-heading">The AI-Assisted Programming Era</h3>



<p class="wp-block-paragraph">The rise of AI has ushered in a new era of programming, where AI tools augment and enhance developer capabilities. AI-assisted programming promises to make software development more efficient, accessible, and innovative.</p>



<h4 class="wp-block-heading">The GitHub Copilot Breakthrough</h4>



<p class="wp-block-paragraph">GitHub Copilot marked a significant breakthrough in AI-assisted programming. By providing single-line and multi-line code completion, Copilot demonstrated the potential of AI to automate repetitive tasks and accelerate development workflows.</p>



<p class="wp-block-paragraph">Copilot&#8217;s impact lies in its ability to augment rather than replace developers. It assists with code generation, allowing developers to focus on higher-level tasks such as architecture and design.</p>



<h4 class="wp-block-heading">Claude Code&#8217;s Approach to AI Programming</h4>



<p class="wp-block-paragraph">Claude Code takes a unique approach to AI programming, emphasizing simplicity, flexibility, and integration with existing developer tools. Its terminal-first, unopinionated design philosophy aims to provide developers with low-level access to AI models without imposing rigid workflows.</p>



<p class="wp-block-paragraph">Claude Code offers multiple interaction modes, including terminal, IDE, and GitHub integration. This flexibility allows developers to use Claude Code in a way that suits their individual preferences and workflows. As Cherny states, the goal is to get out of the way and let developers experience the power of AI models directly.</p>



<h3 class="wp-block-heading">Best Practices for AI-Assisted Development</h3>



<p class="wp-block-paragraph">To maximize the benefits of AI-assisted development, it&#8217;s essential to adopt best practices for using tools like Claude Code. These practices focus on teaching the AI, leveraging plan mode, and using memory features effectively.</p>



<h4 class="wp-block-heading">Effective Use of Claude Code</h4>



<p class="wp-block-paragraph">To effectively use Claude Code, consider the following tips:</p>



<ul class="wp-block-list">
<li><strong>Teach tools to the AI:</strong> Provide Claude Code with access to your existing tools and libraries. This allows the AI to leverage your existing infrastructure and workflows.</li>



<li><strong>Leverage plan mode:</strong> Use plan mode to have Claude Code generate a plan before executing code. This allows you to review the AI&#8217;s proposed actions and provide feedback.</li>



<li><strong>Use memory features effectively:</strong> Claude Code&#8217;s memory features allow you to store and recall information, enabling the AI to learn from past interactions.</li>
</ul>



<h4 class="wp-block-heading">Test-Driven Development with AI</h4>



<p class="wp-block-paragraph">AI can transform traditional test-driven development (TDD) practices. By writing tests before implementation and using AI assistance for iterative development, you can improve code quality and reduce bugs.</p>



<ul class="wp-block-list">
<li><strong>Write tests before implementation:</strong> Use Claude Code to generate unit tests based on your requirements.</li>



<li><strong>Iterative development with AI assistance:</strong> Use Claude Code to generate code that passes your tests.</li>



<li><strong>Verification and validation strategies:</strong> Use AI to verify and validate your code, ensuring that it meets your requirements.</li>
</ul>



<h3 class="wp-block-heading">Future Trends and Implications</h3>



<p class="wp-block-paragraph">The future of programming is intertwined with the exponential growth of AI capabilities. As AI models become more powerful, the challenge lies in building products that can leverage their full potential.</p>



<h4 class="wp-block-heading">The Exponential Growth of AI Capabilities</h4>



<p class="wp-block-paragraph">AI models are improving at an exponential rate, outpacing the ability of product development to keep up. This creates a gap between what AI can do and what developers can achieve with existing tools.</p>



<p class="wp-block-paragraph">To prepare for future developments in AI-assisted programming, developers should focus on:</p>



<ul class="wp-block-list">
<li><strong>Multi-agent workflows:</strong> As AI becomes more capable, developers will need to manage multiple AI agents working in parallel.</li>



<li><strong>Memory and context management:</strong> AI models will need to remember and understand context over long periods of time.</li>



<li><strong>Integration with existing tools and practices:</strong> AI tools will need to integrate seamlessly with existing developer workflows.</li>
</ul>



<h3 class="wp-block-heading">Conclusion</h3>



<p class="wp-block-paragraph">The evolution of programming UX is a continuous journey, driven by technological innovation and a desire to make software development more accessible and efficient. AI-assisted programming represents the latest chapter in this evolution, promising to transform the way developers work.</p>



<p class="wp-block-paragraph">By embracing AI tools like Claude Code and adopting best practices for AI-assisted development, developers can unlock new levels of productivity and innovation. The future of programming is here, and it&#8217;s powered by AI.</p>



<p class="wp-block-paragraph"><strong>Keywords:</strong> Claude Code, AI Programming, Developer Experience, Programming UX, GitHub Copilot, IDE Evolution, Agentic Coding, Test-Driven Development, Software Development, Programming History, Boris Cherny, AI Tools, Code Automation, Developer Productivity, Programming Interfaces, AI-Assisted Development, Future of Programming</p>



<p class="wp-block-paragraph"></p>
<p>The post <a href="https://dyhr.com/2025/07/05/claude-code-the-evolution-of-agentic-coding/">Claude Code and the Evolution of Agentic Coding: AI-Powered Development</a> appeared first on <a href="https://dyhr.com">DYHR.COM</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dyhr.com/2025/07/05/claude-code-the-evolution-of-agentic-coding/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1606</post-id>	</item>
		<item>
		<title>Simplenote MCP Server: Add Memory to Claude AI Assistant</title>
		<link>https://dyhr.com/2025/06/27/give-claude-a-memory-introducing-the-simplenote-mcp-server/</link>
					<comments>https://dyhr.com/2025/06/27/give-claude-a-memory-introducing-the-simplenote-mcp-server/#respond</comments>
		
		<dc:creator><![CDATA[Claude Desktop]]></dc:creator>
		<pubDate>Thu, 26 Jun 2025 23:37:00 +0000</pubDate>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[Claude Desktop]]></category>
		<guid isPermaLink="false">https://dyhr.com/?p=1580</guid>

					<description><![CDATA[<p>Turn Claude into your personal knowledge assistant with the Simplenote MCP Server - a lightweight solution that bridges Claude Desktop with your Simplenote notes for persistent memory and seamless note management.</p>
<p>The post <a href="https://dyhr.com/2025/06/27/give-claude-a-memory-introducing-the-simplenote-mcp-server/">Simplenote MCP Server: Add Memory to Claude AI Assistant</a> appeared first on <a href="https://dyhr.com">DYHR.COM</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<figure class="wp-block-image aligncenter size-large is-resized"><img fetchpriority="high" decoding="async" width="1024" height="1024" data-attachment-id="1583" data-permalink="https://dyhr.com/2025/06/27/give-claude-a-memory-introducing-the-simplenote-mcp-server/logo/" data-orig-file="https://dyhr.com/wp-content/uploads/logo.png" data-orig-size="1024,1024" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}" data-image-title="logo" data-image-description="" data-image-caption="" data-large-file="https://dyhr.com/wp-content/uploads/logo.png" src="https://dyhr.com/wp-content/uploads/logo.png" alt="Simplenote MCP Server Logo" class="wp-image-1583" style="width:400px" srcset="https://dyhr.com/wp-content/uploads/logo.png 1024w, https://dyhr.com/wp-content/uploads/logo-300x300.png 300w, https://dyhr.com/wp-content/uploads/logo-150x150.png 150w, https://dyhr.com/wp-content/uploads/logo-768x768.png 768w" sizes="(max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">Your AI Assistant Just Got Smarter!</figcaption></figure>



<p class="has-large-font-size wp-block-paragraph">Ever wished Claude could remember that brilliant idea you discussed last Tuesday? Or access your project notes without copy-pasting walls of text? Well, grab your coffee ? because I&#8217;ve got something for you!</p>



<h2 class="wp-block-heading">The Problem: Claude&#8217;s Goldfish Memory ?</h2>



<p class="wp-block-paragraph">We&#8217;ve all been there. You&#8217;re deep in conversation with Claude about your project architecture, close the chat, come back later, and&#8230; <em>poof</em>. Starting from scratch. Again. It&#8217;s like explaining your entire codebase to a new developer every. single. time.</p>



<h2 class="wp-block-heading">The Solution: Simplenote + MCP = ?</h2>



<p class="wp-block-paragraph">The <a href="https://github.com/docdyhr/simplenote-mcp-server">Simplenote MCP Server</a> bridges Claude Desktop with your Simplenote account, turning your notes into Claude&#8217;s personal knowledge base. Think of it as giving Claude access to your second brain (without the embarrassing diary entries).</p>



<h2 class="wp-block-heading">Why You&#8217;ll Love It</h2>



<p class="wp-block-paragraph"><strong>? Hot Features:</strong></p>



<ul class="wp-block-list">
<li><strong>Full CRUD operations</strong> &#8211; Create, read, update, and delete notes directly through Claude</li>



<li><strong>Advanced search</strong> &#8211; Boolean operators, tag filters, date ranges (because <code>grep</code> is so last century)</li>



<li><strong>Lightning fast</strong> &#8211; In-memory caching with background sync</li>



<li><strong>Docker-ready</strong> &#8211; Because who has time for dependency hell?</li>



<li><strong>Security first</strong> &#8211; Token auth, non-root containers, the works</li>
</ul>



<p class="wp-block-paragraph"><strong>? Real Use Cases:</strong></p>



<pre class="wp-block-code"><code>"Claude, check my project-alpha notes for the API endpoints"
"Add this function to my code-snippets note with tag:python"
"Find all meeting notes from last week about the database migration"</code></pre>



<h2 class="wp-block-heading">Get Started in 30 Seconds</h2>



<p class="wp-block-paragraph"><strong>Option 1: Docker (The &#8220;I&#8217;ve Got Things To Do&#8221; Way)</strong></p>



<pre class="wp-block-code"><code>docker run -d \
  -e SIMPLENOTE_EMAIL=you@example.com \
  -e SIMPLENOTE_PASSWORD=your-password \
  -p 8000:8000 \
  docdyhr/simplenote-mcp-server:latest</code></pre>



<p class="wp-block-paragraph"><strong>Option 2: Smithery (The &#8220;One-Click Wonder&#8221;)</strong></p>



<pre class="wp-block-code"><code>npx -y @smithery/cli install @docdyhr/simplenote-mcp-server --client claude</code></pre>



<p class="wp-block-paragraph"><strong>Option 3: Traditional (The &#8220;I Like Control&#8221; Method)</strong></p>



<pre class="wp-block-code"><code>git clone https://github.com/docdyhr/simplenote-mcp-server.git
cd simplenote-mcp-server
pip install -e .</code></pre>



<h2 class="wp-block-heading">The Tech Behind the Magic</h2>



<p class="wp-block-paragraph">Built with the MCP Python SDK, this server implements the Model Context Protocol to give Claude superpowers. It&#8217;s production-ready with:</p>



<ul class="wp-block-list">
<li>Multi-platform Docker images (ARM64 + AMD64)</li>



<li>Kubernetes Helm charts for the cloud natives</li>



<li>CI/CD pipelines that would make your DevOps team weep with joy</li>



<li>Security scanning, container signing, and all the enterprise goodies</li>
</ul>



<h2 class="wp-block-heading">Join the Revolution</h2>



<p class="wp-block-paragraph">Stop treating Claude like a goldfish. Give it the memory it deserves!</p>



<p class="wp-block-paragraph">? <strong>Star the repo</strong>: <a href="https://github.com/docdyhr/simplenote-mcp-server">github.com/docdyhr/simplenote-mcp-server</a><br>  <strong>Report issues</strong>: We fix bugs faster than you can say &#8220;memory leak&#8221;<br> ? <strong>Contribute</strong>: PRs welcome! We have cookies (virtual ones)</p>



<p class="wp-block-paragraph">Ready to upgrade your Claude experience? Your future self will thank you when Claude remembers that obscure bash command you figured out three months ago.</p>



<p class="wp-block-paragraph"><em>Happy coding! ?</em></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p class="wp-block-paragraph">P.S. &#8211; Yes, it works with your 10,000 unorganized notes. I&#8217;ve tested it. Don&#8217;t ask how I know.</p>
<p>The post <a href="https://dyhr.com/2025/06/27/give-claude-a-memory-introducing-the-simplenote-mcp-server/">Simplenote MCP Server: Add Memory to Claude AI Assistant</a> appeared first on <a href="https://dyhr.com">DYHR.COM</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dyhr.com/2025/06/27/give-claude-a-memory-introducing-the-simplenote-mcp-server/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1580</post-id>	</item>
		<item>
		<title>The Future of Freedom</title>
		<link>https://dyhr.com/2015/03/12/the-future-of-freedom/</link>
					<comments>https://dyhr.com/2015/03/12/the-future-of-freedom/#respond</comments>
		
		<dc:creator><![CDATA[thomas]]></dc:creator>
		<pubDate>Thu, 12 Mar 2015 11:09:51 +0000</pubDate>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Law]]></category>
		<category><![CDATA[Politics]]></category>
		<guid isPermaLink="false">http://dyhr.com/?p=1221</guid>

					<description><![CDATA[<p>A Feature Interview with NSA Whistleblower William Binney Here you will find insights to the emergence of the global surveillance state! William E. Binney was a highly placed intelligence official with the United States National Security Agency (NSA) for more than 30 years. In this feature interview William Binney blows the whistle on NSA&#8217;s blatant wrong doings [&#8230;]</p>
<p>The post <a href="https://dyhr.com/2015/03/12/the-future-of-freedom/">The Future of Freedom</a> appeared first on <a href="https://dyhr.com">DYHR.COM</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><iframe src="https://www.youtube.com/embed/3owk7vEEOvs" width="560" height="315" frameborder="0" allowfullscreen="allowfullscreen"></iframe></p>
<p>A Feature Interview with NSA Whistleblower William Binney</p>
<p>Here you will find insights to the emergence of the global surveillance state!</p>
<p>William E. Binney was a highly placed intelligence official with the United States National Security Agency (NSA) for more than 30 years.</p>
<p>In this feature interview William Binney blows the whistle on NSA&#8217;s blatant wrong doings and disregard of US laws, the US constitution and international law. NSA apparently consistently lies to US congress about its doings. Absurdly NSA has their own secret interpretation of US data protection laws. NSA is according to William Binney in the process of building an empire based on curruption and secrecy.</p>
<p>People forget about history. Freedom is an enemy of a totalitarian state. Surveillance of everbody is a prime feature of a totalitarian state. It is the PR of totalitarian state that surveillance of everybody is for the public good, but in fact is about control of the general public. People living in East Germany under the Stasi regime remembers the surveillance state. According to William Binney they know because they are now living in a post-fascist state, but importantly they are talking about the US as a pre-fascist state.</p>
<p>Facts: NSA haven&#8217;t stopped a single terror attack on US soil with their collection of data. NSA have tap points on more or less all internet connections world wide. NSA capture daily meta and content data on hundred of millions of people in the US and Globally without any prof or indication of malice or wrong doings! Basicly no digital device, network or OS is secure now.</p>
<p>If you blow the whistle on NSA, they will come after you with everything the have. And this includes framing people wrongly if needed!</p>
<p>Nothing could be more wrong than the naive world view: &#8220;I have nothing to hide, so I have nothing to fear!&#8221;</p>
<p>The idea of the surveillance state is grotesque and goes against the very foundation of a democracy. People everywhere should be informed and they should be marching in the streets to protest this. This is about the future of freedom!</p>
<p>The post <a href="https://dyhr.com/2015/03/12/the-future-of-freedom/">The Future of Freedom</a> appeared first on <a href="https://dyhr.com">DYHR.COM</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dyhr.com/2015/03/12/the-future-of-freedom/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1221</post-id>	</item>
		<item>
		<title>Fight for Freedom on the Internet 2015</title>
		<link>https://dyhr.com/2014/12/30/fight-for-freedom-on-the-internet-2015/</link>
					<comments>https://dyhr.com/2014/12/30/fight-for-freedom-on-the-internet-2015/#respond</comments>
		
		<dc:creator><![CDATA[thomas]]></dc:creator>
		<pubDate>Tue, 30 Dec 2014 13:32:45 +0000</pubDate>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[Internet]]></category>
		<guid isPermaLink="false">http://dyhr.com/?p=1195</guid>

					<description><![CDATA[<p>For the People it is all about freedom. For the people in power it is all about control. Campaign #Fight4Internet2015 #ContraSurveillanceState #FreeInternet with #Tor and #OTR United Nations Declaration of Human Rights Article 12. • No one shall be subjected to arbitrary interference with his privacy, family, home or correspondence, nor to attacks upon his [&#8230;]</p>
<p>The post <a href="https://dyhr.com/2014/12/30/fight-for-freedom-on-the-internet-2015/">Fight for Freedom on the Internet 2015</a> appeared first on <a href="https://dyhr.com">DYHR.COM</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>For the People it is all about freedom. For the people in power it is all about control.</p>
<p>Campaign #Fight4Internet2015 #ContraSurveillanceState #FreeInternet with #Tor and #OTR</p>
<p><a href="http://www.un.org/en/documents/udhr/index.shtml/">United Nations Declaration of Human Rights</a></p>
<p>Article 12.<br />
• No one shall be subjected to arbitrary interference with his privacy, family, home or correspondence, nor to attacks upon his honour and reputation. Everyone has the right to the protection of the law against such interference or attacks.</p>
<p>Article 19.<br />
• Everyone has the right to freedom of opinion and expression; this right includes freedom to hold opinions without interference and to seek, receive and impart information and ideas through any media and regardless of frontiers.</p>
<p>Freedom online is not something you can take for granted &#8211; it is something you have to fight for in 2015!</p>
<p>The current state of <a href="http://gilc.org/privacy/survey/intro.html">PRIVACY AND HUMAN RIGHTS</a> on the Internet.</p>
<p>You can reclaim your privacy, anonymity, and freedom of speech online with apps like:</p>
<p><a href="https://www.torproject.org">TorBrowser</a> &#8211; browse anonymously everywhere on the web<br />
<a href="https://www.pidgin.im">pidgin</a> &#8211; chat anonymously<br />
<a href="https://adium.im">Adium</a> &#8211; chat anonymously (Mac)<br />
<a href="http://anomos.info">Anomos</a> &#8211; download torrents anonymously</p>
<p>Links:<br />
<a href="https://ssd.eff.org">Tips, Tools and How-tos for Safer Online Communications</a> eff.org<br />
<a href="http://www.theguardian.com/commentisfree/2014/dec/11/guardian-view-freedom-internet-under-attack-around-world">The Guardian view on the freedom of the internet: it&#8217;s under attack around the world</a> The Guardian, Thursday 11 December 2014<br />
<a href="https://www.youtube.com/watch?v=IWjzT2l5C34#t=69">Hubertus Knabe: The dark secrets of a surveillance state</a> youtube.com ( about Stasi in DDR )<br />
<a href="http://www.spiegel.de/international/germany/inside-the-nsa-s-war-on-internet-security-a-1010361.html">Inside the NSA&#8217;s War on Internet Security</a> Der Spiegel</p>
<p><a href="http://media.ccc.de/browse/congress/2014/31c3_-_6258_-_en_-_saal_1_-_201412282030_-_reconstructing_narratives_-_jacob_-_laura_poitras.html#video&amp;t=173">Reconstructing narratives &#8211; transparency in the service of justice</a> 30. December 2014 by Jacob Appelbaum &amp; Luara Poitras  Chaos Computer Club</p>
<p>&nbsp;</p>
<p>The post <a href="https://dyhr.com/2014/12/30/fight-for-freedom-on-the-internet-2015/">Fight for Freedom on the Internet 2015</a> appeared first on <a href="https://dyhr.com">DYHR.COM</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dyhr.com/2014/12/30/fight-for-freedom-on-the-internet-2015/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1195</post-id>	</item>
		<item>
		<title>Advanced Bash-Scripting Guide</title>
		<link>https://dyhr.com/2013/11/27/advanced-bash-scripting-guide/</link>
					<comments>https://dyhr.com/2013/11/27/advanced-bash-scripting-guide/#respond</comments>
		
		<dc:creator><![CDATA[thomas]]></dc:creator>
		<pubDate>Wed, 27 Nov 2013 09:31:30 +0000</pubDate>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[bsd]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[shell script]]></category>
		<category><![CDATA[unix]]></category>
		<guid isPermaLink="false">http://dyhr.com/?p=1002</guid>

					<description><![CDATA[<p>An in-depth exploration of the art of shell scripting Mendel Cooper &#60;thegrendel.abs@gmail.com&#62; This tutorial assumes no previous knowledge of scripting or programming, but progresses rapidly toward an intermediate/advanced level of instruction . . . all the while sneaking in little nuggets of UNIX® wisdom and lore. It serves as a textbook, a manual for self-study, and as [&#8230;]</p>
<p>The post <a href="https://dyhr.com/2013/11/27/advanced-bash-scripting-guide/">Advanced Bash-Scripting Guide</a> appeared first on <a href="https://dyhr.com">DYHR.COM</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>An in-depth exploration of the art of shell scripting</h1>
<h3><a name="AEN5"></a>Mendel Cooper</h3>
<div><tt>&lt;<a href="mailto:thegrendel.abs@gmail.com">thegrendel.abs@gmail.com</a>&gt;</tt></div>
<div></div>
<div>
<p>This tutorial assumes no previous knowledge of scripting or programming, but progresses rapidly toward an intermediate/advanced level of instruction <em>. . . all the while sneaking in little nuggets of UNIX® wisdom and lore</em>. It serves as a textbook, a manual for self-study, and as a reference and source of knowledge on shell scripting techniques. The exercises and heavily-commented examples invite active reader participation, under the premise that <tt><b>the only way to really learn scripting is to write scripts</b></tt>.</p>
<p>This book is suitable for classroom use as a general introduction to programming concepts.</p>
<p><a href="http://dyhr.com/unix/abs-guide/">Advanced Bash-Scripting Guide</a> dyhr.com<br />
<a href="https://freecode.com/projects/advancedbashscriptingguide">Advanced Bash-Scripting Guide</a> freecode.org (original)</p>
</div>
<p>The post <a href="https://dyhr.com/2013/11/27/advanced-bash-scripting-guide/">Advanced Bash-Scripting Guide</a> appeared first on <a href="https://dyhr.com">DYHR.COM</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dyhr.com/2013/11/27/advanced-bash-scripting-guide/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">1002</post-id>	</item>
		<item>
		<title>My Mac OS X Desktop icon&#8217;s Disappeared</title>
		<link>https://dyhr.com/2013/11/24/my-mac-os-x-desktop-icons-disappeared/</link>
					<comments>https://dyhr.com/2013/11/24/my-mac-os-x-desktop-icons-disappeared/#respond</comments>
		
		<dc:creator><![CDATA[thomas]]></dc:creator>
		<pubDate>Sun, 24 Nov 2013 13:47:29 +0000</pubDate>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[icon]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<guid isPermaLink="false">http://dyhr.com/?p=994</guid>

					<description><![CDATA[<p>Today suddenly all icon&#8217;s on my Mac OS X Desktop disappeared or went missing and showed only the default icons. When I opened the Console app and searched for the icon process I saw messages like this: 24/11/13 13.36.30,122 com.apple.IconServicesAgent[262]: main Failed to composit image for binding VariantBinding [0x34b] flags: 0x8 binding: FileInfoBinding [0x253] - [&#8230;]</p>
<p>The post <a href="https://dyhr.com/2013/11/24/my-mac-os-x-desktop-icons-disappeared/">My Mac OS X Desktop icon&#8217;s Disappeared</a> appeared first on <a href="https://dyhr.com">DYHR.COM</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Today suddenly all icon&#8217;s on my Mac OS X Desktop disappeared or went missing and showed only the default icons. When I opened the Console app and searched for the icon process I saw messages like this:</p>
<pre>24/11/13 13.36.30,122 com.apple.IconServicesAgent[262]: main Failed to composit image for binding VariantBinding [0x34b] flags: 0x8 binding: FileInfoBinding [0x253] - extension: jpg, UTI: public.jpeg, fileType: ????.</pre>
<p>Ahh&#8230;. it&#8217;s the  &#8220;com.apple.IconServicesAgent&#8221; who is the culprit.</p>
<p>Well, I just removed the &#8220;Finder&#8221; preference file in my home folder and restarted Finder.</p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;">$ rm ~/Library/Preferences/com.apple.finder.plist; sudo killall -v Finder</pre>
<p>&nbsp;</p>
<p>The post <a href="https://dyhr.com/2013/11/24/my-mac-os-x-desktop-icons-disappeared/">My Mac OS X Desktop icon&#8217;s Disappeared</a> appeared first on <a href="https://dyhr.com">DYHR.COM</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dyhr.com/2013/11/24/my-mac-os-x-desktop-icons-disappeared/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">994</post-id>	</item>
		<item>
		<title>How to install Lubuntu Server on Cubietruck from Mac OS X</title>
		<link>https://dyhr.com/2013/11/22/how-to-install-lubuntu-server-on-cubietruck-from-mac-os-x/</link>
					<comments>https://dyhr.com/2013/11/22/how-to-install-lubuntu-server-on-cubietruck-from-mac-os-x/#comments</comments>
		
		<dc:creator><![CDATA[thomas]]></dc:creator>
		<pubDate>Fri, 22 Nov 2013 09:52:01 +0000</pubDate>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[cubieboard]]></category>
		<guid isPermaLink="false">http://dyhr.com/?p=947</guid>

					<description><![CDATA[<p>This is how to install and set-up the latest Lubuntu software pack on to the NAND Flash on the Cubietruck  from a Mac OS X computer. Cubietruck The Cubietruck is a 5V 2A single-board computer &#8220;SBC&#8221; / PC on Board &#8220;PCB&#8221; &#8211; much like the Raspberry Pi that has taken the World with a craze &#8211; but the Cubietruck is just faster, [&#8230;]</p>
<p>The post <a href="https://dyhr.com/2013/11/22/how-to-install-lubuntu-server-on-cubietruck-from-mac-os-x/">How to install Lubuntu Server on Cubietruck from Mac OS X</a> appeared first on <a href="https://dyhr.com">DYHR.COM</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>This is how to install and set-up the latest <a href="http://en.wikipedia.org/wiki/Lubuntu">Lubuntu</a> software pack on to the NAND Flash on the <a href="http://cubieboard.org/2013/10/30/cubieboard3-cubietruck-is-all-ready/">Cubietruck</a>  from a Mac OS X computer.</p>
<p><a href="http://dyhr.com/wp-content/uploads/mac_cubietruck.jpg"><img decoding="async" data-attachment-id="1009" data-permalink="https://dyhr.com/2013/11/22/how-to-install-lubuntu-server-on-cubietruck-from-mac-os-x/mac_cubietruck/" data-orig-file="https://dyhr.com/wp-content/uploads/mac_cubietruck.jpg" data-orig-size="2450,1645" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;2.4&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPad&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1384380009&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.28&quot;,&quot;iso&quot;:&quot;160&quot;,&quot;shutter_speed&quot;:&quot;0.066666666666667&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="mac_cubietruck" data-image-description="" data-image-caption="" data-large-file="https://dyhr.com/wp-content/uploads/mac_cubietruck-1024x687.jpg" class="size-medium wp-image-1009 alignright" alt="mac_cubietruck" src="http://dyhr.com/wp-content/uploads/mac_cubietruck-300x201.jpg" width="300" height="201" srcset="https://dyhr.com/wp-content/uploads/mac_cubietruck-300x201.jpg 300w, https://dyhr.com/wp-content/uploads/mac_cubietruck-1024x687.jpg 1024w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<h3>Cubietruck</h3>
<p>The Cubietruck is a 5V 2A <a href="http://en.wikipedia.org/wiki/Single-board_computer">single-board computer</a> &#8220;SBC&#8221; / PC on Board &#8220;PCB&#8221; &#8211; much like the <a href="http://en.wikipedia.org/wiki/Raspberry_Pi">Raspberry Pi</a> that has taken the World with a craze &#8211; but the Cubietruck is just faster, better and stronger..  In realty <a href="http://cubieboard.org/2013/10/30/cubieboard3-cubietruck-is-all-ready/">Cubietruck</a> is more like a real <a href="http://en.wikipedia.org/wiki/Mini_PC">Mini PC</a>.</p>
<p>The Cubietruck is based on the dual core Cortex-A7 (912MHz each) <a href="http://en.wikipedia.org/wiki/ARM_architecture">ARM</a>  <a href="http://en.wikipedia.org/wiki/Allwinner_A20">Allwinner</a>  CPU with 2 GB Ram. Cubietruck has 8 <abbr title="Gigabyte">GB</abbr> onboard bootable NAND flash memory and it is expandable with a micro sdcard up to 32GB. You can connect a monitor/TV via the VGA or HDMI interface. The Cubietruck comes equipped with both Wifi and Bluetooth, Gigabit Ethernet, 2 USB 2.0, 1 Micro USB, OTG, SPDIF, IR, and Headphone. You can easily add a and fit a 2.5 inch Hard Disk Drive to the Cubietruck out the box. Power?DC5V @ 2.5A with HDD and support Li-battery &amp; Real Time Clock &#8220;RTC&#8221;.</p>
<p>The Cubitruck was released for sale on the 31th. of October 2013 from <a href="http://cubieboard.org/">cubieboard.org</a>.</p>
<h3>Supported Operative Systems  &#8220;OS&#8221;:</h3>
<ul>
<li>Android</li>
<li>Fedora</li>
<li>Lubuntu</li>
<li>Lbuntu Server</li>
</ul>
<p>BTW: I look forward to an Arch Linux distro for Cubietruck ( you can check <a href="http://archlinuxarm.org/platforms/armv7/allwinner">here</a>: )!</p>
<p>The Cubietruck comes with Android preinstalled on the NAND &#8211; and it works out the box. Cubietruck looks after a bootable OS on the Micro SDcard before it boots from the NAND flash memory.</p>
<p>There are 3 different ways to install and run Lubuntu on the Cubietruck:</p>
<ol>
<li><a href="http://en.wikipedia.org/wiki/NAND_flash#NAND_memories">NAND flash</a></li>
<li><a href="http://en.wikipedia.org/wiki/Micro_SD">Micro SD</a> card</li>
<li><a href="http://en.wikipedia.org/wiki/Hard_disk_drive">2.5 HHD</a> / <a href="http://en.wikipedia.org/wiki/SSD">SSD</a> ( or a 3.5 HHD with an external power supply )</li>
</ol>
<h2>1. NAND Installation of the Lubuntu Server</h2>
<p>You need this in advance:</p>
<ul>
<li>A Mac running a newer version of OS X with access to the Internet. I am doing this from a MacBook Pro Retina running OS X version 10.9 Mavericks.</li>
<li>An assembled Cubietruck with incl. cables with 2.5 HHD</li>
<li>USB Power supply 5v 2/2.5A.</li>
<li>An ethernet Internet connection.</li>
</ul>
<h3>Get the software</h3>
<p>Download and install the LiveSuit NAND installer in your app folder: <a href="http://ubuntuone.com/7GLnElgM41yoGLZfRKxXzk">LiveSuit_ForMac.zip</a></p>
<p>Download the latest Lubuntu NAND image for Cubietruck: <a href="http://docs.cubieboard.org/tutorials/a20-cubietruck_lubuntu_desktop_releases">Cubietruck Lubuntu Desktop Releases</a> or <a href="http://docs.cubieboard.org/tutorials/a20-cubietruck_lubuntu_server_releases">A20-Cubietruck Lubuntu Server Releases</a></p>
<p>Connect the mini USB to your mac (mac only).</p>
<p>Open LiveSuit and Select the downloaded Lubuntu NAND image (.img)</p>
<p><b><a href="http://dyhr.com/wp-content/uploads/Cubietruck_FEL_button.jpg"><img loading="lazy" decoding="async" data-attachment-id="1022" data-permalink="https://dyhr.com/2013/11/22/how-to-install-lubuntu-server-on-cubietruck-from-mac-os-x/cubietruck_fel_button/" data-orig-file="https://dyhr.com/wp-content/uploads/Cubietruck_FEL_button.jpg" data-orig-size="2592,1936" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;2.8&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 4&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1385916579&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;3.85&quot;,&quot;iso&quot;:&quot;400&quot;,&quot;shutter_speed&quot;:&quot;0.066666666666667&quot;,&quot;title&quot;:&quot;&quot;}" data-image-title="Cubietruck_FEL_button" data-image-description="" data-image-caption="" data-large-file="https://dyhr.com/wp-content/uploads/Cubietruck_FEL_button-1024x764.jpg" class="size-medium wp-image-1022 alignright" alt="Cubietruck_FEL_button" src="http://dyhr.com/wp-content/uploads/Cubietruck_FEL_button-300x224.jpg" width="300" height="224" srcset="https://dyhr.com/wp-content/uploads/Cubietruck_FEL_button-300x224.jpg 300w, https://dyhr.com/wp-content/uploads/Cubietruck_FEL_button-1024x764.jpg 1024w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a>Enter FEL Mode</b></p>
<ol>
<li>Press FEL key and hold it in</li>
<li>Plug in mini usb cable to the Cubietruck and wait for the prompt</li>
<li>Release FEL key</li>
</ol>
<p><b>Flash to Board</b></p>
<p>When you see the prompt, you have entered FEL mode. Select Yes to continue.</p>
<p>That&#8217;s it!</p>
<h2><b>2. Customizing</b></h2>
<p><b>Changing Boot Parameters</b></p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># mount /dev/nanda /mnt</pre>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># vi /mnt/uEnv.txt</pre>
<p>Change it as you want!</p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># umount /mnt</pre>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># sync</pre>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># reboot</pre>
<h2>Update Lubuntu Sever</h2>
<p>Normally its good practice to update and upgrade your system to the latest version.</p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># apt-get update; apt-get upgrade</pre>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># apt-get install python-apt</pre>
<p>NB! You need to install the python-apt package to use do-release-upgrade.</p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># do-release-upgrade</pre>
<h2>Modify System Files</h2>
<p>To change your local <strong>timezone</strong>, you need to edit the file /etc/timezone.</p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># ls /usr/share/zoneinfo</pre>
<p>Ex.:  &#8220;Europe/Copenhagen&#8221;</p>
<p>Remove your old timezone link and make a new one.</p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># rm /etc/localtime</pre>
<p>You can now create a symlink to the appropriate timezone information.</p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># ln -s /usr/share/zoneinfo/Europe/Copenhagen /etc/localtime</pre>
<p>Change <strong>timezone</strong> ex. &#8220;Europe/Copenhagen&#8221;.</p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># nano /etc/timezone</pre>
<p>( Use CTRL-x to exit, hit Y to save the file in nano. )</p>
<p>Change <strong>hostname</strong> /etc/hostname and the <strong>hosts</strong> file /etc/hosts .</p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># nano /etc/hostname</pre>
<pre>cubietruck</pre>
<p>Change &#8220;Cubietruck&#8221; to the name you have in mind. I like cubietruck, so I keep it! <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Edit the /etc/hosts file to reflect the hostname.</p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># nano /etc/hosts</pre>
<p>Modify the line of the file to read:</p>
<pre>127.0.0.1 localhost</pre>
<pre>127.0.1.1 yourhostname</pre>
<p>If not already so replacing your hostname with the name you put in /etc/hostname.</p>
<h2>Mac OS X specific linux software &amp; daemons</h2>
<p>In order for your Mac&#8217;s to automatically see and discover services on your Cubietruck it is convenient to install Apple&#8217;s zero conf network service &#8220;Bonjour&#8221; or &#8220;Rendezvous&#8221; and Netatalk AFP</p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;">#apt-get install avahi-daemon</pre>
<p>You can verify the install of Bonjour on Cubietruck in your with ping on your Terminal App on your Mac OS X computer.</p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># ping cubietruck.local</pre>
<p>If you want to connect you Cubietruck with Apple&#8217;s file service AFP &#8220;AppleTalk&#8221; so your Cubietruck automatically shows up in Finder, you need to install the open source version <a href="http://en.wikipedia.org/wiki/Netatalk">Netatalk</a>.</p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;">#apt-get install netatalk</pre>
<p>You will find the Netatalk config files in /etc/netatalk.</p>
<h2>Security</h2>
<p>Its good practice to change the root password straight away.</p>
<p>NB! You should also remove the default user linaro and and disable ssh for root.</p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># passwd</pre>
<p>Create a new regular user :</p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># adduser</pre>
<p>Follow the prompts; use whatever username you&#8217;d like to log in. The next available UID is fine. Use the default users as the initial group.</p>
<p>Add the user to the Super User Do list.</p>
<p>Logout, and relogin as the regular user:</p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># logout</pre>
<pre>login: newuser
password: yourpassword</pre>
<h2><b>3. Moving Rootfs From Nandflash To Hard Drive</b></h2>
<p><b>Installation</b></p>
<p><b>Prepeare the drive for rootfs</b></p>
<p>Th drive must have a primary partition formated with filesystem &#8220;ext4&#8221;. You can use the Linaro user interface DISK app, gparted or use the following shell commands to partition your HDD.</p>
<p>List all available drives:</p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># fdisk -l</pre>
<p>Choose the drive you want to make changes to (e.g. sda):</p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># fdisk /dev/sda</pre>
<p>Use &#8220;p&#8221; (print partition of a drive), &#8220;d&#8221; deletea partition or &#8220;n&#8221; (create new partition). The partition should be of type &#8220;83&#8221;.</p>
<p>Format the partition for rootfs with EXT4 filesystem:</p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># mkfs.ext4 /dev/sda1</pre>
<p><b>Copying Rootfs</b></p>
<p>Assuming that /dev/sda is the hard drive we want to install.</p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;">$ sudo su - root</pre>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># dd if=/dev/nandb of=/dev/sda1 bs=1M</pre>
<p><b>Changing Boot Parameters</b></p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;">$ sudo su - root</pre>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># mount /dev/nanda /mnt</pre>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># nano /mnt/uEnv.txt</pre>
<pre>root@cubietruck:~
console=tty0

extraargs=console=ttyS0,115200 hdmi.audio=EDID:0 disp.screen0_output_mode=EDID:1280x720p50 rootwait panic=10 rootfstype=ext4 rootflags=discard

nand_root=/dev/nandb</pre>
<p>Change the contents of uEnv.txt  from &#8220;nand_root=/dev/<strong>nandb</strong>&#8221; to &#8220;nand_root=/dev/<strong>sda1</strong>&#8220;. And check the changes with cat command.</p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># cat /mnt/uEnv.txt</pre>
<p>Unmount the partition.</p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># umount /mnt</pre>
<p>Flush the file system buffers with sync.</p>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># sync</pre>
<pre style="font: normal normal normal 12px/normal Monaco, sans-serif; margin-top: 20px; margin-right: 10px; margin-bottom: 20px; margin-left: 10px; background-color: #eeeeff; overflow-x: auto; white-space: pre-wrap; word-wrap: break-word; padding: 0.4em; border: 1px solid #dddddd;"># reboot</pre>
<p>That&#8217;s it!</p>
<h2>References:</h2>
<p><a href="http://cubieboard.org/2013/10/30/cubieboard3-cubietruck-is-all-ready/">Cubieboard3: Cubietruck is all ready</a> with links software etc. cubieboard.org<br />
<a href="http://docs.cubieboard.org/tutorials/common/livesuit_installation_guide">LiveSuit Guide</a> cubieboard.org<br />
<a href="http://docs.cubieboard.org/tutorials/ct1/installation/moving_rootfs_from_nandflash_to_hard_drive">Moving Rootfs From Nandflash To Hard Drive</a> cubieboard.org<br />
<a href="http://docs.cubieboard.org/tutorials/cb3/start">Tutorials for Cubietruck</a> cubieboard.org<br />
<a href="http://docs.cubieboard.org/faq/faqs">FAQ</a> specs and faq&#8217;s cubieboard.org<br />
<a href="http://linux-sunxi.org/A20-Cubietruck">A20-Cubietruck</a> specs from SUNXI<br />
<a href="http://www.cubieforums.com">Cubieforum</a> for Q&amp;A&#8217;s</p>
<h2>Linux:</h2>
<p><a href="http://debian-handbook.info/">The Debian Administrator&#8217;s Handbook</a> by Raphaël Hertzog and Roland Mas<br />
<a href="http://www.lubuntu.net">www.lubuntu.net</a><br />
<a href="http://www.ubuntu.com">www.ubuntu.com</a><br />
<a href="https://one.ubuntu.com">manpages.ubuntu.com</a><br />
<a href="http://www.techrepublic.com/blog/linux-and-open-source/how-to-use-logical-volume-manager-lvm-to-grow-etx4-file-systems-online/3016/">How to use Logical Volume Manager (LVM) to grow etx4 file systems online</a> techrepublic.com</p>
<p><a title="Click to do a full-text search for this title" href="https://help.ubuntu.com/community/InstallingANewHardDrive?action=fullsearch&amp;value=linkto%3A%22InstallingANewHardDrive%22&amp;context=180" rel="nofollow">InstallingANewHardDrive</a> &#8211; Installing a new HHD, help.ubuntu.com</p>
<p>The post <a href="https://dyhr.com/2013/11/22/how-to-install-lubuntu-server-on-cubietruck-from-mac-os-x/">How to install Lubuntu Server on Cubietruck from Mac OS X</a> appeared first on <a href="https://dyhr.com">DYHR.COM</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dyhr.com/2013/11/22/how-to-install-lubuntu-server-on-cubietruck-from-mac-os-x/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">947</post-id>	</item>
		<item>
		<title>Hounding of Snowden must stop</title>
		<link>https://dyhr.com/2013/07/12/hounding-of-snowden-must-stop/</link>
					<comments>https://dyhr.com/2013/07/12/hounding-of-snowden-must-stop/#comments</comments>
		
		<dc:creator><![CDATA[thomas]]></dc:creator>
		<pubDate>Fri, 12 Jul 2013 20:06:56 +0000</pubDate>
				<category><![CDATA[Computer]]></category>
		<category><![CDATA[Law]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[asylum]]></category>
		<category><![CDATA[NSA]]></category>
		<category><![CDATA[privacy]]></category>
		<guid isPermaLink="false">http://dyhr.com/?p=918</guid>

					<description><![CDATA[<p>Amnesty International meets US whistleblower Edward Snowden www.amnesty.org Right of asylum wikipedia.org</p>
<p>The post <a href="https://dyhr.com/2013/07/12/hounding-of-snowden-must-stop/">Hounding of Snowden must stop</a> appeared first on <a href="https://dyhr.com">DYHR.COM</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><iframe loading="lazy" width="400" height="225" src="//www.youtube.com/embed/maQayWGAwxM" frameborder="0" allowfullscreen></iframe></p>
<p><a href="http://www.amnesty.org/en/news/amnesty-international-meets-us-whistleblower-edward-snowden-2013-07-12">Amnesty International meets US whistleblower Edward Snowden</a> www.amnesty.org</p>
<p><a href="http://en.wikipedia.org/wiki/Right_of_asylum">Right of asylum</a> wikipedia.org</p>
<p>The post <a href="https://dyhr.com/2013/07/12/hounding-of-snowden-must-stop/">Hounding of Snowden must stop</a> appeared first on <a href="https://dyhr.com">DYHR.COM</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://dyhr.com/2013/07/12/hounding-of-snowden-must-stop/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">918</post-id>	</item>
	</channel>
</rss>

<!--
Object Caching 34/125 objects using Disk
Page Caching using Disk: Enhanced 

Served from: dyhr.com @ 2026-10-02 07:49:21 by W3 Total Cache
-->