<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: jodoherty</title><link>https://news.ycombinator.com/user?id=jodoherty</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 17 Apr 2026 20:38:43 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jodoherty" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jodoherty in "WinApps: Run Windows apps as if they were a part of the native Linux OS"]]></title><description><![CDATA[
<p>The container is a Linux container running a virtual machine inside.<p>WinApps needs a Windows RDP server to work. Most of the functionality doesn't care where that Windows RDP server is actually running as long as its FreeRDP client can connect to it. The container or libvirt VM options are just ways to accomplish that via virtualization.<p>I imagine the container part makes it easier to automate QEMU virtualization using bash scripting without worrying about distribution specific differences in the environment. These kinds of scripts become fairly ossified to their environment. Making them run consistently on different Linux distributions is its own adventure unrelated to installing and running Windows, so the containerization eliminates the need for a lot more bash scripting to account for those differences.<p>The container's bash scripts download the Windows installer ISOs and run them in an unattended mode inside a QEMU VM. The unattended installation is configured to skip activation:<p>- <a href="https://github.com/dockur/windows/blob/c7aac1edcf37a69ff730d0b4f073d16580a27763/src/entry.sh#L34" rel="nofollow">https://github.com/dockur/windows/blob/c7aac1edcf37a69ff730d...</a><p>- <a href="https://github.com/dockur/windows/blob/c7aac1edcf37a69ff730d0b4f073d16580a27763/src/define.sh#L723-L792" rel="nofollow">https://github.com/dockur/windows/blob/c7aac1edcf37a69ff730d...</a><p>- <a href="https://github.com/dockur/windows/blob/c7aac1edcf37a69ff730d0b4f073d16580a27763/assets/win11x64.xml#L126" rel="nofollow">https://github.com/dockur/windows/blob/c7aac1edcf37a69ff730d...</a><p>Once the container is running, WinApps configures RDP via some scripts and registry settings exposed into the container via a volume so the container's scripts can copy and run them in the Windows VM:<p>- <a href="https://github.com/winapps-org/winapps/blob/b4766336903d0cbe768d2ca7e8bb4b8a5951d0f2/compose.yaml#L37" rel="nofollow">https://github.com/winapps-org/winapps/blob/b4766336903d0cbe...</a><p>- <a href="https://github.com/winapps-org/winapps/blob/main/oem/RDPApps.reg" rel="nofollow">https://github.com/winapps-org/winapps/blob/main/oem/RDPApps...</a><p>You can do it all yourself too with your own libvirt VM, but it's just more involved:<p>- <a href="https://github.com/winapps-org/winapps/blob/main/docs/libvirt.md" rel="nofollow">https://github.com/winapps-org/winapps/blob/main/docs/libvir...</a><p>I haven't seen any of this before, but I think it's a pretty clever use of scripting and containers on top of some fairly mature but hard to use pieces of software.</p>
]]></description><pubDate>Sat, 29 Nov 2025 12:29:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=46087036</link><dc:creator>jodoherty</dc:creator><comments>https://news.ycombinator.com/item?id=46087036</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46087036</guid></item><item><title><![CDATA[New comment by jodoherty in "Don't force your kids to do math"]]></title><description><![CDATA[
<p>I worry too. American consumer credit card debt sounds like it's rising pretty quickly, and many people I talk to have a lack of free will and carry a sense of unfairness in the system they live in.<p>However, people can also adapt pretty quickly.<p>Those grocery shopping "optimization" skills are making a big come back (and have been since Covid). There are plenty of YouTube and TikTok videos popularizing how to get more out of their grocery hauls.<p>Lots of people are also learning how to budget, how to invest, etc. and sharing their excitement about it too. For some folks, they finally learn this stuff in their 40s and 50s, but there are also a lot of young adults learning these skills thanks to the Internet.<p>So I also have hope.<p>I just don't think the lack of basic math and budgeting skills displayed by average consumers are a problem so much as a symptom.</p>
]]></description><pubDate>Sun, 20 Apr 2025 16:13:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=43744692</link><dc:creator>jodoherty</dc:creator><comments>https://news.ycombinator.com/item?id=43744692</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43744692</guid></item><item><title><![CDATA[New comment by jodoherty in "Don't force your kids to do math"]]></title><description><![CDATA[
<p>I think most people don't care about optimizing an extra $10 out of their weekly grocery run.<p>Probably a better example is figuring out the cost of a loan. Just multiply the amortized monthly payment by the term and compare that to the loan amount. If the difference makes you balk, then go ahead and walk.<p>How many people even realize that loan interest is a significant cost and would bother to do that? Or know how to do that? Most people just try to minimize monthly payments to something they can bear and sign the paperwork.</p>
]]></description><pubDate>Sun, 20 Apr 2025 03:50:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=43741403</link><dc:creator>jodoherty</dc:creator><comments>https://news.ycombinator.com/item?id=43741403</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43741403</guid></item><item><title><![CDATA[New comment by jodoherty in "Don't force your kids to do math"]]></title><description><![CDATA[
<p>One of my undergrad degrees is in math. As you study it, you learn to identify your assumptions (axioms), find or build interesting abstractions, prove properties about them (theorems), and then map all sorts of other things into those abstractions by figuring out that they're really the same thing. It's even more interesting when you start to find things that are different or question things you always took for granted.<p>Math gives you the ability to leverage the very structure and relationships of pure abstraction. It's quite the super power.<p>None of the specific things you learn studying math will be nearly as useful as the ability to think mathematically.</p>
]]></description><pubDate>Sun, 20 Apr 2025 03:27:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=43741314</link><dc:creator>jodoherty</dc:creator><comments>https://news.ycombinator.com/item?id=43741314</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43741314</guid></item><item><title><![CDATA[New comment by jodoherty in "Why Drinking Coffee in Iran Has Become So Complicated"]]></title><description><![CDATA[
<p>I would hesitate to judge based on what's "easy to type" on the keyboard in front of me.<p>A lot of editing tools and processes automatically converting `--` to `—`, so folks editing markdown or using a Word processor might get the emdash automatically. Similar things are often done for matching double quotes. I wouldn't be surprised if quite a few WYSIWYG CMS systems do this conversion too.<p>There are also a lot of input methods that make it trivial to write special characters.<p>Apple famously uses the Alt/Option key to make inputting a lot of special characters simple. Look at any place that does a lot of writing and publishing, and you're bound to see a lot of Macs.<p>On Windows, you can memorize and input code points pretty easily as well if you have a number pad. Just hold Alt and punch in the 4-digit character code.<p>I hop platforms a lot, so I commonly use digraphs with Ctrl+K in VIM, or TeX input in Emacs to insert unicode characters. I'll also use `Ctrl+x 8 <RET>` to insert characters by name in Emacs when I need to search for something specific.</p>
]]></description><pubDate>Sat, 19 Apr 2025 19:09:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=43738672</link><dc:creator>jodoherty</dc:creator><comments>https://news.ycombinator.com/item?id=43738672</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43738672</guid></item><item><title><![CDATA[New comment by jodoherty in "Show HN: We built a Plug-in Home Battery for the 99.7% of us without Powerwalls"]]></title><description><![CDATA[
<p>That makes sense. Mine runs every few minutes sometimes in heavy rain.</p>
]]></description><pubDate>Wed, 12 Mar 2025 23:45:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=43348902</link><dc:creator>jodoherty</dc:creator><comments>https://news.ycombinator.com/item?id=43348902</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43348902</guid></item><item><title><![CDATA[New comment by jodoherty in "Show HN: We built a Plug-in Home Battery for the 99.7% of us without Powerwalls"]]></title><description><![CDATA[
<p>Thanks for the suggestion. It looks like 100Ah LiFePo4 batteries are pretty easy to find too.</p>
]]></description><pubDate>Wed, 12 Mar 2025 01:40:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=43339124</link><dc:creator>jodoherty</dc:creator><comments>https://news.ycombinator.com/item?id=43339124</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43339124</guid></item><item><title><![CDATA[New comment by jodoherty in "Show HN: We built a Plug-in Home Battery for the 99.7% of us without Powerwalls"]]></title><description><![CDATA[
<p>Do you have any examples? I haven't seen what you're describing despite shopping UPSes, but something less than $100 that could last 10+ hours would be amazing.<p>My $200 1500VA/1000W CyperPower UPS could handle a short one or two hour storm, but storms can last for 10+ hours here during the wet season. One long power outage could cost me a lot more than $1000 in basement damages (my basement is finished).<p>A comparable all-in-one product to this pila battery would also be around $1000: <a href="https://us.ecoflow.com/products/delta-2-max-portable-power-station" rel="nofollow">https://us.ecoflow.com/products/delta-2-max-portable-power-s...</a><p>You can easily cut that in half shopping for an inverter and battery separately:<p>$240 for an inverter: <a href="https://www.homedepot.com/p/VEVOR-2500-Watt-3-4-HP-Sump-Pump-Battery-Backup-System-Power-Sump-Pump-Battery-Inverter-for-Emergency-and-Power-Outage-WSBNBQSX2500TXR75V1/330035759" rel="nofollow">https://www.homedepot.com/p/VEVOR-2500-Watt-3-4-HP-Sump-Pump...</a><p>$200 for a battery: <a href="https://www.homedepot.com/p/Basement-Watchdog-Maintenance-Free-AGM-Standby-Battery-BW-27AGM/205907924" rel="nofollow">https://www.homedepot.com/p/Basement-Watchdog-Maintenance-Fr...</a><p>But a lead acid battery might last 5 years where the pila battery is designed for 10+ years, so you're looking at $400 total on batteries. That quickly gets close to the $1000 for one pila battery.<p>I want to believe $100 is all you need, but to me the math with the numbers that I've seen suggests $1000 is not unreasonable for something like this.</p>
]]></description><pubDate>Wed, 12 Mar 2025 00:17:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=43338592</link><dc:creator>jodoherty</dc:creator><comments>https://news.ycombinator.com/item?id=43338592</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43338592</guid></item><item><title><![CDATA[New comment by jodoherty in "Show HN: We built a Plug-in Home Battery for the 99.7% of us without Powerwalls"]]></title><description><![CDATA[
<p>I might get this for my basement sump pump in case the power goes out during a storm.</p>
]]></description><pubDate>Tue, 11 Mar 2025 23:47:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=43338401</link><dc:creator>jodoherty</dc:creator><comments>https://news.ycombinator.com/item?id=43338401</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43338401</guid></item><item><title><![CDATA[New comment by jodoherty in "About A comprehensive guide for Linux Network (Socket) programming"]]></title><description><![CDATA[
<p>The official Python documentation actually comes with a Socket Programming HOWTO that goes over conceptual topics and intended socket API usage:<p><a href="https://docs.python.org/dev/howto/sockets.html#socket-howto" rel="nofollow">https://docs.python.org/dev/howto/sockets.html#socket-howto</a><p>It gets overlooked because most folks only check the Tutorial and the Standard Library sections.</p>
]]></description><pubDate>Mon, 20 Jan 2025 00:05:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=42763496</link><dc:creator>jodoherty</dc:creator><comments>https://news.ycombinator.com/item?id=42763496</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42763496</guid></item><item><title><![CDATA[New comment by jodoherty in "FreeBSD Suspend/Resume"]]></title><description><![CDATA[
<p>The problem is platforms moved away from S3 sleep. I've heard people claim it was mostly so managed Windows laptops could force updates with the lid shut and the laptop suspended.<p>Now I have to worry about my laptop randomly overheating itself in my backpack and even catching fire.</p>
]]></description><pubDate>Tue, 14 Jan 2025 00:35:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=42691753</link><dc:creator>jodoherty</dc:creator><comments>https://news.ycombinator.com/item?id=42691753</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42691753</guid></item><item><title><![CDATA[New comment by jodoherty in "Serial to Parallel Port Converter"]]></title><description><![CDATA[
<p>The Adafruit FT232H works out of the box with pyftdi and libftdi. You don't have to use any special tools or flash it in any way. The USB commands are handled by the underlying libraries.<p>See page 9 of the datasheet here:<p><a href="https://ftdichip.com/wp-content/uploads/2020/07/DS_FT232H.pdf#page=9" rel="nofollow">https://ftdichip.com/wp-content/uploads/2020/07/DS_FT232H.pd...</a><p>The async and sync bitbang columns denote the GPIO pins as D0-D7 and show them assigned to the 8 ADBUS pins that are provided on the breakout board.<p>Assuming the udev rules are set up in Linux, you can simply install pyftdi, open the device, and start using the ADBUS pins as GPIO pins:<p><a href="https://eblot.github.io/pyftdi/gpio.html#setting-gpio-pin-state" rel="nofollow">https://eblot.github.io/pyftdi/gpio.html#setting-gpio-pin-st...</a><p>If you're using libftdi, you want to call ftdi_set_bitmode with the BITMODE_BITBANG enum value for the mode:<p><a href="https://www.intra2net.com/en/developer/libftdi/documentation/ftdi_8h.html#a83b41e900a1faf2ecc0546ce48ec7e70" rel="nofollow">https://www.intra2net.com/en/developer/libftdi/documentation...</a><p>Then the ftdi_read_data and ftdi_write_data functions can be used to read or write to the  ADBUS pins:<p><a href="https://www.intra2net.com/en/developer/libftdi/documentation/ftdi_8h.html#a72d87e30015c98bd0be22e7c8c873345" rel="nofollow">https://www.intra2net.com/en/developer/libftdi/documentation...</a><p><a href="https://www.intra2net.com/en/developer/libftdi/documentation/ftdi_8h.html#a01199788c36ba93352f155a79ea295e8" rel="nofollow">https://www.intra2net.com/en/developer/libftdi/documentation...</a><p>You can then build a nice, simple high level GPIO interface over that if you want.</p>
]]></description><pubDate>Sat, 11 May 2024 14:53:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=40328454</link><dc:creator>jodoherty</dc:creator><comments>https://news.ycombinator.com/item?id=40328454</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40328454</guid></item><item><title><![CDATA[New comment by jodoherty in "Serial to Parallel Port Converter"]]></title><description><![CDATA[
<p>Also, while libftdi isn't hard to work with:<p><a href="http://developer.intra2net.com/git/?p=libftdi;a=blob;f=examples/bitbang2.c" rel="nofollow">http://developer.intra2net.com/git/?p=libftdi;a=blob;f=examp...</a><p>It's dead simple to also use these FTDI devices with Python:<p><a href="https://eblot.github.io/pyftdi/api/index.html" rel="nofollow">https://eblot.github.io/pyftdi/api/index.html</a></p>
]]></description><pubDate>Fri, 10 May 2024 20:27:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=40323462</link><dc:creator>jodoherty</dc:creator><comments>https://news.ycombinator.com/item?id=40323462</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40323462</guid></item><item><title><![CDATA[New comment by jodoherty in "Serial to Parallel Port Converter"]]></title><description><![CDATA[
<p>FTDI also makes a lot of USB chips with software controllable GPIO pins:<p><a href="https://www.adafruit.com/product/2264" rel="nofollow">https://www.adafruit.com/product/2264</a><p><a href="https://ftdichip.com/products/ft2232h-mini-module/" rel="nofollow">https://ftdichip.com/products/ft2232h-mini-module/</a><p>Bit banging on a modern OS subjects you to a lot of jitter though. It's not like using a parallel port in DOS where you just have to worry about interrupts. The preemptive scheduler can really mess up your timing.<p>That said, the FT232H, FT2232H, and FT4232H have an FTDI Multi-Protocol Synchronous Serial Engine (MPSSE) cores that you can program to protocols like SPI and I2C where the high speed part doesn't require any smart logic to handle. It's a bit of a special skill though (you send MPSSE specific command bytes over the USB interface into the chip's command buffer and tell it to execute them).<p>If you need more high speed smarts, it's also convenient to use a Raspberry Pi Pico with MicroPython or CircuitPython with Programmable I/O (Pio) with an interactive session:<p><a href="https://www.raspberrypi.com/news/what-is-pio/" rel="nofollow">https://www.raspberrypi.com/news/what-is-pio/</a><p><a href="https://docs.micropython.org/en/latest/rp2/quickref.html#programmable-io-pio" rel="nofollow">https://docs.micropython.org/en/latest/rp2/quickref.html#pro...</a><p>But yeah, beyond that, you're better off using an Arduino or something and doing it all on the microcontroller.<p>On the plus side, all of these things are relatively cheap and easy to obtain.</p>
]]></description><pubDate>Fri, 10 May 2024 20:24:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=40323432</link><dc:creator>jodoherty</dc:creator><comments>https://news.ycombinator.com/item?id=40323432</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40323432</guid></item><item><title><![CDATA[New comment by jodoherty in "Logik: Open-source FPGA toolchain by Zero ASIC"]]></title><description><![CDATA[
<p>Arduino is a nice, but it's still built on the shoulders of tools like GCC, isn't it?<p>I never owned a computer in the 90s, but my impression was that Cygnus[1] did a lot of work porting GCC and improving it for use in a variety of platforms, including embedded targets. They arguably helped pull GCC into mainstream usage, to the point of almost permanently forking it [2].<p>Those first 20 years of GCC development were prerequisites for something like Arduino to emerge in the mid-2000s. I'm just not sure we have the equivalent of GCC yet when it comes to synthesis tools.<p>When it appears, it might be a good opportunity to create a consulting company and drive it forward while also making some money. The key pitch would be improving your ability to maintain and share designs across targets while not having to pay recurring licenses on your tools.<p>[1]: <a href="https://en.wikipedia.org/wiki/Cygnus_Solutions" rel="nofollow">https://en.wikipedia.org/wiki/Cygnus_Solutions</a><p>[2]: <a href="https://gcc.gnu.org/wiki/History" rel="nofollow">https://gcc.gnu.org/wiki/History</a></p>
]]></description><pubDate>Thu, 04 Apr 2024 11:33:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=39929001</link><dc:creator>jodoherty</dc:creator><comments>https://news.ycombinator.com/item?id=39929001</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39929001</guid></item><item><title><![CDATA[New comment by jodoherty in "Sugar: An activity-focused, open-source software learning platform for children"]]></title><description><![CDATA[
<p>PBS Kids has a lot of games and activities on their website:<p><a href="https://pbskids.org/games" rel="nofollow">https://pbskids.org/games</a><p>If your kids watch any PBS shows them they'll recognize the characters.<p>The activities were fun enough for our twins to learn how to use computer mice at age 3.<p>Tux Paint is also really fun for young kids and a good way to learn mouse usage:<p><a href="https://tuxpaint.org/" rel="nofollow">https://tuxpaint.org/</a></p>
]]></description><pubDate>Wed, 06 Mar 2024 14:08:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=39616091</link><dc:creator>jodoherty</dc:creator><comments>https://news.ycombinator.com/item?id=39616091</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39616091</guid></item><item><title><![CDATA[New comment by jodoherty in "Cars suck, man"]]></title><description><![CDATA[
<p>We had 3 under 3. When our son was 5 and the twins were 3, we were able to switch to forward facing car seats in the back of my Dodge Challenger, which is technically just a coupe. They're all Diono Radian car seats, and the kids fit comfortably 3 across.<p>Just thought I'd share in case you ever want to reconsider the dream car thing. You never know until you try and you can always bring car seats and test fit.<p>To your original point though, most of the time we use my wife's Honda Pilot because of the extra space for errands, sports gear, and luggage (and also because my wife doesn't want to drive stick in Northern Virginia traffic).</p>
]]></description><pubDate>Sun, 14 Jan 2024 14:08:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=38990499</link><dc:creator>jodoherty</dc:creator><comments>https://news.ycombinator.com/item?id=38990499</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38990499</guid></item><item><title><![CDATA[New comment by jodoherty in "Ask HN: Who to Hire? Proactive or Skillful?"]]></title><description><![CDATA[
<p>Cross checking work doesn't scale. That'll only become more of a problem as your business grows and you have more important concerns that pull you farther and farther away from the actual hands-on work being done.</p>
]]></description><pubDate>Sun, 30 Jul 2023 15:32:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=36932260</link><dc:creator>jodoherty</dc:creator><comments>https://news.ycombinator.com/item?id=36932260</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36932260</guid></item><item><title><![CDATA[New comment by jodoherty in "Ask HN: How do you not take criticism of your work personally?"]]></title><description><![CDATA[
<p>You simply have to do it every day with self-awareness of what you're doing and why it's important until you get comfortable with it.<p>Day one of my first studio class, we did sketches of the person next to us and the instructor helped critique us. We learned to critique each other over time and with careful guidance.</p>
]]></description><pubDate>Thu, 25 May 2023 10:23:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=36068940</link><dc:creator>jodoherty</dc:creator><comments>https://news.ycombinator.com/item?id=36068940</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36068940</guid></item><item><title><![CDATA[New comment by jodoherty in "Ask HN: How do you not take criticism of your work personally?"]]></title><description><![CDATA[
<p>Most normal education tends to skew towards the didactic all the way through your undergraduate studies, especially with the math and hard sciences (which includes most CS students).<p>That is to say, an instructor disseminates organized knowledge to the student. The student may be asked to communicate that knowledge back to prove mastery, but there's not as much emphasis on students giving each other critical feedback. Even when there is, it usually has a minor impact on your academic progress or grades.<p>As such, there's no incentive to learn how to give good feedback or make use of peer feedback.<p>Art school tends to be unique in that it cannot be taught that way. You spend years giving and receiving daily critiques and incorporating them into your growth.<p>The commonly accepted peer review processes we use in today's software engineering field involve giving and receiving feedback on your peers' work at a frequency that the vast majority of people simply have never experienced before.<p>Few people are naturally good at it, and few companies invest time into training anyone on how to do it well.</p>
]]></description><pubDate>Thu, 25 May 2023 10:20:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=36068928</link><dc:creator>jodoherty</dc:creator><comments>https://news.ycombinator.com/item?id=36068928</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36068928</guid></item></channel></rss>