[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y ] [Home]
4chanarchives logo
Hardest Algorithm or Project you have had to write
Images are sometimes not shown due to bandwidth/network limitations. Refreshing the page usually helps.

You are currently reading a thread in /g/ - Technology

Thread replies: 255
Thread images: 31
File: a-star.png (1 KB, 526x376) Image search: [Google]
a-star.png
1 KB, 526x376
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.
>>
File: Screenshot_2016-05-14_01-53-09.png (121 KB, 1440x900) Image search: [Google]
Screenshot_2016-05-14_01-53-09.png
121 KB, 1440x900
>>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
>>
File: 1449921733729.png (454 KB, 924x788) Image search: [Google]
1449921733729.png
454 KB, 924x788
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
>>
File: Screenshot_2016-05-14_02-11-35.png (136 KB, 1440x900) Image search: [Google]
Screenshot_2016-05-14_02-11-35.png
136 KB, 1440x900
>>
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.
>>
File: cthread.jpg (235 KB, 898x1146) Image search: [Google]
cthread.jpg
235 KB, 898x1146
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
>>
File: 1423537586181.gif (890 KB, 305x320) Image search: [Google]
1423537586181.gif
890 KB, 305x320
>>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.
>>
>>54535881
>>54535948
why
>>
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?
>>
File: ARRaHHH.png (29 KB, 459x369) Image search: [Google]
ARRaHHH.png
29 KB, 459x369
>>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
>>
File: untitled.png (266 KB, 582x329) Image search: [Google]
untitled.png
266 KB, 582x329
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
>>
File: Pic.jpg (693 KB, 1757x1037) Image search: [Google]
Pic.jpg
693 KB, 1757x1037
>>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/
>>
File: facepalm.baby.jpg (51 KB, 480x414) Image search: [Google]
facepalm.baby.jpg
51 KB, 480x414
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
>>
File: miku.jpg (213 KB, 1440x900) Image search: [Google]
miku.jpg
213 KB, 1440x900
>>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]
>>
>>54541276
Table[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
>>
>>54541306
Prime@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.
>>
File: raytrace.jpg (206 KB, 1440x900) Image search: [Google]
raytrace.jpg
206 KB, 1440x900
>>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
>haskell
as 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?
>>
File: 2016-05-14_20-12-23.png (417 KB, 3840x2160) Image search: [Google]
2016-05-14_20-12-23.png
417 KB, 3840x2160
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
>>
File: g.gif (511 KB, 404x303) Image search: [Google]
g.gif
511 KB, 404x303
>>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?
>>
File: K5SrZiq.jpg (92 KB, 656x773) Image search: [Google]
K5SrZiq.jpg
92 KB, 656x773
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”.
>>
File: 1459842449692.jpg (82 KB, 478x475) Image search: [Google]
1459842449692.jpg
82 KB, 478x475
>>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
>>
File: image.jpg (82 KB, 798x770) Image search: [Google]
image.jpg
82 KB, 798x770
>>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.
>>
File: 1282705546737.jpg (52 KB, 850x600) Image search: [Google]
1282705546737.jpg
52 KB, 850x600
>>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
>>
File: 1463060511611.jpg (62 KB, 500x333) Image search: [Google]
1463060511611.jpg
62 KB, 500x333
>>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.
>>
File: capitalism1414011942717s.jpg (18 KB, 250x114) Image search: [Google]
capitalism1414011942717s.jpg
18 KB, 250x114
>>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.
>>
File: smoke2.gif (4 MB, 256x256) Image search: [Google]
smoke2.gif
4 MB, 256x256
This thing as a course project in uni.
>>
>>54557316
pretty impressive desu
>>
File: cas.png (2 KB, 272x38) Image search: [Google]
cas.png
2 KB, 272x38
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.
Thread replies: 255
Thread images: 31

banner
banner
[Boards: 3 / a / aco / adv / an / asp / b / biz / c / cgl / ck / cm / co / d / diy / e / fa / fit / g / gd / gif / h / hc / his / hm / hr / i / ic / int / jp / k / lgbt / lit / m / mlp / mu / n / news / o / out / p / po / pol / qa / r / r9k / s / s4s / sci / soc / sp / t / tg / toy / trash / trv / tv / u / v / vg / vp / vr / w / wg / wsg / wsr / x / y] [Home]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.
If a post contains personal/copyrighted/illegal content you can contact me at [email protected] with that post and thread number and it will be removed as soon as possible.
DMCA Content Takedown via dmca.com
All images are hosted on imgur.com, send takedown notices to them.
This is a 4chan archive - all of the content originated from them. If you need IP information for a Poster - you need to contact them. This website shows only archived content.