james-fulton / ECE369_Final_Project

0 stars 0 forks source link

How's the class? #1

Open ShengruiZhang opened 2 years ago

ShengruiZhang commented 2 years ago

I have few friends that were taking this 369, and it seems this course is a complete dog shit.

My friends had to re-take the course the second time to pass after failing this PoS course.

james-fulton commented 2 years ago

Surprisingly not as bad as I had imagined. I somehow got an A in the class. But yeah its definitely one of those classes where you have to teach yourself everything rather than just listen in class. I did a lot of the first few projects and homework myself for practice and it def helped.

ShengruiZhang commented 2 years ago

oh I think you got really lucky. My friends took this course right when covid started, one of their teammates disappeared with the FPGA board and the instructor wouldn't give extra time.

Are you also doing capstone this year? I got lucky on mine, our mentor and sponsor were very nice to us.

james-fulton commented 2 years ago

Oh damn that's rough. I was able to rent out the FPGA myself and it was the best decision I could have made. Weird the professor wouldn't give them extra time, for my class my professor gave extra time for one of the projects.

I did a couple of "gap semesters" during covid so I am still technically a Junior. The capstone project seems pretty interesting though. I can't imagine those who are doing 369 and capstone lol. What did you do your capstone on?

ShengruiZhang commented 2 years ago

My Capstone was designing/building a radio telescope base on a 20-year-old scrap.

Our team design the radio receiver and did a whole bunch 3D CAD/ FEA.

We also made a GUI interface to control the telescope, written in Python: https://github.com/ShengruiZhang/SRT-GUI

Our proudest thing is the design day video, which we earned an award: https://www.youtube.com/watch?v=U9ng6gX492w

james-fulton commented 2 years ago

Oh what??? That's awesome! And your video is really good too! The final result is really impressive. I can't imagine the amount of hours you guys spent on the project; the CAD drawings by itself gives me shivers haha.

Anyways, it almost looks like the laptop at around 5:47 in your video is almost the same model as my current Thinkpad IBM T60 lol. It's a pain to deal with the forgotten hardware and terrible drivers, but it's kinda like driving a classic car. Oh and my bad about responding pretty laggy too, my Macbook has been having a ridiculous amount kernel panics recently and I have been spending way too long getting this T60 Thinkpad to be somewhat usable. One thing for sure is that it beats debugging in Xilinx Vivado haha.

ShengruiZhang commented 2 years ago

IIRC, the ThinkPad in the design day video is T430.

I have a T420 and T430. T420 used to have a Debian GNU/Linux, and T430 gets the Windows 10. I eventually put the Debian in T430 and daily it since. I like 420's classic keyboard, which is pretty much the same as your T60, the 430 has better hardware tho.

Believe it or not, using Debian as daily is surprisingly stable. All the software I need for my class, they have Linux versions, and it doesn't just upgrade itself like win 11 and changes everything.

james-fulton commented 2 years ago

Ah it's a T430. But yeah the "classic" thinkpad keyboard design is surprisingly very good. Even though the T60 is nearly 17 years old, I prefer it over my 2013 MacBook Pro. Currently I have the T60 running an optimized Windows 10 without a lot of the bloatware that comes pre-installed.

And yes, Linux is surprisingly really nice to use. I nearly chose Ubuntu based Linux Mint over Windows 10 for how smooth it is. Almost all of the hardware works well without any tinkering or modification too. I haven't checked out Debian a lot, but it sounds like it's also quite nice. I heard it's has a little more of a learning curve than mint, but it definitely seems like it'll support the older hardware on my T60 way better than Windows 10 (and most likely more stable than Ubuntu Linux Mint).

I ironically chose Windows 10 just for the convenience of having everything set up quickly without looking for and installing Linux versions of software as well as the convenience of GUI to quickly "optimize" the system for the T60's old hardware. Almost regret it though for how poor the driver support is for my WiFi card and integrated ATI GPU.

I'm not sure if you've heard of it, but I also looked a lot into "Hackintoshing" my T60. Essentially installing MacOS software like Catalina into any system, but the hardware support is a nightmare to setup correctly. It's a fun project to do, but it can be extremely unstable.

ShengruiZhang commented 2 years ago

Right, you need windows bc Vivado only has windows. I am lucky that all software I need has a linux version and fairly easy to use (easy in the way that you need to RTFM, and easy once knew how to use command line). Anything Windows only I would try to use a Window VM in Linux's kvm (a way to run virtual machine efficiently in linux).

Not sure about the win 10 drivers for ur WIFI and GPU, I would just use the Ethernet (guarantee on thinkpad), unless you have to use wifi. For gpu driver, if you try hard enough, you can probably find some old driver that could work on win10?

Debian is what Ubuntu and Lunux Mint are based on. I was introduced to it bc I set up my NAS using openmediavault, which is Debian based. AFAIK, all Debian-based distrod use the same apt package manager. Debian is usually more stripped down compared to others, because it it trying to stay being complete free and open source (no proprietary sw at all) when shipped by default. Ubuntu has a different way on manage the OS, such as the configuring the network, but it includes lots of proprietary drivers and user-friendly GUI, that's probably why it is more wide-spread in the linux world.

Hackintoshing sounds very fun and definitely makes a great project. You can probably make a youtube video or somehow document it just for fun.

Another fun project would be throwing a FreeBSD into T60, should be similar to Linux as they are both bear UNIX in mind.

I am currently trying to build my own server to run virtual machine via Linux, mainly bc they are FOSS. For now hardware I have 32G DDR3 and a cheap Intel i5-4460 from a lenovo desktop. Plan to run Debian 11 for the host OS, qemu-kvm for back-end virtualization, WebVirtCloud (possibly run within docker) for front-end VM management.

