Show Likes

This section allows you to view all posts where this member received or gave a like to.

Features: Posts & Topics / Re: Auto-embedding
Pandos « on December 19th, 2013, 08:21 AM »
Quote from MrCat on December 19th, 2013, 06:49 AM
The features of Facebook has dictated what people expect these days... unfortunately.
Yes it's true. Sadly.
But I think we can make it better. Wedge has some great advantages over Facebook.
There are more features to come (e.g. streaming profiles). So stay tuned.
What do you think about not to drop the entire attachment system, but give the user a possibility (dropdown box) to upload this attachment as Item in AeMe while posting?
Development blog / Merry news and happy short delay!
Nao « on December 18th, 2013, 11:30 AM »
Just to keep you posted on the latest news[1], I'll try to keep doing what Arantor used to do at Facebook. So, this is a follow-up to that news post from August 23. With a few differences, which are in line with my way of doing it: while he used to post more regular updates, his changelogs were a bit too exhaustive, and lacked any sorting. I'd rather just mention what really makes the user tick, and that is, the really nice additions to Wedge. If you'd rather have a full list, the New Revs topic is waiting for you, like it's always been.

:cool: » For everyone

New & overhauled features

- Quick Edit was completely overhauled. The textarea's height will now adjust to the original post height, making it easier to hit that 'Cancel' button if you change your mind. Also, the height expands or shrinks to follow the cursor when you're editing a post. Seriously, that's wicked. What? Facebook already does it? Oh, bugger...

- Relative dates on topic posts. Some people like seeing "5 hours ago" better than an actual date, so... That's for them! I started liking this, too, but I'm not using it everywhere. For now.

- PM menu is now a notification area in the header. It's clickable, and brings up a menu where you can preview your new PMs, or open your inbox. This was Arantor's final contribution to Wedge. Oddly, I never got used to it, and will probably add a link to your inbox in the profile menu, but I'm keeping the notification menu as it, out of respect. Also, I modified the system so that previewed PMs don't get marked read, so that you can preview a PM on a mobile device, and still be reminded to answer it when you're back on a desktop machine.

- New Stats template for daily/monthly stats. Instead of tabular data with a bunch of numbers, you now get a pretty little line chart (custom JS library based on another one), animated and all, and you can even zoom through parts of it, and choose any time span you want to analyze. I spent a week on this one; while it may take you some time to get used to it, eventually you'll have to recognize it's a real improvement.


- After marking a topic as unread, next time you visit that topic, you'll now be brought to the last page you were on.

- Previous/next topic links now properly lead you to the first unread post, if it's not in the first page.

- Now showing language flags in a select box, to avoid breaking layouts when adding or removing language packs.

Privacy & contacts

- I haven't done much on privacy, but I did some work in late October, and managed to get privacy running (when it didn't really work when I wrote the blog post), especially on thoughts. The code was simplified (a lot), and thus it should be easy for any plugins to add privacy to their own settings. I still need to fix privacy on 'children' of items that are using a contact list for privacy. Privacy options include: everyone, members, specific membergroup, specific contact list.

- Worked on contact lists at the same time as privacy, so it's in the same situation: working, but very basic for now. Your old buddy lists are now imported. You can put members into multiple contact lists (it took me some time to determine what to include, and the result is very close to Facebook's list types, so I guess they got that one pretty much right), and create custom lists. I have yet to write the UI for handling these lists, though, but it's a good start. The rest is just boring work that could be done by anyone, not just me.

- Contact lists include a 'restricted list' that acts as a 'cancel' (I wouldn't say 'ban') list for any other list, i.e. if someone is put there, they won't benefit from any access rights given by other lists they might also be in.


- Added a new skin, Wilde, which has proved so popular that it's now the default skin in Wedge.

Performance and tweaks

- Regular popups are now hardware accelerated. They look fantastic on mobile devices now.

- Zoomedia (the light and efficient JavaScript library that I wrote to replace Highslide in media embedding) is now fully hardware-accelerated, Retina/HD-friendly, and rewritten to better handle item descriptions.

- Improved (and fixed) homepage view in blogs, such as this one, notably in mobile devices.

- Improved the follow_me code to be pixel-perfect. You know, the trick that makes avatars stay on screen when scrolling through a long post. I'm planning to add support for a pure CSS technique that will save the JavaScript calls on each scroll event, but as it's not supported anywhere until it's a candidate recommendation, there's no hurry in doing that. Follow_me works right now, and on every (good) browser.

- Also overhauled infinite scrolling for a more 'expectable' approach and better performance.

Ich bin ein Berliner

- Added full German translation, courtesy of Pandos.

Bug fixin' for the masses

- Fixed spoiler tags to properly accept spaces in their button descriptions.

- Fixed a long-lasting bug where quick editing a message you'd just posted would mark this message as unread.

8-) » For admins/webmasters

