Hey /g/, tell me the hardest project or algorithm you have ever written.
>>54534457
I made a turn based tactics game with a zillion lines of code and half of it was XML data for all the units and levels, AI scripting etc. shit.
>>54534525
So did I, but I used JSON. What kinda stuff?
A character planner for Fallout 3.
A fucking POSIX 2001-3 PAX Tar implementation. Yes, I'm bad.
Finding the shortest path in a graph in linear time.
>>54534605
That sounds painful.
>>54534605
Sounds really difficult, don't beat yourself up
>>54534642
What algorithm?
For my networking class we implemented a version of TOR (we called it Tor61 if you want to look into it). I implemented it in node.js which actually wasn't too bad DESU. In hind sight it was a great learning experience.
>>54534537
Plain XML, did not need any advanced features.
removing the .active css class from a navigation link and adding it to whatever one was clicked by the user
Well, as a freelance programmer the most advanced program I've written until now is an all in one register program for small grocery stores. It's got everything a small grocery store could need, for €2000 I install it on the PC, for €5000 I install the equipment too, for €10000 I'll get everything you'd ever need in terms of IT set up. If a store owner wants more, I charge more.
>>54534457
A pyramid of *
>>54534679
I meant in terms of the game.
>>54534676
That's pretty cool Dave
>>54534457
Hardest thing I've ever worked on is mpv's vo_opengl
A text to pictograph conversion system and a text classification pipeline for suicidal post detection.
>>54534650
>>54534657
I managed to even fuck up the name, its POSIX.1-2001/pax lol shit. This is the chesksum calculation logic and some of the header parsing
>>54534457
> fizzbuzz
couldn't find a library to do this
>>54534746
>one gigantic piece of shit monolithic java blob
you're the one making this hard on yourself
>>54534722
You could have commented the code a bit better desu
>>54534700
Same, but with # so it was a bit easier
>>54534761
There is no simpler and cheaper way to do it. Trust me. Read the PAX specification and ustar specification, its a fucking mess. + everything is in octal
>>54534746
You could have written it with more functions honestly couldn't you?
>>54534746
that screenshot gives me terrible flashbacks to a job where we were only allowed to share code by taking screenshots and we made backups by printing off screenshots
some shitty web app
>>54534844
What, why?
>>54534829
>
I did in the initial implementation, that was a clusterfuck and it did not support pax. This shit is alreay 1000+ lines long, tried to slim it down and prevent calling functions over and over again. This is basically splitting a 512 items long byte array into smaller ones and stores them into a 2 dimensional array. Later i parse the smaller arrays into ASCII and read them or parse the bytes to octal ascii and then to a decimal integer. Its a mess. Dont ever try to implement that shit.
>>54534746
>java
kek
use C phaggot
>>54534457
Invert a binary tree
>>54534928
No thank you, i like my errors in a stack trace
>>54534946
>not using a debugger that does that + more
i bet you take it up the ass too faggot
I wrote a program that returns the first n prime numbers. Was tough, took me a week.
>>54534897
Sounds a bit odd, but 1k lines?
>>54534976
working with the youtube api
>>54535017
wasn't meant for >>54534976
>>54534976
Meh lying, round 730 w/ light javadoc
>>54534457
An OS that takes advantage of multiple cpu cores
Not me, but It took my friend 4 months to implement dijkstra's algorithm and when he was done it still had errors.
>>54534657
>What algorithm?
He's baiting, he'd be a millionaire if it was possible.
>>54535103
Didn't read the linear time bit.
>>54535049
This probably wins
>>54535057
>camelCase
gross
Basically anything which involves transformation matrices. Too easy to screw up the order.
>>54535274
>unironically using snake_case
it's 2016 anon
>>54535274
>not camelCase
Absolutely disgusting.
>>54535291
For tensors?
>>54535300
I use WhateverThisIsCalledCase
>>54535318
>starting a variable with a capital letter
Absolutely disgusting
>>54535300
ALLCAPSNIGGERFUCKSPACES
I bet you don't linearize your braces and parentheses.
>>54535318
But that's for Class names faggot
>>54534946
>he has never debugged C in his life
>>54534941
Invert in what sense? Largest to smallest and switching the order? What exactly is the process for that? I guess it depends on how much of the hard stuff you gotta do yourself.
>>54535291
>Basically anything which involves transformation matrices. Too easy to screw up the order.
I feel you. >>54534722 is mostly working with affine transformations, except there are a lot of them, the order of them is unclear, and interacts in nontrivial ways with sequence points.
>>54535408
mirror most likely
>recursion
just fuck my shit up. i can trace them but not write them
>>54534457
I made a 3d physics simulator with accelerated spatial queries.
Also a made an inverse kinematics for my 18 DOF hexapod.
i had to make a radial-denominating inverter library for processing and analyzing gene samples geometrically
since the machine they were using to get the samples failed to gather binomial tendencies they wanted it done without using matrix sublevel arrays so you can imagine my struggle i'm sure
>>54535688
I understood some of these words
>>54535521
Well, you aren't gonna get better until you do them more
>>54534457
I've written software to emulate older CPUs, cache coherence simulations, router simulations, made use of neural networks for small fun projects, written multiple compilers for java-like languages, written DSLs in common lisp, and many more, but... but the hardest thing I've ever had to do was fix someones broken javascript code for some simple game of checkers.
I completely choked on it and worst of all the guy stored the board as just bits embedded in a int and displayed them as hex values and was asking me on the spot to give the hex values meaning and shit and I just completely choked on it and couldn't manage to decipher how he set it up in the first place making it nearly impossible for me to fix it for him. So I told him I was not the right guy for him and I'd rather kill myself.
>>54535843
That's retarded, didn't he know arrays were a thing?
>>54535688
You are lying, it's nonsense.
>>54535877
I'm sure he did, but he probably set it up in a way to see how you would think, or if you're an autist.
>>54535688
You are lying, it's nonsense.
Point cloud splitting into layers of thickness n
Then interpolating a closed spline in each layer - treating it as a plane.
Weseled my way out of using non-linear differential equations with using savitzky golay filter and then a normal spline with node at mth point.
A vidya I wanted to autistically program using only C++ and SFML, which degenerated in an all-purpose game engine with neat shit like deferred rendering, materials, GUI Manager and such. It wasn't that hard, but it reached a certain degree of complexity, and wasn't even halfway complete.
Development halted because fuck everything, I needed to pass some exams.
I'm gonna build a doom-like 3d demo thing with a simple map editor
how to do primitive java graphics (I'm thinking "drawLine();") in a java application (not an applet)
>>54536361
cairo?
>>54534457
I took three graduate-level CS courses while getting my masters... Compilers, Artificial Intelligence, Interactive Computer Graphics (c++ & openGL).
Compilers final was an ANSI C compiler, written in C, which had to be able compile itself (to earn an A). No one achieved it in my year, we all got Bs for compilers which worked on all the example cases but not their own source.
AI final was a negamax solution to either Checkers or Othello. Students with the best-performing AI for each game (against each others', and the professor) got an A. Everyone else got B or below. Our year, two Othello AIs were tied pretty close so we had a class record, 3 As instead of 2.
Computer graphics final was a Rubik's cube. Draw cube in 3D, allow player to make (and undo) any moves, and check for completion. This was the easiest of the 3 and the only one of those 3 classes I got an A in, but still ended up being a huge program and time sink.
>>54536456
>This was the easiest
this sounds like a lot of work. maybe from my newbie perspective.
how long have you been programming? did you learn everything in college?
>>54536456
I'm surprised you didn't almost always have draws in Checkers. It's a solved game.
My last assignment was A-star too bad I didn't end up getting it right
i once made an automatic stat roller for dnd 5e in my ti-84. i want to get into real progamming but dont currently have a computer to myself.
>>54536709
you will get one. don't worry.
>>54534457
Once, I had to write a for loop that ran a variable number of times.
>>54536648
>I'm surprised you didn't almost always have draws in Checkers. It's a solved game.
not under negamax, (unless you're running it on IBM Watson) there's no way you can tree an entire game's worth of moves from starting position. Same with Othello/Reversi which is the reason they are so commonly used in university AI courses
>>54536760
saving up right now just going through moving and getting some extra money in the bank to deal with emergencies. you wanna hear my memer part plans? (and judge me hard as fuck i presume)
>>54536822
go ahead. the only thing we have here is time
>>54536795
Chinook solved it negamax with alpha-beta pruning.
https://pdfs.semanticscholar.org/5f32/9a27f6943207f69d8056344b95cedba054d2.pdf
It is not pure negamax, but no one has used pure negamax for thirty years.
>>54536795
>IBM Watson
Watson would be remarkably poorly-suited to playing Checkers. It's purely for machine learning. A normal server cluster would be better.
>>54534457
Text recognition based on the intricacies of someone's own handwriting.
>>54536881
node 202 case
gigabyte ga-f2a88xn-wifi
amd athalon 60k
8g ddr3 (dont know what ram exactly yet)
2t hdd (same would love suggestions)
evga 500 watt sfx
idk what gpu to get (thinking $250-300) and need a low profile cooler so i can oc my cpu.
for my upgrade plans im thinking more ram and an ssd,
>>54534676
>Rushabh Mehta
poo_in_the_loo.jpg
>>54536973
I would switch the CPU to a Jewtel, and get yourself an AMD GPU.
>>54537000
>Jewtel
im trying to SAVE money not spend extra. for a similar chip it would be +200 so no thanks.
>get yourself an AMD GPU
thats what i want. i want 40-60 fps 1080p on med settings. but dont know what card to get.
>>54534783
lel, hackerrank?
>>54536943
>Chinook solved it negamax with alpha-beta pruning.
>>54536958
>Watson would be remarkably poorly-suited to playing Checkers.
ok sorry /g/
s/watson/chinook/
>>54534697
you know there is an :active selector right?
>>54536456
>making students compete against each other for a predetermined number of A's
>>54534642
u are full of shit
>>54536456
>AI final was a negamax solution to either Checkers or Othello
pretty cool, for mine we just did minimax and a-b pruning on 3d tic tac toe, was cool, but looking back i could do negamax too, but he wanted minimax specifically
OS design and file system design
>mfw trying to create a mkdir or rmdir that wouldn't destroy my inodes
>mfw trying to test IO redirection and the files being instantly corrupted when using cat f1 > f2
I passed both glasses but never fixed that shit lol
>>54536361
processing for java
>>54537337
>I passed both glasses
you might need glasses
>but never fixed that shit lol
honestly if you give a good enough effort that's good enough for most things, i guess a lot of profs just want you to show considerable effort to implement material rather than just go through the motions
>>54537222
engineering colleges, man
>>54537264
>we just did minimax and a-b pruning on 3d tic tac toe
this is a really neat problem, with a well-defined solution space
probable avoids many of the hellish edge-cases my Othello AI had to deal with.
ours also required alpha-beta pruning;
negamax is very similar to minimax and is really just a special case for zero-sum or constant-sum games
>>54536973
buy intel, dude. even on a budget.
>>54537356
>i guess a lot of profs just want you to show considerable effort to implement material rather than just go through the motions
this prof in particular cares if you work hard on it. I went to his office every day for weeks to fix my shit especially when my OS wouldn't swap from kernel mode to user mode.
I guess he assumed that if you worked hard on this shit you earned the grade. He was a nice prof and probably one of the smartest I have ever met in my life.
>>54537389
whats wrong with AMD chips (excluding branding)
>>54535688
that picture holy kek
>>54537393
>>I guess he assumed that if you worked hard on this shit you earned the grade. He was a nice prof and probably one of the smartest I have ever met in my life.
yeah, i can believe it, my prof was like that too, made a C in my course, hardest C i've ever earned
>>54535308
>>54535318
GET OUT
I had to implement a fat filesystem and a simple shell to manage it in the OS class final project. I had a lot of fun, really love working with C.
One of the shell built-in functions was to print my professor face in ascii art. He wasn't amused.
>>54538212
>He wasn't amused.
lol
>>54534457
Hey OP, whats that in your picture ? looks interesting.
And as for myself, I didnt study IT, but for diplomma thesis I made a program which interpolates and visualises temperature data from a few thermometers. Sometimes some of them went offline etc. It had to be flexible and stuff. I was really happy when the code was finished. Now, more than year later, working in IT, I realize how simple those things actually were. Pic related.
I wrote a dupe image finder that uses actual image processing, fussy logic color difference, etc instead of just file hash.
It finds images that are different size and with small edits (depending on the score threshold you set).
I still have the code somewhere but I can't find it right now.
It started as a evolisa clone.
https://rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mona-lisa/
Hardest project? I tried to make an universal circuit simulator similar to spice (i didn't know it then) on a highschool, and I improved it on a college. I even made a special scripting language for it. Then I found out spice...
>tfw also made an symbolic-address compiler for PIC and 8051 along with emulators of these MCUs for that shit
>tfw made VHDL-like language for describing basic logic (the sim added the latency of the gates automatically)..
>>54540676
>PIC
i meant PIC16. The 18 was too hard for me back then and I had to work on the 8051.
>>54535086
kek, I did that for a LaTeX course in a few hours, just to have something to write about. I don't remember it being particularly hard (but on the other hand, all I did was translate the wikipedia pseudocode into Python).
>>54540897
Took me about 4 hours, my friend is a bit of a mong
>>54540615
it's a path finding algorithm. the file name says it is AStar. the image is from here http://theory.stanford.edu/~amitp/GameProgramming/AStarComparison.html#the-a-star-algorithm
>>54535057
>Ognjen Galić
Odjebi pederu
>>54534457
A virtual machine and architecture that supported paging and memory mapped devices + an assembler + a linker.
I was in a team of five developing an Android game for a university project. It had some nice AI in there which had enemies path find to the players character position and if the enemies had anything in their way i.e. a player placed defence structure or something it would know to stop and take the time to destroy it
>>54540615
It's A*, from the redblobgames article. I know because I read that thing a billion times.
I had to write a SAP report to optimize the warehouse capacity utilization.
It was based on the knapsack problem, some heuristic and a huge recursive algorithm.
>>54534457
Two AI-related projects.
One written in Java, all of the students in my year worked on it (150) - an Android agent that recognizes the situations its owner is in. We started from basic actions like walking, stationary, jogging, driving, cycling, then we inferred those with user's current location to determine a specific action (walking/jogging/cycling in park, going shopping, sleeping or awake at home, at work, out in town, leisure driving etc). The agent would also have a list of "friends" (afaik these features were not fully implemented), it would "talk" to the agents of those friends and notify them if they were close by and not busy to make them meet up for a coffee or something.
Other project, with a more simplistic implementation, done in python by a team of 5 students - we had to implement a generic way of determining the rules, winning conditions, and initial states of a game, having as input a list of played games. We focused on Connect 5 (because it's simple) but we could get some valid results for more x*y board games - such as chess. We got the maximum grade on it.
>>54540676
I hate VHDL, Verilog is better.
>>54541150
>>54534457
3D renderer in Garry's Mod with textures and smooth lighting on screen without any hardware acceleration/depth buffer/anything.
Even though now I'm working as programmer and doing projects in mu university, this renderer I made while being in High School is surely the hardest project I've ever done so far. Most essential parts:
>converting MMD model into OBJ
>PHP script to convert PNG into stream of pixels(you have so little computing power in gmod that parsing PNG would take ages)
>Lua scripts to optimize 3D model, by reducing vertices count and merging close points
>.OBJ parser
>texture renderer that sends images to PHP and then render it per pixel to virtual textures
>projection and model matrices and other stuff to translate 3D coordinates to 2D screen
>figure out way to mimic depth buffer: by sorting faces. Native qsort was timing out because of how much data it had to process and pure Lua qsort reduced performance to <0.1 FPS. Pure Lua bucket sort happened to be the most effective
>fake lighting by rendering a triangle over every textured face that had gradient(black -> alpha) and appropriate UVs
It was hell of a ride. It take StarFall about 2 minutes to load OBJ and render all the textures, but then it works in stable 2FPS.
>>54534973
n = 5
main :: IO ()
main = mapM_ print $ take n [x | x <- [2..], isPrime x]
isPrime k = null [ x | x <- [2..k - 1], k `mod`x == 0]
>>54541276Table[Prime[i], {i, 1, n}]
>>54535103
>muh simulated annealing
>>54534973
Well if n is high enough it can for sure take a week or longer :ᶺ)
# import <Gentoo>
int gentoo( )
{ Sudo apt-get install gento;
restart; }
>>54541632
>Syntax error: "Sudo" unexpected
>Syntax error: "gento" unexpected
>>54541276
>>54541306λ import Math.NumberTheory.Primes
λ take 10 primes
[2,3,5,7,11,13,17,19,23,29]
>>54541212
http://danluu.com/why-hardware-development-is-hard/
>>54542373
>There have been a number of attempts to do better than jamming an ad hoc scripting language into Verilog, but they’ve all fizzled out. As a functional language that’s easy to add syntax to, Haskell is a natural choice for Verilog code generation; it spawned ForSyDe, Hydra, Lava, HHDL, and bluespec. But adoption of ForSyDe, Hydra, Lava, and HHDL is pretty much zero, not because of deficiencies in the language, but because it’s politically difficult to get people to use a Haskell based language. Bluespec has done better, but they’ve done it by making their language look C-like, scrapping the original Haskell syntax and introducing Bluespec SystemVerilog and Bluespec SystemC. The aversion to Haskell is so severe that when we discussed a hardware style at my new gig, one person suggested banning any Haskell based solution, even though bluespec has been used to good effect in a couple projects within the company.
Holy shit, I never want to work as a programmer in the industry.
>>54534457
Additive synthesis written to render up to 512 partials in up to 32x8 simultaneous voices at 48K samples per second, where the partial count is able to randomly change. The hard part was getting it to render in near real time on ancient hardware since that's what I'm targeting.
Not very difficult in the grand scheme of things that can be programed, but it was a step up from anything else I've ever written.
"Hello World"
A custom model checking procedure to formally verify a pipelined processor.
>>54541164
literally botnet
>>54534457
fibonacci
an ai that played chess and could predict up to 6 moves ahead.
took about 3 seconds to calculate.
>>54534457
Hardest, most complex, algorithm was probably a lock-free skiplist.
A C++ style template metaprogramming framework for Java
>>54534642
kek
>>54534457
I've never written anything complex.
t. /wdg/ pajeet
>>54541306Prime@Range@n
>>54534457
I made a recommendation engine using basic collaborative filtering, also did a really long crypto project. Every assignment was extremely time consuming. Had other town consuming projects not worth listing them all. All of this was in a CS 101 class.
>>54535103
>>54534642
You can do it in linear time with BFS as long as all the graph weights as the same.
And if the weights are bounded by a constant, you can replace every edge with weight w by w edges of weight 1.
Moore neighborhood algorithm
>>54541220
That's honestly really cool.
Didn't tinker with E2 and later Starfall much, but it was a great first real exposure to programming.
>>54544468
>great first real exposure to programming.
Yeah. It was my first exposure as well.
After messing with E2, StarFall and ZCPU for few years, learning C/C++, Rust etc. was just piece of cake.
>>54534650
He's a big guy.
>>54545661
For you
>>54542546
Yeah, I have no particular love or use for Haskell in my work, but fuck people rejecting it for something it's suited for with literally>haskellas their reason just rustles my jimmies.
>>54544176
This.
>>54544545
>raytrace.jpg
>jagged sphere edge
If you’re raytracing, what’s keeping you from tracing a perfect sphere ? It’s simpler than a bunch of polys.
>>54547701
He was probably using the raytrace function found in the Gmod Lua API.
Probably a pointcloud application with it's own custom file format that indexed 10's to 100's of billions of points of data based on several different metrics so users could manipulate/use it in various ways such as creating meshes from subsets of the data or extracting breaklines. Had to perform a lot of it's functionality in the field so the application needed to be able to perform most of it's operations in real time or close to it. This was back in the late early 2000's so it had to be 32bit and support windows xp.
It was a lot of fun and actually challenging, now I'm just a shitty web dev and get paid more, how sad is that?
>>54548087
>It was a lot of fun and actually challenging, now I'm just a shitty web dev and get paid more, how sad is that?
>I compromised my ideals in exchange for nothing.
git gud
>>54534457
functions to transform data between daily weekly or monthly formats
>>54547701
>>54547926
Yeah I was using default E2 functions(Not Lua though)
I could create virtual raytrace objects(there was extension for it IIRC) or calculate them mathematically, but it's just no point. Also there is no good way in gmod to get real radius of model spheres so it could look even worse.
However I do some mathematical enchants. I do not use normals from build-in ray API(it would look like disco ball) but calculate them using hit position and center of sphere.
An AI for figuring out how to put together tanks for DARPA
Just curious but how many years have most of you been programming? Makes me feel inadequate as hell when I can barely do anything after two years of programming in uni.
>>54550245
Ive been programming 6 and this makes me feel bad
>>54550245
I've been programming since I remember, so I don't know myself.
I was betting I started programming in middle school, but lately I've met a guy at my uni who claim to know me from primary school. He said I showed him calculator I've made in visual basic. I don't even remember anything from VB, but I do remember that I wrote calculator and ping pong in it. The funnies part is that we are studying on the other side of Poland, but it looks like we went to the same primary school.
I'm 21 now, so at least 8 years now.
>I can barely do anything after two years of programming in uni.
Uni doesn't teach anything. You can finish classes without any effort or real programming skills. You need to work by yourself at home. Learn languages, do a lot of projects, contribute to open source projects, join some local programming community(if there is something like that in the nearby) etc. It really is essential to get practical skills.
>>54550877
>You need to work by yourself at home. Learn languages,
I do this, or at least try
>contribute to open source projects
bit easier said than done when everything that has issues is usually huge and monolithic, or the issues are usually incredibly complex to solve
bums me out, i wonder if i should stop trying to play the cs game when all I am is technically an IT major
Wrote an RTS game in 2 days
>>54534457
some firmware for an atmel AVR that adjusted two pwm signals and 4 output pins (this was originally meant to control motors) based on the ADC reading from a nintendo DS analog joystick
>>54551005
How?
>>54538212
>he wasn't amused
the picture or your prof?
>>54551285
Adderall.
>>54550245
same here brotha
>tfw probably never going to even get a job in my field
kill me
>>54534457
An Atari emulator. With a click you could transform it into an Apple II.
>>54552467
if you got a cs degree you're at least doing better than me, I just got a shit it degree from nowhere and no experience
don't even like it really
>asking a bunch of low tier undergrads the hardest thing they did
>implying anything in undergrad level is difficult
xDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
>>54550877
Fucking render_texture
>>54550877
I've had more fun just decompiling gmod
>>54552670
here's your reply
>>54552838
>ugh, professor, is ALL of this going to be on the test?!
>>54552857
here's your reply
Hardest stuff was a fully functioning suite that would interpolate and render a 3D ship hull and calculate predefined fluid dynamics parameters from some dots coordinates.
I'm not a computer engineering or cs major so it was the second time i had to program anything in my life.
>>54552891
pretty cool, got any images?
>>54552915
No. It was 6 years ago and it was bullshit because there are open source softwares you can download and do this.
My professor was a sadist who thought that writing an interpolation function avaliable at octave from scratch somewhat would make us better engineers.
>>54534457
i work for a school district, a plugin to our identity management software to interface with a really old p.o.s omnis database, which used a points scoring system to identity likely dupes (since admin always fucked it up)...
there were also a few FUCKWIT parents who gav etheir kids THE SAME GIVEN AND LAST NAME as well as same D.O.B. so it had to compare other factors while still accounting for idiodic admin staff wrongfully entering data twice
shittiest database format i've worked with
>>54552968
>admitting youre shit
nice
>>54536456
We had to do a 5x5 Rubik's cube as an encryption scheme in my cybersecurity class and the 3D part was just bonus. My group didn't do it. Especially since the project was given 3 weeks before finals. Rubik's cubes can fuck with your head if you sit at the computer for too long.
>>54552772
>render_texture
Where?
>>54552778
What did you decompiled exactly? I don't think there is much things in it outside of code for phys gun or maybe workshop.
The interesting part: GLua standard library is open source though.
>>54552968
regardless, that's impressive dude, don't sell yourself short
Writing a series of programs for an aerial photography drone to autonomously take and composite photos over a specified area. Did it with a combination of Java, ARM assembly and a bizarre C variant I had no experience with. The real problem was hacking the drone's on-board memory to carry the algorithms, as there was no way to get the instructions to transmit from the ground.
>>54553100
I want to say that's you Abrahim, but Abrahim did his project alone, who is this?
Professor Rasheed right?
Minimizing a definite finite automaton
Still have no idea what the fuck any of this means or how I made it work (but I was in this class in like 2007 so I forgot what it even truly means to be a dfa)
I couldn't even write good comments because I didn't really know what the fuck I was writing or how to do it. I assume you guys will make fun of how deep into loops I get
>>54553197
>Lines 332 and 361
The boolean expressions you're writing can be represented more succinctly with XOR.
>>54553197
>>54553264
In fact, looking at your code more carefully, you can probably discard the if statement altogether:marked [i][j] = stateList[a].isFinal ^ stateList[b].isFinal
isAChange[i][j] = stateList[a].isFinal ^ stateList[b].isFinal
>>54553396
Yeah I'm not good at this shit, it's why I dropped out of school rofl
>>54553406
roflmao
>>54534844
hahahahhahahahahha
what
>>54534457
I'm making an alternative to neural nets.
gif related shows it learning the parity function of 8 variables. (Actually it's a modified parity function, which is turning out to be much harder to learn for 16 bits.)
>>54554617
Fuck, I'm doing something similar. How is your approach different to neural nets?
>>54554658
>>54554617
post yfw you realize "neural networks" are just control theory
>>54544468
>Didn't tinker with E2 and later Starfall much, but it was a great first real exposure to programming.
>>54544545
>Yeah. It was my first exposure as well.
Holy shit are you guys me?
You guys are making me realize how little I've accomplished
I'm 21, been programming for around 8 years, and I'm a 3rd year CS student (6 year plan at this rate) but I haven't even touched most of the shit mentioned in this thread
>>54554658
Instead of learning fully connected layers like with neural nets (where each layer is essentially a function), I'm learning a "tree" of functions. In my model, each function to be learned is a function of two variables. In the gif, (>>54554617) each one of those seven squares is a plot of each function I'm learning. I guess you could call them the activation/transfer functions. The "activation" functions at the top of the gif, pass their outputs onto the next-lowest row. (You can actually achieve this kind of architecture using ordinary neural nets, so this aspect of my model is nothing special.)
The weird thing is that my activation functions' derivatives are discontinuous and become highly non-linear as training progresses. As you might imagine, the problem becomes worse as the network's depth increases. I thought the problem would be lessened by the fact that, because I'm using a tree structure, the depth of the network is only log_2(dim), where dim is the dimensional of the input. But that's not the case. So I've had to bolt on a bunch of regularisation methods to stop learning going haywire, and I still haven't completely succeeded.
Still fun to play with though.
What's your approach?
>>54554870
it's ok, we're shit together
>>54554658
>>54554914
Oh, also, because my model is non-differentiable, I've had to develop what I'm calling a "pseudo-derivative" to train it. (Maybe that's a bad name).
As well, I'm developing (pseudo-)gradient normalisation techniques and something like Ioffe's batch normalisation to help ease training, which is fucking hard, like I said.
>>54537337
>I passed both glasses
Impressive, most people would have succumb to alcoholism.
>>54550245
About 11-12 personally
>>54553193
>Abrahim
>Rasheed
[poo intensifies]
>>54555138
Hey, I'm 100% curious who it is since I only know abrahim comes here.
>>54534525
That's interesting, I'm currently making a game based off Fire Emblem, turn based tactics game with tiles. Think you can share some code? Or perhaps some designs?
>>54554914
>>54555022
Yeah, you're doing something much smarter then me. I have more of a neurobio background so I'm trying to make a more biologically plausible network that can self reorganize. Basically I don't believe in using gradients at all so I'm using Self-organized criticality instead. I'm getting pretty good results on MNIST despite the fact that I'm not even using any hidden neurons, I'm just mapping input layer to output layer for now to keep it simple and I'm getting ~%40.
I'm just getting some different results across trials that don't make sense and I'm trying to track down the source
>>54534457
>a series of numbers is outputted from a program
>derive the algorithm that would output this
My fucking achilles heel.
>>54534642
linear in m^2 * n?
>>54555247
Is your algorithm's size bounded? Otherwise that seems trivial, just copy/paste the input into “printf”.
>>54555247
>To recreate these numbers, we must first recreate the universe.
>>54555247
start with just polynominals
> what is the limit as it approaches infinity
> what are the zeros
> how many relative maxima
> is it an even or odd function
anything a mere human can fudge in less than 5 minutes a computer can do as well
>>54555210
So the architecture and activation functions are the same as ordinary neural networks, but you're using SOC instead of gradient descent?
>I'm just mapping input layer to output layer for now to keep it simple and I'm getting ~%40
If you're getting a 60% error rate (or even a 40% error rate), my feeling is that there's a problem. A linear classifier (which is, more or less, a single-layer neural net) should be able to achieve something near 7-8%: https://en.wikipedia.org/wiki/MNIST_database#Classifiers
>>54555451
Disregard "7-8%" here >>54555210. 12% is more realistic if you're just feeding in raw MNIST data: http://yann.lecun.com/exdb/mnist/
Phase recovery algorithm for an image processing group. ~150 lines, but shit was mathematically ridiculous
>>54555451
>>54555589
Thanks for the links. Honestly I'm still learning CUDA and C so it's still too early for me to worry about classification rates
dijkstra's algorithm
>>54536361
g2.DrawCock(6, 9);
>>54536361
with JavaFX you can just use Line2D I think or something like that. JavaFX is somewhat straightforward.
audio compression, more specifically e-ac3
>>54535688
>radial denominations inverter
>>54535843
>stored the board as just bits embedded in a int and displayed them as hex values and was asking me on the spot to give the hex values meaning and shit
You dodged a bullet.
>>54555670
>learning CUDA while learning about or experimenting with machine learning
Sounds like a special kind of hell
Hardest program I remember recently is programming a virtual interpreter for MIPS. Currently working on stalling data memory on a write-through cache miss.
>>54554870
I'm older and have less experience, we'll make it.
>>54554870
>>54554939
>>54556535
If your goal is to succeed in the industry, none of the shit in this thread is any kind of requirement. The easy stable money is in software engineering.
I lead a small team of software engineers working on a successful and growing software product. I make over six figures, I never got a degree, and I would not consider myself a highly accomplished programmer. I just hack UI stuff, basic data marshaling to / from databases, and all sorts of systems integration. I do it well, but I'm the first to admit that it's not super challenging work from an engineering standpoint. And at the same time it's novel enough for me to not hate my work.
So if your goal is to be financially successful, there's tons of great paying work that you could get after a couple months in one of those stupid bootcamp programs. And there's so much demand for warm bodies, specifically in the web development sector, that you get a foot-in-the-door job and double your salary in a couple years.
But if your goal is just to be some kind of programming badass, then that's admirable, but feeling insecure about not being there yet is stupid. And if your goal is to be able to make cool things, you need to start with the idea for a cool thing and worry about how you're gonna make it after the fact. The first step to programming some cool thing is never "become an amazing programmer."
>>54556821
>The first step to programming some cool thing is never "become an amazing programmer."
to be honest a lot of people that put together great things are highly motivated and are already heavily talented
i'm the complete opposite, bursts of motivation and mediocre talent and that just nets you shitty results
i wish the job market here was a little better for tech jobs because at the very least I could do the shit helpdesk job and try looking for something else
>>54556821
This. Hobbyist programmers have specialized, complex projects that coincide with their interests, but so long as you know how to pull data from a database and display it in some way without your application crashing every 10 minutes and actually can complete a project, you're employable.
>>54556917
>but so long as you know how to pull data from a database and display it in some way without your application crashing every 10 minutes and actually can complete a project, you're employable.
Problem is there's ton of people that can do this unfortunately.
>>54554914
I'd love to learn more about this, is there any oneline repositories or resources you could point me towards?
>>54556926
>without your application crashing every 10 minutes and actually can complete a project
>tons of people can do this
I beg to differ.
>>54556821
>And if your goal is to be able to make cool things, you need to start with the idea for a cool thing and worry about how you're gonna make it after the fact.
Absolutely this. Pick something you want to make or something that's inadequate in your daily life. Then work your way towards that. Google if you have to, there's no shame in that. You'll learn way more than you would if you set out to "become an amazing programmer."
>>54556926
a tonne = 1000 kg
a person (avg) = 70kg
There are ~981 programmers that can do that.
My boy, don't be fooled by shit talkers. The programmers that can do this stuff have jobs already, so they're not competing with you for the new job.
>>54556999
>so they're not competing with you for the new job.
But they are occupying a job.
>>54557006
There are more programming jobs than there are programmers.
>>54536971
teach us your ways deep learner
>>54556926
Demand still easily outpaces supply. You just need to be smart about the market and how you look.
>>54556860
>a lot of people that put together great things are highly motivated and are already heavily talented
And a lot of people who put together great things are just motivated. An engineering project does not have to be complex in order to be great. The mobile market by itself proves this fact.
>>54556917
you're unemployable in any nice/good way regardless and this is only become more true
might as well do cool shit you love rather than be a fucking scub
>wanting to be employed
remove yourself
>>54534457
PE compressor / crypter with shitload of anti cracking features ... 3kb stub 11kb the tool itself for winxp/win7/vista years ago...
>>54556938
Do you mean neural nets? The first I heard much about them was by reading "Artificial Intelligence: A Modern Approach" (3rd edition). I felt as if the book was overly critical of neural nets, given that they currently have state-of-the-art performance in many difficult tasks. But the book was written a little while before NN's started coming back into fashion. Maybe the 4th edition will be better.
I don't really remember how I continued to learn about them after that. I suppose just by googling.
These days I read academic papers, but that's because I have very specific interests by this stage.
tl;dr I don't know what's a single good source to learn about neural nets.
If you're asking more specifically about the model I described, the conventional techniques I'm using are, or are related to:
- Batch normalisation: http://arxiv.org/abs/1502.03167
- Regularisation: https://en.wikipedia.org/wiki/Regularization_(mathematics)
- Gradient descent: https://en.wikipedia.org/wiki/Gradient_descent
Gradient descent is the workhorse of many machine learning algorithms. Specifically, neural nets generally implement it via an algorithm called "backpropagation". I should be using backprop, myself, but I'm too lazy to implement it right now. It's only useful when you start training nets with many weights anyway.
>>54557137
>you're unemployable in any nice/good way
I'm not totally sure what this means, but it's definitely bullshit.
>>54557166
enjoy being a wageslave
>>54557137
I wasn't disrespecting hobbyist programmers; I'm saying they tend to be better programmers than the average programmer especially with regard to their specialization, but that you don't have to be as good as they are or have created programs as interesting as theirs in order to be employable. Most employed programmers are nothing special.
>>54557160
Actually I was talking about your alternative to them.
I've made and used neural networks, even from scratch, I'm just trying to figure out how one even begins to develop an alternative to an established algo
>>54535057
>gala
sam sebi dajes nadimke pedercino
857 coin. Imagine bitcoin, except the proof of work is to find a 3 way hash collision where the hashes mod some power of two are equal. Thus if you find 3 hashes with the same n bit suffix, you've mined a block.
Now, this was a contest. Whichever team mined the most blocks wins. Towards the end, n grew close to 48 iirc.
Our solution required some interesting applications of the Tortoise and the Hare.
https://en.wikipedia.org/wiki/Cycle_detection#Tortoise_and_hare
Making Minix real-time as a school project.
This thing as a course project in uni.
>>54557316
pretty impressive desu
A proper CAS. Took bloody forever to get it to properly manipulate expressions but it was fun to write functions for it. Learning how to represent algebra as a tree is an excellent learning exercise.
>>54557275
Please stop reading, anon. Reading is for faggots.
>>54553197
could you please remove this pathetic watermark from your screenshot?
I clearly see you lack any kind of attention, but this is simply pathetic.
Please for the love of god just leave this board you fat piece of shit.
>>54553197
hey cool I did something similar for my dissertation: wrote a java program to decide the language equivalence of two simple grammars (subcases of DPDA)
I was supposed to do the whole DPDA algorithm but fuck it was complex
>>54534457
A path tracer with a bunch of variance reduction techniques like next event estimation, importance sampling, importance sampling and multiple importance sampling.
Also
>A*
>hard
Pick one.
>>54557652
*resampling
>>54536456
This is why I don't take anyone seriously who has a 4.0 on their résumé. It means you went to a carebear school that handed out As like candy for participation awards. Only once-in-a-generation autistic savants who graduate from MIT at 9 years old should have legitimate 4.0s.
>>54557465
Why, so you can steal my content?
I wrote a 2d game engine in C that could run external project files and managed resources.
It had quad-tree collisions, sprites, sound and some particle effects (very limited though).
The scripts and resource descriptions had to be written in a statically typed Lisp language that I made an interpreter for.
It loaded most of it's libraries dynamically, so you could write for example wii-bindings or other plugins in a different file.
It was a bit slow because I dynamically allocated/deallocated a lot of data structures while running the scripts.
Ideally I would rewrite this part and integrate it better with the engine.
The thing is that writing this in C became a bit of a hassle because I had to keep fidgeting with multiple make-files and it was not very flexible. So I started building a couple of python scripts that acted as a build-system similar to rust's Cargo. It compiled a directory into a module which could then be used in multiple other projectsby including an api header that was generated based on acces-modifiers in the code.
I think J wanted to write a platformer but at some point the project got a bit out of hand.
>>54558614
did you use sdl or sfml ? and if you would do this again would you rather do it object oriented with C++ ?
C++, sdl or C++ sfml +
Efficient prime factorization on numbers of an arbitrary size.
I wrote a strategy game when I was around 17 in C and SDL. While much of it was easy algorithmically, the sheer amount of stuff I put in made it quite difficult. It had:
- JSON handling
- A module system (each of the modules for the game was completely self-sufficient)
- A* Pathfinding
- A wargame system similar to Warhammer 40k
- A system for quizzing the user and giving quotes to them
Admittedly, I haven't been to uni yet (I'm 18 chill) so I haven't really done anything majorly complex.
>>54560407
>- JSON handling
>>54558614
Thats pretty cool, did you write any games with the engine?
>>54534457
A C based MPI solver for the Spin-Weighted Spheroidal harmonics which describe the dynamic gravitational, scalar and neutrino field perturbations of Kerr black holes.
>pic related
Months of work to implement something which basically designed butt plugs.
>>54560874
I'm still in the process but the engine is a bit of a beast so that's the most work.
>>54558869
8cm using allegro for all the audio-visual stuff. It's pretty similar to plain sdl but some things are a bit simpler imho.
How can I learn some of this stuff? where did you guys start? I have a CS class this fall and I want to be more than prepared.
I created a Quake/Quake 2/Half-Life -level game engine from scratch around 2002-2005. I made even a level editor and a full toochain from scratch for it. It didn't use brushes, just plain polygons. The editor allowed non-convex polygons and polygons with holes too, it just had to triangulate them before exporting them for the engine.
Lighting was done using radiosity lighting, with direct lighting on top of it for dynamic lights.
The part I was the most proud of was a Doom 3 -style GUI panel system. They were simple 2D vector shapes and "windows" that could be projected onto 3D polygons. With some pain I was able to figure out where the 2D crosshair was in 3D space and use it as a "mouse cursor" when you got near the panels, so you could click buttons on them and even edit text in text fields. With some scripting you could assign button presses to events that caused something happen elsewhere.
We (me and some friends of mine) wanted to use the engine to make a game, but we ran out of skills when we tried to actually make assets (levels, textures, models, etc.).
>>54563719
Do you still have it?
Solving the hard problem of consciousness by developing Strong AI
Proving P=NP.
>>54554870
At least you have the want to change.
Like >>54556821 says. I work in the industry and am nowhere near the programmer I want to be. Still doesn't mean I'm not successful or that I don't work at a great company.
>>54554785
I'm pretty sure I'm not you, but E2 was a blast to learn on >>54544545 is leagues ahead of me though. I was just doing simple controllers for cars and hover vehicles.
>>54565482
Solving the continuum hypothesis while you're at it?
>>54563461
Don't be an lazy ass and start somewhere. Start with stuff that you can easily handle and then proceed to make more complex stuff step by step. You can only fail if programming isn't your passion or your steps are too vast.
I wrote a program that plays Legacy Belcher, and wins about 35% of the time
>>54534457
Tough question.
I'd go with the one that had to extract features for a classifier from Wordnet.
>>54563461
You start with baby steps. Don't try to run before you learned to walk.
>>54534457
Had to implement Binary Search in a class of mine.
How the fuck do they expect a 2nd year CS student to know how that shit works?
Obviously, only those that sucked the professor's dick passed the assignment.
Why do they expect you to know that shit in 2nd year?
>>54565966
Erm, anon, they teach us binary search in high school where I live.
>>54565966
Dude, this is required in the first semester of first year of CS and if you don't know this basic algorithm, you're out!
Where are you from?
>>54565966
the point of a CS degree is to learn it, not spend all day playing vidya. 2nd year is just fine for that. should they be teaching you arrays in 4th year?
Samaritan
>>54565966int *binary_search(int *start, int *end, int value)
{
while (end > start) {
int *middle = start + (end - start) / 2;
if (*middle == value) {
return middle;
}
if (*middle > value) {
end = middle;
} else {
start = middle + 1;
}
}
return NULL;
}
>>54565966
a BST is one of the first things they taught me in my DS&A course, it's not difficult to understand, especially in a tree format
>>54534457
The hardest thing I have ever worked on is a customer loyalty program for restaurants. It was mainly based around an app for a tablet that would be in the store, and a website for the restaurant owner administration. It became increasingly complicated over time and eventually also had a flexible mass messaging system, integration with cash registers, decentralization of customer data, and some other stupid shit. My life was hell for about a year working on it
>>54541276
holy shit mate, don't test all the way to k-1! Going to k/2 is more than enough, and if k is large enough even sqrt(k) might be more efficient.
>>54565966
What the fuck.
I write BST/binary search in sorted sequence in 5min before classes, it took maybe 20min for lecturer to explain it and move to next topic.
We learned how to implement it in high school, and it wasn't even CS-focused class.
>>54566108
It might not be, my friend took like 4 months to implement dijikstra's algorithm
an enigma machine encoder/decoder in ASM
>>54566117
i'm jealous of all the people saying they learned this stuff in high school.
we were given visual basic. and all our programs looked like "Le CS grad" code memes because our teacher didn't teach us anything.
whenever we'd get stuck (every 2 minutes) she'd just write in the code for us and we'd turn it in.
>>54566091
On the bright side, at least you only had to make it work for specific hardware.
Professional project where I took data from an IMU, sent it over bluetooth to the computer, classified it into different workout motions (bench press, curl, etc.), recorded how many reps/sets occurred, and had the computer speak your progress using some text to speech library.
None of it is really that hard but I didn't know how to do any of it before I started and I was under time constraints. I didn't know anything about calculus, machine learning, or linear algebra at the time so I had to code my own data visualization and hard code all the classifiers.
>>54566173
Yeah. Well, being one man doing iOS, Android, full stack web dev, server administration & security, and whatever else got very tiring.
>>54566173
quote from man who spoke too soon
Wrote a P300 ERP detection algorithm for a brain computer interface.
>>54544176
>And if the weights are bounded by a constant, you can replace every edge with weight w by w edges of weight 1.
You can't do that in linear time.
>>54566165
Only the people who wanted to learn, would have learned.
I remember that literally all the girls in class was writing down all the code teacher has showed them into a fucking physical notes. They not even save it on pendrive or cloud. They were writing down every single program to their IDE and then to physical notes. They were just memorizing all the algorithms without understanding how they work or even how to write code in C/pascal.
>>54534941
Is this a reference to that FOSS guy who couldn't land a job at Google after working at Yahoo?
>>54535318
thats PascalCase, basically camelcase but with caps.
A game that uses "raycasting"
http://eikamikiku.github.io/FYPR/
>>54534457
A picross solver that's rather slow and gives wrong answers in select cases. I'm smalltime.
>>54567703
cool, always wish i could do something like this
>>54567703
why not use regular 3d?
>>54541220
And you did this in High School?
How many awards did you get in your life?
Are you a blackhat now?
Are you autistic / a savant?
>>54554870
it's not like you have to.
I worked at normal proper C, C++, Java coder jobs and never really had to do hard algorithms.
I got paid well too.
The shit you see here, the "hard shit", that's mostly written by math people, who get paid less usually anyway.
It's a good world.
>>54566213
You weren't clear in your previous post. What else am I suppose to infer from this
>It was mainly based around an app for a tablet that would be in the store
?
I'm third year in some CS/SE kind of a Uni. The most lines of code I've ever written on my own volition was a program that determines candidate keys for a given database table, and it can also find the minimal cover of its functional dependencies.
It's easy as hell, but I did that to learn C++ so I was writting that in a new language, and the algorithms were tedious to implement.
The hardest thing in the foreseeable future is the upcoming project on the construction of compilers.
>>54535103
It's possible for undirected graphs with positive integer weights:
http://dl.acm.org/citation.cfm?id=316548
>>54534844
This can't be real.
Reminds me of a guy who sent in his c++ homework as a screenshot of it pasted into a Microsoft Word document. It wasn't even his entire program.
Sent from my iPhone
>>54535086
Did it in a day. Your friend is probably a dum dum
>>54569982
He is, it took me about 5 hours.
>>54534457
Inverted a binary tree. It was hard as shit but ended up getting hired at google when I had made it.
>>54568393
>And you did this in High School?
Yeah
>How many awards did you get in your life?
I didn't get any significant ones. My teachers who knew about my works with Gmod and AVRs were always mad at me that I don't participate in various CS competitions. I've never been interested in them, 95% of them only check how many algorithms you know(I didn't knew many back then) and not what really is the most important in programming.
Now I'm studying and working at the same time so I don't really have much time for such an activities.
>Are you a blackhat now?
Like, hacker who steal money/data? Nah, I don't know that much in security and being a such a hacker nowadays requires more social engineering and reverse engineering skills than actual programming. However I think about doing specialization in computer security on my master degree.
>Are you autistic /
I don't think so. I'm anti-social towards normalfags, but can hold good relationships with people who share some interest/hobby. My roommate has been diagnosed with Asperger and I can clearly see autistic traits in his behavior/personality and I don't see anything like that in my own.
>a savant?
No. Savants score 40-70 IQ, but I scored very high on Mensa's IQ test.
Also my second-most complex project.
Mandelbrot set renderer with custom class for 128-bit fixed point arithmetic optimized in assembler in Rust.
Currently work in progress.
>>54571146
>Savants score 40-70 IQ, but I scored very high on Mensa's IQ test.
just gonna say this but mensa in general and iq score shit is one of the most irrelevant metrics you can tout
>>54571243
When study shows that savants score 40-70 in IQ tests, then IQ is the most relevant metrics because IQ is what this study is about.
If that makes any sense.
>>54571284
it's irrelevant because most people that tout their IQ are just jackasses that no one wants to associate with, that's what i meant, probably should have said that
>>54571298
The fact that most people who tout their IQ are or aren't something, doesn't change the fact that IQ is the most relevant metrics in study that's about IQ scores.
I feel like I can't really understand what are you trying to tell me.
>>54571357
trying to tell you that people that tout their high IQ scores are jackasses that no one wants to be around
>>54571370
Oh right, then I don't know how the IQ being relevant or not was relevant to anything.
>people that tout their high IQ scores are jackasses that no one wants to be around
Maybe. I've never meet anyone like that outside of /g/.
>>54571433
It's irrelevant in the way that insufferable assholes like to tout their IQ.
>>54571454
See >>54571357
Maybe someone else will explain it better to you. I have to go now.