this forum's code base is getting large enough that the whole procedural thing is really annoying.
mvc needed! trying to get my privacy feature online first, though ( see
r434 - r437 ).
+1 for bsdlite. :)
asemisldkfj
the law is no protection
django? rails? or are we talking php mvc?
php mvc, most likely. naturally, this would take me years or would never happen.
if i did mvc, i'd want to do it correctly, which would take me a lot of time and some learning. procedural has no rules, so i can be fairly ghetto and feel kinda alright about it.
bsdlite
thinks darkness is his ally
one step at a time. just make sure you're taking the right ones!
1. run all of your tests and make sure they still pass
2. add a test for an existing feature that isn't covered
3. refactor the code related to that feature
4. run all of your tests and make sure they still pass
start with tests at as high a level as you can manage--in the case of ttf, go for selenium-based tests that'll run against the DOM. that way you can hack around at the underlying code and improved it while keeping the output the same.
once you get all of your spaghetti out of the markup, then write tests of your underlying functions. once you factor your functions into types, write tests of your types. suddenly--months later--you have a well-tested, well-designed piece of software.
correction: "suddenly--years later--you have a well-tested, well-designed piece of software."
I think you should rewrite ttf in lisp.
bsdlite
thinks darkness is his ally
do it! better yet, use clojure with noir
bsdlite
thinks darkness is his ally
anyway... are you on a deadline or something?
haha, no. we'll see what this summer brings.
man, this is intimidating. looking over some frameworks, i feel like they're either minimal and restrictive (so i'd have to try to figure out how to neatly deal with issues), or they're extensive and complex (so i'd have to spend a lot of time learning framework-specific details).
hrmph.
You don't really need a framwork. Use a template engine (I like Twig) and some DB abstraction (redbean looks interesting. Doctrine is also used a lot).
All you need to do yourself is make some basic routing code (never found any decent PHP lib for that, it really simple and often complicated way too much IMO).
well i don't really need that, either! procedural code works perfectly fine.
my point is that to adopt a framework, template engine, db abstraction, or anything else, i'd need to do a lot of research to decide on the optimal choice for ttf. probably something light and flexible.
i would never abstract my db. ttf should only ever use a a hundred or two queries max, and i like to optimize them. plus, some of my queries are a bit complex at times.
I think
http://laravel.com/ is the most trendy PHP MVC framework these days.
haha, the laravel documentation prompted me to say "or they're extensive and complex"
codeigniter prompted the "minimal and restrictive"
i think my problem is that i'm so damn particular about everything. i should probably just give one of them a shot and try to code up a basic, well-architected ttf implementation.
with that said, i'd really need someone to critique my code, because it will need a lot of criticism before it approaches "well-architected!"
asemisldkfj
the law is no protection
help me make a card-/caldav client with luasocket instead.
Also, I think we need a better web browser. Maybe you could do that in between?
asemi: why lua?
i'm hoping that you want to build a nightstand internet appliance!
features
(1) prints the day's agenda when you press the button
(2) sounds an alarm and prints your agenda when "wake up" is scheduled in your calendar
(3) displays the local internet time on a large lcd
hardware
raspberri pi ($30)
lcd with keypad ($25)
thermal printer ($60)
software
caldav client using luasocket accesses your calendar. it polls your calendar for events called "alarm." at the time of the alarm event, it prints your agenda for the day and it sounds an alarm. your agenda may be printed by pressing a button. the alarm may be postponed or turned off by independent buttons. time is kept using ntp and displayed on the lcd screen.
costs as much as a twemco clock, though. :(
i don't know why else you'd want a caldav client with luasocket. i'm eager to hear why, though!
asemisldkfj
the law is no protection
I don't know why I said client; I meant server. I was bumming on radicale because it doesn't support SQL auth but I think it's probably a better idea just to implement it than start a server from scratch.
asemisldkfj
the law is no protection
oh and that xmpp server prosody that I love is written in lua, so it was on my mind.
> I think
http://laravel.com/ is the most trendy PHP MVC framework these days.
I used this yesterday & today to create an app, it's interesting and definitely has some good parts, but also has some not-so-good parts & silly quirks (like commandline tools giving me JSON output).
bsdlite, what php frameworks would you recommend that i look into?
i'm thinking about implementing a basic personal site using three different frameworks, just to feel them out.
bsdlite
thinks darkness is his ally
just to start with a definition: "framework" is basically inverse of "library." libraries give you utilities and tools that you use in your own code; you call them. frameworks provide almost-working features and then allow you to fill in the blanks; they call you.
here's a "framework" i wrote like a year ago to support a recipe/ingredients-tracking site i was making for personal use:
https://github.com/rgantt/pandora-mvc
it's a "framework" because it dispatches requests for pages like "index.php?page=PAGE&action=ACTION" to "Controller" methods like PAGE::ACTION() while also providing a PDO to the controller instance. you set up pages like "views/ACTION.html" and "views/ACTION.json" that are returned based on the value of the accept-type header in the request.
it's "M/V-C" in the most basic sense since there is one data source (the PDO) that can be represented multiple ways (html, json).
i don't recommend using it for anything serious, but it's pretty small and i think you would appreciate seeing a self-contained solution instead of grinding through the documentation on some community-owned thing anyway.
shout out and i can show you the actual framework consumer, too (it's a private repo)
(sorry, not sure about the more broadly-used shit)
yeah, i'll check it out.
> recipe/ingredients-tracking site i was making for personal use:
Did you finish this? I've been considering making something like this for a few months.
bsdlite
thinks darkness is his ally
i finished it enough that my girlfriend and i use it to keep track of the recipes we like (it's basically a chrome addon + website for aggregating recipes from other sites), generate menus based on them, and track their ingredients! we've been using it weekly for just over a year now. i haven't put much work into it since the first deployment :(
like always, i found myself endlessly redesigning the backend code and, being a terrible frontend designer, lost interest in the overall UX stuff. oh well!
is it on github? i've been wanting something similar that i can use. i also want it to use my barcode scanner so that it can conveniently track my ingredient inventory.
bsdlite
thinks darkness is his ally
nope, it's in a private bitbucket repo. lemme know and i can give you read perms
don't want to make it public?
bsdlite
thinks darkness is his ally
my current employer frowns on things like that
http://vitavalka.cz/img/open-source.jpg
Also, I had a dream about ttf last night; I don't remember exactly, but the forums were all different...
Development of ttf would be *much* faster if you would wear a shirt from
http://mytailor.com
asemisldkfj
the law is no protection
hahahaha
> i'm hoping that you want to build a nightstand internet appliance!
https://www.hmazter.com/2013/05/raspberry-pi- … abelwriter
:>