- Rewrote admin area's setting page generators. They're now all unified under one function, and it's seriously for the best. Default member options are now developed by default, which is easier to handle.

- The sendmail() function now saves more bandwidth when sending e-mails, and properly does HTML and raw handling.

- You can now simply debug junk and only show SQL queries if you're not interested in getting template block lists. Saves some bandwidth for admins, so why not!

- Overhaul of the caching code for cache libraries such as memcached and Zend SHM.

- Tweaked board and topic permissions to make better sense out of some actions.

- Themes: turned all 'general' theme options into basic settings.

:geek: » For developers

- Development workflow is now based on git, as you may have already noticed from the numerous topics about it. I'm getting better at handling this every day, but I have to say, it's really, really not user-friendly, especially for those coming from Subversion, which is so much simpler. If I had the time, I'd make a fork of git that acts exactly like SVN in every aspect.

- This just in: PHP source file caching and minifying. It doesn't save a lot of time, but I'm not against a 0.01s improvement in page load, especially across many page loads. Your server will thank you for that. Also, it paves the way for the return of source file patching through plugins, but in a more secure way, as you'll be able to update your Wedge source files and still have your plugins running fine. That's called the future.


- Skins now allow you to override any template function without the need for a file edit. A serious milestone for me.

- Official support for IE 11 (although I've since uninstalled it), and interestingly, added a converter to automatically turn modern CSS flexbox into IE 10-compatible syntax (on IE 10 only, of course.)

- Skin options and actions can now be limited to a specific page, page type (board?) or action on the website. They can also be limited to a specific browser or anything accessed through we::is(). Finally, script and css tags allow including an external JS/CSS file in any of your targeted pages.

- Wess (CSS) files now accept the use of $txt, $settings, $context etc. variables directly in the code. Rewrote variable handling code for much better flexibility in @if tests (same for we::is PHP tests). Overall, this allowed me to remove a lot of CSS for non-members. Rewrote color functions to harmonize them. Rewrote math() function to allow a clear indication of variable types (int, float, boolean) and handle recursive brackets.

- And, best of all... Themes are now GONE. Well, almost. Removed thousands of lines of code pertaining to this outdated, horribly complicated system. More still to come. Skins in Wedge are powerful enough to replace 100% of a theme's capabilities, so it shouldn't be a problem -- just requires learning how to write a skin, which is just a matter of reading through a commented XML file!

Bug fixin'

- Removed hundreds of unneeded globals, and added many globals that were needed, but undeclared (I'm surprised I could find so many). This is all thanks to the fix-globals.php tool script I wrote for this very task. It's much, much easier than installing HHVM on a Linux VM, and running it on my site. Seriously.

- Fixed many old SMF bugs. And old Arantor bugs, too. And a few of mine, of course.

:ph34r: » Things left to do

- Remove themes entirely. Working on it.

- Modify folder structure. I'll move all non-code elements to a root /assets/ folder, and probably move the /skins/ folder to the root, too, although maybe under the '/themes/' name -- I'll decide when it comes up, it all depends on whether templates go to /themes/ or /templates/. Obviously.

- Flatten skin folder structure (as indicated in the previous blog post; the code for this is already written, I need to rewrite it a bit though, before I can commit.) This will allow you to have sub-folders in your skins, where you can put your assets, or even replacement templates.

- Moving AeMe comments to topics, and topic attachments to AeMe items: there's a very small chance it'll be in v1.0, though I certainly won't postpone it for these features. I put them aside for too long, I'll have to deal with writing an automatic import session, like I did for buddy lists.

- New personal target for first public alpha: January or February 2014. I could have said "late December", by giving up on visiting my family, watching new Doctor Who and Sherlock episodes, and having a life more generally. It was a tough choice.

So... What do you think about the post-Arantor era? Is it the same Wedge you've known all along, moving fast and in interesting directions?[2]
 1. And also a good opportunity to celebrate's 2001st topic?
 2. Apparently, generic stupid questions that you already know the answer to are a must at the end of a blog post, as they're supposed to increase user engagement. Don't make me say I said it, though. Because I didn't! Do you think I did? Feel free to say it!
Features / Re: New revs
Nao « on November 10th, 2013, 08:50 PM »
rev 2314
 8 files changed, 7 insertions(+), 39 deletions(-), 1.80 KiB

* Admin area is now much more mobile-friendly. Can you believe it..? Oh, and yes, I try to avoid using the !important keyword whenever possible, but sometimes, it's just not worth the hassle. (ManageBoards.template.php, sections.css)

- Wuthering (and thus, Wilde) still had leftovers from the pre-mobile sidebar system, and it conflicted with the sidebar toggle button, making it impossible to change the theme if you'd chosen any of these by default on a mobile device. Ouch! (Wilde/skin.xml, Wuthering/skin.xml)

- Removing oldIE leftover CSS. (extra.ie6.css, extra.ie7.css, extra.ie8.css, extra.rtl.css)

- Removing a topic list hack for mobile, which doesn't seem to be very efficient to me. Hopefully, the original bug fixed itself by magic. Needs more testing. (sections.css)

! Attachments and custom fields shouldn't be removable by soft-merging. (skeleton.xml)

(And that commit deserves a few Likes, I say :niark:)
Off-topic / Re: feline hiccups
Nao « on October 30th, 2013, 09:06 AM »
If only they could spend the same energy they've been spending here, to comment on the Wedge-related topics I've been waiting for feedback on... :lol:
Off-topic / Re: feline hiccups
Nao « on October 22nd, 2013, 06:54 PM »
Oh, like you can talk... ::)

NAO: Hello feline, excuse me for disturbing you. I've seen how your ideas were systematically rejected by the SMF team. Would you like to join the Wedge team and share your ideas with us?
FELINE: Sure, why not! How much does it pay?
NAO: Uh? It's a hobby...
FELINE: Not interested. (slamming door)

Surely you were wise to pass on this opportunity. So were we.
Features / Re: New revs
Nao « on September 27th, 2013, 12:52 AM »
rev 2262 -- finally, the BIG one! I'm happy with it!
(6 files, 19kb)

+ Committing the changes that now allow Firefox, IE 10 and IE 11 to use the flexbox model to show posts in topics. This is way cool, but wait for the next item in this changelog... (sections.css)

+ A very, very thorough rewrite of the Quick Edit code. While most of it is internal stuff geared at making it cross-browser (and it required many subsequent rewrites over the week), here's what you definitely WILL notice when quick-editing a post:

    + The Cancel button shows up right on top of the Quick Edit button, meaning you can click it without moving the mouse if you quick edited by mistake. Mouse path optimization FTW..?! (topic.js, sections.css)

    + The textarea will no longer show scrollbars (unless it gets very long, in which case I added some code to make them reappear); instead, it will grow and shrink depending on the length of your text. (topic.js, sections.css)

    + Additionally, the window will stay focused on the bottom of your posts, moving to the bottom each time you create a new line; this helps you write an entire book without ever having to scroll. Well, maybe not a book... A novella, maybe. Okay, a short story. What, too long? Kids these days... Okay, you can write "LULZ" just like you used to, it's just the same to me. Nobody's reading these changelogs anyway. (topic.js)

    * Moved the quick edit template string to the topic.js file itself; considering moving the quick edit code to post.js entirely (I think it would be the best place for it, needs checking). This is good for bandwidth, as JS files are cached. (Display.template.php)

    * Simplified QuickModify object, now it only holds a tabindex option, and even then-- I think it'd be safe to remove it entirely. Renamed the object to QuickEdit, too, renamed qm_* classes and functions to qe_*, etc. (Display.template.php, topic.js, sections.css, index.member.css)

    * The Quick Edit button is no longer hardcoded in the HTML, but added through JS, which is easy since there was already a can-mod class per message. I don't really mind about people who disable JS on a daily basis, but they won't dictate how I code my software, uh. (Msg.template.php)

    * The edit area is now a layer that shows up independently of the post itself, fixing a lot of minor animation issues. (topic.js, sections.css)

    * The textarea now has a clear 64KB size limit. Well, I put in 65.500 chars, dunno if it's for the best -- but it's still better than 'infinite', if you catch my drift. (topic.js)

    * The error box is relocated to the lower left of the textarea, and is slightly better styled. (topic.js, index.member.css)

    * Size optimizations. Mostly needed by the fact that the rewrite increased the topic.js filesize by 10%... Which, itself, is mainly due to the inclusion of the QuickEdit template into the JS itself. (topic.js)

* Clearly disabling follow_me on touch devices. That's until I get around to adding some proper skin settings to determine whether you want follow_me to be enabled or not. (topic.js)

* follow_me should also be called on a window resize, in case the padding around user boxes is changed. Which, as it happens, is the case in Weaving, my default skin... (topic.js)

! Fixed follow_me in infinite scrolling mode. (topic.js)

* Ensuring that user boxes can be enlarged vertically through CSS. This was needed by the quick edit rewrite. (topic.js)

* Moved IconList init code to topic.js. Okay, it's just one line... (Display.template.php, topic.js)

* Prioretize (prioritize?) DOM layout fixes over script execution in infinite scrolling; in human words, this means you should no longer have broken CSS in newly loaded posts if a script failed to load/run correctly. (topic.js)

* Slightly changed the attachment area's HTML layout, to make it easier to style (one div per thumbnail, and one p tag per description.) Remove a Firefox hack that was, very certainly, a leftover from the Firefox 3.x era. (Msg.template.php, sections.css)

! Attachments weren't being hidden in ignored posts. (Display.template.php)

! The Restore button icon was missing. (sections.css)

@ If you're curious -- yes, I'm planning to backport my quick edit changes into the main post editor.
Development blog / It only took two guys two years...
Nao « on November 1st, 2012, 06:27 PM »
...And 2 months, and 2 days.
Okay, maybe not 2 days, more like 6, but apart from Pete and I, you weren't there to count in the beginning, were you? ;)

Just in case you aren't aware yet, I finally managed to put the finishing touches to a 'usable' version of Wedge, and released it early this morning to early beta testers.

In order to download it, you'll have to request access in the relevant topic, but since this is still a private alpha, we're going to be giving access mostly to those of you who've been following us for some time (and posting along), anyone who seems serious about Wedge and testing it.

Our plans are to release a public alpha before the end of the year (well, just in case the Incas were right). We're going to try and keep Wedge in frozen mode, so we won't be adding any new (major) features, although we do have a few outstanding features (or bug fixes) which we plan to ship before we go public. And who knows, maybe we'll have a good week at some point and will even be able to go gold before the end of the year...? Naah, can't be.
Features / Re: New revs
Nao « on September 13th, 2013, 01:24 PM »
rev 2248 -- plenty of nice little things. C'mon, like this one! :P
(10 files, 6kb)

+ The 'zoom' link on Zoomedia popups now behaves like a double-click on the image itself, i.e. it opens it on the same page. (zoomedia.js)

+ IE6 will now properly support all min-height rules in CSS files. It's actually very helpful, from what I can see. (Class-CSS.php)

* I've finally found the 'correct' way to properly align background-integrated icons with the text they're shown next to (as long as said text is not too small.) I don't see myself doing it on every single icon though, but I'll at least give it a try for feed icons. (Boards.template.php, Media.template.php, Memberlist.template.php, attic/Custom.template.php, sections.css, Wine/extra.css)

* Added flexbox layout to media item pages. Although it looks better than before ('on supporting browsers'), I'm starting to think that this layout is getting old, and should be replaced with something simpler, with just some floated elements. (Media.template.php, media.css)
Features / Re: New revs
Nao « on August 17th, 2013, 11:17 PM »
rev 2218 -- various mobile/layout related fixes or improvements, yay. This one deserves a Like, right..?
(4 files, 4kb)

* Found a better technique to fix the code tag's flex bug. Instead of setting overflow-y to scroll, I'm simply setting flex to none, which technically doesn't make it sense at all, because it's the default at this point, but it looks like Chrome insists on silently applying some non-default flex value on all flex children, which is a very bad idea, if you ask me. (topic.js)

+ Added support for the Android 'simulator' in Chrome, i.e. recognize their custom user agent as an Android device, even though it doesn't have any Android-specific element in it, e.g. 'mobile'. (Class-System.php)

* Mobile skins shouldn't show the entire topic title, in some situations. It often breaks layout, so... Shortened the message titles to 20 characters, and did the same to previous/next topic titles, which works better, for me at least. (Display.php)

- Do not soft-merge posts in mobile skins. It's not that it's not doable... It's mainly down to the fact that it's pointless, because there's nothing to remove, apart from the avatar and user name, which are optimized not to take any further space, so... No need to waste CPU cycles on this, I'd say. (Subs-Template.php)

@ Regarding topic titles, I actually pondered whether to use we::is('mobile') or SKIN_MOBILE. The first applies to mobile devices only but in all skins, while the second applies to all devices, but in mobile skins only (e.g. Wireless). In the end, I decided that since non-mobile skins usually render badly on mobile devices, it's not worth doing on these skins anyway. I'm very, very open to changing my mind, though.
Off-topic / Re: Post count fever
xrunner « on June 19th, 2013, 01:14 AM »
Quote from Nao on June 19th, 2013, 12:31 AM
Pete's next post will be his 14k-th!
I think his post count should be displayed like that


so it doesn't appear so big. :)