• What are you working on? February 2012
    3,497 replies, posted
  • [QUOTE=neos300;34609652]I'm not sure I could write 4,000 words on that, and it's a boring topic.[/QUOTE] [IMG]http://i.imgur.com/1Ru8k.png[/IMG]
  • Avatar of ief014
  • [img]http://upload.wikimedia.org/wikipedia/commons/c/c6/R-S_mk2.gif[/img] [vid]http://www.iefhost.com/dl/PseudoWire/img/srlatch.webm[/vid] excellent
  • Avatar of DrLuke
  • I've always played with the thought of building a basic simple CPU out of transistors that could run really really simple code, so you people could write code for it and do cool things
  • [QUOTE=DrLuke;34610762]I've always played with the thought of building a basic simple CPU out of transistors that could run really really simple code, so you people could write code for it and do cool things[/QUOTE] I thought about it at one point (I was thinking electromechanical relays, actually), but you end up needing an ungodly number of them. Mostly just for the working registers. An RS latch (effectively the simplest bistable digital circuit) is about 8 transistors (if you're building it CMOS). If you want to work with 4-bit numbers, that's 32 transistors/register, and if you want two general-purpose registers and one I/O register, that's 96 transistors. Plus the program counter, which you'd probably want to be at least 8-bit (if not 12- or 16-bit), which is another 64 transistors. RS latches, though, suck because they're not synchronous. If you want to do D-flip-flops or edge-triggered D-flip-flops, you take that number and multiply it by like 4 or 8. And then you still end up having to cheat and use solid-state memory anyway to store the program and any values that don't fit into the registers (unless you're uber-leet and can build tape storage with an audio cassette player or something). It's actually simpler with relays, I think, because you don't need to actually build flip-flops or latches. You can get bistable relays, or you can wire them up to hold themselves closed.
  • 5 weeks into my first college programming class, and we're just now going over what true false and if statements are. oh man
  • Avatar of danharibo
  • [QUOTE=Ehmmett;34610982]5 weeks into my first college programming class, and we're just now going over what true false and if statements are. oh man[/QUOTE] Welcome to Computer Science.
  • Avatar of @@
  • [QUOTE=Ehmmett;34610982]5 weeks into my first college programming class, and we're just now going over what true false and if statements are.[/QUOTE] let me guess you're using vb6 as well? :v:
  • [QUOTE=Ehmmett;34610982]5 weeks into my first college programming class, and we're just now going over what true false and if statements are. oh man[/QUOTE] i'm on 9th grade and they're teaching us programming aka the teacher opens a word document and says "write it into your visualg monitor"
  • Avatar of Iskuri
  • Hey guys, thought I'd show you all a small bit of my current dissertation work, the basic concepts from it to see what you think. My dissertation is on the concept of neural networks and its use in handwriting recognition, and here's something I worked on tonight to visualise how a neural network can be used for data classification. Due to weirdness with the sigmoid activation function it currently uses the sine function, hence why it looks a bit "curvy". Here's the run down of what stuff represents. the X of the graph is one of the network inputs, the Y the other. The colour red represents an outputted value of 1, and blue is a value of two, any colours between that are values between 0 and 1. The coloured circles are the training values, the colour representing the desired output at that point. The colours being displayed in the graph are what the network is outputting when the values are at that point. [IMG]http://i.imgur.com/7CZq2.png[/IMG] I can show you all more neural network stuff that I'm doing if you want, and if you guys want a tutorial on basic neural networks I'd like to write one at some point, but only would if people were interested.
  • [QUOTE=@@;34611195]let me guess you're using vb6 as well? :v:[/QUOTE] we're actually not using any language at all this entire semester. all pseudocode. [editline]8th February 2012[/editline] somebody with previous experience mentioned a loop to the teacher and I think the rest of the class collectively shit themselves.
  • I know my work with HL2:SB is pretty boring, but I like sharing my small bits of progress, so I hope it's not too much of a bother. [t]http://img685.imageshack.us/img685/5281/halflife2sandbox.png[/t] This is the GameUI state running its very first Frame! Half-Life 2: Sandbox already has dynamic content mounting, which was written up by our very own [url=http://www.facepunch.com/members/416659-Zeh-Matt]Zeh Matt[/url] (if I recall correctly), and operates by using [url=http://opensteamworks.org/]Open Steamworks[/url]. I'll just be throwing in native support for checkboxes and labels, then I'll be finished with this window here, which is brought up by using the content button in the main menu. :dance: (I think it's exciting, at least.)
  • Avatar of chimitos
  • [QUOTE=Ehmmett;34611316]we're actually not using any language at all this entire semester. all pseudocode. [/QUOTE] That almost hurt me to read. The best way to learn is by trying. Your class isn't going to learn anything. (that they'll remember, at least.)
  • Avatar of DrLuke
  • [QUOTE=ROBO_DONUT;34610938]I thought about it at one point (I was thinking electromechanical relays, actually), but you end up needing an ungodly number of them. Mostly just for the working registers. An RS latch (effectively the simplest monostable digital circuit) is about 8 transistors (if you're building it CMOS). If you want to work with 4-bit numbers, that's 32 transistors/register, and if you want two general-purpose registers and one I/O register, that's 96 transistors. Plus the program counter, which you'd probably want to be at least 8-bit (if not 12- or 16-bit), which is another 64 transistors. RS latches, though, suck because they're not synchronous. If you want to do D-flip-flops or edge-triggered D-flip-flops, you take that number and multiply it by like 4 or 8. And then you still end up having to cheat and use solid-state memory anyway to store the program and any values that don't fit into the registers (unless you're uber-leet and can build tape storage with an audio cassette player or something). It's actually simpler with relays, I think, because you don't need to actually build flip-flops or latches. You can get monostable relays, or you can wire them up to hold themselves closed.[/QUOTE] Well, that's not too bad from a cost perspective, as bags with low-power transistors are about as expensive as a popsicle. It'll of course be a lot of work to solder it all together, but hey, it's the things we do for gaining invaluable knowledge.
  • Avatar of Neo Kabuto
  • [QUOTE=Ehmmett;34611316]we're actually not using any language at all this entire semester. all pseudocode.[/QUOTE] How are you supposed to know if anything you write works? Are you supposed to just run through everything on paper/in your head to debug it?
  • Avatar of Ziks
  • [QUOTE=ief014;34610278]excellent[/QUOTE] I started one of these yesterday, partly as a project to learn JavaScript and Canvas and mostly because I didn't like the Java one we have to use in my machine architecture class. [img]http://i.imgur.com/oBr7e.png[/img] It's mostly functional, I'll need a way to delete wires and then I was going to allow you to create integrated circuits like Logicly. Also I need to add more default components. Code's here: [url]https://github.com/Metapyziks/Logic-Sim[/url]
  • [QUOTE=Neo Kabuto;34612324]How are you supposed to know if anything you write works? Are you supposed to just run through everything on paper/in your head to debug it?[/QUOTE] yep
  • Avatar of Neo Kabuto
  • [QUOTE=Ehmmett;34612558]yep[/QUOTE] That's anywhere from annoying to rather cruel depending on how complex your algorithms get in the class.
  • Avatar of icantread49
  • what a terrible method to learn has your teacher never encountered the "when i run it through my head it looks completely perfect but it just doesn't fucking work when i run it on my computer" type of bug? wait, he/she is a college CS teacher. of course not.
  • [QUOTE=Neo Kabuto;34612581]That's anywhere from annoying to rather cruel depending on how complex your algorithms get in the class.[/QUOTE] [code] if customer < 65 discount = 0 else discount = 0.10 [/code] yep [editline]8th February 2012[/editline] [QUOTE=icantread49;34612587]what a terrible method to learn has your teacher never encountered the "when i run it through my head it looks completely perfect but it just doesn't fucking work when i run it on my computer" type of bug? wait, he/she is a college CS teacher. of course not.[/QUOTE] She also teaches C++ here iirc
  • Avatar of supersnail11
  • [QUOTE=Ehmmett;34612748][code] if customer < 65 discount = 0 else discount = 0.10 [/code] yep[/QUOTE] I used to do that. I also used to do [csharp] for(int i=0;i<50;i++) { if(i == 10) 1+1; //Skip else //Do shit } [/csharp]
  • [QUOTE=supersnail11;34612811]I used to do that. I also used to do [csharp] for(int i=0;i<50;i++) { if(i == 10) 1+1; //Skip else //Do shit } [/csharp][/QUOTE] Don't show the class that, else they'll have seizures.
  • Avatar of ZenX2
  • [QUOTE=Iskuri;34611305]Hey guys, thought I'd show you all a small bit of my current dissertation work, the basic concepts from it to see what you think. My dissertation is on the concept of neural networks and its use in handwriting recognition, and here's something I worked on tonight to visualise how a neural network can be used for data classification. Due to weirdness with the sigmoid activation function it currently uses the sine function, hence why it looks a bit "curvy". Here's the run down of what stuff represents. the X of the graph is one of the network inputs, the Y the other. The colour red represents an outputted value of 1, and blue is a value of two, any colours between that are values between 0 and 1. The coloured circles are the training values, the colour representing the desired output at that point. The colours being displayed in the graph are what the network is outputting when the values are at that point. [IMG]http://i.imgur.com/7CZq2.png[/IMG] I can show you all more neural network stuff that I'm doing if you want, and if you guys want a tutorial on basic neural networks I'd like to write one at some point, but only would if people were interested.[/QUOTE] Definitely interested, I've had trouble figuring out how they work but that picture really sorts it out
  • Avatar of Ananace
  • Been working on an assignment for a course, creating a simple http proxy in C++. (Writing this post through it) At first I was going to build it on top of a networking lib I had written but "In this assignment, you are expected to use only the basic libraries available for socket programming." Right now it only works for GET, POST, and CONNECT (Which wasn't part of the assignment). It can read through and filter content (redirect to error page) based on words in the URL or words in the text of the page. I would show you a screenshot but it's just loads of lines saying stuff like: "<pid>: <method> <host>" (It forks to allow several simultaneous connections)
  • Avatar of Naelstrom
  • I remember some people in here talking about an awesome c++ networking library, but I cannot remember the name of it; can anyone refresh my memory? I'm looking into getting the multi-player part of my SS13 clone done, and I really don't want to struggle with my horrid networking wrapper.
  • [QUOTE=DrLuke;34612066]Well, that's not too bad from a cost perspective, as bags with low-power transistors are about as expensive as a popsicle. It'll of course be a lot of work to solder it all together, but hey, it's the things we do for gaining invaluable knowledge.[/QUOTE] When I was actually thinking about doing this, I think my most conservative estimates came close to 1k transistors (and even those would be minimal, fairly useless computers). That's getting to the point where, if it didn't work the first time when I applied power, I'd probably just sit and stare blankly at it for a few minutes, then tuck it away in a cardboard box somewhere, rather than have to try to debug it. The design is easy/fun, but the actual construction, if you were to attempt it, would likely be the single most tedious endeavor that a human being ever undertook. If you look at all the homebrew computers people have [i]actually[/i] built, they're all made with at least medium scale integrated circuits. If you didn't have to worry about memory or working registers, you could probably make the ALU and the instruction decoding hardware from discrete transistors, but even that would take some work. Like I said, too, I think relays are simpler. For instance, a single SPDT relay can act as a 2:1 (or 1:2) multiplexer, wheras it would take like 12 transistors to implement the same function (3 NAND gates, four transistors each if CMOS).
  • Thought I'd post this here even though it's kind of an old project now. [media]http://www.youtube.com/watch?v=viLuuGIDuDk[/media] Reason it's relevant again is because I'll be demoing it tomorrow to a bunch of high school students interested in game programming. They asked me to make a video to demonstrate it instead of actually running the program. So this is what I've got.