james-fulton commented 2 years ago

Yeah software availability/compatibility is the major limitation for my adoption of Linux. Using a windows VM in Linux sounds like a great idea. But since my T60 only has 3GB of DDR2 ram, I wouldn't be surprised to find it running terribly. I'll probably do this for my gaming pc. Also what you said about Debian and Ubuntu makes sense. Ubuntu seems to be the "intro" distro.

And when it comes to my windows T60 drivers, I found out a couple of interesting discoveries. With the GPU driver, I was only able to install a 5-6 year old modified driver that was designed for the desktop version of my mobile GPU (FireGL v5200). Works good enough for now; I can just barely play 1080p video at 60fps lol. And when it comes to the WiFi card, it works every other time my computer goes into sleep state s3. If I am unable to connect, all I need to do is restart and everything works. It's very weird. But regardless, what I should do is get a newer WiFi card; or rather probably a newer computer lol.

On that last comment, have you hear of the framework brand of computers? (at https://frame.work/). They seem like they are a very good line of computers with a plethora of available replacement parts (and it has a really cool 3:2 aspect ratio). They are a little expensive for me currently, but it seems like something I might consider in the future.

It's funny you say putting FreeBSD in the T60 as I was thinking about creating a router with another extra old computer I have with FreeBSD lol. I haven't really started it but it does sound like a fun project. The computer was made of old thrown out components from the U of A's trash so I call it the frankenPC. It reminds me of your server build, but the power supply is failing so it's just been collecting dust.

But regardless, you've done a lot more research than I have. What architecture is your server pc? I also have 16GB of DDR3 server ram (maybe 1333MHz) laying around if your able to use it too.

ShengruiZhang commented 2 years ago

I didn't even recognized how much money I spent on fixing/upgrading my T430 until much later.

I heard the framework laptop, I like the idea of being modular and parts availability, for now it's just too expensive for me too. Not gonna lie, I should get one once I make enough money lol. I guess I will have a hard time using that laptop's keyboard cuz i am so obsessed with ThinkPad's. Although new thinkpads are probably more expensive for the same specs. Plus screens on thinkpad are generally dogshit.

I currently have a cheap Dell home PC (Inspiron 3650) as my NAS, nothing too special. This system is probably not ideal, as it uses dell specific power supply and form factor of motherboard is funny (wouldn't fit on any other case). And it probably only uses DDR3L memory (haven't tried DDR3, afraid of frying it).

The other lenovo PC(K450e) I have is more flexible, the motherboard is standard size and uses standard PSU and DDR3. I got 32G (4 x 8GB) to fill all slots, not sure if it supports server ram. CPU is i5-4460, probably the newest I have. Don't know what hard drive to use yet. I probably end up take the hard drive from my NAS and buy another one to make a RAID array. Software-wise, this is the architecture I will run _https://docs.openeuler.org/en/docs/20.03_LTS/docs/Virtualization/figures/kvm-architecture.png_

Oh, price of any new pc parts are just insane. I heard that even a raspberry pi is more expensive than before. Not sure when it will end.

james-fulton commented 2 years ago

Apologizes for the late response. I've also haven't realized how much I've spent on the T60 so far. I've almost done everything you have with exception of the 4GB of DDR2 ram that I found from another scrap computer. So far, I have replaced the motherboard (for a better graphics card; surprisingly cheap at around $30), put in a Samsung 850 500GB SSD from cragslist ($50), a random ebay battery ($20), AX200 WiFi card ($30), T7600 Core 2 Duo CPU ($35), and a new fan assembly ($25). I think in total I've dumped roughly around $180-200 which isn't too bad considering I was spending blindly.

So far the T60 is holding up quite well. About a week a go I finally gave in and replaced the WiFi card. It was definitely a better decision than I thought it would be. I don't have any disconnection issues anymore and connecting to the UA WiFi is automatic and painless.

That sucks that your Dell Inspiron PC has proprietary parts. I guess it doesn't matter too much considering it is a NAS. The Lenovo on the other hand does sound a lot nicer in terms of serviceability. Small (128GB - 256GB) SSD's go pretty cheap if it isn't a "gaming" SSD. However, the performance of a standard ~100MBps sequential read hard drive has surprised me recently. I have definitely noticed how surprisingly quick my frankenstein Sandy Bridge PC is with a standard 3.5in HDD under Linux. Digressing, your Lenovo project sounds fun. Having virtualization is really nice; especially when trying to use/modify outdated or OS specific software.

On the same topic, I recently found a old project of someone who ported a really cool screensaver from old late 80's early 90's Silicon Graphics computers. The most recent build runs just fine on my gaming PC (with a Nvidia Titan X), but it's crashing interestingly on my T60. I've tried debugging it for hours and I have a bad feeling my T60's graphics drivers are bad. The screensaver runs, but crashes after closing it. Here's the link if you want to check it out: https://github.com/drvink/electroportis. Sadly, it seems like it's only (easily) portable for Windows as the original screensaver binary code is 32 bits.

And yes!!! New PC components have crazy price tags! I have no idea whats going on with the raspberry pi. Especially now with the conflict going on in Ukraine, I have also seen ridiculous prices for Nvidia RTX 3090s. I've heard the market price for a used 3090 in Russia is surpassing a few thousand dollars! It's also a little funny that most companies (especially Ubiquiti) haven't shown any new stock with their cheaper yet nice routers/switches. It seems like the market will be like this for a while.